ใช้ ogr2ogr เพื่อแปลง GML เป็น shapefile ใน Python หรือไม่


22

ฉันพยายามแปลง GML ให้เป็นไฟล์รูปร่าง ESRI โดยใช้ยูทิลิตี้ ogr2ogr ในสคริปต์ไพ ธ อน

ฉันได้ติดตั้งแพคเกจ GDAL / OGR เรียบร้อยแล้วผ่านทาง osgeo แต่ตอนนี้ฉันพยายามหา / เข้าใจรายละเอียดเกี่ยวกับไวยากรณ์สำหรับการใช้ ogr2ogr ใน python

หลังจากนำเข้า ogr ทั้งหมดที่ฉันพบคือ ogr2ogr -f "ESRI Shapefile" output.shp input.gml

ฉันจะใช้สิ่งนี้ในไพ ธ อนได้อย่างไร มันง่ายเหมือนการกำหนดไฟล์อินพุตและเอาต์พุตหรือไม่?

ทุกสิ่งที่ฉันลองฉันเพิ่งได้รับข้อผิดพลาดทางไวยากรณ์ พอยน์เตอร์ในทิศทางที่ถูกต้องเพื่อให้ฉันเริ่มต้นจะดี


คุณได้รับข้อผิดพลาดอะไร และรุ่น GDAL ของคุณคืออะไร กรุณาหุ้นสำหรับการช่วยให้คุณ ..
อารากอน

คำตอบ:


35

หยิบสำเนาของพอร์ต ogr2ogr Python ซึ่งแจกจ่ายด้วยการดาวน์โหลดซอร์สโค้ด GDAL หรือหาได้ที่นี่: http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/ogr2ogr.py

เมื่อคุณนำเข้าสิ่งนั้นลงในรหัสของคุณคุณสามารถใช้มันได้ดังนี้:

import ogr2ogr

def main():
  #note: main is expecting sys.argv, where the first argument is the script name
  #so, the argument indices in the array need to be offset by 1
  ogr2ogr.main(["","-f", "KML", "out.kml", "data/san_andres_y_providencia_administrative.shp"])

นี่เป็นเพียงตัวอย่างการทำงานที่ฉันได้เห็นทุกที่
bozdoz

5

คุณอาจจะพบคำตอบที่ดีกว่าฉันจะให้คุณที่http://www.gis.usu.edu/~chrisg/python/2009/lectures/ospy_slides1.pdfและhttp://trac.osgeo.org/gdal/ วิกิพีเดีย

ลองที่นั่นหรือบทช่วยสอนอื่นที่เชื่อมโยงจาก URL ที่สองและอาจถามคำถามที่เจาะจงมากกว่านี้ถ้าคุณติดขัด


5

อ่านข้อมูลเกี่ยวกับos.systemหรือos.popenหรือกระบวนการย่อย หรือเพียงแค่ใช้ ogr2ogr และเปลือกของคุณ แม้แต่ cmd.exe (Windows) ก็ให้คุณวนลูปไฟล์อินพุตได้


1

คำอธิบายรายละเอียดวิธีการที่จะใช้แทน ogr2ogrเครื่องมือบรรทัดคำสั่งกับงูหลาม OGR API สามารถพบได้ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.