【问题标题】:Latitude longitude API's [closed]纬度经度 API [关闭]
【发布时间】:2009-09-14 07:19:40
【问题描述】:

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

【问题讨论】:

    标签: geocoding


    【解决方案1】:

    我知道至少还有一个其他地理编码系统,OpenStreetMap。我发现这些 API 的唯一主要区别是每个 API 的详细程度。 OpenStreetMap 的数据少得多,但更容易与自定义数据集成。另外,我觉得google的地图是三者中最漂亮的。

    【讨论】:

      【解决方案2】:

      我通常通过 HTTP 使用 Google Maps 地理编码服务,它会根据需要返回 Json 或 XML。浏览here 了解更多信息。

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

      【讨论】:

        【解决方案3】:

        对于您提到的这两种情况,如果您在查询 API 时对它们进行大量处理或未向用户显示地图,则您违反了 TOS。

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

        如果您还有任何与地址相关的问题,我很乐意亲自为您提供帮助。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            使用 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 来获取上次查询结果的 woeid 的所有预测并过滤空结果

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-09-07
              • 2010-09-07
              • 2013-09-09
              • 2010-09-15
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多