Kategorien

Eigene Geoprocessing-Tools mit ArcObjects Teil 7: Fazit

Die Bereitstellung von Funktionalität in Form von Geoprocessing-Tools hat einige gewichtige Vorteile:

Der Programmierer muss für die gesuchte Funktionalität nicht auch noch eine eigene Oberfläche programmieren, sondern kann elegant auf die bestehende Geoprocessing-Umgebung zurückgreifen und sich auf die eigentliche Programmierarbeit konzentrieren. Der Benutzer kann die Tools in der gewohnten Geoprocessing anwenden und nahtlos mit anderen [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 6: IGPFunction.Execute

Hier wird nun das eigentliche Tool ausgeführt. Doch bevor dies möglich ist, müssen aus den eingegebenen Parametern gewöhnliche ArcObjects werden. Als erstes muss dazu noch einmal geprüft werden, ob die vom Benutzer übergebenen Parameter auch gültig sind. Dies geschieht durch einen Aufruf der Validate-Methode. Anschliessend wird für jeden Parameter aus der Eigenschaft Value der eigentlich [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 5: IGPFunction.Validate

Die in der ParameterInfo gemachten Parameter-Definitionen sind schön und gut, nützen aber nichts, wenn nicht auch geprüft wird, ob sie eingehalten werden. D.h. ob der Benutzer gültige Parameter angegeben hat. Genau dies geschieht in der Validate-Methode. Glücklicherweise muss nicht jeder Parameter einzeln geprüft werden. In der Hilfsklasse IGPUtilities gibt es die Methode InternalValidate, die genau [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 4: IGPFunction.ParameterInfo

Die Eigenschaft ParameterInfo ist von zentraler Bedeutung. Sie beschreibt nämlich die einzelnen Input- und Output-Parameter des GP-Tools. Genauer gesagt enthält die Eigenschaft einen Array von IGPParameter-Objekten. Mit IGPParameter können alle möglichen Parameter von Feature Classes über Zahlen bis zu Mehrfach-Auswahllisten definiert werden.

Der Typ des Parameters wird hauptsächlich durch die Eigenschaft DataType definiert. Eine Liste [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 3: IGPFunction

Die Implementierung von IGPFunction ist etwas aufwendiger als die von IGPFunctionFactory. Hier wird nun das eigentliche GP-Tool definiert. Von zentraler Bedeutung sind dabei die Eigenschaft ParameterInfo sowie die Methoden Validate und Execute, die in den anschliessenden drei Beiträgen genauer beschrieben werden. Hier geht es um die übrigen Eigenschaften und Methoden.

Die String-Eigenschaften Name und DisplayName [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 2: IGPFunctionFactory

Die Implementierung von IGPFunctionFactory ist recht einfach zu bewerkstelligen. Es geht im Prinzip nur darum, dass man alle die GP-Tools auflistet, die zu der logischen Tools-Gruppe gehören.

Die String-Eigenschaften Name und Alias stehen für die Namen, die man der logischen Gruppe von GP-Tools geben will und können natürlich frei gewählt werden. Die CLSID-Eigenschaft nimmt die [...]

Eigene Geoprocessing-Tools mit ArcObjects Teil 1: Einführung

Vor einem knappen Jahr habe anlässlich eines Vortrages im Rahmen des Schweizer esriuserforums ein paar Folien zum Thema Eigene Geoprocessing-Tools mit ArcObjects gepostet. Seitdem habe ich weiter an den Tools gearbeitet und möchte die gesammelten Erfahrungen und Erkenntnisse auf mehrere Postings verteilt zusammenfassen.

In ArcGIS Desktop gibt es seit der Version 9.0 eine neu gestaltete [...]

Eigene Geoprocessing-Tools mit ArcObjects

Gestern hatte ich die Gelegenheit, anlässlich des Treffens der Fachgruppe ArcObjects des esriuserforum.ch eine Präsentation einiger Entwicklungen aus den letzten Wochen zu halten. Thema war die Programmierung von eigenen Geoprocessing-Tools mit ArcObjects. Da ich keine Geoprocessing-Tools für den Umgang mit geometrischen Netzwerken auffinden konnte, musste ich mir diese selber herstellen. Das ganze war wegen einer [...]

ArcMap CatalogView-Beispiel in C#

Im Abschnitt “Extending ArcObjects” der ArcObjects Documentation Library gibt es ein Beispiel, wie man eine ArcCatalog-Ansicht im ArcMap-TOC implementiert (Kapitel 4: “Creating Cartography” => “CatalogView Example“). Das Beispiel ist gut dokumentiert und der Quellcode liegt in VB und C++ vor. Nun schien mir dieses Beispiel eine sehr nützliche Erweiterung zu sein. Also habe ich es [...]

Manuelle COM to .NET Interoperability

Wegen diverser Einschränkungen auf dem GIS-Terminalserver an meinem Arbeitsplatz, kann ich mit ArcObjects entwickelte .NET-Komponenten nicht automatisch im COM-System registrieren und damit für ArcGIS zugänglich machen. Dasselbe gilt natürlich auch für selber entwickelte COM-Objekte, auch die können nicht registriert werden. Die Registrierung von .NET-Komponenten im COM-System läuft unter dem Stichwort “COM to .NET Interoperability”. Grob [...]