Programmierung mit ArcObjects Frank Münster Proseminar Geoinformation II.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Webinar für [Name der Gruppe] [Name des Institutes]
Blue J.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Kapselung , toString , equals , Java API
Java Beans von Raoul Schneider.
Wenn man hot potatoes startet erhält man folgenden Bildschirm.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Objektorientierung mit VBA
Atmel AVR JTAG Einführung
FH-Hof Einbindung von JavaScript Anweisungen
Indirekte Adressierung
Java: Grundlagen der Sprache
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
By Monika Krolak & Christian Meschke
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
Teil I - Erstellen einer Excel-Tabelle zur Deckungsbeitragsrechnung
VB .NET Proseminar .NET SS04.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Einführung in Visual C++
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
UML Begleitdokumentation des Projekts
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
Dokumente AutorMatthias Bahr, Montanus-Realschule Leverkusen, NRW Erlernen des Umrechnens von Längen-, Flächen-, Volumen- und Masseneinheiten; Trainieren.
Delphi II - OOP IFB Fortbildung
Hyperlinks und Anker Links notieren
JavaScript.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Programmierung 1. Einführung Seite 1
Oliver Spritzendorfer Thomas Fekete
Anhand der Bildergalerie Phoca Gallery v
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Herbers Excel-Server - der Workshop
Office in Java 2. Info-Point Urs Frei.
Objectives Verstehen was unterDelegate verstanden wird
Saia Service an PCD's Datensicherung
AddIn erstellen Herbers Excel-Server - der Workshop Angebote des Excel-Servers: Die Excel/VBA-Beispiele Die Excel/VBA-BeispieleDie Excel/VBA-BeispieleDie.
Einem AddIn eine Beschreibung hinzufügen Herbers Excel-Server - der Workshop Angebote des Excel-Servers: Die Excel/VBA-Beispiele Die Excel/VBA-BeispieleDie.
Datei hochladen Um Mit der Dateiverwaltung zu beginnen klicken Sie zunächst auf den Wiki verwalten Button. Dann klicken Sie auf Dateien.
Vortrag: Frames & Javascript.
1 Erstellung von Funktionen und FBs Inklusive der Erstellung einer Library.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Erstelle deine eigene Timeline
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
OQL-Anbindung an Java (1) Java als Beispiel für die Einbettung von OQL in eine Programmiersprache Die OQL-Einbettung in Java ist teilweise mit dynamischem.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Werkzeuge: ArcCatalog, ArcMap, ArcToolbox, ArcScene Birgit Abendroth
Greenstone. Theoretischer Teil Entstehung: Entwickelt vom New Zealand Digital Library Project an der Universität von Waikato Kooperation mit der UNESCO.
Dieser Vortrag wird gesponsort von:
Objektorientierte (OO) Programmierung
Vieren - Programmierung Im Jahre 1981 traten die ersten Viren auf, die noch sehr einfach gestrickt waren, und nicht sehr destruktiv waren. Mittlerweile.
SPLA – Monatsreport Tech Data Licensing Online [LOL] techdata.com.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Fußzeilenbereich: Makro
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
 Präsentation transkript:

Programmierung mit ArcObjects Frank Münster Proseminar Geoinformation II

Inhalt 1. Einführung - Was ist ArcObjects? –Was ist die Component Object Model (COM)-Architektur? 2. Einbinden von Funktionen in ArcMap –Aufgabe 1: „Custom Toolbar“ 3. Programmierung –Programmiersprachen / Syntax –ArcObjects Developer Help –Programmbeispiel: „Zoom in“ –Aufgabe 2: „Zoom out / Message Box“

Was ist ArcObjects? ArcObjects ist eine Bibliothek von Klassen, aus der die ArcGis-Software besteht. ArcObjects ist nach Microsoft‘s COM (Component Object Model)-Architektur aufgebaut Es ist also keine Programmiersprache –Programmierung: Visual Basic, VBA, C++, u.a.

Anwendungsmöglichkeiten Erweiterung der Software –Hinzufügen neuer Funktionen –Vereinfachen häufig genutzter Vorgänge (Makros)

Die COM-Architektur COM ist eine Art „Standard“ oder „Norm“ der Software- Entwicklung. Genauer: Es ist eine Client / Server-Architektur –Server stellt Funktionalitäten bereit und der Client nutzt diese. COM ermöglicht die Kommunikation zwischen Objekten auf binärer Ebene (Maschinencode) –Vorteil:Objekte können auf binärer Ebene „wiederverwendet“ werden, Weiterentwickler brauchen keinen Zugang zum Quelltext. –Client muß lediglich wissen, welche Funktionen vom Server zur Verfügung gestellt werden, um sie durch Methodenaufrufe zu nutzen.

Interface-Based-Programming Objekte besitzen Schnittstellen („Interfaces“). Kommunikation zwischen den Objekten läuft über ihre Schnittstellen ab. Das Interface definiert, was ein Objekt „tun“ kann, die Klasse definiert, wie es „getan“ wird. –Wie es intern „getan“ wird, braucht der Programmierer nicht zu wissen.

Einbinden von Funktionen Neue Funktionen müssen irgendwie in die Software integriert werden, um sie nutzbar zu machen. Erzeugen einer neuen Toolbar

Erzeugen einer Toolbar „Customize“ clicken... Menü: Tools

Erzeugen einer Toolbar Toolbars- Karte... „New...“ clicken... OK...

Funktionen hinzufügen Neue Toolbar „Commands“- Karte... Funktionen aus dem Commands-Menü per „Drag & Drop“ auf die neue Toolbar übertragen...

Icons ändern Bei offenem Customize- Fenster Rechtsclick auf das Icon... „Change Button Image...“

Aufgabe 1 Kopieren Sie die Dateien Europa4.mxd und Europa4.mxt aus dem Verzeichnis „V:\F_M“ in Ihr Home-Verzeichnis. Öffnen Sie Europa4.mxt (Template) in ArcMap. Erzeugen Sie eine Toolbar, speichern Sie diese in „Europa4.mxt“. (Tools-Menü, Customize clicken) Fügen Sie die Funktion „Pan“ hinzu, ändern Sie danach das Button-Image.

Programmierung Durch die COM-Architektur ist die Entwicklung mit ArcObjects relativ unabhängig von der Programmiersprache. Programmiert werden kann u.a. mit C++, Visual Basic, VBA, etc.

Programmierung In das System ist bereits ein Microsoft Visual-Basic-Editor integriert. Visual Basic for ApplicationsVBADie hier verwendete Sprache ist jedoch nicht Visual Basic, sondern Visual Basic for Applications (VBA). Der Unterschied: Mit Visual Basic können eigenständige Programme erstellt werden, VBA funktioniert jedoch nur in der entsprechenden Applikation (hier: ArcMap). –Die Syntax ist jedoch die gleiche wie bei Visual Basic.

Visual Basic - Syntax (1) Sub Prozedur() ‘Programmtext End Sub „Sub“ kennzeichnet den Beginn einer Prozedur oder eines Programms, „End Sub“ das Ende. Mit dem Apostroph lassen sich Kommentare markieren. Dim i As Integer „Dim... As...“ ist die Variablen- deklaration in VBA und VB. Die Variable „i“ wird als ganze Zahl eingeführt (Integer).

Visual Basic - Syntax (2) Set pDoc = ThisDocument Zeiger: Anstatt der üblichen Variablen- zuweisung ohne „Set“ wird hier in der Variablen „pDoc“ ein „Zeiger“ auf das Objekt „ThisDocument“ gespeichert. If a<b Then... End If Statt den aus Java bekannten geschweiften Klammern werden in VB/ VBA die Kommandos einer If-Anwei- sung duch „Then“ und „End If“ markiert.

Message Box Um mit dem Benutzer in Dialog zu treten, ist die aus Visual Basic stammende „Message Box“ ein wichtiges und einfach anzuwendendes Hilfsmittel.

Message Box - Beispiel Dim Antwort As Integer Antwort = MsgBox(“Meldung", vbYesNo, “Titel") If Antwort = vbYes Then... End If Text in der Box Art der Box Text in der Titelzeile

Erzeugen eines Makro (1) „Tools“-Menü... „Macros...“ clicken

Erzeugen eines Makro (2) „Macro name“ eintragen... „Create“ clicken... Nach diesen Schritten öffnet sich automatisch der Visual Basic-Editor und man kann den Programmtext schreiben.

Erzeugen eines Makro (3) Nach dem Erzeugen: Makro ist unter Customize / Commands in der Kategorie „Macros“ verfügbar. Von hier aus kann das Makro nun per „Drag & Drop“ in eine „Custom Toolbar“ integriert werden.

ArcObjects Developer Help Programme> Gis> ArcGIS> ArcObjects Developer Help

ArcObjects Developer Help

Detaillierte Beschreibung aller Klassen, Interfaces, Methoden usw. Teilweise mit Programmbeispielen Wichtig zum Verständnis vorhandener Quelltexte Nützlich um neue Methoden und Möglichkeiten des Systems kennenzulernen.

Programmbeispiel Sub NeuerZoom() Dim pDoc As IMxDocument Dim pEnv As IEnvelope Set pDoc = ThisDocument Set pEnv = pDoc.ActiveView.Extent pEnv.Expand 0.5, 0.5, True pDoc.ActiveView.Extent = pEnv pDoc.ActiveView.Refresh End Sub

Aufgabe 2 Unter „V:\F_m“ liegt das vorherige Beispiel als „Macro.txt“ vor. Erzeugen Sie ein Macro und kopieren Sie das Beipiel hinein. Integrieren Sie das Makro in Ihre Custom-Toolbar. Der Programmtext soll nun so verändert werden, daß das Makro zunächst einzoomt, dann auf Anfrage hin (über die Message Box) wieder zurückzoomt. –Dim Antwort As Integer –Antwort = MsgBox(“Meldung", vbYesNo, “Titel") –If Antwort = vbYes Then... Tip: Um herauszufinden, wie man herauszoomt, verwenden Sie ArcObjects Developer Help(Expand-Methode)!