GIS+Perl
GIS Anwendungsgebiete
● Umweltforschung
● Archäologie
● Marketing
● Kartographie
● Städteplanung
● Kriminologie
● Logistik
● usw.
Kartenprojektionen
● Ausmessung der Erde als Ellipsoid
● Verbesserte Vermessungstechnik führte zu
verschiedenen Referenz Ellipsoiden
● Bestimmt reale Position eines
Längen-/Breitengrads
● WGS 84 ist der aktuelle GPS Standard und
wird z.B. auch von Online Karten Anbietern
(Google, OSM usw. genutzt)
Geographische Länge (Longitude)
● Früher Längengrad
● Vom Nullmeridian geteilt nach Ost und
West
● Größtmöglicher Wert 180 Grad (180° O =
180° W)
● In der Informatik wird Ost als Positive, West
als Negative Zahl angegeben
Geographische Breite (Latitude)
● Früher Breitengrad
● Vom Äquator geteilt nach Nord und Süd
● Größtmöglicher Wert 90 Grad (90° N, 90° S)
● In der Informatik wird Nord als Positive, Süd
als Negative Zahl angegeben
Koordinaten
● Der Breitengrad wird traditionell vor dem
Längengrad geschrieben
● 53.555504,9.992173 ist z.B. an der Innen
Alster
● Diese Koordinaten kann man z.B. auch
direkt bei Online Kartenanbietern eingeben
Grad/Minuten/Sekunden?
● Koordinate 16° 19' 28,29"
● Umrechnung: Sekunden / 60, Minuten
addieren, Ergebnis durch 60, Grad addieren
● 16° 19' 28,29" = 16,324525°
Dezimal zu Grad/Minute/Sekunde
● Koordinate 48,177455556° zu
Grad/Minute/Sekunde
● Ganzzahliger Anteil sind Grad,
Nachkommaanteil * 60, Ganzzahliger Anteil
sind Minuten, Nachkommaanteil * 60 ergeben
die Sekunden
● 48,177455556° = 48° 10' 38,84"
Datenhaltung
● SQL Datenbanken wie z.B. MySQL,
PostgreSQL
● PostgreSQL ist mit der PostGIS Erweiterung
MySQL überlegen
● NoSQL wie z.B. Neo4j oder CouchDB
Spatiale Daten
● Koordinaten könnten z.B. in 2 float
Datenfeldern gespeichert werden
● Speicherung in einem Datenfeld das für
Geometrie Daten bestimmt ist
Indizes
● B-tree Index ist ausreichend für Koordinaten
falls man die Daten nur speichern und schnell
abrufen möchte (Index auf float Feldern)
● Spatial Index lohnt sich bei höheren
Geometrien oder wenn erweiterte
Datenbankfunktionen genutzt werden sollen
(Index auf spezielles Geometrie Feld)
● Ein Spatial Index ist ein Überbegriff für Indizes
wie z.B. R-tree, kd-tree Octree usw.
PostGIS Daten
● Arbeitet mit dem OpenGIS (Open Geospatial
Consortium) Standard
● OpenGIS Well-Known Text bzw. Well-Known
Binary
● Extended WKT/WKB (Höheninformation
und/oder mit einem Messwert)
● SQL/MM: Kurven etc. (nicht vollständig
unterstützt)
PostGIS Funktionen
● Räumliche Funktionen wie Berechnung von
Flächen und Distanzen, Verschneidung,
Berechnung von Pufferzonen etc.
● Räumliche Operatoren wie Overlaps, Within,
Contains etc.
● Funktionen für die Erstellung von Geometrien
● Funktionen für die Abfrage von Geometrien in
den Formaten Well-Known Text, Well-Known
Binary, GML, SVG, KML
● Räumliche Indizierung mit dem GiST-Index
PostGIS Erweiterungen
● Umgang mit Rasterdaten
● Routenplanung
Perl
● Module sind im Namensraum Geo::
● Geo::Ellipsoid ist gut geeignet um schnell
Berechnungen mit Koordinaten durchzuführen
Geo::Ellipsoid
● Unterstützt eine Vielzahl an Projektionen
● Besonders Sinnvoll wenn man die
Berechnung nicht direkt in der Datenbank
machen kann/will
Anwendungsbeispiele
● Personen oder POI auf einer Karte darstellen
z.B. Restaurants
● Identifizieren von Clustern
● Ortsabhängige Werbung
● Mobile Handshake
Openstreetmap
● Die gesamte Datenbasis von Openstreetmap
steht frei zum Download zur Verfügung
● Enthalten sind z.B. alle Kartendaten und eine
große POI Datenbank
● Aktuell eine 12GB gepackte Textdatei
● Import dauert lange ;)
Links
● http://dev.mysql.com/doc/refman/5.0/en/spatial-ex
● http://de.wikipedia.org/wiki/PostGIS
● http://postgis.refractions.net/
● http://search.cpan.org/~jgibson/Geo-Ellipsoid-1.12
● http://planet.openstreetmap.org/

Gis+Perl

  • 1.
  • 2.
    GIS Anwendungsgebiete ● Umweltforschung ●Archäologie ● Marketing ● Kartographie ● Städteplanung ● Kriminologie ● Logistik ● usw.
  • 3.
    Kartenprojektionen ● Ausmessung derErde als Ellipsoid ● Verbesserte Vermessungstechnik führte zu verschiedenen Referenz Ellipsoiden ● Bestimmt reale Position eines Längen-/Breitengrads ● WGS 84 ist der aktuelle GPS Standard und wird z.B. auch von Online Karten Anbietern (Google, OSM usw. genutzt)
  • 4.
    Geographische Länge (Longitude) ●Früher Längengrad ● Vom Nullmeridian geteilt nach Ost und West ● Größtmöglicher Wert 180 Grad (180° O = 180° W) ● In der Informatik wird Ost als Positive, West als Negative Zahl angegeben
  • 5.
    Geographische Breite (Latitude) ●Früher Breitengrad ● Vom Äquator geteilt nach Nord und Süd ● Größtmöglicher Wert 90 Grad (90° N, 90° S) ● In der Informatik wird Nord als Positive, Süd als Negative Zahl angegeben
  • 6.
    Koordinaten ● Der Breitengradwird traditionell vor dem Längengrad geschrieben ● 53.555504,9.992173 ist z.B. an der Innen Alster ● Diese Koordinaten kann man z.B. auch direkt bei Online Kartenanbietern eingeben
  • 7.
    Grad/Minuten/Sekunden? ● Koordinate 16°19' 28,29" ● Umrechnung: Sekunden / 60, Minuten addieren, Ergebnis durch 60, Grad addieren ● 16° 19' 28,29" = 16,324525°
  • 8.
    Dezimal zu Grad/Minute/Sekunde ●Koordinate 48,177455556° zu Grad/Minute/Sekunde ● Ganzzahliger Anteil sind Grad, Nachkommaanteil * 60, Ganzzahliger Anteil sind Minuten, Nachkommaanteil * 60 ergeben die Sekunden ● 48,177455556° = 48° 10' 38,84"
  • 9.
    Datenhaltung ● SQL Datenbankenwie z.B. MySQL, PostgreSQL ● PostgreSQL ist mit der PostGIS Erweiterung MySQL überlegen ● NoSQL wie z.B. Neo4j oder CouchDB
  • 10.
    Spatiale Daten ● Koordinatenkönnten z.B. in 2 float Datenfeldern gespeichert werden ● Speicherung in einem Datenfeld das für Geometrie Daten bestimmt ist
  • 11.
    Indizes ● B-tree Indexist ausreichend für Koordinaten falls man die Daten nur speichern und schnell abrufen möchte (Index auf float Feldern) ● Spatial Index lohnt sich bei höheren Geometrien oder wenn erweiterte Datenbankfunktionen genutzt werden sollen (Index auf spezielles Geometrie Feld) ● Ein Spatial Index ist ein Überbegriff für Indizes wie z.B. R-tree, kd-tree Octree usw.
  • 12.
    PostGIS Daten ● Arbeitetmit dem OpenGIS (Open Geospatial Consortium) Standard ● OpenGIS Well-Known Text bzw. Well-Known Binary ● Extended WKT/WKB (Höheninformation und/oder mit einem Messwert) ● SQL/MM: Kurven etc. (nicht vollständig unterstützt)
  • 13.
    PostGIS Funktionen ● RäumlicheFunktionen wie Berechnung von Flächen und Distanzen, Verschneidung, Berechnung von Pufferzonen etc. ● Räumliche Operatoren wie Overlaps, Within, Contains etc. ● Funktionen für die Erstellung von Geometrien ● Funktionen für die Abfrage von Geometrien in den Formaten Well-Known Text, Well-Known Binary, GML, SVG, KML ● Räumliche Indizierung mit dem GiST-Index
  • 14.
    PostGIS Erweiterungen ● Umgangmit Rasterdaten ● Routenplanung
  • 15.
    Perl ● Module sindim Namensraum Geo:: ● Geo::Ellipsoid ist gut geeignet um schnell Berechnungen mit Koordinaten durchzuführen
  • 16.
    Geo::Ellipsoid ● Unterstützt eineVielzahl an Projektionen ● Besonders Sinnvoll wenn man die Berechnung nicht direkt in der Datenbank machen kann/will
  • 17.
    Anwendungsbeispiele ● Personen oderPOI auf einer Karte darstellen z.B. Restaurants ● Identifizieren von Clustern ● Ortsabhängige Werbung ● Mobile Handshake
  • 18.
    Openstreetmap ● Die gesamteDatenbasis von Openstreetmap steht frei zum Download zur Verfügung ● Enthalten sind z.B. alle Kartendaten und eine große POI Datenbank ● Aktuell eine 12GB gepackte Textdatei ● Import dauert lange ;)
  • 19.
    Links ● http://dev.mysql.com/doc/refman/5.0/en/spatial-ex ● http://de.wikipedia.org/wiki/PostGIS ●http://postgis.refractions.net/ ● http://search.cpan.org/~jgibson/Geo-Ellipsoid-1.12 ● http://planet.openstreetmap.org/