Aan de slag met ArcObjects?

Wat is de beste route of plaats om met ArcObjects aan de slag te gaan als men geen ontwikkelaar is en niet van plan is om ontwikkelaar te worden ?

Ik gebruik gis professioneel al een lange tijd, bijna twee decennia, arcinfo / arcgis voor het grootste deel daarvan; ik ben redelijk goed. Ik leer softwareontwikkeling, en heb zelfs een bescheiden succesvolle kleine python-applicatie die wordt gebruikt in een openbaar project; ik ben niet goed! Ik wil geen volwaardige softwareontwikkelaar worden, maar ik blijf dingen tegenkomen die ik gewoon niet kan doen zonder programmeren ( voorbeeld ). In de arcgis-wereld plaatst dit me behoorlijk recht in het python-kamp, wat prima is voor mij omdat ik van python hou, maar python heeft geen directe toegang tot ArcObjects. (Python en ArcObjects is mogelijk , maar het is een niet-ondersteunde route. Deze vraag gaat over het volgen van gebaande paden.)

Ik moet om aan de slag te gaan, maar waar? Arcgis-hulp zegt om aan de slag te gaan met het ESRI Developer Network maar $ 1500 / jr zit zeker niet in mijn budget, en het klinkt alsof ik een voorhamer gebruik om muggen te meppen. En welke taal .NET, Visual Basic of Visual C ++?


UPDATE: Bedankt iedereen voor de prachtige antwoorden. In het licht daarvan realiseer ik me dat ik de reikwijdte van mijn vraag onnodig heb verkleind door te veronderstellen dat” ArcObjects ” is de richting die ik moet inslaan. Een meer open formulering is meer in de trant van:

Ik blijf problemen tegenkomen die ik gewoon niet kan los op met arcgis en python alleen. Wat kan ik nog meer leren / gebruiken om problemen zoals X op te lossen? Ik heb geen interesse of intentie om softwareontwikkelaar te worden. Ik hoef alleen een paar dingen te doen die niet worden blootgesteld aan de arcgis python-modules.

Opmerkingen

  • dit is een hergebruikte vraag van Stack Overflow, ( ref ) die om welke reden dan ook ‘ heb besloten hier niet te migreren. Dus ik ‘ vraag opnieuw om een uitgebreider antwoord van de mensen die in een betere positie zijn om te helpen.
  • Welke software heeft u tot uw beschikking? ArcGIS moet ik aannemen. Visual Studio 2008/2010 Pro / Express?
  • Ik heb ArcGIS 9 & 10. Ik heb ‘ t geselecteerd alle ontwikkelingssoftware.

Answer

VB.Net Add-ins zeker. De ESRI walk-troughs helpen je op weg.

Ik “gebruik VB6 en VBA al jaren en persoonlijk vind ik VB redelijk intuïtief. Natuurlijk is VB .Net een heel ander dier, maar de add -in structuur is relatief eenvoudig te leren en te implementeren. Ik heb zojuist een technische workshop in ArcPy gevolgd op een ESRI-conferentie en ik moet zeggen dat ik bij de VB.Net zal blijven invoegtoepassingen. Ik huilde rivieren toen duidelijk werd dat VBA zal worden vervangen door invoegtoepassingen, maar na het doorbreken van de leercurve moet ik zeggen dat dit de enige beste verbetering is van ArcGIS 10. Er is niets dat ik niet kan doen met deze opstelling . Ik heb overal op maat gemaakte tools. De dingen waar mensen over klagen in ArcGIS pas ik eenvoudig aan mijn wensen aan. Het schrijven van een tool en deze verspreiden in een kantooromgeving is een fluitje van een cent …

Alles wat je nodig hebt is de gratis Visual Studio Express en de SDK is geïnstalleerd.

Hier is de walk-trough: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

Wat betreft ArcObjects, er zijn zoveel voorbeelden en codefragmenten die u rechtstreeks aan Visual Studio kunt toevoegen dat u misschien in staat om de basis van de voorbeelden te leren.

In versie 8 publiceerde ESRI feitelijk ArcObjects-boeken; 2 enorme volumes die een geweldige referentie waren en veel voorbeelden bevatten voor C en VB. Alles is nu online te vinden, maar ik zou willen dat ESRI deze opnieuw zou publiceren.

Opmerkingen

  • Akkoord over alle punten, buuuuttt, ik zou gaan C # als je niet ‘ ik heb geen eerdere VBA / VB6-ervaring.
  • Ja, ik ben voorstander van VB. Als ik een ontwikkelaar was en verschillende platforms zou gebruiken, zou ik zeker voor C # gaan, maar ik vind (en zo is de populaire mening) VB visueel duidelijker en gemakkelijker te begrijpen en daardoor beter geschikt voor een beginner.
  • +1 doorlopend met C #. Het ‘ is duidelijk de favoriete .NET-taal van leiders in de branche. Ik heb zowel VB als C # als beginner gebruikt en vind het eigenlijk ‘ s gemakkelijker te leren en te begrijpen. Het komt ook dichter bij andere C-gebaseerde talen zoals JavaScript en Java.

Antwoord

Hier “is een schaamteloze plug voor een artikel dat ik vorig jaar schreef voor ArcUser op aan de slag met ArcObjects in .NET .

Antwoord

Als u niet “Wil je geen serieuze ontwikkelaar worden, dan zou ik je zet in de wereld van programmeren in twijfel trekken. Het probleem hier is dat je om code te schrijven moet begrijpen wat er onder de motorkap gebeurt. Anders zou je iets met je gegevens, applicatie en zelfs je computer kunnen doen wat je niet van plan was te doen, alleen maar omdat je het niet begrijpt (ja dat zou je ook in Python kunnen doen, maar .NET is een stap verder om fouten iets gemakkelijker te maken). comimt).

In termen van uw vraag over veldaliassen (ik weet niet zeker of ik het goed heb begrepen), vroeg u om de aliassen van velden in een functieklasse te wijzigen? Zo ja, dan zou u gebruik featureclass_to_featureclass met veldtoewijzing. Ja, het creëert een andere feature-klasse, maar je zou gewoon een uitvoergebied kunnen hebben om gegevens te kopiëren en aliassen te wijzigen terwijl het bezig is.

Zoals Steve suggereert, kan ArcPy ook voldoen aan je vereisten in ArcGIS 10 met de nieuwe toegang tot laageigenschappen op de kaart.

Answer

Kijkend naar de online bronnen voor Esri kon ik niet ” Ik merk wel dat ArcObjects niet over zoveel rijke en up-to-date bronnen beschikt als andere ArcGIS-technologieën.

Dat is het ason begon ik het IGeometry YouTube-kanaal om ArcObjects te bespreken, de serie, die ik .NET Programming met ArcObjects noemde, heeft tot nu toe zijn 14e aflevering bereikt en veel GIS-mensen profiteren er echt van.

De serie is gebaseerd op een fictief project dat ik heb gemaakt met de naam “Bestaurants”, waar je een applicatie bovenop ArcMap moet maken om restaurants te zoeken, beheren, toevoegen en verwijderen. Met elke aflevering introduceren we een nieuwe interface en leren we op een leuke manier over de fijnkorrelige objecten in ArcObjects!

Ik plaats wekelijks videos, wanneer de kans het toelaat, want dit is iets dat ik in mijn eigen tijd doe.

Voel je vrij om het nu te bekijken en deel het met elke GIS-nerd die je misschien kent. Suggesties zijn altijd welkom om de serie te verbeteren.

Wie weet, misschien als we dit eenmaal hebben voltooid, zou ik misschien een nieuwe serie beginnen.

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

Antwoord

Je hebt geen EDN-abonnement nodig om te ontwikkelen met ArcObjects, noch om toegang te krijgen tot de SDK-documentatie.

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

Reacties

  • Maar je hebt WEL EDN nodig om toegang te krijgen tot de SDK zelf , nietwaar? En, laat ‘ s eerlijk zijn, de code uit je achterste trekken is niet bepaald een optie voor iemand die niet geïnteresseerd is in de nit en de grit van een dergelijke ontwikkeling .
  • Nee, het staat ‘ op de installatie-cd.
  • Het wordt met elke versie van het product meegeleverd?
  • Alleen de belangrijkste releases denk ik. De voorbeelden staan ook in de online help, hoewel de .NET-versie geen ‘ lijkt te hebben, de Java-versie heeft dat wel : help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… Het helpbestand dat met de SDK is geïnstalleerd, is echter veel handiger.
  • Als je een exemplaar van ArcGIS Desktop hebt, heb je geen EDN-abonnement nodig om add-ins te ontwikkelen. Een EDN-abonnement is gewoon een manier om ontwikkelaars een kopie te geven van zo ongeveer alles in de ArcGIS-stack zonder veel duurdere productielicenties te verbranden. EDN is ook goed om te ontwikkelen als je helemaal geen productielicenties hebt. Je hebt geen EDN nodig om te coderen en te ontwikkelen met de ArcObjects API.

Answer

Ik heb een vergelijkbare vraag gepost over de beste ArcObjects-bronnen:

ArcObjects-bronnen

De codefragmenten geleverd door de ArcGIS Resource Center zijn zeer nuttig en worden aangeboden in C # en VB.NET.

Antwoord

Ik zou willen voorstellen om arc.py te leren als je arcobjects niet al kent, aangezien esri afstapt van vba arcobjects als scripttaal. Anders zou je willen dat visual studio en c # arcobjecten gaan schrijven. Dit is een geweldig boek. http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007

Antwoord

Er is nu een nieuw boek over ArcObjects beschikbaar (omvat ook 10.1).

ArcGIS for Desktop Development beginnen met .NET

Antwoord

De Pennsylvania State University heeft onlangs gratis toegang gegeven tot haar GIS Application Development cursus.
Het leert de basis van ArcObjects in VB.NET

Antwoord

Geen echt antwoord, aangezien je al hebt aangegeven dat je geen ontwikkelaar wilt worden.
Ik heb hier gepost vanwege het formatteringsvoordeel ten opzichte van reacties.
Deze blog is net gekomen en is vrij uitgebreid in het geven van richting aan de ontwikkelingsgemeenschap met betrekking tot arcgis-server.
Het schetst de intentie om af te stappen van ADF en moedigt het omarmen van webservices aan .
Ik hoop dat het enigszins helpt bij uw beslissing.

ESRI Blogs – ArcGISServer

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *