Bagi saya, seperti yang disarankan oleh pertanyaan Anda, saya banyak menggunakan Python untuk mengotomatisasi pemrosesan batch, tetapi juga untuk membuat kalkulasi spesialis berulang. Saat ini saya tidak menggunakan ArcPy karena saya tidak mampu membeli lisensi ESRI sebagai Konsultan GIS lepas. Saya menggunakan GDAL / OGR, Shapely, PostGIS, Numpy dan SciPy banyak, meskipun semua yang ada dalam daftar saya dapat dilakukan dengan ArcPy (dan beberapa di antaranya). Contohnya termasuk:
- Turunkan Statistik Zonal untuk seluruh Inggris yang pertama kali memerlukan mosaicing 20 km raster ubin dari dua tipe data yang berbeda, melakukan beberapa "mapematics" pada raster-raster itu, menggabungkan area ekivalen ubin vektor poligon 10 km, menghitung statistik zona dari hasil raster mapematics dan bergabung dengan tabel statistik ke data vektor asli sebelum mengeluarkan ke shapefile dalam struktur direktori logis dan membakar ke CD untuk klien.
- Melakukan perhitungan visibilitas berurutan setiap 100m di sepanjang jalan atau trek dan kemudian menetapkan hasil perhitungan sebagai nilai M kembali dalam data rute.
- Proses otomatis untuk membuat model lanskap 3D dengan mem-mosaing / menggabungkan ubin data raster dan vektor, memotong ke area yang diperlukan dan kemudian mengonversi ke format 3D (non-GIS). Saya menggunakan perpustakaan Python kecil yang saya kembangkan untuk ini banyak dalam pekerjaan freelance saya.
- Salah satu proyek besar yang saya kerjakan dalam sebuah tim menggunakan ArcPy untuk membuat proses batch untuk mengkonversi atau mendapatkan data baru dari data GIS ke dalam format dengan fitur yang dapat dikonsumsi oleh generator-aset-komputer-permainan-aset prosedural. Script geoprocessing dipanggil oleh batch processing 'slave-driver' yang juga ditulis dengan Python dan dijalankan melalui Django.
- Python sangat berguna bahkan untuk tugas-tugas kecil, terutama di mana ada pengulangan (misalnya fitur dengan pemrosesan fitur). ArcGIS 'Model Builder jauh lebih baik dengan kontrol aliran yang masuk dalam versi 10 tetapi meskipun demikian, masih sering tidak dapat memberikan kontrol yang diperlukan dan / atau lebih cepat dan lebih mudah hanya untuk menulis proses di ArcPy daripada mencoba untuk memaksa Pembuat Model.
- Saya telah membuat alat dengan Python untuk melakukan analisis jalur-sapu (untuk menghitung apakah kendaraan yang sangat panjang dapat mengikuti rute yang ditentukan dan di mana trailer akan cenderung terjepit di tikungan yang ketat di antara bangunan. Ini adalah spesialis lain yang bekerja dengan freelance gudang senjata.
- Menghasilkan output dari Mapnik
- Sebelum ArcGIS menjadi multithreaded, saya menggunakan Python untuk memungkinkan saya menelurkan subproses yang kadang-kadang bisa mempercepat, perhitungan lambat tanpa overhead ArcMap mengacaukan memori.
Python dalam geoprocessing komersial sangat bagus karena Anda memiliki semua kecepatan dan singkatnya skrip yang disediakan oleh Python dan kecepatan pemrosesan kode gaya C yang dikompilasi menyediakan karena, sementara Python ditafsirkan sebagian besar memanggil kode gaya-C yang dikompilasi di bawah tenda. Python menyediakan lem yang dapat menampung banyak tugas geoproses berurutan bersama dan daftar di atas hanyalah cuplikan kecil dari beberapa hal yang secara pribadi saya gunakan untuk itu. Dalam 'Good Old Days' kami akan mengatur file Tontonan dan minta ArcInfo merekam input baris perintah kami dan kemudian membersihkan AML (yang mengingat Arc Macro Language!) Untuk membuat proses yang dapat digunakan kembali dari panggilan geoproses yang direkatkan dengan AML. Hari ini tidak begitu berbeda, kecuali kami menggunakan Python atau C # sebagai lem.