Aprendendo o uso do .NET for ArcGIS (principalmente Desktop)?

12

Eu tenho habilidades básicas de programação (eu programo scripts vba python e lisp simples e já participei de um curso java há muito tempo), mas me parece (a julgar pelas publicações da ESRI) que não há como escapar da necessidade de aprender .NET para relevância futura no mercado de trabalho GIS (mesmo como analista).

Passei por um curso básico de c # e posso programar (infelizmente) programas bastante ruins, mas não tenho idéia de como vincular o conhecimento de c # à programação de verdade para arcgis para progredir.

1) Eu sei que as diferenças não são grandes, mas o ArcGIS usa .NET ou C #?

2) Sei que a melhor maneira de aprimorar minha experiência no .NET é programar cada vez mais, mas existem bons livros ou cursos de programação sobre o .NET nos quais posso aprender técnicas?

3) Na sua opinião, qual é a melhor maneira de aprender a programar no .NET for ArcGIS? Existem livros ou sites úteis?

Agradeço seus comentários sobre o ArcGIS 10 (e os guardarei para mais tarde), mas se você puder me dar algumas dicas sobre o ArcGIS 9.3.1, isso seria ótimo (estou me encontrando em uma posição muito desajeitada que enquanto Esri e o mundo inteiro está focado no ArcGIS 10.0 (incluindo representantes locais da Esri), quase ninguém no país atualizou a partir da versão 9.3.1 ou tem planos para fazê-lo, e pessoalmente estou tendo problemas para procurar respostas apropriadas na versão 9.3.1).

user749
fonte

Respostas:

7

Aqui estão alguns recursos para você começar.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_custom_UI_elements_using_add_ins/0001000001ms000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_editor_extensions_using_add_ins/000100000391000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Visual_Studio_integration/000100000m7n000000/

Zachary
fonte
4

Se você deseja escrever coisas que evitem o desprezo e desprezo dos programadores, coisas das quais você pode se orgulhar em um portfólio, você terá uma idéia realmente firme do design e desenvolvimento orientados a objetos (se ainda não o fez) . O domínio de linguagens e estruturas específicas pode vir mais tarde.

De qualquer maneira, use .NET e ArcObjects como a linguagem / API preferencial ao trabalhar com exercícios de programação em alguns bons livros de desenvolvimento de software. Aqui estão alguns para começar:

O código completo é muito grande, mas o restante deles pode ser leituras rápidas. Na verdade, eu recomendaria os dois primeiros livros para as pessoas do GIS que nunca escreverão uma linha de código. Há ótimas coisas no controle de fontes, gerenciamento de projetos, comunicação e bons princípios de design.

bwreilly
fonte
Eu não poderia concordar mais. Adote uma abordagem de base e pagará dividendos.
Kelso22 /
4

Só queria acrescentar um pouco da minha experiência pessoal. Aprendi principalmente como subproduto das necessidades do empregador. Primeiro com os scripts do ArcGIS Desktop, depois as extensões e depois a programação do ArcGIS Server (SOE, Web ADF e API da web). O melhor recurso, na minha opinião, era realmente a API e a documentação de ajuda. Ao invadir uma área desconhecida pela primeira vez, eu lia um pouco da ajuda conceitual, mergulhava na codificação e fazia referência ao documento da API conforme necessário. Então, se eu travasse, usaria os fóruns da Esri. Ocasionalmente, exemplos de código existentes seriam úteis, mas geralmente não consegui encontrar muita coisa aplicável ao que estava trabalhando - o que pode não ser tanto assim agora. Os vídeos da Esri e este ótimo site ainda não estavam disponíveis, portanto esses são certamente recursos adicionais.

Acrescentarei que estudei geografia, SIG e alguns cursos de computação em uma universidade, e acho difícil obter uma compreensão realmente boa do desenvolvedor de SIG a partir de "trabalhos de classe" ou de abordar as coisas de uma maneira muito geral. Se você estiver com um empregador que trabalha com GIS, sugiro conversar com o pessoal do GIS para identificar uma necessidade que seria um bom pequeno teste de desenvolvimento para você - mesmo que você precise trabalhar no seu próprio tempo. Exceto isso, eu tentaria criar uma parte específica da funcionalidade que você gostaria de ter ou que você acha que seria interessante montar e, em seguida, tentaria descobrir o que você precisa saber para fazer isso.

zwaap
fonte
Eu tenho uma experiência semelhante. Isso funcionou bem para mim!
George Silva
3

Código existente ( além das outras respostas ... não no lugar de ).

Muitos deles estão online em lugares como Google Projects , Codeplex e Github .

É interessante aprender com o código de projetos que estão bastante ativos / em uso e que possuem uma comunidade de usuários de tamanho decente. (Não que você não possa aprender nada com repositórios de código obsoletos)

Jay Cummins
fonte
2

1) ArcGIS ou ArcObjects é um modelo COM, com um wrapper .Net, Java e C ++ na parte superior. Portanto, qualquer linguagem .Net ou Java ou C ++ pode ser usada. Consulte a Ajuda do ArcObjects .Net , Java , C ++

2) Eu sugeriria um livro de referência com muito conteúdo, como Begining C # ou VB.Net da Wrox.

3) Começaria examinando as amostras nos documentos. Especialmente o material complementar .

MathiasWestin
fonte
2

Eu sugiro que não confie nos exemplos da ESRI para aprender habilidades de programação em geral ou .NET em particular. Isso não é um golpe nas amostras ou nas pessoas que as prepararam; amostras destinam-se a mostrar como uma coisa específica pode ou deve funcionar. Por uma questão de brevidade, muitas coisas são deixadas de fora das amostras. Além disso, a maioria dos exemplos de ESRI que eu vi não são orientados a objetos, mas sim códigos de espaguete.

Parece bobagem, mas a maneira como eu mudei do Visual Basic 6 para o VB.NET e o C # era estudar os livros de certificação. Na época, havia muita ênfase no que era diferente entre o COM e o .NET, pois era novo. Uma boa base em sua linguagem de desenvolvimento preferida o ajudará a navegar pelo campo minado de amostras e documentação de empresas de software.

Conheça também a interoperabilidade COM; A ESRI tem algumas informações boas, mas é específica para a ESRI. No ArcGIS, o COM Interop pode não ser seu amigo, mas você sofrerá muita depuração sem ele.

Tim Rourke
fonte
Concordo que a programação em geral não é algo que você se beneficia ao aprender em um ambiente mais abstrato do que os aplicativos GIS; em adição programadores GIS mais bem sucedidos eu sei que não vêm de um fundo GIS ou GEOGRAFIA específica
WolfOdrade
1

Observando os recursos on-line da Esri, não pude deixar de notar como o ArcObjects não tem sua parcela de recursos ricos e atualizados como as outras tecnologias ArcGIS.

Foi por isso que iniciei o canal IGeometry no Youtube para discutir o ArcObjects, a série, que chamei de .NET Programming with ArcObjects, alcançou seu 14º episódio até agora e muitas pessoas de GIS estão realmente se beneficiando disso.

A série é baseada em um projeto fictício que eu criei chamado "Bestaurants", no qual é necessário criar um aplicativo no ArcMap para pesquisar, gerenciar, adicionar, excluir restaurantes. A cada episódio, apresentamos uma nova interface e aprendemos sobre os objetos refinados no ArcObjects de uma maneira divertida!

Publico vídeos semanalmente, sempre que a chance permitir, pois isso é algo que faço no meu tempo livre.

Sinta-se livre para conferir agora e compartilhá-lo com qualquer nerd de GIS que você conheça. Sugestões são sempre bem-vindas para melhorar a série.

Quem sabe, talvez quando terminarmos isso, eu possa começar outra série.

Desfrutar,

Programação em .NET com ArcObjects (IGeometry) - 01 - Introdução

Programação em .NET com ArcObjects (IGeometry) - 02 - Trabalhando com camadas

Programação em .NET com ArcObjects (IGeometry) - 03 - Filtrando camadas

... ...

Veja a lista de reprodução inteira (14 episódios até agora)

http://www.youtube.com/watch?v=XrZs1rwmOwg&index=1&list=PLQnljOFTspQXqYsWJG8o-eJpGlvzww9lE

hnasr
fonte
1

O início do ArcGIS for Desktop Development usando .NET , um livro de Pouria Amirian, me ajudou a entrar no desenvolvimento de aplicativos ArcGIS / ArcMap. Acho que este é um dos melhores livros de referência para iniciantes, que começam com conceitos básicos do .NET e os vinculam ao ArcObjects. Ele vem com códigos C # de amostra e conjuntos de dados.

EvilInside
fonte
este livro inclui os softwares ArcGIS e visual studio?
Salman
Não, ele não fornece nenhum software.
EvilInside
0

O ADF da Web é o .NET SDK da ESRI. Ele será descontinuado após seu próximo lançamento.

No entanto, se você estiver usando o 9.3.1, o Web ADF será seu conjunto de ferramentas para o .NET. Existem muitos recursos online, ESRI e outros.

Quanto a melhorar a programação em geral, nunca pare de ler! Leia blogs e site de programação. Use estouro de pilha . Nunca tenha medo de fazer perguntas. Leia Code Complete e outros livros conceituados sobre programação e desenvolvimento de software. Leia tudo o que você pode obter! Boa sorte!

jscharf
fonte
0

Migrar do VBA para o .NET é bastante complicado. Eu sei python é toda a raiva na v10, mas esperando ESRI colocar algo juntos por um caminho em torno de se mudar para .NET com Add-In s. Idealmente, é equivalente ao grande livro sobre 'Conhecendo Arcobjects ", especificamente sobre o VBA.

Leia este pdf (2008) sobre a migração do VBA para o NET. Também recomendo a leitura deste link na web velp v10

Simon
fonte