Começando com ArcObjects?

26

Qual é o melhor caminho ou local para começar com o ArcObjects se um não é um desenvolvedor e não pretende se tornar um desenvolvedor ?

Eu uso gis profissionalmente há muito tempo, quase duas décadas, arcinfo / arcgis na maior parte disso; Eu estou muito bem. Estou aprendendo o desenvolvimento de software e até tenho um aplicativo python pequeno modestamente bem-sucedido usado em um projeto público; Eu não sou bom! Não quero me tornar um desenvolvedor de software completo, mas continuo encontrando coisas que simplesmente não consigo fazer sem programar ( exemplo ). No mundo arcgis, isso me coloca bastante diretamente no campo python, o que é bom para mim desde que eu gosto de python, no entanto, python não tem acesso direto ao ArcObjects. (Python e ArcObjects é possível , mas é uma rota não suportada. Esta pergunta é sobre seguir um caminho batido.)

Preciso começar, mas onde? A ajuda da Arcgis diz que você deve começar com a ESRI Developer Network, mas US $ 1500 / ano definitivamente não está no meu orçamento e soa como usar uma marreta para matar mosquitos. E qual idioma .NET, Visual Basic ou Visual C ++?


ATUALIZAÇÃO: Obrigado a todos pelas respostas maravilhosas. À luz deles, percebo que reduzi desnecessariamente o escopo da minha pergunta supondo que "ArcObjects" seja a direção em que preciso seguir. Uma formulação mais aberta é mais parecida com:

Continuo enfrentando problemas que não consigo resolver apenas com arcgis e python. O que mais posso aprender / usar para resolver problemas como o X? Não tenho interesse ou intenção de me tornar um desenvolvedor de software. Eu só preciso fazer algumas coisas que não estão expostas aos módulos python do Arcgis.

Matt Wilson
fonte
esta é uma pergunta reciclada do Stack Overflow, ( ref ) que, por qualquer motivo, eles decidiram não migrar para cá. Então, estou pedindo novamente para obter uma resposta mais abrangente das pessoas em uma posição melhor para ajudar.
Matt Wilkie
Que software você tem à sua disposição? ArcGIS eu tenho que assumir. Visual Studio 2008/2010 Pro / Express?
Chad Cooper
Eu tenho ArcGIS 9 e 10. Não selecionei nenhum software de desenvolvimento.
Matt Wilkie

Respostas:

14

Suplementos VB.Net, com certeza. As orientações da ESRI o levarão a caminho.

Uso VB6 e VBA há anos e, pessoalmente, acho o VB bastante intuitivo. É claro que o VB .Net é um animal totalmente diferente, mas a estrutura de suplemento é relativamente simples de aprender e implantar. Acabei de participar de um workshop técnico no ArcPy em uma conferência da ESRI e devo dizer que continuarei com os suplementos do VB.Net. Eu estava chorando por rios quando ficou claro que o VBA será substituído por suplementos, mas depois de violar a curva de aprendizado, devo dizer que é o melhor aprimoramento para o ArcGIS 10. Não há nada que eu não possa fazer com essa configuração. Eu tenho ferramentas personalizadas em todo o lugar. As coisas sobre as quais as pessoas reclamam no ArcGIS eu simplesmente personalizo ao meu gosto. Escrever uma ferramenta e distribuí-la em um ambiente de escritório é muito fácil ...

Tudo o que você precisa é do Visual Studio Express gratuito e do SDK instalado.

Aqui está o passo a passo: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

Quanto ao ArcObjects, existem tantos exemplos e trechos de código que você pode adicionar diretamente ao Visual Studio que pode aprender o básico com os exemplos.

Na versão 8, a ESRI realmente publicou os livros do ArcObjects; 2 grandes volumes que foram uma ótima referência e incluíram muitos exemplos para C e VB. Agora tudo pode ser encontrado online, mas eu desejo que a ESRI os publique novamente.

Jakub Sisak GeoGraphics
fonte
3
Concordo em todos os pontos, buuuuttt, eu diria que vá em C # se você não tiver experiência anterior em VBA / VB6.
Chad Cooper
Sim, eu sou parcial para VB. Se eu fosse um desenvolvedor e usasse várias plataformas, certamente usaria o C #, mas acho (e a opinião popular) o VB mais claro e visualmente mais fácil de entender e, como resultado, mais adequado para iniciantes.
Jakub Sisak GeoGraphics
11
+1 em C #. É claramente a linguagem .NET favorita dos líderes do setor. Eu usei o VB e o C # como iniciante e, na verdade, acho que é mais fácil aprender e entender. Também está mais próximo de outras linguagens baseadas em C, como JavaScript e Java.
Wilbev 29/04
7

Aqui está um plug descarado para um artigo que escrevi no ano passado para o ArcUser sobre como iniciar o ArcObjects no .NET .

Chad Cooper
fonte
Basta ler e é um ótimo artigo ... continue com a vergonha por causa de novatos como eu! Você tem alguma coisa em usar o sumário em .net .. o que eu acho que significa começar a usar o COM? Obrigado.
9267 Justin
6

Se você não quer ser um desenvolvedor sério, eu questionaria sua decisão de entrar no mundo da programação. A questão aqui é que, para escrever código, você deve entender o que está acontecendo sob o capô. Caso contrário, você poderia fazer algo com seus dados, aplicativos e até mesmo com o computador que não tinha intenção de fazer, apenas por falta de entendimento (sim, você também poderia fazer em Python, mas o .NET é um passo adiante para cometer erros um pouco mais fáceis de executar. comimt).

Em termos de sua pergunta sobre aliases de campo (não tenho certeza se o entendi corretamente), você estava pedindo para alterar os aliases de campos em uma classe de recurso? Nesse caso, você pode usar featureclass_to_featureclass com o mapeamento de campo. Sim, ele cria outra classe de recurso, mas você pode ter apenas uma área de saída para copiar dados e alterar aliases enquanto o faz.

Como Steve sugere, o ArcPy também pode atender aos seus requisitos no ArcGIS 10 com o novo acesso às propriedades da camada no mapa.

Rob Clark
fonte
aliases de re: field - você deve adicionar isso como resposta ao Q. Eu não sabia que isso era possível.
Matt Wilkie
5

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, chegou ao 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, eu possa começar outra série.

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

hnasr
fonte
Eu também quero aprender o ArcObject. Mas não estou familiarizado com isso. Preciso de uma licença extra para começar a usar o ArcObject? ou preciso ter o componente ArcObject com o ArcGIS 10.4 como uma licença extra?
Shiuli Pervin
2
Sim, você precisará da ArcGIS Desktop License, no entanto, você pode obter o ArcGIS Desktop mais recente no site da esri com uma licença por 60 dias. Muito para você começar.
hnasr
4

Você não precisa de uma assinatura EDN para desenvolver com o ArcObjects, nem para acessar a documentação do SDK.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html

blah238
fonte
Mas você precisa do EDN para acessar o próprio SDK, não é? E, sejamos honestos, retirar o código do seu traseiro não é exatamente uma opção para alguém que não está interessado no âmago da questão desse desenvolvimento.
Nathanus
2
Não, está no CD de instalação.
precisa saber é o seguinte
É fornecido com todas as versões do produto?
Nathanus
Apenas os principais lançamentos, acredito. As amostras também estão na ajuda on-line, embora a .NET não pareça ter uma lista delas, a Java possui: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… O arquivo de ajuda instalado com o SDK é muito mais útil.
precisa saber é o seguinte
4
Se você possui uma cópia do ArcGIS Desktop, não precisa de uma assinatura EDN para desenvolver suplementos. Uma assinatura EDN é simplesmente uma maneira de fornecer aos desenvolvedores uma cópia de quase tudo na pilha do ArcGIS sem queimar licenças de produção muito mais caras. O EDN também é bom para o desenvolvimento se você não possui nenhuma licença de produção. Você não precisa do EDN para codificar e desenvolver com a API do ArcObjects.
JimBarry
4

Publiquei uma pergunta semelhante sobre os melhores recursos do ArcObjects:

Recursos do ArcObjects

Os trechos de código fornecidos pelo ArcGIS Resource Center são muito úteis e oferecidos em C # e VB.NET.

Britt Wescott
fonte
2

A Universidade Estadual da Pensilvânia lançou recentemente gratuitamente o seu curso GIS Application Development .
Ele ensina o básico do ArcObjects no VB.NET

Marcin
fonte
0

Não é uma resposta real, como você já declarou que não deseja ser um desenvolvedor.
Eu publiquei aqui a vantagem de formatação sobre os comentários.
Este blog acabou de chegar e é bastante extenso em orientar a comunidade de desenvolvimento sobre o servidor arcgis.
Ele descreve a intenção de se afastar do ADF e incentiva a adoção de serviços da Web.
Espero que ajude de alguma maneira sua decisão.

Blogs da ESRI - ArcGISServer

Brad Nesom
fonte