在避开海洋的同时生成随机 latitude/longitude

Generate random latitude/longitude while avoiding oceans

我正在使用 https://randomuser.me/ 生成一些随机用户数据进行测试。我想对提供的纬度和经度进行地理编码以附加真实的 city/state/country 信息,而不是 RandomUser 提供的完全虚假的信息。但是,这些物体的许多实际 lat/long 值都在海洋中央。

有没有 API 或其他方法可以让我获得总是在陆地上的随机坐标?我已经看到了:Random geographic coordinates (on land, avoid ocean) 但肯定有一些更有效的方法,而不是仅仅通过不断的地理编码进行猜测和检查,直到找到一个有效的方法,对吗?

https://3geonames.org/ 点击“在陆地上或附近随机选择一个位置”

API 在这里:https://api.3geonames.org/?randomland=yes(陆地上的随机位置)

https://api.3geonames.org/?random=yes用于任何其他类型的随机位置。

更新:自 2020 年 9 月起,您可以在任何特定国家/地区随机选择一个位置。例如 https://3geonames.org/randomland.NL 将 return 荷兰的一个随机位置。

值得一提的是,存在一个名为 OpenAddresses 的开源库,可用于您的确切用途以及各种用途。我在几个项目中使用它。

使用Javascript fetch

fetch('https://batch.openaddresses.io/api/data', {
    method: 'GET',
    withCredentials: true,
    credentials: 'include',
    headers: {
        'Authorization': 'oa.1234-your-token-here-5678',
        'Content-Type': 'application/json'
    }
});

使用 list data 功能,您可以获得您喜欢的给定地理区域的最新成功 运行。