How the Random Coordinate Generator Works
Pick a distribution and a latitude band, set how many points you want, and press the button. Each point comes out as a latitude and longitude to five decimal places with a link that opens it in a map. It suits geography lessons, pick-a-random-destination games, and generating throwaway coordinates to test a mapping app.
Why the distribution choice matters
Sampling latitude uniformly does not spread points evenly over the planet. A one-degree band of latitude near the equator covers far more ground than a one-degree band near a pole, so drawing latitude directly over-represents the narrow polar regions relative to their real area. Surface-area uniform fixes this by sampling sin(latitude) uniformly and inverting it with asin, which gives every patch of surface the same chance. Map uniform samples latitude as it is: even across a flat map, but not even across the surface of the Earth. Whichever method produced the result is stated underneath it on every draw. Longitude is drawn uniformly between -180 and 180 degrees under both methods, because area is divided evenly along that axis and needs no transform.
Expect the ocean
About 71% of the Earth’s surface is water, so land turns up only around 30% of the time. Filtering for land is not implemented, so press again or narrow the latitude band if you want a better chance. Ten points is the maximum per draw; a larger number is trimmed to ten with a note in the result.
Frequently Asked Questions
Surface-area uniform samples sin(latitude) uniformly and inverts it with asin, so every patch of the Earth’s surface has the same chance. Map uniform samples latitude directly, which looks even on a flat map but over-represents the polar regions relative to their real area.
Yes. About 71% of the Earth’s surface is water, so land comes up only around 30% of the time. Restricting results to land is not supported.
Longitude is drawn uniformly between -180° and 180° under both methods. Area is divided evenly along the longitude axis, so no transform is needed there.