สำหรับฉันตามที่คำถามของคุณแนะนำฉันใช้ Python เป็นจำนวนมากสำหรับการประมวลผลแบบแบตช์โดยอัตโนมัติ แต่ยังสำหรับการสร้างการคำนวณแบบผู้เชี่ยวชาญซ้ำ วันนี้ฉันไม่ได้ใช้ ArcPy เพราะฉันไม่สามารถจ่ายใบอนุญาต ESRI ในฐานะที่ปรึกษา GIS อิสระ ฉันใช้ GDAL / OGR, Shapely, PostGIS, Numpy และ SciPy มาก แต่ทุกอย่างในรายการของฉันสามารถทำได้ด้วย ArcPy (และบางส่วนก็เป็น) ตัวอย่างรวมถึง:
- การหาค่า Zonal Statistics สำหรับทั้งสหราชอาณาจักรที่ต้องใช้กระเบื้องโมเสคแรสเตอร์ 20 กม. ของสองชนิดข้อมูลที่แตกต่างกันดำเนินการ "mapematics" บางอย่างบน rasters เหล่านั้นรวมพื้นที่รูปหลายเหลี่ยมเวกเตอร์รูปหลายเหลี่ยม 10km การคำนวณสถิติของผล raster mapematics และเข้าร่วมตารางสถิติกับข้อมูลเวกเตอร์ดั้งเดิมก่อนที่จะส่งออกไปยังรูปร่างไฟล์ในโครงสร้างไดเรกทอรีเชิงตรรกะและเบิร์นลงซีดีสำหรับลูกค้า
- ทำการคำนวณการมองเห็นตามลำดับทุก ๆ 100m ตามถนนหรือแทร็กจากนั้นกำหนดผลลัพธ์ของการคำนวณให้เป็นค่า M ในข้อมูลเส้นทาง
- กระบวนการอัตโนมัติในการสร้างแบบจำลองภูมิทัศน์ 3 มิติโดยการทำโมเสก / ผสานรวมข้อมูลแรสเตอร์และเวกเตอร์ตัดไปยังพื้นที่ที่ต้องการจากนั้นแปลงเป็นรูปแบบ 3 มิติที่เป็นกรรมสิทธิ์ (ไม่ใช่ GIS) ฉันใช้ห้องสมุด Python เล็ก ๆ ที่ฉันพัฒนาขึ้นมาเพื่องานอิสระมากมาย
- โครงการขนาดใหญ่หนึ่งที่ฉันทำงานในทีมใช้ ArcPy เพื่อสร้างกระบวนการแบทช์เพื่อแปลงหรือรับข้อมูลใหม่จากข้อมูล GIS ให้เป็นรูปแบบที่มีคุณสมบัติที่สามารถใช้งานได้โดยเครื่องกำเนิดสินทรัพย์เกมคอมพิวเตอร์ สคริปต์การประมวลผลทางภูมิศาสตร์ถูกเรียกโดยชุดประมวลผล 'โปรแกรมควบคุมทาส' ที่เขียนใน Python และทำงานผ่าน Django
- Python มีประโยชน์มากแม้กับงานเล็ก ๆ น้อย ๆ โดยเฉพาะอย่างยิ่งเมื่อมีการทำซ้ำ (เช่นฟีเจอร์โดยการประมวลผลฟีเจอร์) ตัวสร้างแบบจำลองของ ArcGIS ได้รับการปรับปรุงด้วยการควบคุมการไหลที่มาในเวอร์ชั่น 10 แต่ถึงกระนั้นก็ยังไม่สามารถให้การควบคุมที่จำเป็นและ / หรือรวดเร็วและง่ายกว่าเพียงแค่เขียนกระบวนการใน ArcPy มากกว่าพยายาม coerce Model Builder
- ฉันได้สร้างเครื่องมือใน Python เพื่อทำการวิเคราะห์เส้นทางแบบ swept-path (เพื่อคำนวณว่ายานพาหนะที่ยาวมากสามารถติดตามเส้นทางที่กำหนดหรือไม่และรถพ่วงจะมีแนวโน้มที่จะได้รับการหมุนอย่างแน่นหนาระหว่างอาคารหรือไม่ คลังแสง
- กำลังสร้างเอาต์พุตจาก Mapnik
- ก่อนที่ ArcGIS จะกลายเป็นมัลติเธรดฉันใช้ Python เพื่ออนุญาตให้ฉันวางไข่ subprocesses ซึ่งบางครั้งอาจเร่งความเร็วการคำนวณที่ช้าและช้าโดยไม่ต้องใช้โอเวอร์เฮดของ ArcMap ที่ทำให้หน่วยความจำแน่นเกินไป
Python ในการประมวลผลเชิงภูมิศาสตร์เชิงพาณิชย์นั้นยอดเยี่ยมเพราะคุณมีความเร็วและความกะทัดรัดของการเขียนสคริปต์ที่ Python ให้ไว้และความเร็วในการประมวลผลโค้ด C-style ที่คอมไพล์มีให้เพราะในขณะที่ Python ตีความว่าส่วนใหญ่เรียกรหัส C-style ที่คอมไพล์ Python นำเสนอกาวที่สามารถเก็บงานทางภูมิศาสตร์ตามลำดับจำนวนมากไว้ด้วยกันและรายการด้านบนเป็นเพียงภาพรวมเล็ก ๆ ของบางสิ่งที่ฉันใช้เป็นของตัวเอง ใน 'Good Old Days' เราจะตั้งค่าไฟล์ Watch และมี ArcInfo บันทึกอินพุตบรรทัดคำสั่งของเราจากนั้นล้าง AML (ที่จำ Arc Macro Language!) เพื่อทำการประมวลผลการโทรซ้ำทางภูมิศาสตร์ที่ติดกาวร่วมกับ AML มันไม่ได้แตกต่างกันมากนักยกเว้นเราใช้ Python หรือ C # เป็นกาว