Upload
ledien
View
214
Download
0
Embed Size (px)
Citation preview
1FB Automatisierung und Informatik: Programmierung in ArcView
EinführungEinführung in in ProgrammierungProgrammierung von von ArcViewArcView
� Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
� Hochschule Harz
� FB Automatisierung und Informatik
� Raum 2.202
� Tel. 03943 / 659 338
2FB Automatisierung und Informatik: Programmierung in ArcView
Lernziele� Grundlegende Kenntnisse GIS (Überblick)
� Programmaufbau von ArcView– View
– Tabelle
– Scriptmodul
� Scriptsprache Avenue
� Dialog-Elemente
� Verknüpfungen
� Ansprechen der Legende (Themen etc.)
� Zwischenablage
� DLL-Zugriff
� Ini-Dateien
� Erweiterungen
4FB Automatisierung und Informatik: Programmierung in ArcView
Geoinformationssysteme
...sind Software-Werkzeuge,welche die
- Modellierung,
- Erfassung,
- Verwaltung,
- Analyse und
- Visualisierung von Geodaten unterstützen
5FB Automatisierung und Informatik: Programmierung in ArcView
Geoinformationssysteme
• dienen vor allem der Analyse und Präsentation
raumbezogener Sachverhalte
• hierzu müssen sie natürlich
– über Datenbankkomponenten verfügen(Erfassung, Verwaltung, Manipulation von Daten)
• aber zusätzlich
– über Analyse- und Visualisierungstools verfügen
9FB Automatisierung und Informatik: Programmierung in ArcView
Mittlerweile...
• werden eine Vielzahl weiterer Methoden und Verfahren unter dem Titel „GIS“ subsummiert
• jedoch sollten GIS immer als „Werkzeuge“ angesehen werden, die zur Erfassung und Verwaltung, vor allem aber zur Analyse und Visualisierung von Geodaten da sind!
• GIS sind mehr digitale Karten !
10FB Automatisierung und Informatik: Programmierung in ArcView
Fachinformationssysteme („Fachschalen“)
• Grundlage sind fachspezifische, also in der Regel thematisch beschränkte Daten eines bestimmten Fachgebietes (z.B. Boden-Informationssystem, Fließgewässerinformationssystem, Forstbestands-IS, etc.)
• Die Fachschalen erlauben eine gezielte Benutzung der Daten innerhalb eines GIS
• Sie vereinfachen spezielle Funktionen für Anwender
11FB Automatisierung und Informatik: Programmierung in ArcView
Fachinformationssysteme („Fachschalen“)
■ Umwelt-Informationssysteme (UIS):
■ Kommunale Informationssysteme (KUIS)
■ Rauminformationssystem (RIS)
■ Land(schafts)informationssysteme (LIS):
■ Betriebliche Geoinformationssysteme
12FB Automatisierung und Informatik: Programmierung in ArcView
Abgrenzung
• Geografische Informationssysteme
•vs.
• Datenbanken• CAD• Kartographie-Systeme
13FB Automatisierung und Informatik: Programmierung in ArcView
GeoinformationssystemGeoobjekte mit explizitemRaumbezugund gekoppelten Sachdaten
Selektion von Geoobjektenüber Raumbezug und Attributemöglich
Datenanalyse interaktiv-grafisch,numerisch - statistisch
Visualisierung mit digitalerKartographie, Tabellen undDiagrammen
Datenbanksystem
Modelllierung allgemeiner Objekte, Raumbezug nur als ein Attribut
Selektion von Objekten nur überAttribute (z.B. Schlüssel) möglich
Datenanalyse überwiegend mitstatistischen Methoden
Visualisierung durch Tabellen undDiagramme (Business-Grafik)
14FB Automatisierung und Informatik: Programmierung in ArcView
Geoinformationssystem
Abbildung der Realität durch eingeometrisch und fachlichvereinfachtes Modell
Geometrie und Thematik derGeoobjekte sind gekoppelt
Geoobjekte sowohl im Vektor-wieim Raster-Modell darstellbar
Analysefunktionen bilden denSchwerpunkt der GIS-Funktionalität
CAD - System
"Von der Idee zur Realität“ durchinteraktiv-geometrischesModellieren und Konstruieren
Meist keine Sachdaten-Verwaltung bzw. Kopplung anGeoobjekte
Geometrie der Objekte nurvektoriell sinnvoll
Analysefunktionen in der Regelnur rudimentär vorhanden
15FB Automatisierung und Informatik: Programmierung in ArcView
Geoinformationssystem
Visualisierung mit graphischen undkartographischen Techniken ist nureine von vielen Funktionen
Analysefunktionen bilden denSchwerpunkt der GIS-Funktionalität
Kartographiesystem
Primäres Ziel ist die Konstruktiontopographischer undthematischer Karten
Analysefunktionen sind nureingeschränkt vorhanden
16FB Automatisierung und Informatik: Programmierung in ArcView
GIS-Systeme
� ArcView 3.x, ESRI
� ArcView 9.x , ESRI
� ArcInfo , ESRI
� ArcGis 9.x , ESRI
� SiCad, vormals Siemens, jetzt ESRI
� Smallworld (Wasserversorgung)
� Geomedia, Firma Intergraph
17FB Automatisierung und Informatik: Programmierung in ArcView
CAD-Systeme
� Auto-CAD, Firma Autodesk
� Auto-Sketch , Firma Autodesk
� Turbo-CAD
� Nemetschek CAD
� Microstation, Firma Bentley
19FB Automatisierung und Informatik: Programmierung in ArcView
“Geo…”Geodaten beschreiben reale oder abstrakte Objekte unserer Umwelt (bzw.
der “Geosphäre”).• Problem: die gekrümmte Fläche des Erdellipsoids möglichst
verzerrungsfrei in eine zweidimensionale Ebene zu transformieren• Die Lage der Objekte der Erdoberfläche wird i. d. R. mittels
Koordinaten beschrieben• Lage eines Objektes: Radius vom Mittelpunkt, zwei Winkel,
Polarkoordinaten
Aktuelle Koordinatensysteme:• Geographische Koordinaten• Gauss-Krüger-Koordinaten:
Bessel, 3°, Potsdam, 110Krassovski, Lagestatus 150
• ERTF, UTM (European TerrestrialReference Frame)
• WGS 84 (GPS)• andere…
•Universales Transversales Mercator System
24FB Automatisierung und Informatik: Programmierung in ArcView
Mittelmeridian
Zylinder
Zone
In der deutschen Kartografie wird eine von C.-F. Gauß und L. Krüger entwickelte winkeltreue (konforme) Abbildung verwendet. Man wählt einen Bezugsmeridian auf dem Besselschen Erd-Ellipsoid, legt einen Zylinder mit entsprechendem elliptischem Querschnitt um das Ellipsoid mit Berührungsline Bezugsmeridian herum und projiziert alle Punkte des Ellipsoids in einem Bereich beiderseits des Bezugsmeridians auf die Zylinderfläche.
Gauss-Krüger
25FB Automatisierung und Informatik: Programmierung in ArcView
In der deutschen Kartografie wird eine von C.-F. Gauß und L. Krüger entwickelte winkeltreue (konforme) Abbildung verwendet. Man wählt einen Bezugsmeridian auf dem Besselschen Erd-Ellipsoid, legt einen Zylinder mit entsprechendem elliptischem Querschnitt um das Ellipsoid mit BerührungslineBezugsmeridian herum und projiziert alle Punkte des Ellipsoids in einem Bereich beiderseits des Bezugsmeridians auf die Zylinderfläche.
Gauss-Krüger
26FB Automatisierung und Informatik: Programmierung in ArcView
“Geo…”: Abbildung von Geophänomenen
• das ebene, aber verzerrte [Winkel-, Flächen- und
Längenverzerrungen] Abbild des Kugelnetzes wird als
Kartennetzentwurf bezeichnet
• Das “Kugelnetz” der Erde ist ein Koordinatensystem, das aus sich
rechtwinkling schneidenden Kreislinien aufgebaut ist (= Gradnetz,
geographische Koordinaten)
• Netzentwürfe mit ebenen, rechtwinkligen Koordinaten, die möglichst
geringe Verzerrungen aufweisen, resultieren aus geodätischen
Abbildungen (z. B. Gauß-Krüger-System)
29FB Automatisierung und Informatik: Programmierung in ArcView
Transformationen
• Translation T• Rotation R• Skalierung S• Affintransformation = T+R+S
Allgemeinste Transformation zwischen allen Punkten einer Ebene
• Ähnlichkeitstransformation(Länge, Winkel, Fläche ändert sich, nicht umkehrbar)
• PolynomtransformationTranformationen mittels Polynome (a*x5+b*x4+cx3+dx2+ex+f)
• Projektive TransformationAzimutalprojektion
Zylinderprojektion
Kegelprojektion
30FB Automatisierung und Informatik: Programmierung in ArcView
Grafische Darstellung der Transformationen
31FB Automatisierung und Informatik: Programmierung in ArcView
Grafische Darstellung der Transformationen
32FB Automatisierung und Informatik: Programmierung in ArcView
Grafische Darstellung der Transformationen
33FB Automatisierung und Informatik: Programmierung in ArcView
“Geo…”: Koordinatensystem
• 2-dimensional [x,y]
• 3-dimensional [x,y,z]
• x-Achse (horizontal, Ost-West-Position)
• y-Achse (vertikal, Nord-Süd-Position)
• Achsen kontinuierlich, gleichabständig eingeteilt
• Koordinaten (x, y) beschreiben Punkte
• Linien und Flächen werden in sie definierende Punkte
umgesetzt
36FB Automatisierung und Informatik: Programmierung in ArcView
Das Gauß-Krüger-System
durch Drehung des
Zylinders um je 3°
entstehen eigen-
ständige Koordinaten-
systeme (z. B. 6°, 9°,
12°)
Hochwert: Abstand vom
Äquator
Rechtswert: Abstand
vom Längenmeridian 12°9° 15°6°
Längengrade
37FB Automatisierung und Informatik: Programmierung in ArcView
“Geo…”: Rechts- und Hochwert
Hochwert (HW)• Entfernung vom Äquator
Rechtswert (RW) (2 Bestandteile)• 1. Kennziffer des Hauptmeridian HM* (=1/3 der Längen-
Gradzahl)• 2. Entfernung vom HM (jeder HM erhält den Wert
500000. Die Entfernung der Punkte, die östlich des HM liegen, wird zu 500000 addiert, westlich davon subtrahiert). Damit keine negativen Werte
*HM = HauptmeridianHW 5737 Ahlen (Westf.)RW 3424 (Nähe Hbf.)
38FB Automatisierung und Informatik: Programmierung in ArcView
Beispiele für einige Städte:• Magdeburg 11°, 37 Min• Berlin: 13°, 24 Min• Leipzig 12° 24 Min• Hamburg 10°• Essen 7° 30 Min• München 11° 30 Min• Frankfurt / Main 8° 39 Min• Kassel 9° 28 Min• Rostock 12° 5 Min• Halle 11° 58 Min• Wernigerode 10° 48 Min• Aachen 6° 5 Min• Frankfurt/Oder 14° 32 Min
Das Gauß-Krüger-System vs. Längengrade
Gauß-Krüger Nr: 12/3 = 4
RW:4475000 / HW: 5777698
12 Breitengrad25000 m westlich
39FB Automatisierung und Informatik: Programmierung in ArcView
Beispiel:
- Hochwert=5.774.666 m- Rechtswert=4.576.903 m,
Das Gauß-Krüger-System
• der Punkt ist 5.774.666 m vom Äquator entfernt• liegt im vierten Meridianstreifen (12/3)• also bei 12 Grad östlicher Länge (4*3)• ist +76.903 m östlich von Hauptmeridian entfernt
40FB Automatisierung und Informatik: Programmierung in ArcView
Gauß-Krüger-Koordinatennetz um zwei Bezugsmeridiane
41FB Automatisierung und Informatik: Programmierung in ArcView
UTMS, ETRF
Universales Transversales Mercator System• Konforme transversale zylindrische Abbildung• Entfernung vom Äquator
Rechtswert (RW) (2 Bestandteile)• 1. Kennziffer des Hauptmeridian HM* (=1/6 der
Gradzahl)• 2. Entfernung vom HM (jeder HM erhält den Wert
500000. Die Entfernung der Punkte, die östlich des HM liegen, wird zu 500000 addiert, westlich davon subtrahiert). Damit keine negativen Werte
42FB Automatisierung und Informatik: Programmierung in ArcView
UTMS, ETRF-System
durch Drehung des
Zylinders um je 6°
entstehen eigen-
ständige Koordinaten-
systeme (z. B. 6°, 12°,
18°)
Hochwert: Abstand vom
Äquator
Rechtswert: Abstand
vom Längenmeridian
Rechtswert:
+ 500.000 m
12°6°Die Koordinate „32UMF6397“ liegt in Deutschland, in der Zone MF (Sylt). Innerhalb der Zone hat der Punkt den Rechtswert 63 km und den Hochwert 97 km.
32U
32V
43FB Automatisierung und Informatik: Programmierung in ArcView
ETRF-System
Alle Bereiche eines
Meridian werden in Zonen
eingeteilt (100km).
Jede Zone hat dann ihr
eigenes Koordinaten-
system und wird mit zwei
Buchstaben gekenn-
zeichnet.12°9° 15°6°
L PNM VUF
A
D
C
B
V
U
F
E
Die Koordinate „32UMF6397“ liegt in Deutschland, in der Zone MF (Sylt). Innerhalb der Zone hat der Punkt den Rechtswert 63 km und den Hochwert 97 km.
45FB Automatisierung und Informatik: Programmierung in ArcView
Koordinaten und Datumstransformation von Gauß-Krüger-Koordinaten (unten) in geografische WGS84-Koordinaten(oben) mit dem Programm GeoTrans
46FB Automatisierung und Informatik: Programmierung in ArcView
Ellipse Große Halbachse [m]
Kleine Halbachse [m]
Reziproke Abplattung 1/f
Bessel (1841) 6377397,155 6356078,983 m 299,1528128 Krassovsky 1940 6378245,0 298,3 WGS 60 6378165,0 298,3 WGS 66 6378145,0 298,25 WGS 72 6378135,0 298,26 WGS 84 6378137,9 6356752,3 m 298,257223563 International 6378388,0 297,0 North American 1969
6378160,0 298,25
Parameter einiger Referenz Ellipsoide
48FB Automatisierung und Informatik: Programmierung in ArcView
Koordinaten und Datums-transformation von Gauß-Krüger-Koordinaten (unten)
in
geografische WGS84-Koordinaten(oben) mit dem Programm GeoTrans
Transformation
50FB Automatisierung und Informatik: Programmierung in ArcView
Geodaten• beschreiben Objekte der (sozio-ökonomischen und
natürlichen) Umwelt• die Beschreibung (Modell) kann unterschiedlich detailliert
sein (Beispiel: Straßenverlauf: Polygonzug, der durch Geraden zwischen Punkten oder durch glatte Kurve gebildet wird; Straße als Fläche)
• Weitere Beispiele für Geoobjekte:Haus, Straßenkreuzung, Messpunkt, Fluss, Flusseinzugsgebiet, Grundwasserkörper
• beschreiben Eigenschaften der Objekte (Beispiel: Straße hat eine oder mehrere Fahrbahnen, hat bestimmten Belag, Breite, etc.)
• welche Objekte, welche Eigenschaften?-> hängt vom Zweck des GIS ab
51FB Automatisierung und Informatik: Programmierung in ArcView
Beispiele von GIS-Anwendungen
• Digitale Karten
• Orthofotos
• Satellitenbilder
• Digitale Fachinformationen
53FB Automatisierung und Informatik: Programmierung in ArcView
Arbeiten mit digitalen topografischen Karten
58FB Automatisierung und Informatik: Programmierung in ArcView
Elemente innerhalb einer GIS-Anwendungen
• Geometrie
• Layer
• Mengentheorie
• Attribute
60FB Automatisierung und Informatik: Programmierung in ArcView
Operation auf Geodaten
Geometrische Operationen:• distance (Abstand)
• length (Länge)
• area (Fläche)
• centroid (Schwerpunkt) Punkt P
Fläche F
62FB Automatisierung und Informatik: Programmierung in ArcView
Operationen auf GeodatenBeispiel merge (Zusammenfassen)
64FB Automatisierung und Informatik: Programmierung in ArcView
Mengentheorie
• Elemente (zu modellierende Objekte)• Mengen (Sammlungen von Objekten)• “x ist Element der Menge R” (Beziehung zwischen den
Objekten und den Mengen, zu denen sie gehören)• Beziehungen:
– Gleichheit (gleiche Objekte)– Untermenge einer Menge– Kardinalität: Anzahl der Objekte einer Menge– Intersection, Verschneidung– Union, Vereinigung– Difference, Differenz
65FB Automatisierung und Informatik: Programmierung in ArcView
Operation auf Geodaten
Topologische Operationen:• boundary (Angrenzend)
• interior (Innerhalb)
• intersction (Schnittmenge)
• union (Vereinigung)
• is disjoint of (Unzusammendhängend)
66FB Automatisierung und Informatik: Programmierung in ArcView
Beispiele raumbezogener Analysen
• “Altlastenverdachtsstandorte“ in den Kreisen Wernigerode und Halberstadt, die eine Cd-Mindestkonzentration von x mg/l aufweisen”
• „Alle Fließgewässer Sachsen-Anhalts”
• “Alle Bäche mit den folgenden Eigenschaften:“ Breite >= 5m und <=10m und geologischer Untergrund <> Kristallin”
• “Bilde die Menge aller landwirtschaftlichen Betriebe mit einer Mindestwirtschaftsfläche von 20 ha und einem Forstbestand von > 5 ha”
67FB Automatisierung und Informatik: Programmierung in ArcView
Attribute
• Geodaten verbinden Ort, Zeit und Attribute !
• Ort und Zeit sind beschreibbar über Koordinaten und
Zeitmessung
• Attribute werden klassifiziert nach Skalenebenen:– nominal
– ordinal
– intervall
– rational
68FB Automatisierung und Informatik: Programmierung in ArcView
Klassifizierung der Attribute
• NominalUnterscheidung verschiedener Objekte möglich; Beispiel: Straßennamen
• OrdinalAttribute weisen Ordnung auf, lassen sich klassifizieren; Beispiel: Klassifikation von Bodentypen; von Straßen; von Gewässern
• IntervallAttribute weisen Werte auf, deren Unterscheidung sinnvoll ist; Beispiel: Temperaturen, N-Gehalt
• RationalAttribute haben Werte, die zueinander in Beziehung gesetzt, verglichen werden können
69FB Automatisierung und Informatik: Programmierung in ArcView
Typen der Attribute:
• Zeichenketten für Namen, Bezeichnungen. Diese
müssen nicht eindeutig sein
• Ganzzahlige Werte (Klassifizierung von Bodentypen)
• Zahlen mit Nachkommastellen
• Boolesche Werte (Wahr / Falsch)
• Datum / Zeit
70FB Automatisierung und Informatik: Programmierung in ArcView
ESRIESRI--ProdukteProdukte
� Einfache Viewer– Browser
– ArcExplorer
– ArcPad
� GIS– ArcView 3,x
– ArcView 9,x
– ArcInfo
– ArcGIS 9,x
– ArcGIS Engine
� Server– ArcSDE
– ArcGIS Server
– ARCIMS
� Extensions
74FB Automatisierung und Informatik: Programmierung in ArcView
Layout
Gewaesser2.shp
Schaubezirk.shp
Gewaesser1.shp
Staedte.shp#
Bundeswasserstraße.shp
Legende
0 300 600 900 1200 1500 1800 2100 2400 2700 3000 3300 3600 3900 4200 4500 Meter
Poster zur Ausstellung nächsten Woche
75FB Automatisierung und Informatik: Programmierung in ArcView
Diagramme
• Zusammenfassen von Attribute zu Gruppen
• Darstellen innerhalb eines Diagramms
• 25 Diagramm-Arten stehen zur Verfügung
76FB Automatisierung und Informatik: Programmierung in ArcView
Inhalte eines ArcView-Projektes
•Jeder Eintrag, Thema oder Tabelle, ist ein Verweis
•Ein Projekt enthält ein oder mehrere Views
•Jeder View enthält mehrere Themen
•Enthält mehrere Tabellen (Shape oder Einzeltabellen)
•Enthält Diagramme
•Enthält Layouts
77FB Automatisierung und Informatik: Programmierung in ArcView
Themen in einem View
•Thema ist der Oberbegriff eines „Layers“
•Jedes Shapes ist ein Thema
▪ Punkt
▪ Linie
▪ Fläche
•Jede Rasterkarte ist ein Thema
•Ein Imagekatalog besteht aus mehreren
Rasterdaten, ist auch ein Thema
•Alle Themen werden als Verweise gespeichert
78FB Automatisierung und Informatik: Programmierung in ArcView
Schalter und Shapes in ArcView
•Modi eines Shapes
▪ Sichtbar / Unsichtbar
▪ Aktiviert
▪ Editierbar