用于使用Placekeys的实用程序

placeke的Python项目详细描述


位置键py

PyPI versionPyPI downloadsversion

用于处理Placekeys的Python库。这个包的文档可以在here找到,Placekey服务API的文档可以在here找到。Plackey设计规范可用here。Placekey编码中的详细信息是here。我们欢迎您的反馈。在

安装

此软件包可以通过从PyPI安装

pip install placekey

使用

Placekey库的基本功能是Placekeys和经纬度坐标之间的转换。在

^{pr2}$
>>>pk.placekey_to_geo('@dvt-smp-tvz')(0.00018033323813810344,-0.00018985758738881587)

该库还允许Placekeys和H3 indices之间的转换。在

>>>pk.placekey_to_h3('@dvt-smp-tvz')'8a754e64992ffff'
>>>pk.h3_to_placekey('8a754e64992ffff')'@dvt-smp-tvz'

使用以下函数可以找到两个Placekeys之间的距离(以米为单位)。在

>>>pk.placekey_distance('@dvt-smp-tvz','@5vg-7gq-tjv')12795124.895573696

两个placekey之间基于共享前缀长度的最大距离的上限由placekey.get_prefix_distance_dict()提供。在

>>>pk.get_prefix_distance_dict(){0:20040000.0,1:20040000.0,2:2777000.0,3:1065000.0,4:152400.0,5:21770.0,6:8227.0,7:1176.0,8:444.3,9:63.47}

数据集中找到的Placekeys可以通过

>>>pk.placekey_format_is_valid('222-227@dvt-smp-tvz')True
>>>pk.placekey_format_is_valid('@123-456-789')False

API客户端

此包还包括Placekey API的客户端。客户端中的方法是自动速率限制的。在

>>>fromplacekey.apiimportPlacekeyAPI>>>placekey_api_key="...">>>pk_api=PlacekeyAPI(placekey_api_key)

PlacekeyAPI.lookup_placekey方法可用于查找单个位置的Placekey。在

>>>pk_api.lookup_placekey(latitude=37.7371,longitude=-122.44283){'query_id':'0','placekey':'@5vg-82n-kzz'}
>>>place={>>>"street_address":"598 Portola Dr",>>>"city":"San Francisco",>>>"region":"CA",>>>"postal_code":"94131",>>>"iso_country_code":"US">>>}>>>pk_api.lookup_placekey(**place,strict_address_match=True){'query_id':'0','placekey':'227@5vg-82n-pgk'}

PlacekeyAPI.lookup_placekeys方法可用于查找多个位置的placekey。在

>>>places=[>>>{>>>"street_address":"1543 Mission Street, Floor 3",>>>"city":"San Francisco",>>>"region":"CA",>>>"postal_code":"94105",>>>"iso_country_code":"US">>>},>>>{>>>"query_id":"thisqueryidaloneiscustom",>>>"location_name":"Twin Peaks Petroleum",>>>"street_address":"598 Portola Dr",>>>"city":"San Francisco",>>>"region":"CA",>>>"postal_code":"94131",>>>"iso_country_code":"US">>>},>>>{>>>"latitude":37.7371,>>>"longitude":-122.44283>>>}>>>]>>>pk_api.lookup_placekeys(places)[{'query_id':'place_0','placekey':'226@5vg-7gq-5mk'},{'query_id':'thisqueryidaloneiscustom','placekey':'227-222@5vg-82n-pgk'},{'query_id':'place_2','placekey':'@5vg-82n-kzz'}]

有关如何查询API和如何获取API密钥的完整详细信息可以在here中找到。在

笔记本电脑

演示各种Placekey功能的Jupyter笔记本包含在placekey-notebooks存储库中。在

支持

这个包运行在python3上。在

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

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题