ไปที่หัวข้อ :: วิทยาศาสตร์ / วิศวกรรม :: GIS
dnd คุณมีโมดูล Python ทั้งหมดสำหรับ GIS (สำหรับการทำงานกับ shapefiles, rasters, KML, GML, GPX geocoding ฯลฯ )
ที่สำคัญส่วนใหญ่ได้รับการอ้างถึงอยู่แล้ว แต่ผมยังแนะนำ ฟิโอน่า
" ฟิโอน่าให้น้อยที่สุด, อินเตอร์เฟซหลามง่ายต่อการที่เชื่อถือได้มากที่สุดห้องสมุดการเข้าถึงข้อมูลภูมิศาสตร์จีไอเปิดแหล่งชุมชนและบูรณาการพร้อมกับแพคเกจ GIS งูใหญ่อื่น ๆ เช่น pyproj, RTree และหุ่นดี. "
และสำหรับการสร้างเครือข่ายด้วย shapefiles หรือ Esri Feature Class พร้อมโมดูล Networkx การประมวลผลทางภูมิศาสตร์เครือข่ายเรขาคณิต : " เท่าที่ฉันสามารถบอกได้ ESRI ยังไม่ได้เปิดตัวเครื่องมือการประมวลผลทางภูมิศาสตร์สำหรับเครือข่ายทางเรขาคณิต " หรือทางเลือกแทน pgRoutingหรือPython: วิธีแปลงรูปร่างไฟล์ Feature class 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หรือdescartesสำหรับการสร้างกราฟแบบโต้ตอบ) พวกเขามักจะมีอัลกอริทึมที่ง่ายต่อการใช้สำหรับการรักษา
โมดูลเหล่านี้บางส่วนยังสามารถใช้ใน ArcPy ที่มีปัญหาได้เนื่องจาก ArcPy ใช้ Numpy รุ่น 1.3 ล้าสมัย (ตอนนี้รุ่น 1.6.1 ... ) และคุณไม่สามารถอัปเดตได้โดยไม่ทำลายโมดูล ArcPy