"Data Dictionaries" - Disy Informationssysteme GmbH

Werbung
Data Dictionaries
Vergleich von Oracle Spatial 11g und PostGIS
entlang der OGC Simple Feature Spezifikation
dialog
DOAG
SIG Oracle Spatial / Locator
Frankfurt a. M., 09.09.2008
daten
Andreas Bartels
disy Informationssysteme GmbH
dimensionen
disy Informationssysteme GmbH, www.disy.net
Agenda
▢
▢
▢
▢
▢
▢
disy Informationssysteme GmbH
Motivation
PostgreSQL / PostGIS
Data Dictionary
Spatial Metadaten Schema
Resümee
Kurz etwas über disy
disy Informationssysteme: Software und Beratung
GmbH, private Gesellschafter
Standort: Karlsruhe
Gründung: 1997
Mitarbeiter: 50
Informatiker und Mathematiker mit Branchenerfahrung
Innovative Entwicklungsmethoden
Environment  Reporting  GIS
Umwelt- und Fachinformationssysteme
Spatial Reporting – Berichte, Auswertungen und GIS
GIS, Geodateninfrastrukturen, Metadatenkataloge
Communications
Telefon- und Webkonferenzen
Virtuelle Call Center
CTI und Sprachlösungen
3
3
Produkte und Themen von disy
disy Preludio
disy GISterm
disy Cadenza
Metadaten & GDI
Desktop & Web GIS
Spatial Reporting
Forst
Lärm
Wasser
Landwirtschaft
Planung
Naturschutz
4
Verbreitung unserer Produkte
Ca. 4000 Arbeitsplätze
Baden-Württemberg
●
●
Div. Umweltthemen
Forst, Flurneuordnung,
Landschaftspflege
7 Bundesländer
Bund
●
BfS
●
BAW
Österreich
●
Seit Ende 2006
Weiterentwicklung
●
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank - www.disy.net
F&E Projekte
5
Motivation
Motivation
Entwicklung von
Intelligenten
Datenbank-Adaptern
für Geodatenbanken
Motivation
Welche Layer
sind in
der Datenbank ?
Motivation
Wie sieht
die Struktur
des Features aus?
Motivation
Welchen Type
haben die
Geometrien ?
Motivation
Welche
Eigenschaften
haben die
Koordinaten ?
Motivation
▢
Welche Layer sind in der Datenbank?
▢
Wie sieht die Struktur des Features aus?
▢
Welchen Type haben die Geometrien?
▢
Welche Eigenschaften haben die Koordinaten?
PostgreSQL
▢
▢
▢
▢
▢
▢
▢
▢
▢
Erste Version ist 1989 als Postgres
1996 als PostgreSQL V6.0 heraus gekommen
aktuelle Version 8.3.3
weitgehend konform mit dem SQL-Standard ANSISQL 92
Unterstützt alle gängigen Betriebssysteme
PostgreSQL is released under the BSD license.
Entstand aus einer Datenbankentwicklung der
University of California in Berkeley
wird durch dieOpen-source-Community
weiterentwickelt
hat eine reichhaltige Auswahl an Erweiterungen
PostGIS
▢
▢
▢
▢
▢
▢
Die erste Version wurde im Mai 2001 veröffentlicht
aktuelle Version 1.3.3
läuft GNU General Public License
ist OGC OpenGIS Simple Feature Access komform
verwendet GEOS, GDAL und Proj4
wird unter der Leitung von Refractions Research
entwickelt (UDIG, Geotools u. Geoserver)
Data Dictionary
▢
Laut des IBM Dictionary of Computing ist das Data
Dictionary ein "centralized repository of information
about data such as meaning, relationships to other
data, origin, usage, and format".
▢
Der Metadaten-Katalog über das was die Datenbank
enthält und wie es Strukturiert ist
Data Dictionary - Oracle
User SYS ist Owner
der Datenbank Metadaten
Data Dictionary - Oracle
User MDSYS
ist Owner
der Spatial Metadaten
Data Dictionary - PostgreSQL
pg_catalog
Metadaten-Katalog von
PostgreSQL
Data Dictionary - PostgreSQL
information_schema
Metadaten Abbildung
in durch den Anwender
verständliche VIEWS
Data Dictionary – PostGIS
für die Spatial Metadaten gibt es
keine definierte Ablage.
Normaler weise befinden sie sich
im Schema public einer
Datenbank
Spatial Metadata Schema - OGC
Spatial Metadata Schema - PostGIS
Spatial Metadata Schema - SDO
Spatial Metadata Schema
Zur Erinnerung
▢
Welche Layer sind in der Datenbank?
▢
Wie sieht die Struktur des Features aus?
▢
Welchen Type haben die Geometrien?
▢
Welche Eigenschaften haben die Koordinaten?
Layer
▢
Ein Layer lässt sich definieren als eine
Geometriespalte mit den dazugehörigen Sachdaten
spalten.
▢
Die wird durch die Angaben
▢
▢
OWNER, TABLE_NAME, COLUMN_NAME
in der Tabelle ALL_SDO_GEOM_METADATA
Oracle seitig referenziert
F_CATALOG_NAME, F_SCHEMA_NAME,
F_TABLE_NAME, F_GEOMETRY_COLUMN
in der Tabelle GEOMETRY_COLUMNS machen
dieses in PostGIS
Feature
▢
▢
▢
Ein Feature lässt sich durch die Beschreibungen der
Attribute der als Layer referenzierten Tabelle
definieren
In beiden Datenbanken liefern dieses die das Data
Dictionary der Datenbank
In Oracle der View
▢
▢
SYS.ALL_TAB_COLUMNS
In PostgreSQL der VIEW
▢
▢
information_schema.columns
Der VIEW reicht nicht um von Anwender definiert
Typen aufzulösen
Feature - PostgreSQL
select c.column_name,
y.typname,
COALESCE(c.character_maximum_length, numeric_precision, datetime_precision, -1) as column_size,
COALESCE(c.numeric_scale, -1) as column_scale,
c.is_nullable
from pg_namespace s,
pg_class t,
pg_attribute a,
pg_type y,
information_schema.columns c
where s.nspname = ?
and s.oid = t.relnamespace
and t.relname = ?
and t.oid = a.attrelid
and a.atttypid = y.oid
and c.table_schema = s.nspname
and c.table_name = t.relname
and c.column_name = a.attname
order by a.attnum
column_name
strasseabs
laenge
shape
typname column_size column_scale is_nullable
numeric
9
0 YES
numeric
22
0 YES
geometry
-1
-1 YES
Geometrie
▢
Hier wird der GeometryType benötigt
▢
Und die Information ob die Geometrie-Spalte
indiziert ist.
Geometrie - Oracle
GeometryType
▢ Indirect über den VIEW
▢
▢
▢
ALL_SDO_INDEX_METADATA
Ärgerlich ist das der Geometrie-Spaltenname durch
Anführungszeichen eingeklammert ist
Oder über die Funktion
▢
▢
▢
SDO_TUNE.MIX_INFO
Nicht Schema übergreifend nutzbar
Löst nur zu Single Type auf
Indiziert
▢ Über den VIEW
▢
ALL_SDO_INDEX_INFO
Geometrie - Oracle
Geometrie - PostGIS
▢
Der GeometryType wird in der Tabelle
▢
▢
GEOMETRY_COLUMNS angegeben
Ob ein Index definiert ist muss über das Data
Dictionary der PostgreSQL Datenbank erfragt
werden
▢
Tabelle pg_cataglog.pg_index
Koordinate
▢
Dimension
▢
Messwert vorhanden
▢
Wertebereich
▢
Referenzsystem
Koordinate - Oracle
▢
Dimension über DIMINFO in VIEW
▢
▢
ALL_SDO_GEOM_METADATA
Messwert kann in speziellen VIEW dokumentiert
werden
▢
ALL_LRS_METADATA
▢
Wertebereich, auch über DIMINFO
▢
Referenz System über die Spalte SRID und dem
generierten VIEW
▢
▢
CS_SRS
Hat zusätzlich ein Feld für den Gültigkeitsbereich des
Systems
Koordinate - Oracle
Koordinate - PostGIS
▢
Dimension wird in DIMENSION in Tabelle
▢
▢
Messwert wird über den GeometryType konfiguriert
▢
▢
▢
▢
GEOMETRY_COLUMNS ist auf 4 Dimensionen
beschränkt
M als Suffix wenn Messwert vorhanden und
Dimension 3
Bei Dimension 4 wird kein Suffix angegeben und die 4
Dimension ist dann grundsätzlich ein Messwert
Wertebereich kann in PostGIS nicht angegeben
werden
Referenz System über die Spalte SRID und die
Tabelle SPATIAL_REFERENCE_SYSTEM
Sonstig wichtige Information
▢
Geometrie Id Spalte
▢
▢
▢
Das Minimal Boundig Rectangle über alle
Geometrien eines Layer
▢
▢
▢
weder in Oracle noch in den PostGIS Metadaten
Es ist nur Raten anhand der Spalten Constraints
Primary Key ober Unique möglich.
Oracle, über Funktion SDO_TUNE.EXTENT_OF
PostGIS, optimiert über Funktion estimated_extent
Zugriffsrecht
▢
▢
Oracle, Layer tauchen nur in VIEWS auf wenn der
Anwender über SELECT zugreifen darf
PostGIS, muss über das Data Dictionary ermittelt
werden
Weitere Spatial Metadaten - Oracle
▢
Thematisierung eines Layer ALL_SDO_THEMES
durch
▢
▢
▢
▢
Name
Beschreibung
Regeln für grafische Darstellung (xml)
Bündelung von Themen zu einer Karte
ALL_SDO_MAPS
▢
▢
▢
Name
Beschreibung
Definition (xml)
Resümee
▢
Die Metadaten Schema beider Datenbanken können
noch verbessert werden. Das Schema der Oracle
Datenbank schneidet deutlich besser ab. Weicht
aber auch am stärksten von der Definition des OGC
ab.
Wünsche - Oracle
▢
Geometry Id in Sdo – Metadaten
▢
Geometry Type in den Metadaten
▢
Alle SDO_TUNE Funktionen sollten Schema
übergreifend sein
▢
Dokumentation aller Spatial Metadaten
Quellen
▢ Oracle® Forum Spatial
http://forums.oracle.com/forums/forum.jspa?forumID=76
▢ Oracle® Spatial Developer's Guide 11g Release 1 (11.1)
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28400/toc.htm
▢ Oracle Data Dictionary – Pocket Reference;
David C. Kreines; O'REILLY
▢ Open GIS Consortium (OGC), Inc.
OpenGIS® Simple Features Specification For SQL
http://portal.opengeospatial.org/files/?artifact_id=829
▢ PostgreSQL
http://www.postgresql.org/
▢ PostGis
http://www.refractions.net/products/postgis
disy Informationssysteme GmbH - Von der Karte zur Geo-Datenbank - www.disy.net
40
Vielen Dank
Vielen Dank!
Haben Sie weitere Fragen?
dialog
daten
dimensionen
disy Informationssysteme GmbH, Erbprinzenstr. 4-12, 76133 Karlsruhe
Tel.: +49 721 16006-000, Fax: +49 721 16006-05, E-Mail: [email protected]
Herunterladen