在没有APIKey的情况下,精确地对地球上任何位置的坐标、地址和加码进行地理编码。
geovision的Python项目详细描述
地理视觉
地球上任何位置(无论是否有正式地址)的坐标、地址和plus代码之间的精确地理编码,无需API密钥。在
在DubHacks Autumn 2019期间制作
安装
pip install geovision
还需要Chrome Driver(版本76),并且必须将其添加到系统路径中。在
Python有很多优秀的地理编码器,大多数依赖于外部API键来收集数据。这个地理编码器的概念有点相同,但也有点不同于这个哲学。Plus代码是地图制图中最新添加的代码之一。加码就像地址,但不同之处在于地球上任何地方都有一个。这使得他们难以置信的有用和包容,因为没有地址的人现在可以表明一个合法的居住地。网站plus.codes有一张地图,可以让你在地球上的任何地方搜索加号、地址或坐标。GeoVision利用了这一点,并使用此资源使Python程序员可以作为API访问这些信息。下面显示了一些Plus代码的示例。在
Location | Plus Code | Address | Coordinates |
---|---|---|---|
UW Smith Hall | 84VVMM4R+HX | 1911 Skagit Ln, Seattle, WA 98105, USA | 47.656437,-122.307563 |
Signal Iduna Park | 9F39FFV2+2P | Strobelallee 50, 44139 Dortmund, Germany | 51.492562,7.451812 |
因为Plus代码不需要地址,所以这个地理编码器比大多数其他地方去的地方多得多。大学校园内的建筑就是一个很好的例子。在大的大学校园中间通常没有街道,因此没有街道给每栋建筑一个独特的地址。其他地理编码员可能会给你多个建筑物的相同地址。GeoVision不过,它可以很容易地追踪到这些点,从而为您提供精确的坐标信息和甚至是最模糊的地方的密码。在
GeoVision不局限于广义的关键字搜索,您还可以搜索坐标、代码和地址,以从中获取所需的信息。在
注意
搜索一个国家名称(如德国)、城市名称(如西雅图)或任何其他过于宽泛的关键字将不会产生任何结果,除了一些坐标。对于GeoVision来说,有一个必要的特异性级别。在
文件
GeoVision
GeoVision
对象保存用户地理编码的任何位置的所有信息。信息可以很容易地单独或作为字典/列表访问。在
Geocoder
Geocoder
对象可以存储GeoVision对象,以便于参考和管理。在
geocode
geocode
是一个方法,它以一个字符串或一个字符串列表为参数,表示要搜索的所有位置。为了获得更好的性能,包含了多线程,因此,如果您有许多位置要进行地理编码,请将该列表传递到geocode
方法中,而不是在循环中运行geocode
。geocode
方法返回一个GeoVision
对象。在
^{pr2}$
# Geocoder ObjectsfromgeovisionimportGeocoderg=Geocoder()g.geocode('Signal Iduna Park')g.to_dict()"""{'Signal Iduna Park': {'locality': 'Dortmund, Germany', 'country': 'Germany', 'area_code': '9F39', 'local_code': 'FFV2+2P', 'plus_code': '9F39FFV2+2P', 'address': 'Strobelallee 50, 44139 Dortmund, Germany', 'coordinates': (51.492562, 7.451812), 'latitude': 51.492562, 'longitude': 7.451812}}"""
依赖关系
- 项目
标签: