Para mí, como sugiere su pregunta, utilizo mucho Python para automatizar el procesamiento por lotes en particular, pero también para crear cálculos especializados repetibles. En estos días no uso ArcPy porque no puedo pagar las licencias de ESRI como consultor independiente de GIS. Uso mucho GDAL / OGR, Shapely, PostGIS, Numpy y SciPy, aunque todo en mi lista podría hacerse con ArcPy (y algunos de ellos lo fueron). Ejemplos incluyen:
- Obtener estadísticas zonales para todo el Reino Unido que primero requiere mosaicos de mosaicos ráster de 20 km de dos tipos de datos diferentes, realizar algunas "mapemáticas" en esos rásteres, fusionar el área equivalente de mosaicos de polígonos vectoriales de 10 km, calcular las estadísticas zonales del resultado del mapemática ráster y unir la tabla de estadísticas a los datos vectoriales originales antes de enviarlos a archivos shape en una estructura de directorio lógico y grabarlos en un CD para el cliente.
- Realizando cálculos de visibilidad secuencial cada 100 m a lo largo de una carretera o pista y luego asignando los resultados del cálculo como valores M en los datos de la ruta.
- Proceso automatizado para crear modelos de paisajes en 3D mediante el mosaico / fusión de mosaicos de datos ráster y vectoriales, recortando el área requerida y luego convirtiendo a un formato 3D patentado (no SIG). Utilizo mucho la pequeña biblioteca de Python que desarrollé para esto en mi trabajo independiente.
- Un gran proyecto en el que trabajé en un equipo usó ArcPy para crear procesos por lotes para convertir o derivar nuevos datos de datos SIG a un formato con características que podrían ser consumidas por un generador de activos de juegos de computadora procesal. Los scripts de geoprocesamiento fueron llamados por un procesador por lotes 'controlador esclavo' también escrito en Python y que se ejecuta a través de Django.
- Python es muy útil incluso para tareas pequeñas, particularmente cuando hay alguna repetición (por ejemplo, procesamiento de característica por característica). El Model Builder de ArcGIS ha mejorado mucho con los controles de flujo que se incluyeron en la versión 10, pero aun así, con frecuencia no puede proporcionar el control necesario y / o es más rápido y fácil escribir el proceso en ArcPy que intentarlo. coerce Model Builder.
- He creado una herramienta en Python para realizar un análisis de ruta de barrido (para calcular si un vehículo muy largo puede seguir una ruta determinada y dónde es probable que el remolque se atasque en curvas cerradas entre edificios. Este es otro especialista que trabaja por cuenta propia. arsenal.
- Generando salida de Mapnik
- Antes de que ArcGIS se volviera multiproceso, usé Python para permitirme generar subprocesos que a veces podrían acelerar cálculos largos y lentos sin la sobrecarga de ArcMap que satura la memoria.
Python en el geoprocesamiento comercial es excelente porque tiene toda la velocidad y brevedad de las secuencias de comandos que proporciona Python y la velocidad de procesamiento del código compilado de estilo C, porque, mientras se interpreta Python, en su mayoría llama al código compilado de estilo C bajo el capó. Python proporciona el pegamento que puede mantener juntas muchas tareas de geoprocesamiento secuenciales y la lista anterior es solo una pequeña instantánea de algunas de las cosas para las que lo uso personalmente. En 'Good Old Days' configuramos un archivo Watch y hacemos que ArcInfo registre nuestra entrada de línea de comandos y luego limpiemos el AML (¡quién recuerda el lenguaje de macro de arco!) Para hacer un proceso reutilizable de llamadas de geoprocesamiento pegadas con AML. No es tan diferente en estos días, excepto que usamos Python o C # como pegamento.