Erste Schritte mit ArcObjects?

Was ist der beste Weg oder Ort, um mit ArcObjects zu beginnen, wenn man kein Entwickler ist und nicht darauf abzielt, Entwickler zu werden ?

Ich benutze Gis seit langer Zeit, fast zwei Jahrzehnte, professionell, Arcinfo / Arcgis für das meiste davon; ich bin ziemlich gut. Ich lerne Softwareentwicklung und habe sogar eine bescheiden erfolgreiche kleine Python-Anwendung, die in einem öffentlichen Projekt verwendet wird. Ich bin nicht gut! Ich möchte kein vollwertiger Softwareentwickler werden, aber ich stoße immer wieder auf Dinge, die ich ohne Programmierung nicht tun kann ( Beispiel ). In der Arcgis-Welt bin ich ziemlich direkt im Python-Camp, was für mich in Ordnung ist, da ich Python mag, Python jedoch keinen direkten Zugriff auf ArcObjects hat. (Python und ArcObjects ist möglich , aber es ist eine nicht unterstützte Route. Bei dieser Frage geht es darum, einem ausgetretenen Pfad zu folgen.)

Ich brauche um loszulegen, aber wo? In der Arcgis-Hilfe heißt es , um mit dem ESRI Developer Network zu beginnen Aber 1500 US-Dollar pro Jahr sind definitiv nicht in meinem Budget und klingen wie die Verwendung eines Vorschlaghammers zum Schlagen von Mücken. Und welche Sprache .NET, Visual Basic oder Visual C ++?


UPDATE: Vielen Dank an alle für die wunderbaren Antworten. Angesichts dieser Tatsache wurde mir klar, dass ich den Umfang meiner Frage unnötig eingeschränkt habe, vorausgesetzt“ ArcObjects “ ist die Richtung, in die ich gehen muss. Eine offenere Formulierung ist eher wie folgt:

Ich stoße immer wieder auf Probleme, die ich einfach nicht kann Löse mit Arcgis und Python alleine. Was kann ich noch lernen / verwenden, um Probleme wie X zu lösen? Ich habe kein Interesse oder keine Absicht, Softwareentwickler zu werden. Ich muss nur ein paar Dinge tun, die den Arcgis-Python-Modulen nicht ausgesetzt sind.

Kommentare

  • Dies ist eine recycelte Frage aus dem Stapelüberlauf ( ref ), aus welchem Grund auch immer ‚ Ich habe beschlossen, hier nicht zu migrieren. Daher bitte ich ‚ erneut um eine umfassendere Antwort von den Personen in einer besseren Position, um zu helfen.
  • Welche Software steht Ihnen zur Verfügung? ArcGIS muss ich annehmen. Visual Studio 2008/2010 Pro / Express?
  • Ich habe ArcGIS 9 & 10. Ich habe ‚ nicht ausgewählt jede Entwicklungssoftware.

Antwort

VB.Net Add-Ins sicher. Die ESRI-Tröge bringen Sie auf den Weg.

Ich benutze VB6 und VBA seit Jahren und persönlich finde ich VB ziemlich intuitiv. Natürlich ist VB .Net ein ganz anderes Tier, aber das add -in Struktur ist relativ einfach zu erlernen und bereitzustellen. Ich habe gerade einen technischen Workshop in ArcPy auf einer ESRI-Konferenz besucht und muss sagen, dass ich beim VB.Net bleiben werde Add-Ins. Ich habe Flüsse geweint, als sich herausstellte, dass VBA durch Add-Ins ersetzt wird, aber nachdem ich die Lernkurve durchbrochen habe, muss ich sagen, dass dies die beste Verbesserung für ArcGIS 10 ist. Mit diesem Setup kann ich nichts anfangen Ich habe überall benutzerdefinierte Tools. Die Dinge, über die sich die Leute in ArcGIS beschweren, passe ich einfach nach meinen Wünschen an. Das Schreiben und Verteilen eines Tools in einer Büroumgebung ist ein Kinderspiel …

Alles, was Sie brauchen ist das kostenlose Visual Studio Express und das SDK installiert.

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

Bei ArcObjects gibt es so viele Beispiele und Codefragmente, die Sie direkt in Visual Studio hinzufügen können, dass Sie es möglicherweise sind Sie können die Grundlagen anhand der Beispiele lernen.

In Version 8 veröffentlichte ESRI tatsächlich ArcObjects-Bücher. 2 riesige Bände, die eine großartige Referenz waren und viele Beispiele für C und VB enthielten. Alle können jetzt online gefunden werden, aber ich wünschte, ESRI würde diese erneut veröffentlichen.

Kommentare

  • In allen Punkten einverstanden, buuuuttt, würde ich sagen, gehen Sie C #, wenn Sie nicht ‚ Ich habe noch keine Erfahrung mit VBA / VB6.
  • Ja, ich bin Teil von VB. Wenn ich ein Entwickler wäre und verschiedene Plattformen verwenden würde, würde ich mich sicher für C # entscheiden, aber ich finde (und so ist die populäre Meinung) VB visuell klarer und leichter zu verstehen und daher besser für Anfänger geeignet.
  • +1 weiter mit C #. Es ist ‚ eindeutig die beliebteste .NET-Sprache von Branchenführern. Ich habe sowohl VB als auch C # als Anfänger verwendet und denke tatsächlich, dass es ‚ einfacher zu lernen und zu verstehen ist. Auch näher an anderen C-basierten Sprachen wie JavaScript und Java.

Antwort

Hier ist ein schamloser Plug für einen Artikel, den ich letztes Jahr für ArcUser auf Erste Schritte mit ArcObjects in .NET .

Antwort

Wenn Sie dies nicht tun „Ich möchte kein ernsthafter Entwickler sein, dann würde ich Ihren Schritt in die Welt des Programmierens in Frage stellen. Das Problem hierbei ist, dass Sie zum Schreiben von Code verstehen verstehen sollten, was unter der Haube geschieht. Andernfalls könnten Sie etwas mit Ihren Daten, Ihrer Anwendung und sogar Ihrem Computer tun, was Sie nicht wollten, nur weil Sie es nicht verstanden haben (ja, Sie könnten es auch in Python tun, aber .NET ist ein Schritt weiter, um Fehler ein bisschen einfacher zu machen comimt).

In Bezug auf Ihre Frage zu Feldaliasnamen (ich bin mir nicht sicher, ob ich sie richtig verstanden habe) haben Sie darum gebeten, die Aliase von Feldern in einer Feature-Class zu ändern? Wenn ja, könnten Sie dies Verwenden Sie featureclass_to_featureclass mit Feldzuordnung. Ja, es wird eine andere Feature-Class erstellt, aber Sie könnten auch einen Ausgabebereich haben, um Daten zu kopieren und Aliase zu ändern, während es dies tut.

Wie Steve vorschlägt, kann ArcPy auch Ihre Anforderungen in beantworten ArcGIS 10 mit dem neuen Zugriff auf Layereigenschaften in der Karte.

Antwort

Durchsuchen der Online-Ressourcen für Esri konnte ich nicht. “ Beachten Sie jedoch, dass ArcObjects nicht wie andere ArcGIS-Technologien über umfangreiche und aktuelle Ressourcen verfügt.

Das ist das Problem Als ich den Youtube-Kanal IGeometry startete, um über ArcObjects zu diskutieren, hat die Serie, die ich .NET-Programmierung mit ArcObjects nannte, ihre 14. Episode erreicht und viele GIS-Leute profitieren wirklich davon.

Die Serie basiert auf einem von mir erstellten fiktiven Projekt namens „Bestaurants“, in dem Sie über ArcMap eine Anwendung erstellen müssen, um Restaurants zu suchen, zu verwalten, hinzuzufügen und zu löschen. Mit jeder Episode stellen wir eine neue Benutzeroberfläche vor und lernen auf spielerische Weise die feinkörnigen Objekte in ArcObjects kennen!

Ich poste wöchentlich Videos, wann immer es die Chance erlaubt, da ich dies in meiner Freizeit mache.

Probieren Sie es jetzt aus und teilen Sie es mit jedem GIS-Geek, den Sie vielleicht kennen. Vorschläge zur Verbesserung der Serie sind immer willkommen.

Wer weiß, vielleicht starte ich nach Abschluss dieses Vorgangs eine weitere Serie.

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

Antwort

Sie benötigen weder ein EDN-Abonnement für die Entwicklung mit ArcObjects noch für den Zugriff auf die SDK-Dokumentation.

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

Kommentare

  • Sie benötigen jedoch EDN, um auf das SDK selbst zugreifen zu können Und, lassen Sie uns ‚ ehrlich sein, das Herausziehen des Codes aus Ihrem Hintern ist nicht gerade eine Option für jemanden, der nicht an der Schwäche und Entwicklung einer solchen Entwicklung interessiert ist .
  • Nein, ‚ befindet sich auf der Installations-CD.
  • Wird es mit jeder Version des Produkts geliefert?

Ich glaube, nur die Hauptversionen. Die Beispiele sind auch in der Online-Hilfe enthalten, obwohl die .NET-Version ‚ keine Liste davon zu haben scheint, die Java-Version : help.arcgis.com/de/sdk/10.0/java_ao_adf/conceptualHelp/engine/… Die mit dem SDK installierte Hilfedatei ist jedoch viel praktischer.

  • Wenn Sie über eine Kopie von ArcGIS Desktop verfügen, benötigen Sie kein EDN-Abonnement, um Add-Ins zu entwickeln. Ein EDN-Abonnement ist einfach eine Möglichkeit, Entwicklern eine Kopie von nahezu allem im ArcGIS-Stack zu geben, ohne viel teurere Produktionslizenzen zu brennen. EDN eignet sich auch gut für die Entwicklung, wenn Sie überhaupt keine Produktionslizenzen besitzen. Sie benötigen kein EDN, um mit der ArcObjects-API zu codieren und zu entwickeln.
  • Antwort

    Ich habe eine ähnliche Frage gestellt Informationen zu den besten ArcObjects-Ressourcen:

    ArcObjects-Ressourcen

    Die von ArcGIS Resource Center sind sehr hilfreich und werden in C # und VB.NET angeboten.

    Antwort

    Ich würde empfehlen, arc.py zu lernen, wenn Sie Arcobjects noch nicht kennen, da esri sich von vba arcobjects als Skriptsprache entfernt. Andernfalls möchten Sie, dass Visual Studio und c # mit dem Schreiben von Arc-Objekten beginnen. Dies ist ein großartiges Buch. http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007

    Antwort

    Ein neues Buch zu ArcObjects ist ab sofort verfügbar (behandelt auch 10.1).

    Starten von ArcGIS für die Desktop-Entwicklung mit .NET

    Antwort

    Die Pennsylvania State University hat kürzlich kostenlos veröffentlicht Kurs zur Entwicklung von GIS-Anwendungen .
    Er vermittelt die Grundlagen von ArcObjects in VB.NET

    Antwort

    Keine echte Antwort, da Sie bereits angegeben haben, dass Sie kein Entwickler sein möchten.
    Ich habe hier für den Formatierungsvorteil gegenüber Kommentaren gepostet.
    Dieser Blog ist gerade erschienen und gibt der Entwicklergemeinde eine umfassende Anleitung zum Arcgis-Server.
    Er beschreibt die Absicht, sich von ADF zu entfernen, und fördert die Akzeptanz von Webdiensten
    Ich hoffe, es hilft in gewisser Weise bei Ihrer Entscheidung.

    ESRI-Blogs – ArcGISServer

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.