Answers:
Ben Reilly最近在他的UtilityNetwork Python软件包中发布了另一个问题的链接,该软件包使用OGR绑定将数据转换为networkx DiGraphs。
从networkx的可导入图形格式列表和GDAL支持的格式列表来看,我怀疑是否可以进行这种转换。
TranspoTools Will be here shortly
。Google代码存储库中是否有任何代码?我所看到的一切都是空的。
ogr2networkx
打字工具上进行协作。
您没有特别提到要进行哪种网络分析,但是如果您对路由感兴趣,则有两种选择:
PgRouting http://pgrouting.postlbs.org/使用PostGIS中的数据进行路由分析。它支持最短路径Dijkstra,最短路径A *,最短路径流星和旅行商(TSP)算法。它还可以计算行驶距离。可以在http://pgrouting.postlbs.org/wiki/pgRoutingDemo
PgRouting驱动Ride the City http://www.ridethecity.com/
应用程序中找到使用PgRouting的示例应用程序列表。
OpenRouter项目http://wiki.osgeo.org/wiki/OpenRouter
。这个项目看起来很有趣,但目前还不是很成熟。
(对引用的URL表示歉意,但是我没有足够的信誉来发布> 1 URl ...)
我认为答案取决于。大多数GIS格式都没有明确包含邻接信息(例如,.shp中没有充满简单线条特征的指示符,以指示两个要素共享一个公共端点),这是直接将其读取到网络中的交易突破点。
粗略地看一下代码,看起来只有当端点逐位相同时,由scw链接的Utilitynetwork软件包才会重新发现该信息。这可能足以满足包括您在内的大多数需求!(对此我可能是错的,因为这确实只是一个粗略的偷看。)
对于更强大的功能-例如,您可能希望在网络中两个边缘相交的地方创建新节点,或者您想处理使重叠端点略有不同的扰动-您必须寻找一种方法更深入地检查几何。
我已经用边界生成器做了类似的事情来从多边形中恢复网络邻接信息:不幸的是,错误的平台,语言和几何图元。然而,关于如何解决健壮性问题可能是有见地的。
GML
,但前者是指Geography Markup Language
后者Graph Modelling Language
。