ภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วย GDAL


20

ฉันจะเริ่มสร้างโปรแกรมเพื่อจัดการข้อมูลทางภูมิศาสตร์จากเซิร์ฟเวอร์ PostGIS และจะใช้ GDAL

ตามประสบการณ์ของคุณด้วยภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วยหรือไม่ ฉันสามารถเขียนโปรแกรมใน Perl และ Python ได้ แต่ต้องการทราบภาษาที่มีโค้ดเพิ่มเติมเพื่อนำมาใช้ใหม่ตัวอย่างไลบรารีและอื่น ๆ


6
ฉันไม่มีข้อพิสูจน์ใด ๆ แต่ความรู้สึกของฉันคือ Python มีห้องสมุดและผู้ใช้จำนวนมากมากกว่า Perl นั่นคือการลงคะแนนของฉัน!
blah238

ฉันคิดว่ามีแอพจำนวนมากที่ทำงานร่วมกับโพสต์กิสได้แล้ว หากคุณถามคำถามอื่นพูดในสิ่งที่เป็นความต้องการของคุณอาจจะเป็นคุณสามารถจ่ายได้ทำงาน :)
ฟรานซิส Puga

คำตอบ:


26

โดยส่วนตัวแล้วฉันสนุกกับการเขียนโค้ดกับ GDAL ใน Python จริงๆ เมื่อคุณได้ติดตั้งแล้วและได้รู้ว่ามันทำงานอย่างไรมันเป็นเรื่องง่าย คุณสามารถใช้ประโยชน์จาก 'แบตเตอรี่ที่รวมอยู่' ในตัวโมดูล (ระบบปฏิบัติการ, คณิตศาสตร์, สตริง, sys, การสุ่ม ฯลฯ ) รวมถึงโมดูลของบุคคลที่สามเช่น NumPy (มีประโยชน์สำหรับการปฏิบัติการแรสเตอร์)

สำหรับรายการที่ครอบคลุมของไลบรารี GIS Python ให้ดูที่นี่: เครื่องมือ / โมดูล / ส่วนเพิ่มเติมของ Python สำคัญใน GIS คืออะไร )

การแนะนำที่ยอดเยี่ยมเกี่ยวกับการผูก Python GDAL สามารถพบได้ที่นี่:

http://www.gis.usu.edu/~chrisg/python/2009/

คุณสามารถใช้เวลาน้อยที่สุดโดยมีความรู้และวิธีการอ่านตัวอย่างเช่นคุณสามารถถือเชพไฟล์ใน 2 บรรทัด:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

มันง่ายมากที่จะทำสิ่งที่คุณต้องการไฟล์เมื่อคุณอ่านเอกสาร ( http://www.gdal.org/annotated.html ) และคุณรู้ว่าคุณกำลังทำอะไรอยู่

ดูที่นี่สำหรับตัวอย่างของสิ่งที่เป็นไปได้ในรหัสที่ง่ายและน้อยที่สุด:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/


13

สำหรับฉันแล้วมันเป็นคำถามส่วนตัว จากมุมมองของ GDAL / OGR ฉันจะบอกว่าโดยพื้นฐานแล้วความสามารถเดียวกันของไลบรารีนั้นจะถูกเปิดเผยใน Python และ Perl ดังนั้นจำนวนมากอาจขึ้นอยู่กับความชอบด้านภาษาของคุณและองค์ประกอบอื่น ๆ ที่คุณอาจต้องการ

ฉันเป็นผู้ชายงูหลาม แต่ฉันต้องการพูดอะไรเล็กน้อยในนามของ perl และสังเกตว่าสภาพแวดล้อม GeoInformatica ที่ดูแลโดย Ari Jolma นั้นรวมถึง GDAL / OGR และกลุ่มของสิ่งที่มีประโยชน์อื่น ๆ สำหรับ sclters perl ฉันแนะนำให้คุณลองดู:

http://geoinformatics.tkk.fi/


7

โดยไม่ต้องตั้งคำถามภาษาที่ดีที่สุดคืองูหลาม เพราะมันเป็นการเปิดโอกาสอื่น ๆ มากมายนอกเหนือจากการใช้ GDAL:

1) ด้วยไพ ธ อนคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ postgis ของคุณด้วย ORM เช่น SQLAlchemy ซึ่งจะมีฟังก์ชั่นระดับสูงมากมายในการจัดการข้อมูลของคุณและเตรียมพร้อมสำหรับ gdal

2) คุณสามารถใช้ห้องสมุดหลามอื่น ๆ ที่จะทำงานร่วมกับข้อมูลภูมิศาสตร์เช่นหุ่นดีหรือผลการดำเนินงานห้องสมุด Geostatistics สูง

3) คุณมีการผูกที่ดีมากสำหรับการส่งออกแผนที่ในหลามเช่นMapnik

4) คุณมีกรอบบางและ API ระดับสูงซึ่งจะสำรองไว้ให้คุณทำงานมากเหมือนGeodjango (คุณสามารถใช้มันในประเทศ) หรือQGIS API


6

การลงคะแนนเสียงครั้งที่สามสำหรับ Python สำหรับฉันนอกเหนือจากคำตอบที่ดีเลิศข้างต้นเป็นเพราะฉันเบื่อหน่ายกับการรู้ภาษาสคริปต์ครึ่งโหลสำหรับงานที่แตกต่างกันสักครู่ดังนั้นเมื่อ ESRI รองรับ Python ฉันจึงทิ้งทั้งหมด (เกือบ - Javascript คือ ยังคงมีประโยชน์) เพื่อประโยชน์ของ Python สิ่งที่ดีคือแพ็คเกจที่ไม่ใช่ GIS อื่น ๆ ที่ฉันใช้รองรับ Python ดังนั้นฉันจึงสามารถเรียก GDAL / OGR ได้จาก API ของซอฟต์แวร์ทุกประเภท Python เป็นภาษาระดับสูงมากดังนั้นฉันจึงเขียนถึงหนึ่งในสิบของรหัสที่แม้แต่ภาษาที่มีการจัดการเช่น C # ก็ต้องการ

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