Đối với tôi, như câu hỏi của bạn cho thấy, tôi sử dụng Python rất nhiều để tự động hóa xử lý hàng loạt nói riêng mà còn để tạo bất kỳ phép tính chuyên gia lặp lại nào. Ngày nay, tôi không sử dụng ArcPy vì tôi không đủ khả năng cấp giấy phép ESRI với tư cách là Tư vấn viên GIS tự do. Tôi sử dụng GDAL / OGR, Shapely, PostGIS, Numpy và SciPy rất nhiều, mặc dù mọi thứ trong danh sách của tôi đều có thể được thực hiện với ArcPy (và một số trong đó là). Những ví dụ bao gồm:
- Lấy số liệu thống kê Zonal cho toàn bộ Vương quốc Anh trước tiên yêu cầu ghép các gạch raster 20km thuộc hai loại dữ liệu khác nhau, thực hiện một số "bản đồ" trên các raster đó, hợp nhất diện tích tương đương của các ô đa giác vector 10km, tính toán các chỉ số khu vực của kết quả của ánh xạ raster và nối bảng thống kê với dữ liệu vectơ ban đầu trước khi xuất ra các shapefiles trong cấu trúc thư mục logic và ghi vào CD cho máy khách.
- Thực hiện tính toán khả năng hiển thị tuần tự cứ sau 100m dọc theo một con đường hoặc đường đua và sau đó gán kết quả tính toán dưới dạng giá trị M trở lại trong dữ liệu tuyến đường.
- Quá trình tự động để tạo các mô hình cảnh quan 3D bằng cách ghép / ghép các khối dữ liệu raster và vector, cắt vào khu vực cần thiết và sau đó chuyển đổi sang định dạng 3D độc quyền (không phải là GIS). Tôi sử dụng thư viện Python nhỏ mà tôi đã phát triển cho công việc tự do này.
- Một dự án lớn mà tôi đã làm trong một nhóm đã sử dụng ArcPy để tạo các quy trình hàng loạt để chuyển đổi hoặc lấy dữ liệu mới từ dữ liệu GIS thành định dạng với các tính năng có thể được sử dụng bởi trình tạo tài sản trò chơi máy tính theo thủ tục. Các tập lệnh xử lý địa lý được gọi bởi một trình xử lý hàng loạt 'trình điều khiển nô lệ' cũng được viết bằng Python và chạy qua Django.
- Python rất hữu ích ngay cả đối với các tác vụ nhỏ, đặc biệt khi có bất kỳ sự lặp lại nào (ví dụ: tính năng bằng cách xử lý tính năng). Model Builder của ArcGIS được cải tiến hơn nhiều với các điều khiển luồng xuất hiện trong phiên bản 10 nhưng ngay cả như vậy, nó vẫn thường không thể cung cấp điều khiển cần thiết và / hoặc nhanh hơn và dễ dàng hơn để viết quy trình trong ArcPy hơn là cố gắng xây dựng mô hình cưỡng chế.
- Tôi đã tạo ra một công cụ trong Python để thực hiện phân tích đường quét (để tính toán liệu một chiếc xe rất dài có thể đi theo một tuyến đường nhất định hay không và đoạn giới thiệu có thể được kết nối chặt chẽ giữa các tòa nhà. Đây là một chuyên gia khác làm việc tự do kho vũ khí.
- Tạo đầu ra từ Mapnik
- Trước khi ArcGIS trở nên đa luồng, tôi đã sử dụng Python để cho phép tôi sinh ra các quy trình con đôi khi có thể tăng tốc các phép tính dài, chậm mà không cần đến ArcMap làm lộn xộn bộ nhớ.
Python trong xử lý địa lý thương mại là rất tốt vì bạn có tất cả tốc độ và sự ngắn gọn của kịch bản mà Python cung cấp và tốc độ xử lý mã kiểu C đã biên dịch cung cấp bởi vì, trong khi Python được hiểu thì nó chủ yếu gọi mã kiểu C được biên dịch dưới mui xe. Python cung cấp chất keo có thể chứa nhiều nhiệm vụ xử lý địa lý liên tiếp với nhau và danh sách trên chỉ là một ảnh chụp nhanh về một số thứ mà cá nhân tôi sử dụng nó cho. Trong Days Good Old Days ', chúng tôi sẽ thiết lập tệp Watch và ArcInfo ghi lại đầu vào dòng lệnh của chúng tôi và sau đó dọn sạch AML (người nhớ ngôn ngữ Arc Macro!) Để thực hiện quy trình tái xử lý các cuộc gọi xử lý địa lý được dán cùng với AML. Ngày nay nó không quá khác biệt, ngoại trừ chúng tôi sử dụng Python hoặc C # làm chất keo.