我有一个地址数据库,我尝试使用谷歌地理编码 yahoo API 查找纬度和经度。是否还有其他流行的API或程序。我正在使用ubuntu平台。

有帮助吗?

解决方案

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

其他提示

我通常在HTTP上使用Google Maps地理编码服务,可以根据需要返回Json或XML。浏览此处,了解有关此内容的更多信息。

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

如果你提到的那些,如果你正在批量处理它们或者在查询API时没有向用户显示地图,那么你就违反了TOS。

满足您需求的更好解决方案类似于 LiveAddress 。我实际上在 SmartyStreets 工作,我们自己开发它 - 没有许可证限制,例如会阻止你运行数百万地址除了返回坐标,LiveAddress还将验证地址是否存在并为您标准化。这有助于删除重复项,并具有很多业务优势。

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

您可能还会发现 geocoder.us 非常有用。

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

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

然后应用过滤器按placeType排序结果。这有助于您按地图级别准确度(城镇,城市,邮政编码,地区......)订购预测

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

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

SELECT channel 
FROM weather.woeid 
WHERE w in (
    SELECT woeid 
    FROM geo.places 
    WHERE text="##LATITUDE##, ##LONGITUDE##" | 
    SORT(field="placeTypeName.code")) 
AND channel.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top