Pergunta

Temos 2 novos programadores/analistas de GIS em nosso departamento (novo em programação e ArcObjects) e não sinto que sou qualificado o suficiente ou tenho tempo para ensiná -los. Então, estou procurando livros/tutoriais de nível básico para que eles usem como referência.

Os únicos livros que posso encontrar para o desenvolvimento de extensões para o ARCMAP são escritos para o VBA.

Além dos livros de cursos da ESRI que você obtém do treinamento em Redlands, alguém conhece boas fontes para aprender a codificar contra o ArcObjects no .NET?

Obrigado

Foi útil?

Solução

Tentar ensinar aos programadores Arcobjects e o desenvolvimento geral de software é uma ideia muito ruim. Estou lutando com exatamente o mesmo problema agora. Você corre o risco de obter dois desenvolvedores que programam muito bem o ArcObjects nem o C#.

Ensine -os a serem bons desenvolvedores primeiro. Faça isso fazendo com que eles trabalhem no código que não é de objetivos (seja isso significa ARCGIS ADF de alto nível ou aplicativos completos que não são de GIS depende de você). Certifique -se de que eles entendam o básico do contexto do aplicativo (web, desktop, meio, etc.). Isso facilitará a transição para os ArcObjects.

Depois que eles obtiveram a compreensão dos fundamentos do desenvolvimento de software (em particular, herança e OOP), apresente -os aos ArcObjects. A referência do VBA é adequada, mas difícil de abstrair para C# e para as ferramentas modernas. Um desenvolvedor brilhante pode fazê -lo, mas sua média provavelmente aprenderá muitos maus hábitos.

Sua melhor aposta é morder a bala e enviá -los para as oficinas de desenvolvedor. Às vezes, a ESRI oferece aulas em um escritório regional que pode ser mais local para você. Como alternativa, envie -os para a cúpula do desenvolvedor ou conferência do usuário na primavera e no verão, respectivamente. Os workshops técnicos são um pouco avançados para o total de iniciantes. Dito isto, muita coisa pode ser aprendida com os Worskhops se os desenvolvedores tiverem um entendimento muito básico do ArcMap ou ArcObjects.

Também, Eles precisam aprender a usar o Arcmap. A coisa útil mais importante que eles podem fazer para aprender ArcObjects é aprender o Arcmap. Compreender como ele funciona no produto da área de trabalho pode revelar frequentemente como usar a API. Um exemplo fácil é projetar dados. No ARCMAP, você deve usar uma ferramenta para projetar explicitamente dados. Simplesmente "definindo" a projeção não funciona. Isso se traduz diretamente na API, onde você deve chamar um método de "projeto" ou usar o projeto GPTOOL.

Outras dicas

Concordo com os sentimentos gerais que todos estão expressando aqui (comece com programação, comece pequeno, especialmente aprendendo pelo exemplo/fazendo).

É muito mais fácil fazer com que os desenvolvedores aprendam ArcObjects do que fazer com que os analistas GIS aprendam a programação. Sua tarefa (fazer as duas coisas) é muito difícil!

Ainda assim, se você precisar começar em algum lugar, eu os treinaria primeiro no básico C# ou VB .NET (através de um bom tutorial baseado na Web ou curso pago) e depois seguindo isso com o treinamento específico da ESRI .NET. Como eu disse em um comentário acima, não fiquei impressionado com os cursos de treinamento da ESRI. Eu tenho um histórico de desenvolvimento de software e pude aprender a API do ArcObjects em alguns meses - em comparação com dois meses de conhecimento prático, o curso de treinamento foi realmente básico no material do ArcObjects. Ainda assim, pode funcionar para aprendizes e você pode ter sorte com seus contratados.

Também quero acrescentar que você definitivamente deseja enfatizar primeiro o treinamento de software e considerar a API do ArcObjects incidental. Se essa extensão do ARCMAP for um produto que você pretende vender para as pessoas e ter como clientes, realize suporte, aprimoramento e manutenção de um produto ridículo de insetos, é uma operação cara. Portanto, qualquer dólar gasto em treinamento de software se pagará a longo prazo.

Eu diria que você consideraria contratar um desenvolvedor de software em contrato para servir como guia e mentor por, por exemplo, seis meses.

Até onde me lembro, parte do código da rede de desenvolvedores da ESRI está agora em C#, pelo menos essa era a fonte principal de código C# para GIS, mas não há livros, desculpe.

Talvez este fosse uma boa cartilha: http://www.pragprog.com/titles/sdgis/gis-for-web-develovelers

Se seus funcionários são realmente novos na programação, eu começaria a aprender os fundamentos do C# (ou algum outro idioma .NET, mas C# é provavelmente o caminho a seguir para iniciantes) e uma boa prática de programação. Eu imagino que existam threads StackOverflow que teriam sugestões para isso. Eu acho que uma sólida compreensão da programação orientada a objetos e do conhecimento da sintaxe do idioma em que os exemplos estarão facilitará o aprendizado de objetos do ArcObjects.

Não estou realmente ciente dos livros não-ESRI sobre ArcObjects. No entanto, acho que os recursos deles são adequados para iniciar iniciantes. Além dos livros de cursos de ESRI, sugiro começar com os recursos online em http://resources.esri.com/arcgisdesktop/dotnet/index.cfm

Outras sugestões são aprender a ler os diagramas do modelo de objeto e usar a ajuda para explorar métodos e propriedades dos Arcobjects. Incentive também os funcionários a aproveitar os fóruns de usuários da ESRI. Há muitas pessoas com conhecimento dispostas a ajudar com perguntas lá.

Pratique pelo exemplo.

Eu me diverti um pouco quando estava começando com ferramentas simples, mas interessantes, como uma que tirou uma captura de tela do mapa atual e o publicou em um site Mediawiki (com apenas um clique). Grande parte da API parece uma mágica profunda e mais de uma vez eu me deparei com recursos completamente sem documentos, cutucando o registro do Windows e fazendo suposições educadas (como criar um item de menu personalizado no menu de contexto "View Data View").

Sempre aprendi muito melhor, com tarefas simples e possível do que ser forçado a ler livros chatos e secos.

Há muito poder, mas certamente lento conhecer e entender muito disso.

Sem torná -lo interessante, acho que os desenvolvedores serão suicidas com uma API tão grande.

Também não conheço livros não-ESRI focados em ArcObjects. Para o software do ArcGIS Server e para mim, só posso recomendar o Administrador e o Guia do Desenvolvedor do ArcGIS Server (ou seja, a AFAIK incluída na caixa de instalação AGS) - existem muitos exemplos de código, para C# e VB. Mesmo se não estiver programando com AGS, os exemplos ainda podem ser úteis para educar como o código do ArcObjects funciona.

Eu concordo completamente com James.

Como alguém que estava neste barco há 4 anos, acredito firmemente que você deve começar com a programação .NET e depois mudar para a plataforma ESRI e não ficar atolado por problemas de ESRI quando estiver tentando aprender conceitos de OOP.

Eu também gostaria de ressaltar que os Centros de Recursos de Desenvolvedores da ESRI têm uma riqueza de informações para iniciantes [http://resources.esri.com/gateway/index.cfm

Se você começar com o .NET e o desktop Developemnt, poderá ver a 'página de início' em [http://resources.esri.com/help/9.3/arcgisdesktop/dotnet/concepts_start.htm

boa sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top