Para mim, como sugere sua pergunta, eu uso muito o Python para automatizar o processamento em lote em particular, mas também para criar cálculos especializados repetíveis. Atualmente, não uso o ArcPy porque não posso pagar as licenças ESRI como consultor freelancer de GIS. Eu uso muito GDAL / OGR, Shapely, PostGIS, Numpy e SciPy, embora tudo na minha lista possa ser feito com o ArcPy (e alguns deles eram). Exemplos incluem:
- Derivando Estatísticas Zonais para todo o Reino Unido que primeiro exige mosaicos de blocos raster de 20 km de dois tipos de dados diferentes, executando alguns "mapematics" nessas rasters, mesclando a área equivalente de blocos de polígonos vetoriais de 10 km, calculando as estatísticas zonais do resultado do mapematics de varredura e unindo a tabela de estatísticas aos dados vetoriais originais antes de enviar para shapefiles em uma estrutura de diretórios lógicos e gravar em CD para o cliente.
- Execução de cálculos de visibilidade seqüencial a cada 100m ao longo de uma estrada ou pista e, em seguida, atribuindo os resultados do cálculo como valores M de volta aos dados da rota.
- Processo automatizado para a criação de modelos de paisagem 3D, através do mosaicamento / mesclagem de blocos de dados rasterizados e vetoriais, recortando a área necessária e convertendo-os em um formato 3D proprietário (não GIS). Eu uso muito a pequena biblioteca Python que desenvolvi para isso em meu trabalho freelance.
- Um grande projeto em que trabalhei em uma equipe usou o ArcPy para criar processos em lote para converter ou derivar novos dados de dados GIS em um formato com recursos que poderiam ser consumidos por um gerador de procedimentos de jogos de computador. Os scripts de geoprocessamento foram chamados por um 'slave-driver' de processamento em lote, também escrito em Python e rodando no Django.
- O Python é muito útil mesmo para pequenas tarefas, principalmente onde há repetição (por exemplo, recurso por processamento de recurso). O Model Builder do ArcGIS foi muito aprimorado com os controles de fluxo que vieram na versão 10, mas mesmo assim, ainda não é possível fornecer o controle necessário e / ou é mais rápido e fácil escrever o processo no ArcPy do que tentar fazê-lo. coagir o Model Builder.
- Eu criei uma ferramenta em Python para executar análises de varredura (para calcular se um veículo muito longo pode seguir uma determinada rota e onde o trailer provavelmente ficará preso em curvas apertadas entre edifícios.Este é outro especialista que é freelancer arsenal.
- Gerando saída do Mapnik
- Antes que o ArcGIS se tornasse multithread, usei o Python para me permitir gerar subprocessos que às vezes aceleram cálculos longos e lentos, sem a sobrecarga do ArcMap sobrecarregando a memória.
O Python no geoprocessamento comercial é ótimo porque você tem toda a velocidade e brevidade dos scripts que o Python fornece e a velocidade de processamento do código compilado em estilo C, porque, enquanto o Python é interpretado, ele geralmente chama código compilado em estilo C sob o capô. O Python fornece a cola que pode manter várias tarefas seqüenciais de geoprocessamento juntas, e a lista acima é apenas um pequeno instantâneo de algumas das coisas para as quais eu pessoalmente a uso. Nos 'Bons Velhos Dias', configuraríamos um arquivo Watch e o ArcInfo gravaria nossa entrada de linha de comando e limparia a AML (que se lembra da Arc Macro Language!) Para fazer um processo reutilizável de chamadas de geoprocessamento coladas com a AML. Hoje em dia não é tão diferente, exceto pelo fato de usarmos Python ou C # como cola.