行くトピック::科学/工学:: GISは、
あなたがGISのためのすべてのPythonモジュール(シェープファイルを扱うため、ラスタ、KML、GML、GPXのジオコーディングなど)を持っているDND
最も重要なものはすでに引用されていますが、私はフィオナもお勧めし ます。
「フィオナは、オープンソースGISコミュニティの最も信頼できるジオデータアクセスライブラリへの最小限のシンプルなPythonインターフェイスを提供し、pyproj、Rtree、Shapelyなどの他のPython GISパッケージと容易に統合します」
シェープファイルまたはNetworkxモジュールを使用したEsriフィーチャクラスを使用したネットワークジオメトリックネットワークジオプロセシング:「私が知る限り、ESRIはジオメトリックネットワーク用のジオプロセシングツールをリリースしていません」またはpgRoutingまたはPythonの代替:シェープファイルの変換方法フィーチャクラスESRI)トポロジネットワーク(グラフ)(フランス語)
import networkx as nx
G = nx.read_shp('pointshapefile.shp')
print(G.nodes())
# result [(1.0, 2.0), (3.0, 2.0), (0.0, 0.0), (3.0, 1.0), (4.0, 4.0), (2.0, 1.0), (2.0, 4.0), (1.0, 3.0), (2.0, 3.0), (1.0, 4.0), (4.0, 3.0), (4.0, 2.0), (3.0, 4.0), (1.0, 1.0)]
print(G.edges())
# result [((1.0, 2.0), (1.0, 1.0)), ((3.0, 2.0), (2.0, 1.0)), ((3.0, 1.0), (2.0, 1.0)), ((4.0, 4.0), (3.0, 4.0)), ((2.0, 1.0), (1.0, 1.0)), ((2.0, 4.0), (2.0, 3.0)), ((1.0, 3.0), (1.0, 2.0)), ((2.0, 3.0), (1.0, 2.0)), ((1.0, 4.0), (1.0, 3.0)), ((4.0, 3.0), (4.0, 2.0)), ((4.0, 2.0), (3.0, 2.0)), ((3.0, 4.0), (2.0, 3.0)), ((1.0, 1.0), (0.0, 0.0))]
# shortest path
print(nx.astar_path(H,(1.0, 4.0),(4.0, 2.0),dist))
# result [(1.0, 4.0), (1.0, 3.0), (1.0, 2.0), (2.0, 3.0), (3.0, 2.0), (4.0, 2.0)]
# and so with all the algorithms of Networkx module
# you can also export the results in shapefile format
Shapely、Fiona、GDAL / OGR、Pyshp、NetworkxなどをQGISとGRASS GISで問題なく使用します(インタラクティブなグラフ作成のためにmatplotlibまたはデカルトを使用)。彼らはしばしば治療に使いやすいアルゴリズムを持っています。
これらのモジュールの一部は、問題のあるArcPyでも使用できます。これは、ArcPyがバージョン1.3のNumpy(現在はバージョン1.6.1 ...)を使用しているため、ArcPyモジュールを壊さずに更新できないためです。