Mit PostGIS Geoinformationen in PostgreSQL integrieren

Lesezeit
2 Minuten
Bis jetzt gelesen

Mit PostGIS Geoinformationen in PostgreSQL integrieren

02.03.2016 - 14:00
Veröffentlicht in:
Anwendungen überwachen heute die Bereiche Supply Chain Management, Flottenbetrieb und Personal. Durch eine Verbindung mit einer traditionellen relationalen Datenbank kombinieren Erweiterungen Geoinformationen mit Management-Tools für Geschäftsprozesse, um so in Echtzeit verwertbare Informationen zu liefern. Wie unser Fachartikel zeigt, setzen derartige Lösungen oft auf PostGIS, was nicht zuletzt am belastbaren und soliden Charakter dieses Open-Source-Geodaten-Werkzeugs für PostgreSQL liegt.
Herkömmliche transaktionale Datenbanken enthalten eine Fülle von organisatorischen Daten über Kunden, Produkte und Lieferanten, die von Unternehmen für strategische und operative Zwecke genutzt werden. Sie werten diese Daten kontinuierlich aus, um hieraus geeignete Maßnahmen abzuleiten, strategische Erkenntnisse zu gewinnen, die eigenen Abläufe effizienter zu gestalten, Kosten zu senken oder neue Umsatzquellen zu erschließen. Ein leistungsfähiges Instrument bei der Untersuchung der Daten ist die Möglichkeit, Transaktionsdaten unter Verwendung von Geolokalisierungstechnologie mit Informationen aus der realen Welt zu verknüpfen.

PostGIS führend im Bereich GIS
Zu den leistungsfähigsten Geolokalisierungs-Datenbanktechnologien zählt PostGIS, eine Erweiterung zu PostgreSQL – das weltweit wohl fortschrittlichste relationale Datenbanksystem auf Open-Source-Basis. PostGIS ist ebenfalls eine Open-Source-Software, die 2001 von Refractions Research eingeführt wurde.

Das Aufsetzen von PostGIS auf PostgreSQL bietet zahlreiche Vorteile. Für die Entwickler von geografischen Informationssystemen (GIS) enthält PostgreSQL nützliche Windowing-Funktionen, rekursive Common Table Expressions (CTEs), Unterstützung von Objekttypen und die Möglichkeit zur Ausführung von Code am Speicherort der Daten in zahlreichen prozeduralen Programmiersprachen wie PL/Java, PL/R, PL/Python und anderen. Wichtig für GIS-Entwickler sind auch Operatoren in Postgres wie UPSERT, Gruppierungen, Cube, Rollup, Row Level Security und viele andere. Diese besonderen Operatoren sind in der neuen Version 9.5 von PostgreSQL enthalten. Ein starkes Design-Feature von Postgres ist seine Erweiterbarkeit. Es wurde von Anfang an für die Einbindung von Runtime-Erweiterungen ausgelegt, was bedeutet, dass PostGIS-Datentypen wie Geografie und Geometrie in der Datenbank als Elemente erster Klasse behandelt.

Aufgesetzt auf die in PostgreSQL verfügbaren nativen Features lässt sich PostGIS auch problemlos in der Skalierung erweitern. Während andere räumlichen Erweiterungen schon mal bis zu 40.000 US-Dollar kosten können, lässt sich PostGIS ohne Zusatzkosten einrichten. Außerdem ist es möglich, die PostGIS-Erweiterung hinzuzufügen und die in eine Datenbank aufgenommenen Geodaten so oft wie gewünscht in andere Datenbanken zu replizieren. Dabei können sich die anderen Datenbankserver im selben Server-Rack oder auch an beliebigen Orten überall auf der Welt befinden.


PostGIS skaliert gemeinsam mit Postgres über einen einzelnen Datenbank-Server hinaus.

Unter Verwendung eines replikationsfähigen Verbindungspoolers wie pgpool lassen sich auch alle Schreibzugriffe an die Primärknoten und die Lesezugriffe an die Standby-Server richten. Hierdurch kann die Belastung durch Lesezugriffe durch passende Skalierung verringert werden und die Schreibzugriffe auf die Primärsysteme werden optimiert, da Operationen wie Reporting und Datensicherungen ausgelagert werden.

Datentypen in PostGIS
PostGIS verwendet vier Haupttypen von Geodaten:

  • Geometrie für flache Erdprojektion
  • Geographie für kugelförmige Erdprojektion
  • Rastertyp, wobei jede Zelle Werte enthalten kann, die in Zeilen und Spalten organisiert sind
  • Topologietypen zur Modellierung von realitätsbezogenen Regeln für Vektorfunktionen (Topologien erlauben die Anwendung von Beziehungsregeln wie etwa die, dass bei Verschiebung einer Gemarkungsgrenze nach außen automatisch die benachbarte Gemarkungsgrenze nach innen verschoben wird.)
Alle bekannten klassischen Untertypen sind ebenfalls verfügbar, wie Punkte, Linien, Polygone sowie Mehrfachpunkte, Mehrfachlinien und Mehrfach-Polygone. Und die Geodaten-Spalten lassen sich mit der aus PostgreSQL vertrauten Standardsyntax indizieren, also etwa 'CREATE INDEX myindexname ON mytable USING gist(geom);'. Das kann dann zum Beispiel so aussehen:
'geodb=# CREATE INDEX idx_customers_geo ON customers USING gist(geo);'
Wie bei der üblichen Anwendung des EXPLAIN-Plans, um die Abfrage-Performance anzuzeigen oder um festzustellen, ob ein Index verwendet wird oder nicht, lässt sich auch mit dem neu hinzugefügten GiST-Index arbeiten. Bei Ausführung eines EXPLAIN-Plans für eine einfache Abfrage zur Ermittlung der Anzahl von Kunden innerhalb von zwei Flächeneinheiten von San Francisco ergibt sich:
'explain analyze select count(*) from customers c where 
st_dwithin(c.geo,st_geomfromtext('POINT(-122.4167 37.7833)',3857),2);'
-> Bitmap Index Scan on idx_customers_geo (cost=0.00..1631.39 rows=45215
width=0) (actual time=15.081..15.081 rows=45760 loops=1)
Index Cond: (geo && '0103000020110F00000100000005000000910F7A36AB1A5FC078
7AA52C43E44140910F7A36AB1A5FC0787AA52C43E44340910F7A36AB1A5EC0787AA52C4
3E44340910F7A36AB1A5EC0787AA52C43E44140910F7A36AB1A5FC0787AA52C43E44140'
::geometry)
Planning time: 0.879 ms
Execution time: 195.629 ms
    Seite 1: GIS-Erweiterung zu PostgreSQL
    Seite 2: Datentypen in PostGIS


Seite 1 von 2 Nächste Seite >>


ln/Adam Wright, Database Consultant bei EnterpriseDB

Tags

Ähnliche Beiträge

Drei zentrale Herausforderungen für das Datenmanagement

Daten sind ein unverzichtbarer Vermögenswert für Unternehmen geworden. Für ITAdministratoren bedingt dies, neben fundamentalen Datenmanagement-Anforderungen, Veränderungen in den Bereichen Organisationsstruktur, Kultur und Leadership sowie Rollen und Skills voranzutreiben. Der Fachartikel zählt die drei größten Herausforderungen auf, vor denen Organisationen in Bezug auf Datenmanagement stehen.

Im Test: Power Admin Storage Monitor 9.3

Eine effiziente Planung der Storage-Landschaft und ihrer Verfügbarkeit setzt detailliertes Wissen über Beschaffenheit und Alter der gespeicherten Daten voraus. Power Admin Storage Monitor verspricht, den Datenbestand umfassend zu analysieren, laufend zu überwachen und automatisch auf Ereignisse zu reagieren. Dabei liegt der Schwerpunkt auf Windows, doch das flexible Tool bindet auch andere Speicher im Netzwerk per SNMP an.

All-Flash-Rechenzentrum beim Bio-Großhändler

Seit vielen Jahren arbeiten Storage-Anbieter daran, All-Flash-Systeme so zu konzipieren, dass sie sich nicht nur für Tier-1-Anwendungen, sondern zur Speicherung aller Daten im Rechenzentrum verwenden lassen. Das Ziel, dessen Erreichung vor allem die Anschaffungskosten im Weg standen, lautete: All-Flash-Data Center. Wie sieht es in der Praxis aus? Ein deutsches Handelsunternehmen berichtet erstmals über seine Alltagserfahrungen.