Aprendendo o ArcPy?

37

Onde posso começar a aprender o ArcPy?

PolyGeo
fonte

Respostas:

71

Esta pergunta foi convertida em Wiki da Comunidade e a wiki bloqueada porque é um exemplo de pergunta que busca uma lista de respostas e parece ser popular o suficiente para protegê-la do fechamento. Ele deve ser tratado como um caso especial e não deve ser visto como o tipo de pergunta incentivada neste ou em qualquer site do Stack Exchange, mas se você deseja contribuir com mais conteúdo, sinta-se à vontade editando esta resposta .


Veja as postagens aqui e em outros sites que usam scripts Python, tente desconstruí-los e veja quais técnicas os autores estão usando para realizar sua tarefa. Vale a pena revisar nossas Perguntas frequentes de montagem automática no ArcPy para esse fim.

Você achará educativo tentar resolver os problemas de outras pessoas. Temos uma lista de montagem automática de perguntas não respondidas no ArcPy para ajudá-lo a encontrá-las.

Documentação do ArcGIS:

Leia os arquivos de ajuda !! 90% do ArcPy é o mesmo que usar as ferramentas da GUI, apenas você as está iniciando usando o Python. Todos os arquivos de ajuda têm um exemplo de código Python na parte inferior.

Livros on-line:

Cursos online:

Tutoriais:

Documentação do Python:

Apresentações:

Livros em papel:

Comunidades de usuários:

Blogs:

Código de amostra:

Ferramentas / Ambientes de Desenvolvimento Integrado (IDEs) - Não comerciais:

Módulos / Estruturas:

Veja também estas dicas gerais para novos programadores Python nesta resposta para Exportar mxds para pdfs usando o ArcPy? .

blah238
fonte
11
Pergunta antiga, mas eu sou novo no ArcPy e pensei em adicionar o que me ajudou recentemente. Esta série do YouTube foi super útil para mim, pessoalmente. Os vídeos são curtos, e eu os assisti todos em uma noite em velocidade 2x para ter uma ideia de como o ArcPy funciona (não se preocupou em fazer nenhum exercício, apenas assistiu aos vídeos). [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1
Eu também peguei este livro. É uma introdução decente a boa e certamente foi útil para mim, mas definitivamente carece de tópicos avançados e aprofundados. Ainda assim, eu pessoalmente pensei que valeria a pena por ~ $ 25 usados ​​(não pagaria mais de ~ $ 35 por isso, mas essa é a minha opinião). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1
14

Eu recomendo a leitura do Programming ArcGIS 10.1 with Python Cookbook .

insira a descrição da imagem aqui

Pela minha própria experiência, você não pode aprender estritamente o pacote do site arcpy sem, eventualmente, trazer conceitos maiores da linguagem de programação Python. De fato, tentei primeiro adotar a abordagem a que você está se esquivando, onde comecei a usar o pacote do site arcpy para automatizar processos no ArcGIS. No entanto, eu rapidamente me vi folheando a documentação do Python procurando melhores abordagens para, por exemplo, manipular caminhos como com os.path.join(). Também descobri que estava evitando bibliotecas Python incrivelmente poderosas, como NumPy e SciPy, aceitando as alternativas ESRI. Em resumo, eu recomendaria as seguintes etapas para aprender os fundamentos do Python complementados pelo pacote do site arcpy:

  1. Primeiro: use um IDE como PythonWin ou PyScripter para executar todos os seus scripts! Leva muitas pessoas muito tempo para perceber que elas podem implementar e depurar scripts fora da janela python do ArcGIS.
  2. Realize até as tarefas mais simples usando Python. Por exemplo, defina uma área de trabalho e crie um geodatabase programaticamente. Não comece criando scripts complicados.
  3. Não há problema em executar todos os scripts usando o arcpy inicialmente - lembre-se de que existem métodos melhores e mais eficientes para muitas tarefas. Sempre procure uma alternativa melhor com Python puro, se necessário.
  4. Encontre soluções programáticas para consultas neste site. Definitivamente, isso ajudará a complementar suas habilidades, pois o expõe a problemas fora da sua zona de conforto.
  5. Por fim, quando você acredita ter uma boa noção do Python, faça um curso ministrado por instrutor da ESRI, como Introdução aos scripts de geoprocessamento usando Python . Sim, esses cursos são caros, mas são valiosos e realmente reforçarão o que você já aprendeu. Só não entre em um desses cursos sem uma boa compreensão dos principais conceitos.
Aaron
fonte
6

Costumo treinar pessoas no uso do ArcMap e nosso curso de treinamento apresenta pessoas ao Python e ao arcpy. Eu tento muito fazer as pessoas lerem o arquivo de Ajuda! O que é que as pessoas não leem o arquivo de ajuda, isso me deixa louco!

Se você abrir o arquivo de ajuda de qualquer ferramenta de processamento geográfico, ele sempre fornecerá uma amostra do código python usando essa ferramenta. Essa é uma ótima maneira de aprender a interagir com o módulo arcpy em um ambiente Python.

Para iniciantes, é gratuito e embutido no arquivo de ajuda do aplicativo. Como você deseja fazer coisas mais sofisticadas, procure os recursos que foram agrupados neste segmento.

Hornbydd
fonte
3
Este. Sim. Há muita documentação no mundo do ArcGIS. As pessoas dedicam muito tempo a escrever essa documentação. É um pouco confuso para mim quando as pessoas se dão ao trabalho de elaborar uma longa pergunta na Internet que obtém uma resposta que é apenas um link para a documentação quando a pessoa poderia ter usado um mecanismo de pesquisa, escrito um número significativamente menor de palavras, e chegou à mesma página de ajuda.
Jason Scheirer
5

A página de recursos do Python para ArcGIS é provavelmente um bom começo. Há também uma variedade de livros disponíveis . Se você não possui nenhum conhecimento de python. Python.org seria um bom recurso também.

Craig
fonte
3

A única coisa que gostaria de acrescentar é criar algo no model builder e exportá-lo para um script Python para ter uma idéia de como os diferentes componentes se encaixam.

om_henners
fonte
7
Eu recomendaria isso. Há muita limpeza que você faz com essa abordagem (o exportador insere muitos cruft, nomes de variáveis ​​estranhos etc.) e algumas coisas simplesmente não funcionam quando exportadas do ModelBuilder) e acredito que o simples ato de digitar declarações e funções obriga a aprender com mais eficiência do que deixar uma ferramenta fazer isso por você.
precisa saber é o seguinte
6
Uma alternativa é clicar com o botão direito do mouse em um resultado de geoprocessamento e clicar em "Copiar como Python Snippet" se você quiser apenas obter a sintaxe de uma chamada de função (especialmente útil para itens como mapeamentos de campo).
precisa saber é o seguinte
Sim, ponto de vista justo - não é ruim se você estiver realizando apenas algumas operações (alguns buffers seguidos por um clipe, talvez), mas como você diz, fica feio rapidamente para modelos maiores. Eu também gosto da idéia de copiar o script gp como um trecho.
Om_henners # 7/13
Não tinha pensado nisso para mapeamentos de campo. Vou ter que tentar isso.
Jay Guarneri
11
+1 é sempre um bom truque, especialmente se você precisar, por exemplo, aprender a integrar a sintaxe da reclassificação no seu script.
Aaron