围绕OSM的强大包装器通过Turbo来查询任何大小和形状的区域
osmp的Python项目详细描述
Powerfull wrapper around OSM通过Turbo查询任何大小和形状的区域
pip install osmpy
列出预处理的查询
^{pr2}$获得边界内的所有便利设施
importosmpyfromshapelyimportwktboundary=wkt.loads('POLYGON((-46.63 -23.54,-46.6 -23.54,-46.62 -23.55,-46.63 -23.55,-46.63 -23.54))')osmpy.get('Amenities',boundary)typeidlatlontags0node661212030-23.544739-46.626160{'amenity':'fuel','name':'Posto NGM'}1node661212089-23.547450-46.626073{'amenity':'fuel','name':'Posto Maserati',...2node745733280-23.541411-46.613930{'addr:city':'São Paulo','addr:housenumber':...3node745733292-23.542070-46.614916{'addr:city':'São Paulo','addr:housenumber':...4node889763809-23.542558-46.620360{'addr:housenumber':'110/C9','addr:street':....................84node5663737625-23.540027-46.605425{'access':'yes','addr:city':'São Paulo','a...85node5990269247-23.540650-46.607532{'addr:city':'São Paulo','addr:housenumber':...86node6621564995-23.543880-46.626414{'access':'yes','addr:city':'São Paulo','a...87node6625433725-23.546727-46.623956{'access':'yes','addr:city':'São Paulo','a...88node6625433753-23.547111-46.624790{'access':'yes','addr:city':'São Paulo','a...
按道路类型划分的道路总长度
osmpy.get('RoadLength',boundary)countlengthhighwaybus_stop182.624corridor2482.195cycleway1134.197footway1165473.419living_street3422.378path4735.539pedestrian390.327platform3239.206primary282067.562primary_link121123.544
您可以使用自己的查询
## Use `{boundary}` as a placeholder.query=""" [out:json]; node["amenity"](poly:"{boundary}"); out body geom; """osmpy.get(query,boundary)
创建预处理查询
classYourPrecookedQuery(osmpy.queries.QueryType):query=""" <OSM Overpass Turbo Query> """docstring=""" <Query description> """defpostprocess(self,df):"""Post process API result """returndf['tags'].apply(pd.Series).groupby('amenity').sum()osmpy.get(YourPrecookedQuery,boundary)
:point_right:如果要向包添加新查询,请保留问题或PR
学分
免费软件:麻省理工学院许可证
来自@snorfalorpagus的函数katana
。在
- 项目
标签: