地理空间示例描述#

在NetworkX版本<3.0中提供了用于读取和写入shapefile的函数。 然而,我们建议在处理地理空间数据(包括读取和写入shapefile)时使用以下库。

地理空间Python库#

GeoPandas 提供了

地理空间格式和存储机制(例如数据库)与Pandas数据框之间的互操作性, 用于空间数据的表格导向处理,以及大量支持功能, 包括空间索引、空间谓词(例如,测试几何体是否相交), 空间操作(例如,相交多边形之间的重叠区域)等。

查看以下使用GeoPandas的示例:

`PySAL `_ 提供了丰富的空间分析套件。

算法。从网络分析的角度来看, 空间权重 提供…

请参阅以下使用 PySAL 的示例:

`momepy `_ 在 GeoPandas 和 PySAL 的基础上构建,
提供一套专注于城市形态学的算法。从网络分析的角度来看,momepy 使您能够将线几何转换为

networkx.MultiGraph ,然后再转换为 geopandas.GeoDataFrame ,并应用一系列旨在描述(街道)网络配置的形态学函数。

请参阅以下使用 momepy 的示例:

`OSMnx `_ 提供一组工具来检索、建模、投影、分析和可视化 OpenStreetMap 街道网络(以及任何其他网络基础设施)作为 `networkx.MultiDiGraph` 对象,并转换。

将这些MultiDiGraphs转换为/从 geopandas.GeoDataFrame 。它可以自动为以下内容添加节点/边属性:海拔和坡度(使用Google Maps海拔API)、边缘行驶速度、边缘遍历时间和边缘方位。它还可以从OSM检索任何其他空间数据(如建筑物轮廓、公园、学校、交通站等),并将其作为Geopandas GeoDataFrames。

查看以下使用OSMnx的示例:

关键概念#

地理空间数据网络分析中的一个基本任务是定义空间要素(点、线或多边形)之间的空间关系。

PySAL 提供了几种表示这些空间要素之间空间关系的方式,使用空间权重的概念。这些关系包括 QueenRook ,…(Levi请在此处添加更多内容,并简要解释每个关系)。

momepy 允许将街道网络表示为原始图和对偶图(在街道网络分析意义上)。原始方法将交叉口转换为图节点,将街道段转换为边缘,这种格式用于大多数形态学研究。对偶方法使用街道段作为节点,使用交叉口拓扑作为边缘,这允许编码角度信息(即可以根据街道段之间的角度而不是长度对分析进行加权)。

OSMnx 将街道网络表示为原始的、非平面的、有向图,可能存在自环和平行边缘,以模拟现实世界的街道网络形式和流动。节点表示交叉口和死胡同,边缘表示连接它们的街道段。OSMnx的建模方法的详细信息可在https://doi.org/10.1016/j.compenvurbsys.2017.05.004找到。

了解更多#

要了解更多,请参阅 `PySAL和PyData Stack的地理数据科学<https://geographicdata.science/book/intro.html>`_