Saya mengalami sedikit masalah dengan API Python OGR. Apa yang saya coba lakukan adalah mendapatkan semua koordinat dari setiap simpul cincin luar poligon.
Inilah yang saya miliki sejauh ini:
import osgeo.ogr
import glob
path = "/home/woo/maps/"
out = path + 'output.txt'
file = open(out,'w')
for filename in glob.glob(path + "*.shp"):
ds = osgeo.ogr.Open(filename)
layer1 = ds.GetLayer(0)
print layer1.GetExtent()
for feat in layer1:
geom = feat.GetGeometryRef()
ring = geom.GetGeometryRef(0)
points = ring.GetPointCount()
#Not sure what to do here
file.close()
Saya telah mendengar bahwa Anda dapat for
melewati wilayah tersebut tetapi itu hanya mengembalikan cincin dalam poligon, bukan simpul.
Siapa pun dapat membantu.
python
open-source-gis
ogr
Nathan W
sumber
sumber
ogrinfo -al
katanya?lon, lat, z = ring.GetPoint(p)
Yang mana cocok untuk saya.FYI - untuk contoh kode lengkap berdasarkan pertanyaan awal, dan skrip yang dapat Anda gunakan segera .. lihat https://github.com/spatialguru/NME/blob/master/ogr_explode.py
sumber
Saya hanya mengalami masalah yang sama. Saya akhirnya menggunakan fungsi ExportToJson di ogr dan kemudian membaca string Json ke dalam kamus. Menggunakan data saya dan notasi dari pertanyaan awal, ini terlihat seperti:
sumber
Jika Anda hanya melihat shapefile, Anda juga bisa menggunakan pyshp .
sumber