66

Informatik (Subject) / Spatial Datenbank (Lesson)

von Karl Neumann

This lesson was created by crazy_funny.

Learn lesson

This lesson is not released for learning.

Advertisement
  • Aufgaben von GIS Ein GIS ist ein Hardware und Software System. Die Funktionalen Komponenten des GIS sind:   - Sammeln - Managen - Analysieren - Anzeigen   von Geodaten (Geospatial). Es ist ein spezielles Informationssystem bestehend aus einer räumlichen Datenbank und einem speziellen  Datenbanksystem
  • What are some common names for GIS in diverse(khac nhau ) areas? LIS > Land information system UIS > Urban information system NRIS > Natural resources information system SIS > Soil information system (Boden) NIS > Network information system BIS > Branch information system
  • What are spatial objects? Spatial Objects verfügen im Gegensatz zu normalen Objekten über zusätzliche Attribute (räumliche Attribute) zum Abspeichern von Geodaten. Geoobjekte können aufgrund dieser Attribute in GIS modelliert werden. Das spezielle an Geoobjekten ist, dass sie eine Geometrie und eine Topologie haben.
  • What are the two main distinctions of spatial objects on basis of their contour (Kontur)? Discreta: Feste Objekte die man eingrenzen kann. Haben eine definierte Geometrie …  Continua: Gedachte Objekte, die sich über dem ganzen Raum verteilen (z.B. Temperatur auf der Erde).
  • What are the two main models of space?   Discreta→ Objekt-basierte Model                                                       Object Domain→ spatial reference → spatial embedding Continua→Feld-basierte Model                                                                 Spatial Framework → spatial field→ Attribute Domain  
  • What are the basic concepts of geometry and topology? Basis Konzept für die Geometrie: Räumliche Lage im metrischen Raum Basis Konzept für die Topologie: Räumliche Beziehung (hier kommt es nicht auf die exakte Lage an).
  • What are the main topological relationships? Eggenhofer 9-Intersection Model: - Equal - Disjoint - Meet - Overlap - Covers - Coveredby - Inside - Contains              
  • What are the characteristics of the raster model? Was zeichnet das Rastergeometriemodell aus? Aufteilung des Raumes in quadratische Zellen  Kleinste Einheit Pixel Definition durch: ·         Ursprung  ·         Orientierung   ·         Rasterweite    
  • What are the main compression techniques for raster geometry? Verlustlose Komprimierungsverfahren für raster Geometrie   - Kettencode (Chain code / Crack code) (n-o-s-w auch no-so-sw-nw) -Lauflängenkodierung (Run legth encode) (x,y,anzahl der Pixel nach rechts) - Block code (Größt mögliche Quadrate)      
  • What are the characteristics of the vector model? Dem liegt ein kartesisches Koordinatensystem zu Grunde und eine euklidische Metrik. Ein Kantenrepräsentationsmodel! Man hat Punkte, welche durch Linien (Kanten) verbunden werden.
  • Advertisement
  • What problems arise during discretization? Ein Koordinatensystem hat Koordinationspunkte. Für jede Achse existiert ein dazugehöriger “diskreter” Wertebereich. Für jeden Wert der angenommen werden kann existiert ein Abschnitt auf der entsprechenden Koordinate. Wenn einzeichnen einer Linie zwischen zwei Punkten, kann es passieren, dass die Linie nicht exakt auf einem Wert KO-Systems verlaufen würde. Die Linie muss angepasst werden. Achtung Problem: Wenn z.B. zwei Linien sich kreuzen sie aber vorher an das KO-System angepasst wurden, dann kann es dazu kommen, dass der Schnittpunkt nicht mehr den Originalen Daten entspricht und verschoben ist. Abhilfe: Green-Yao-AlgorithmusNachteil: man verliert den Vorteil des Vektormodels, da man nur 2 Punkte für eine Gerade speichern musste, aber mit Green-Yao müssen noch Hilfspunkte neben entlang der Geraden gesetzt werden! Rasterization of Lines: Vektoren müssen zudem immer in Raster umgewandelt werden um sie für uns sichtbar zu machen (Bildschirm, Druck). Bresenham-Algorithmus: Pixel, deren Zentrum näher ist. Pixel, die die Linie (Kante) schneiden.
  • Which methods for rastarization of vector shapes are there? Rastarisierung wird immer benötigt um Vektordaten zu visualisieren, wie die Ausgabe auf einem Bildschirm oder eines Printmediums. Es gibt zwei Kategorien der Rastarisierung. Man sucht Point-In-Polygon oder verwendet einen Polygon based fill algorithm. Wichtig hierbei ist die Ermittlung der Rasterweite: Diese wird nach dem „Sampling Theorem“ berechnet. Die Rasterweite sollte somit die halbe länge betragen, wie das kleinste Element (Abstand zwischen 2 Punkten), welches dargestellt werden soll. Eine Liste aller x und y Werte --> Distanz zwischen allen x-Werten und allen y-Werten              -->minimalen Wert / 2 Point-In-Polygon: 1. Es wird ein MBR um das betrachtete Polygon gelegt 2. Eine Rasterweite überlegen (Sampling Theorem) Semi-line algorithm: Strahl von dem Punkt Parallel zur x-Achse durch das Polygon --> Schnittpunkte zählen. Winding number algorithm: Von einem Punkt aus werden die Winkel berechnet und addiert zu den Eckpunkten eines Polygons. Summe = 0 --> Punkt ist NICHT im Polygon und Summe = 360 --> Punkt LIEGT im Polygon. Polygon based fill algorithm: 1. Es wird ein MBR um das betrachtete Polygon gelegt 2. Eine Rasterweite überlegen (Sampling Theorem) 3. Zeilenweise: Berechne die Schnittpunkte der Rasterlinie mit den Randpunkten des Polygons. Methode ist ähnlich dem Semi-line-algorithm nur auf Rasterbasis und nicht Vektorbasis.
  • Wich methods for vectorization of raster shapes are there? Z.B. Aus sehr präzisen Karten die originalen Vermessungsdaten berechnen / Ermittlung von Daten aus Satellitenbildern (Fernerkungungsaufnahmen). Outline extraction for polygons 1. Bestimme alle Kantenpixel 2. Durchlaufe alle Pixel und übertrage das Zentrum der Pixel in ein kartesisches Koordinatensystem.  ! Verwerte nur die Pixel, die Anfang und Endpunkt einer Linie sind !  
  • What are the main topology models for vector geometry? Die Basiselemente des topologischen Datenmodels sind Vertex (V, Punkt), Edge (E, Kante) und Face (F, Fläche). Spaghetti data structure (Node list): Ungeordnet und keinen Zusammenhang. Vektor Objekte werden einfach irgendwie abgespeichert. Beispiel: F1: (0/1),(1/3),(3/3), L1: (0/0),(3/3). Ändert man nun Punkt (3/3), so muss dies für jedes Objekt angepasst werden (sonst sind die Daten inkonsistent). Edge list: Kanten werden gespeichert. Start und Endknoten und die Flächen links und rechts. Winged edge list: Erweiterung von Edge list. Linke und rechte Fläche + Arme und Beine (angrenzende Kanten). ? Adjazenzmatrix-->Adjazenzlisten: Speichert Information von Knoten zu Knoten mit der jeweiligen Entfernung.
  • Which interpolation methods for fields are there? Was will man den damit erreichen? Man hat nur eine endliche Anzahl von Messpunkten, die auf einer Fläche beliebig verteilt sind. Nun möchte man aber eine einheitliche Information für die betrachtete Fläche haben. Man interpoliert über die Messpunkte und erhält somit kalkulierte Informationen über die Bereiche, in denen keine Messpunkte vorliegen. 1 Voronoi Zellen o Flächen, die den nächsten Nachbarn beinhalten. 2 DreiecksvermaschungDelauney (ist der Duale Graph des Voronoi-Diagrams) o Delauney liefert Dreiecke mit möglichst gleichen Winkeln o Spitze Winkel sollen vermieden werden, da diese bedeuten, dass der Abstand zwischen zwei Punkten verhältnismäßig groß ist, was die Werteinterpolation verzerren könnte. 3 Inverse Distance Weighting (IDW): Man betrachtet mehrere Nachbarpunkte in einem bestimmten Bereich. Je weiter weg die Punkte liegen, desto geringer werden sie gewichtet. 4 Kriging-->Experimentelles Variogram: Ähnlich dem IDW, nur das hier Geodaten berücksichtigt werden. o Man interpoliert zwischen zwei Punkten und je weiter sie voneinander entfernt sind, desto höher ist die statistische Abweichung. 5 Splines nicht so wichtig?! Generiert eine Oberfläche mit minimalen Kurven. Werte sind dadurch ungenau.
  • How to intersect vector geometry segments efficiently? Das Schneiden von Polygonen wird auf das Schneiden der entsprechenden Segmente zurückgeführt. Bentley-Ottmann Algorithmus: Vertikale Sweepline, die Anfangs und Endpunkte abtastet. Un die Segmente auf Schnittpunkte überprüft. - Q(event): Punkte, die nach x-Wert geordnet werden. - T(active segments): Segmente, die nach y-Wert geordnet werden.
  • Which operations on fields are there? Es gibt 5 Klassen von Operationen: - Local: Point to Point - Focal: Point to Hood (angrenzende Felder) - Zonal: Point to Zone (Eine Fläche in der das Feld liegt) - Global: Point to every location - Incremental: ???
  • What is a (thematic or topographical) map? Generalisiertes Model in einer reduzierten Auflösung Maßstäblich verkleinertes generalisiertes geometrisches Model zur Darstellung von ausgewählter Information. Maßstäblich verkleinert – Generalisiert – Ausgewählten Informationen
  • Which means for designing maps are there? Alle Atomaren Elemente, die eine Karte ausamchen sind: - Punktsignaturen - Liniensignaturen - Flächensignaturen - Schriften - Verschiedene Farben Keine Frage in der Review, aber evtl gut zu wissen: Graticule: Beschreibt das Abbilden der Erde (Runden Körper) auf eine Fläche. Diese Flächen können sein: - Kegel - Fläche - Zylinder In Deutschland und in Österreich verwendet man dafür den Gauss-Krüger-Algorithmus. Er projiziert ein kleines Gebiet der Erde auf einen Zylinder.
  • Why is cartographic generalization necessary at all? Viel zu viele Details. Betrachter wird von den Informationen erschlagen. Zum Beispiel: Liegenschaftskarte 1:1000 für Grundstück. Landschaft und Infrastruktur auf 1:25000 (Hier ist es nicht Sinnvoll jedes Polygon in seinen originalen Koordinaten einzuzeichnen)
  • What are the basic operations of generalization? - Simplify (Vereinfachen: Verwinkelte Polygone zu Rechtecke umwandeln) - Enlarge (Vergrößern: Straßen vergrößern, damit sie besser wahrgenommen werden.) - Displace (Verschieben: Wenn eine Straße vergrößert wurde muss z.B. die Allee angepasst werden) - Merge (Zusammenfügen: Kleine Gebäude in einem Verbund zu einem Objekt machen) - Select (Ausselektieren: Kleine oder unwichtige Gebäude entfernen) - Symbolize (Kirchen nicht als Polygone, sondern als Kreuze) - Typify (Objekte vom gleichen Typ neu Anordnen, dass die Übersicht besser ist. Z.B. Viele Bäume auf einem Fleck, dann muss man nicht jeden Baum abbilden) - Classify (Aus Haus und Garage klassifiziert man zu Gebäuden)
  • How can polylines be smoothed? Low-Pass-Filter: - (+) Schnelle Berechnung - (-) Koordinaten warden verschoben - (-) Anzahl der Stützpunkte bleibt gleich Douglas/Peuker Algorithm: - Reduziert die Anzahl der Stützpunkte - Verändert die Originalkoordinaten nicht
  • How does the Douglas/Peucker algorithm work? Muss man können! 1. Die Beiden Endpunkte einer Polylinie verbinden (First reduction). 2. G (maximaler Abstand) bestimmen 3. Orthogonale bilden?alle Punkte zur „First reduction“?prüfen ob Distanz > G 4. Wenn ja neue Reduktion bilden.
  • The Douglas/Peuker algorithm does not preserve right angles. Why? Herleitung der Frage kann sein, dass man wissen will, ob man mit dem D/P Algorithmus auch Gebäude (Polygone) simplifizieren/generalisieren kann. Antwort: Nein, da D/P keine rechten Winkel erhält. Im Douglas/Peuker kommt das Konzept des Winkels nicht vor. Es enthält nur Stützpunkte und Abstände und keine Winkelmaße.
  • What procedures exist for the transition from polygons to lines? Schoppmeyer/Heisser Prozedur: 1. Finde die Längsachse 2. Setze eine Orthogonale von allen Punkte zur Längsachse 3. Finde die Mittelpunkte auf diesen Orthogonalen Petzold/Plümer: 1. Erstelle ein Voronoi Diagram von dem Polygon 2. Finde die Schnittpunkte der Voronoikanten mit den Polygonkanten 3. Wähle eine Sequenz aus dem Voronoiskelet Rasterization / Thinning / Re-vectorization: 1. Polygon rastarisieren 2. Ein Skelet von dem Raster erstellen (topologische Skeletierung) 3. Re-vectorization 4. Längsten Pfad finden 5. Linie vereinfachen (z.B. Douglas/Peuker)
  • What is the challenge in the placement of text? Die Labels müssen den Objekten präzise zuzuordnen sein. Die Labels sollten auch möglichst Einheitlich gesetzt werden (z.B. Städtenamen nach oben rechts) Dabei kann es zu Problemen kommen, dass wenn mehrere Benachbarte Objekte gelabelt werden müssen, dass sich die Labels überlagern. Abhilfe dazu wäre, weitere Optionen zu Besetzung der Label zu gestatten (mittig drunter oder drüber) aber auch anhand eines Greedy-Algorithmus die Positionen zu bestimmen. Dann gibt es noch die Lokale Optimierung (jedes Label wird öfter berührt und wenn es passt wird gestoppt) oder auch Simulierte Abkühlung (langsames abkühlen)
  • Is it possible to evaluate spatial queries with core SQL? Kern SQL: SELECT FROM WHERE Ja, aber sehr aufwendig für anspruchsvollere Abfrage. Beispiel: Berechnung des Abstandes zwischen zwei Punkten. SELECT sqrt( sqr(P1.x – P2.x) + sqr(P1.y – P2.y) ) FROM Point P1, Point P2 WHERE P1.id < P2.id On which level is SQL extended in order to become spatial SQL? Wenn Expression (Ausdrücke) im SQL SELECT Statement erlaubt sind. (<,>,+,-,/,* etc)
  • How to formulate with spatial SQL the query “Through which parcels do brooks flow”? SELECT p.id FROM Parcel p, Brook b WHERE Intersects (p.groundPlan, b.geometry)
  • What are the main differences between Oracle Spatial and Postgres? Oracle besitzt einen universellen Datantypen für Spatial-Data, der alle geometrischen Datantypen umfasst. (SDO_GTYPE legt fest was für ein Typ vorliegt, z.B. Linie, Punkt etc) Postgres hat verschiedene Klasen von Datantypen: Point, Line, Polygon, Multi..., Circle, Boxes.
  • What are the two steps in the evaluation of spatial queries? 1. Filter step: Approximation der Polygone. MBR um die Polygone setzen. 2. Refinment step: Prüfen ob die Approximationen (MBR) sich schneiden.
  • Advertisement
  • What are the differences between conservative and progressive approximations? Logische Aussagen über schneiden und nicht schneiden. Conservative: Äußere Box. Wenn sich die MBR nicht schneiden, dann schneiden sich die Polygone auch nicht. Progressive: Inner Box. Wenn sich die MBR schneiden, dann schneiden sich auch die Polygone. Problem: Hier besteht immer noch ein quadratisches Berechnungsproblem O(n2). Es muss trotzdem jedes MBR mit jedem anderen MBR geprüft werden.
  • Can conventional B/B+-trees be used for indexing spatial data? B/B+trees: Sind ausgeglichen und bieten O(log n) Zugriffszeiten. Sie können für räumliche Daten genutzt werden, jedoch müssen die Daten von 2-Dimensionen auf 1- Dimensionen umgewandelt werden.
  • How are points in the plane ordered according to the Z-order (Z-Curve)? In der Mitte ein Kreuz einzeichnen und von NW --> NE --> SW --> SE.
  • How good is the Z-Order as a spatial index? Nicht gut weil, die Z-Kurve große Sprünge macht. Punkte sind im Index benachbart, obwohl sie topologisch nicht benachbart sind. Bei großen Suchfenstern spart man keine Berechnung, da es viele Potentielle Nachbarn gibt.
  • How does the data-driven point quadtree work? Man setzt ein Kreuz und kontrolliert dann die 4 Bereiche (NW NE SE SW)
  • How does the R-tree work? Rekursive Bounding Boxes.
  • When does the R-tree become increasingly inefficient as index structure? Wenn die Überlappung zu groß wird oder wenn die Boxen zu viel toten Raum beinhalten.
  • How in principle does the linear split method work with R-tree? Es gibt drei Verfahren die besten Resultate für die MBR zu erhalten. Exponentiell: Jede Box mit mehreren. Quadratisch: Jede Box mit Jeder. Linear: Entfernung der Kante und somit Größe des freien Raumes. 1. Die beiden am weitest entferntesten Punkte auf der Y-Achse und auf der X-Achse 2. Berechne die Abstände. Hier: Y-->m – j gilt 3,5/9 und X-->e – j gilt 2/11. M – j ist größer. Diese werden die neuen Startknoten. 3. G einfügen. Größe des Raumes mit m = 24 und mit j = 41,5. G kommt mit m in ein Rectangle 4. E wird in m = 14 und j = 52 eingebunden. Mit m ist der Raum kleiner. 5. Es wird ein Rechteck um m, e und g gebildet und j steht alleine.
  • What are the characteristics of the K-d tree? Ist ein binärer Suchbaum. Man splittet den Raum immer nur nach einer Ebene auf. X oder Y, abwechselnd, je nachdem wie die Punkte liegen. Man kann durch Punkte splitten, aber auch durch Schwerpunkte (Zentruide, Ein Ballungsgebiet mit vielen Punkten). Es sei der Raum beinhaltet nur noch einen Punkt wie z.B. B oder A.
  • What are the characteristics of the BSP tree? Binary space partitioning. Auch ein binärer Suchbaum. Ist eine Verallgemeinerung vom KD Baum, wo nicht nur Geraden zur X und Y Achse zulässig sind, sondern beliebige Geraden.
  • What are the characteristics of the Grid File? Ist kein Baum. Ein 2D Grid / Array, welches sich dynamisch ändert.
  • For what purpose can XML be used? Extensible Markup Language kann benutzt werden um Auszeichnungssprachen zu generieren und zu beschreiben.
  • What are the main components of a document type definition? Elemente <text></text> Attribute <text color=”red”></text> Entitäten<!ENTITY red=”#FF0000”> <text color=”&red”></text>
  • What are the advantages of XML schema in contrast to DTDs? DTD sind etwas veraltet, da sie kaum Struktur erlauben, keine Integritätsbindungen und kaum Datentypen.
  • For what purpose can GML be used? GML ist eine typische von XML generierte Sprache. Wir in Geosystemen als Standard benutzt um Dienste anzubieten und Geodaten auszutauschen.
  • What are the characteristics of XSLT? Man kann mit GML und XSLT DokumentenSVG Dokumente generieren.  
  • What are some important SVG commands? Verfügt über die üblichen Befehle, die vektorfähige sprachen haben müssen.
  • What are the special features of the combination of postgres and JDBC? Bei postgres gibt es eine PGobject Klasse. Dazu gibt es auch diverse Unterklassen (PGpoint, PGcircle). Diese Klassen verfügen über keine GET-Methoden, d.h. erst das Objekt aus der DB laden und auf die entsprechende Klasse casten.
  • What are the special features of the combination of Oracle Spatial and JDBC? ORACLE enthält eine Struktur, die alle Geometrieklassen umfasst. Es ist somit etwas komplizierter ein Objekt aus der DB zu laden, da das Objekt vorher immer noch einmal überprüft werden muss. DB --> Load ()            -->App --> Store() --> DB
  • How can GML based data be processed with Java? GML basiert auf XML. Somit wird GML ähnlich XML in Java eingelesen. Man parset das Objekt und erhält ein DOM Objekt.