【发布时间】:2012-02-24 16:03:59
【问题描述】:
关于如何生成地球上各个地点的随机坐标(纬度/经度)的任何巧妙想法?纬度/经度。精确到 5 点,避免水体。
double minLat = -90.00;
double maxLat = 90.00;
double latitude = minLat + (double)(Math.random() * ((maxLat - minLat) + 1));
double minLon = 0.00;
double maxLon = 180.00;
double longitude = minLon + (double)(Math.random() * ((maxLon - minLon) + 1));
DecimalFormat df = new DecimalFormat("#.#####");
log.info("latitude:longitude --> " + df.format(latitude) + "," + df.format(longitude));
也许我生活在一个梦想的世界里,水的话题是不可避免的……但希望有更好、更清洁、更有效的方法来做到这一点?
编辑
一些很棒的答案/想法——但是,在规模上,假设我需要生成 25,000 个坐标。由于延迟、成本和其他一些因素,寻求外部服务提供商可能不是最佳选择。
【问题讨论】:
-
看看这个问题:stackoverflow.com/q/990148/813951有些答案还不错。
-
可能会尝试 geohashing :) xkcd.com/426
-
这个 sn-p 不会在两极附近给出一个非常奇怪的分布吗?