如何使用Python&;OSM获取所需内容的列表';离我近吗?

如何使用Python&;OSM获取所需内容的列表';离我近吗?,python,openstreetmap,postgis,geodjango,Python,Openstreetmap,Postgis,Geodjango,如果我能帮忙的话,我对生成瓷砖并不感兴趣。相反,我所寻找的是一种获取“我身边的”信息的方法,特别是水体和绿地,甚至是公务员 如果我有地图块,我想我可以根据我想要的颜色来解析它们,但我认为一定有更好/更聪明的方法。无法获取lat、lng附近属于a和B类别的对象列表吗 我是一名称职的Python程序员,但对OSM来说是一名全新的程序员。我知道我可以下载一个非常大的XML文件并拥有所有的数据,但是访问它,特别是出于这种目的,对我来说是完全陌生的 但是,我应该知道,我可以在GeoDjango设置中完全访

如果我能帮忙的话,我对生成瓷砖并不感兴趣。相反,我所寻找的是一种获取“我身边的”信息的方法,特别是水体和绿地,甚至是公务员

如果我有地图块,我想我可以根据我想要的颜色来解析它们,但我认为一定有更好/更聪明的方法。无法获取
lat、lng
附近属于
a
B
类别的对象列表吗

我是一名称职的Python程序员,但对OSM来说是一名全新的程序员。我知道我可以下载一个非常大的XML文件并拥有所有的数据,但是访问它,特别是出于这种目的,对我来说是完全陌生的


但是,我应该知道,我可以在GeoDjango设置中完全访问PostgreSQL数据库以及PostGIS。

这不需要瓷砖,生成瓷砖只是使用OSM数据的一种可能方式

您需要在线或离线解决方案吗?对于在线解决方案,您甚至不需要数据的本地副本。相反,您可以直接获取特定位置周围的数据。不要使用主要用于编辑而不是批量查询的官方版本,只需使用速度更快且功能复杂的官方版本即可

下面是一个立交桥API查询示例,用于查询给定50.6,7.0,50.65,7.05中的所有商店和停车位:

(结果可以下载为或。您也可以使用可视化)

为了理解查询,您必须熟悉(节点、方式和关系)以及和


如果您需要脱机解决方案,那么最好设置本地数据库。对于说明,您可以阅读,只需跳过Apache/mod_tile/mapnik步骤。进口一个而不是整个地球通常就足够了。相反,实时解析XML文件的速度会非常慢,除非您的区域非常小,比如说一个城市,并且您事先做了一些分析。

为此不需要使用tile,生成tile只是使用OSM数据的一种可能的方法

您需要在线或离线解决方案吗?对于在线解决方案,您甚至不需要数据的本地副本。相反,您可以直接获取特定位置周围的数据。不要使用主要用于编辑而不是批量查询的官方版本,只需使用速度更快且功能复杂的官方版本即可

下面是一个立交桥API查询示例,用于查询给定50.6,7.0,50.65,7.05中的所有商店和停车位:

(结果可以下载为或。您也可以使用可视化)

为了理解查询,您必须熟悉(节点、方式和关系)以及和


如果您需要脱机解决方案,那么最好设置本地数据库。对于说明,您可以阅读,只需跳过Apache/mod_tile/mapnik步骤。进口一个而不是整个地球通常就足够了。相反,实时解析XML文件的速度会非常慢,除非你有一个非常小的区域,比如说一个城市,而且你事先做了一些工作。

Geoff Boeing提供了一个非常漂亮的包OSMnx 通过OSM,您可以轻松获得附近的所有便利设施

import osmnx as ox
import geopandas as gpd
place_name = "" (geocoding of polygon)
tags = {'amenity': 'charging_station'}
ox.geometries_from_place(place_name, tags)

有一个由Geoff Boeing设计的非常漂亮的OSMnx包 通过OSM,您可以轻松获得附近的所有便利设施

import osmnx as ox
import geopandas as gpd
place_name = "" (geocoding of polygon)
tags = {'amenity': 'charging_station'}
ox.geometries_from_place(place_name, tags)