使用esri、google、bing地图、美国人口普查局、openstreetmap、pelias和mapquest地理编码器的地理编码库

python-omgeo的Python项目详细描述


omgeo-python版本

python-omgeo是用python编写的地理编码抽象层。目前 支持的地理编码器:

安装

sudo pip install python-omgeo

文档

文档位于HTMLPDF格式。

用法示例

制作新的地理编码器,地理编码和地址:

>>> from omgeo import Geocoder
>>> g = Geocoder()
>>> result = g.geocode('340 12th St, Philadelphia PA')

查看结果:

>>> result
{'candidates': [
  <340 S 12th St, Philadelphia, PA, 19107 (-75.161461, 39.94532) EsriWGS>,
  <340 N 12th St, Philadelphia, PA, 19107 (-75.158434, 39.958728) EsriWGS>
 ],
 'upstream_response_info': [<EsriWGS 1054ms>]}

仔细查看地址候选对象中的信息:

>>> [c.__dict__ for c in result["candidates"]]
    [{'geoservice': 'EsriWGS',
      'locator': u'USA.AddressPoint',
      'locator_type': u'PointAddress',
      'match_addr': u'340 S 12th St, Philadelphia, PA, 19107',
      'score': 90.87,
      'wkid': 4326,
      'x': -75.161461,
      'y': 39.94532},
     {'geoservice': 'EsriWGS',
      'locator': 'interpolation',
      'locator_type': u'StreetAddress',
      'match_addr': u'340 N 12th St, Philadelphia, PA, 19107',
      'score': 90.87,
      'wkid': 4326,
      'x': -75.158434,
      'y': 39.958728}]

一些地理编码器(esriwgs和us census)可以返回除 完整地址:

>>> [{'geoservice': 'EsriWGS',
    'locator': 'interpolation',
    'locator_type': u'StreetAddress',
    'match_addr': u'340 N 12th St, Phila, Pennsylvania, 19107',
    'match_city': u'Phila',
    'match_country': u'USA',
    'match_postal': u'19107',
    'match_region': u'Pennsylvania',
    'match_streetaddr': u'340 N 12th St',
    'match_subregion': u'',
    'score': 90.1,
    'wkid': 4326,
    'x': -75.158384,
    'y': 39.958774}]

这些是可选的,它们的存在可能取决于地理编码器的响应而改变。

测试

存储库的根目录中有一个shell脚本,名为test.dummy.sh。 使用cp test.dummy.sh test.sh复制它。编辑test.sh以包括 从给定地理编码服务提供程序获取的API密钥。然后,跑 使用./test.sh的测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java组织。百里香。模板模式。无法解析StandardTemplateModeHandler   java标记声明必须格式良好   如何通过maven插件设置Java/Scala测试的系统属性?   在Maven、Eclipse和Glassfish中自动部署更改的java代码   字节数组的java计算SHA1   java我在使用Optional时遇到找不到错误。朱尼特·莫基托   java如何从Jackson@JsonCreator构造函数访问Spring引导环境变量   java Android两个ListView两个ListListener   查询优化如何使用高斯分布在道路网络图中创建距离,最好在Java中模拟真实世界场景?   java如何在生产环境中运行spring boot可执行jar?   tomcat是一个简单的Java服务器,用于侦听客户端并将[302]重定向到其他站点   java中的Foreach循环   web服务Java writeBytes空白被“+”替换   在64位Windows中使用32位Java的jvm   java将在Android中指向同一个意图/活动的“实例”   java对于更大的数字,什么是int的替代方案?   使用tomcat 6.0和java 1.6配置commons DBCP的数据库   java如何使用:jsoup中的空伪选择器   java Kafka本地状态存储是否消耗应用程序内存(JVM)   java如何提高Android Opencv摄像头FPS?