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.


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.


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 .


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.


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


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


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





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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.