地理空间示例描述#
在NetworkX版本<3.0中提供了用于读取和写入shapefile的函数。 然而,我们建议在处理地理空间数据(包括读取和写入shapefile)时使用以下库。
地理空间Python库#
GeoPandas 提供了
地理空间格式和存储机制(例如数据库)与Pandas数据框之间的互操作性, 用于空间数据的表格导向处理,以及大量支持功能, 包括空间索引、空间谓词(例如,测试几何体是否相交), 空间操作(例如,相交多边形之间的重叠区域)等。
查看以下使用GeoPandas的示例:
算法。从网络分析的角度来看, 空间权重 提供…
请参阅以下使用 PySAL 的示例:
- 提供一套专注于城市形态学的算法。从网络分析的角度来看,momepy 使您能够将线几何转换为
networkx.MultiGraph
,然后再转换为geopandas.GeoDataFrame
,并应用一系列旨在描述(街道)网络配置的形态学函数。
请参阅以下使用 momepy 的示例:
将这些MultiDiGraphs转换为/从 geopandas.GeoDataFrame
。它可以自动为以下内容添加节点/边属性:海拔和坡度(使用Google Maps海拔API)、边缘行驶速度、边缘遍历时间和边缘方位。它还可以从OSM检索任何其他空间数据(如建筑物轮廓、公园、学校、交通站等),并将其作为Geopandas GeoDataFrames。
查看以下使用OSMnx的示例:
关键概念#
地理空间数据网络分析中的一个基本任务是定义空间要素(点、线或多边形)之间的空间关系。
PySAL
提供了几种表示这些空间要素之间空间关系的方式,使用空间权重的概念。这些关系包括Queen
、Rook
,…(Levi请在此处添加更多内容,并简要解释每个关系)。
momepy
允许将街道网络表示为原始图和对偶图(在街道网络分析意义上)。原始方法将交叉口转换为图节点,将街道段转换为边缘,这种格式用于大多数形态学研究。对偶方法使用街道段作为节点,使用交叉口拓扑作为边缘,这允许编码角度信息(即可以根据街道段之间的角度而不是长度对分析进行加权)。
OSMnx
将街道网络表示为原始的、非平面的、有向图,可能存在自环和平行边缘,以模拟现实世界的街道网络形式和流动。节点表示交叉口和死胡同,边缘表示连接它们的街道段。OSMnx的建模方法的详细信息可在https://doi.org/10.1016/j.compenvurbsys.2017.05.004找到。
了解更多#
要了解更多,请参阅 `PySAL和PyData Stack的地理数据科学<https://geographicdata.science/book/intro.html>`_ 。