This application creates circles for display on digital maps and virtual globes using KML.
Circles can be rendered as a LineString (outline only), Polygon (fill only) or MultiGeometry (outline and fill). An optional Point displaying the center can be included as well.
Very large circles can be generated, over 20,000 Km radius.
See the additional Notes below for more information.
- Enter information into each of the fields below
- Click the [Generate] button
- The application will return a .kml file that can be copied or downloaded and a map displaying the results.
Center - The center coordinate must be composed of a decimal latitude and longitude separated by a comma:
Example: 47.716142, -116.985588
Example: -6.152090, 105.444229
Use this tool to convert DMS coordinates (Degrees/Minutes/Seconds) to decimal coordinates.
Radius - The radius must be a decimal value from a minimum of 1 meter, up to 20,000 kilometers, nearly covering the planet.
Poles - KML cannot render polygons that enclose either of the poles and will instead wrap around them. When generating a polygon that encloses a pole, a thin slice is cut around the pole, minimizing the visual impact of the wrapping.
Rendering - Not all digital maps render KML in the same way. I design for features to appear as expected in Google Earth Pro first, Mobile second. Very large circles, and those that cross the antimeridian, or lie on or near the poles may render in unexpected ways on the OpenLayers map here and other digital maps.
Math - This application makes heavy use of the Haversine formula, employing it to plot each of the perimeter vertices from the center. My code is based on the excellent work by Chris Venesshere.