纬度经度API的使用方法

4

我有一个地址数据库,尝试使用谷歌地理编码雅虎API查找纬度和经度。是否还有其他常用的API或程序可用?我使用的是Ubuntu平台。

5个回答

3

我通常使用Google Maps的地理编码服务来返回Json或XML格式的数据。如果您想了解更多信息,请在这里浏览。

另一个选择可能是GeoNames.org。它也提供一些有趣的服务和客户端库。


2

我知道至少还有另一个地理编码系统,OpenStreetMap。这些API之间唯一的主要区别是每个API中的详细程度。OpenStreetMap的数据明显较少,但与自定义数据集成更加容易。此外,我认为谷歌制作的地图是其中最美丽的。


2
“对于你提到的这两个,如果你正在批量处理它们或者在查询API时没有向用户显示地图,则违反了TOS(服务条款)。

更好的解决方案是使用LiveAddress之类的工具来满足您的需求。我实际上在SmartyStreets工作,我们自己开发了这个工具——没有许可限制,可以运行甚至数百万个地址。除了返回坐标外,LiveAddress还将验证地址的存在并为您进行标准化处理。这有助于消除重复项,并具有许多商业优势。

如果您有任何与地址相关的问题,我将很乐意亲自协助。”


1

-1

使用YQL,您可以获取可能的预测列表。 第一步: 反向地理编码

SELECT woeid 
FROM geo.places 
WHERE text="##LATITUDE##, ##LONGITUDE##"

然后应用一个过滤器,通过地点类型对结果进行排序。这有助于您根据地图级别的准确性(城镇、城市、邮政编码、地区等)对预测进行排序。

SELECT woeid 
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##" | 
SORT(field="placeTypeName.code")

现在使用simile join获取由上次查询产生的woeid的所有预测,并过滤掉空结果。

SELECT channel 
FROM weather.woeid 
WHERE w in (
    SELECT woeid 
    FROM geo.places 
    WHERE text="##LATITUDE##, ##LONGITUDE##" | 
    SORT(field="placeTypeName.code")) 
AND channel.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接