Geodatenbankenentwurf mit UML und Visio

Download Report

Transcript Geodatenbankenentwurf mit UML und Visio

Geodatenbankenentwurf
mit UML und Visio
- allgem. Aufbau
- Überblick: UML und Visio
Vortrag I
 Geodatenbanken
 Das Entstehen von Geodatenbanken
 UML (Unified Modeling Language) - kurzer
Rückblick
 CASE - Tools in ArcInfo
Geodatenbanken
 Was ist eine Geodatenbank ?
 Geodatenbanken sind die
Datengrundlagen eines jeden GIS
(engl.: geodatabase)
 Beispiel: Verkehrsnetz für einen
Routenplaner
Zwei Fragestellungen zu
Beginn
 Was macht eine gute Datenbank aus ?
 Wofür soll die spezielle Geodatenbank
verwendet werden ?
 Alle nötigen Daten sind vorhanden
 Gute Organisation der Daten ( mehrere
Benutzer sollten auf dieselben Daten
zugreifen können)
 Flexible und übersichtliche
Nutzungsmöglichkeiten
 Möglichst wenig Speicheraufwand
 Zukunftsorientierte Nutzbarkeit
Modellentwicklung
 Zielsetzung: Welche Funktionen sollen mit
Hilfe der Datenbank ausgeführt werden
 Ermittlung oder zusammentragen der
benötigten Daten
 Organisieren der Daten in logische
Gruppen
Zielsetzungen und
Datengrundlagen
 Routenplanung
Straßennetz
 Kataster
Flurstücke, Besitzer
 Bodenordnung
Bodenschätzung
 Bauleitplanung
...
Datenquellen
Daten
Datenquelle
Grundstück
Katasteramt
Grundstücksbeschrei- Landtitel
bung
Besitzer
Grundbuch
Adresse
Telefonbuch
Zusammenfassen




Straßen
Geländearten
Gewässer
Grundstücke
Objektklassen (UML)
Definieren von Objekten
 Bsp.: Gebäudeinformationssystem
 Raum: Arbeitsplatz für Person
 Flur: verbindet 2 oder mehr Räume
 Etage: Komposition aus Räumen und
Fluren
 Labor: Spezialfall eines Raumes
(Unterklasse)
Beziehungen
 Viele Klassen haben direkte Beziehungen
zueinander
 Bsp.: Gebäudeinformationssystem
 Ein Raum listet einen einen bestimmten
„Benutzer“ auf
 Eine Person arbeitet in einem bestimmten
Raum
Dokumentation in UML
(Geoinformation I)
Kardinalität
Name
Flur
0...*
Raum
Verbindet 2...*
Raum
Oberklasse
Unterklasse
Labor
Büro
Beachte:
 Kardinalitäten:
genau 1
0 bis 4
3 oder 7
größer oder
gleich null
 0...3,7...9 ...




1
0...4
3,7
0...*
 Unterklassen:
 ... Spezialisieren das
Konzept einer
Oberklasse
 ... „erben“ Attribute
und Methoden der
jeweiligen Oberklasse
Aggregation vs.
Komposition
 Aggegation:
 eine Aggregation ist
eine spezielle
Assoziation, deren
beteiligte Klassen eine
Ganzes - Teile
Hierarchie darstellen
 Komposition:
 eine Komposition ist
strenge Form der
Aggregation, bei der
die Teile vom Ganzen
existenzabhängig sind
... In Visio
 Aggregation in Visio
(UML-Darstellung)
 Komposition: Ganzes
und Teile sind
existenzabhängig
Attribute und Methoden
 Attribute:
 Attribute stellen die
speziellen
„Eigenschaften“ einer
Klasse dar.
 Bsp.: Länge, Breite,
XY-Koordinaten ...
 Attribute sind nur
innerhalb der Klasse
sichtbar
 privat vs. public
 Methoden:
 Methoden stellen die
„Operatoren“ einer
Klasse dar
 Bsp.: getLänge,
getBreite, anzeigen,
verschieben, entfernen
...
Klassen und Methoden
Kreis
Klassenname
- Mittelpunkt
- Radius
Attribute
+ anzeigen
+ entfernen
+ verschieben
Methoden
 Nach öffnen von neuem Dokument zur
Schablonenauswahl zurückkehren
 Visio
Aber Vorsicht...
 Symbolik für
„Aggregat“ und
„Verfeinerung“ sind
vertauscht
 Erkennbar an:
!
 Kardinalitäten
 Pfeil- / Rautensymbol
 Verfeinerung
Unterklasse) mit
Pfeilsymbol und ohne
Kardinalitäten
 Aggregat (bzw. hier
eine Komposition) mit
Rautensymbol und
Kardinalitäten
Aber...
 „Oh glücklich wer noch Hoffen kann, aus
diesem Meer des Irrtums aufzutauchen!“
 Goethe, Faust (Der Tragödie erster Teil),
Vor dem Tore
Idee:
Übersichtliche
Planung und
einfache
Veranschaulichung
für Mitarbeiter und
Kunden bzw. User
Darstellung der Objekte
 Unterschiedliche Repräsentierung der
unterschiedlichen Klassen
 Alphanumerisch repräsentierte Klassen
 Geometrisch repräsentierte Klassen
 Alphanumerisch: Texte, Werte, Zahlen...
Geometrische
Darstellungen von Klassen
 Punkt: repräsentiert
die Lage eines
Objekts mit min.
Ausdehnung
 Linie: repräsentiert
die Lage eines Objekt
welches zu schmal für
eine Fläche ist
 Fläche: repräsentiert
ein Polygon
 Oberfläche: wie
Fläche, jedoch auch
Erhebungen (Berg)
 Raster: ... Eine Fläche
die in rechteckige
Felder unterteilt ist
(für Analysen
brauchbar)
 Bild/Photo: ...jedes
andere digitale Bild
Hefte raus: Klassenarbeit
(Aufgabe 1)
 Pünktlich zum neuen Semester will die Uni
Bonn zur Orientierung der Erstsemester
einen Routenplaner für die Poppelsdorfer
Institute.
 Welche Daten werden zur Routenplanung
benötigt und aus welchen Quellen können
diese Daten gewonnen werden?
 Dokumentiert die Ergebnisse in einfachen
UML - Diagrammen
Problem:
 Leider ist Visio nur auf „Wolga“ installiert
 Vorschlag: bastelt die UML - Diagramme
in PowerPoint zusammen
 Beispielklassen und Relationen findet Ihr
unter V:/Dennis/Aufgabe 1, Kardinalitäten
müssen mit Textfeldern ergänzt werden
 Vervollständigt das UML - Diagramm mit
eigenen Klassen und Relationen
Erstellen von
Datenpaketen
 Wie sollen Daten in ArcInfo repräsentiert
werden ?
 Umsetzen der Benutzeransprüche in ein
Datenbank Schema
Möglichkeiten in ArcInfo
 Punktklassen:
 Punkt: ein nichtverbundener Punkt
(Statuen etc.)
 Knoten: ein verbundener Punkt
(Straßenkreuzungen etc.)
 Komplexer Knoten: ein verbundener Punkt
mit eigener inneren Topologie
(Wasseraufbereitungsanlagen etc.)
Möglichkeiten in ArcInfo
 Punkt:
 Knoten:
 Komplexer Knoten:
Möglichkeiten in ArcInfo
 Linienhafte Klassen:
 Linie: alleinstehende Linie (Zäune etc.)
 Kante: ein verbundenes Teil eines
Liniensystems (wie in einem Straßennetz)
 Komplexe Kante: Lineare Klasse mit
verbundenen Sektionen (Polylinie)
Möglichkeiten in ArcInfo
 Linie:
 Kante:
 Komplexe Kante:
Möglichkeiten in ArcInfo
 Flächenhafte Klassen:
 Polygon: alleinstehende Fläche (Parks
etc.)
 Auch für platzausfüllende Gebiete, wie
ausgebreitete Vegetation (Wälder etc.)
Möglichkeiten in ArcInfo
 Oberflächenklassen:
 TIN (Triangulated Irregular Network)
 (siehe Vortrag): detaillierte Darstellung
des Terrains
 Raster: geeignet für größere Gebiete
(gröbere Auflösung, geringere
Datenmengen)
Organisieren der Struktur
(Schritt 1)
 Gruppierung der Klassen in logische
Zusammenhänge (Datensätze)
 Eine einzelne Klasse kann durchaus eine
eigene Gruppe sein, falls sie sich nicht
zuordnen läßt
Datensatz „Straßen“
Klasse Bezug zu
Straße
Brücke
Name
Straße
Ampel
Bus Route
-
Typ
Linie
Punkt
Text
Punkt
Linie
Haltestelle
Punkt
-
ArcInfo
Kante
Knoten
Text
Punkt
Kompl.
Kante
Punkt
Topologische Regeln
 Alle Klassen eines geometrischen
Netzwerkes müssen sich im gleichen
Datensatz befinden (Straßen vs.
Wasserleitungen)
 Klassen, die ganze Flächen einnehmen,
oder wenn sich überschneidende
Elemente eine Kreuzung haben sollen,
sollten sie im selben Datensatz
gespeichert werden.
Mögliche Topologien
 Fall 1:
 sich kreuzende Linien haben
Kreuzungsknoten
 Fall 2:
 Linien können „untereinander“
verlaufen ohne sich zu schneiden
Organisieren der Struktur
(Schritt 2)
 Zusammenfassen der einzelnen
Datensätze in Geodatenbanken
 Geodatenbank enthält schließlich alles um
einen speziellen Bereich zu Modellieren
(siehe Beispiel: Stadt)
Einbetten in
Geodatenbanken
Geodatenbank
Stadt
Datensatz
Umgebung
Grundstücke
Straßen
UML in ArcInfo: CASE Tools
 CASE - Tools: Computer Aided Software
Engineering
 Software - Entwicklungsumgebung
 CASE - Tools fassen sonst isolierte
Software -Entwicklungswerkzeuge (z.B.
Editoren, Übersetzer,
Verwaltungsprogramme) in einer
vollständigen benutzerfreundlichen
Arbeitsumgebung zusammen
... Und nicht nur für UML
 Weitere Einsatzmöglichkeiten:
 Datenflußpläne, Netze ...
 In Visio auch Modellierung von
Kartenobjekten möglich
Die Strategie von CASE Tools (1)
 Das hier angewandte:
 1. Entwurf der Geodatenbank in UML Diagrammen
 2. Benutzen des Creation Wizard in
ArcCatalog um Schema der Geodatenbank
Aufgrund des UML - Diagramms zu erstellen
 3. Benutzen von ArcMap - Tools zur
Integration ins Programm
Die Strategie von CASE Tools (2)
 Der umgekehrte Ansatz:
 1. Importieren bereits vorhandener Daten
(ArcCatalog, ArcToolbox)
 2. Aufbau des geometrischen Netzwerkes
 3. Hinzufügen des UML - Diagramms zu den
existierenden Daten mittels des
CreationWizards
Graphisch:
MS Repository
Erstellen des
Import
UML-Schemas
von Daten
CreationWizard
Hinzufügen
Shape Files
Coverages
des UML
Geodatenbank
... Das war´s für´s erste
 Vielen Dank für Eure Aufmerksamkeit

Viel Spaß mit Till