在没有APIKey的情况下,精确地对地球上任何位置的坐标、地址和加码进行地理编码。

geovision的Python项目详细描述


地理视觉

地球上任何位置(无论是否有正式地址)的坐标、地址和plus代码之间的精确地理编码,无需API密钥。在


DubHacks Autumn 2019期间制作

安装

pip install geovision

还需要Chrome Driver(版本76),并且必须将其添加到系统路径中。在


Python有很多优秀的地理编码器,大多数依赖于外部API键来收集数据。这个地理编码器的概念有点相同,但也有点不同于这个哲学。Plus代码是地图制图中最新添加的代码之一。加码就像地址,但不同之处在于地球上任何地方都有一个。这使得他们难以置信的有用和包容,因为没有地址的人现在可以表明一个合法的居住地。网站plus.codes有一张地图,可以让你在地球上的任何地方搜索加号、地址或坐标。GeoVision利用了这一点,并使用此资源使Python程序员可以作为API访问这些信息。下面显示了一些Plus代码的示例。在


LocationPlus CodeAddressCoordinates
UW Smith Hall84VVMM4R+HX1911 Skagit Ln, Seattle, WA 98105, USA47.656437,-122.307563
Signal Iduna Park9F39FFV2+2PStrobelallee 50, 44139 Dortmund, Germany51.492562,7.451812

因为Plus代码不需要地址,所以这个地理编码器比大多数其他地方去的地方多得多。大学校园内的建筑就是一个很好的例子。在大的大学校园中间通常没有街道,因此没有街道给每栋建筑一个独特的地址。其他地理编码员可能会给你多个建筑物的相同地址。GeoVision不过,它可以很容易地追踪到这些点,从而为您提供精确的坐标信息和甚至是最模糊的地方的密码。在


GeoVision不局限于广义的关键字搜索,您还可以搜索坐标、代码和地址,以从中获取所需的信息。在

注意

搜索一个国家名称(如德国)、城市名称(如西雅图)或任何其他过于宽泛的关键字将不会产生任何结果,除了一些坐标。对于GeoVision来说,有一个必要的特异性级别。在

文件

GeoVision

GeoVision对象保存用户地理编码的任何位置的所有信息。信息可以很容易地单独或作为字典/列表访问。在

Geocoder

Geocoder对象可以存储GeoVision对象,以便于参考和管理。在

geocode

geocode是一个方法,它以一个字符串或一个字符串列表为参数,表示要搜索的所有位置。为了获得更好的性能,包含了多线程,因此,如果您有许多位置要进行地理编码,请将该列表传递到geocode方法中,而不是在循环中运行geocodegeocode方法返回一个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}}"""

依赖关系

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

推荐PyPI第三方库


热门话题
java为什么会出现这些错误?表达式的非法开始   使用HttpUrlConnection的java测试URL仅适用于前面的www   在大数据集上使用kmeans的java堆外内存   查找Java RandomAccessFile如何以字符形式读取第n个字节   java Android从BroadcastReceiver获取标题和描述   java使用构造函数参数模拟嵌套类并测试方法   正在将Azure Blob项强制转换为Java文件对象   java并行运行testNG套件   java程序在运行时似乎没有进入   贬低Java规则引擎的优点和缺点   文本区域中的java中心文本   java JPA从多个表中选择错误   类Java问题使用类加载器重新加载代码   java如何在Spring非管理类上使用@Value   java(关闭)Gradle导入VS代码失败   java arraylist拆分(“空白”)并计算字数   Android/Java如何在单独的*中调用函数。java文件?   具有基本身份验证的java Apache Camel RSS模块   java为什么程序在出现溢出或下溢时不抛出异常