68
1 FB Automatisierung und Informatik: Programmierung in ArcView Einführung Einführung in in Programmierung Programmierung von von ArcView ArcView Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik [email protected] Raum 2.202 Tel. 03943 / 659 338

Einführung in Programmierung von ArcView - … · Smallworld (Wasserversorgung) Geomedia, Firma Intergraph. FB Automatisierung und Informatik: Programmierung in ArcView 17 ... (Sylt)

  • 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

[email protected]

� 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

18FB Automatisierung und Informatik: Programmierung in ArcView

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

20FB Automatisierung und Informatik: Programmierung in ArcView

Polarkoordinaten

21FB Automatisierung und Informatik: Programmierung in ArcView

Erde als Ellipsoid

22FB Automatisierung und Informatik: Programmierung in ArcView

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)

27FB Automatisierung und Informatik: Programmierung in ArcView

Schritte der Georeferenzierung

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

34FB Automatisierung und Informatik: Programmierung in ArcView

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

49FB Automatisierung und Informatik: Programmierung in ArcView

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

52FB Automatisierung und Informatik: Programmierung in ArcView

53FB Automatisierung und Informatik: Programmierung in ArcView

Arbeiten mit digitalen topografischen Karten

54FB Automatisierung und Informatik: Programmierung in ArcView

55FB Automatisierung und Informatik: Programmierung in ArcView

56FB Automatisierung und Informatik: Programmierung in ArcView

58FB Automatisierung und Informatik: Programmierung in ArcView

Elemente innerhalb einer GIS-Anwendungen

• Geometrie

• Layer

• Mengentheorie

• Attribute

59FB Automatisierung und Informatik: Programmierung in ArcView

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

61FB Automatisierung und Informatik: Programmierung in ArcView

62FB Automatisierung und Informatik: Programmierung in ArcView

Operationen auf GeodatenBeispiel merge (Zusammenfassen)

63FB Automatisierung und Informatik: Programmierung in ArcView

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

71FB Automatisierung und Informatik: Programmierung in ArcView

Programmaufbau von ArcView

72FB Automatisierung und Informatik: Programmierung in ArcView

Tabellenmodul

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

81FB Automatisierung und Informatik: Programmierung in ArcView