FOSSGIS-Konferenz 2013 Im- und Export von dxf-daten mit OGR. Harald Schwenk / agentur geoinfo

Ähnliche Dokumente
Kurzbeschreibung der DXF-Schnittstelle

Geoprozessieren mit PostgreSQL/PostGIS und R

Skript basiertes geoprozessieren. am Beispiel einer. Flächenermittlung von Grundwasserverunreinigungen aus Punktquellen

Bereitstellung von TFIS Daten für Anwendungen außerhalb des AAA Umfeldes

Datenbanksysteme 2013

PostGIS. die PostgreSQL Erweiterung zur Geodatenhaltung. Astrid Emde

QGIS-PlugIn AnotherDXF2Shape V

PostGIS für Einsteiger

Tel / Fax: /

Mobil in der Stadt Verwendung des DXF-Formates

Eine kundenspezifische Punkt-zu-Polygonlösung

Moderne Datenbankkonzepte

Anleitung: Erstellen des Themas in ArcGIS 9.1

Import / Export Teil1 DXF und ESRI Shape. Webinar Hans Andorfer

QGIS-PlugIn AnotherDXF2Shape V0.3

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Geoinformation Abbildung auf Tabellen

Oracle 10g Einführung

Kapitel 3: Datenbanksysteme

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

F+R V 5.x -> FFR V 6.x Seite 1 von 5 Informationen und Verfahren zur Übernahme der Pläne

gvsig Aktuelles im Überblick: Neuerungen der Version 1.9

Kapitel 8: Datenintegrität

Datenzugriffskomponente mit JPA 2.1

ÅÜÉÅâÖÉçÇ~í~KåÉí= ACAD Standard Prüfkriterien

Inhalt. Fusszeile 1. Einleitung. Vergleich. Ausblick. Vergleich zwischen Pixelkarte 25 und Landschaftsmodell VECTOR25. Colloquium Map Design FS 2010

Kapitel 6: Das E/R-Modell

Kapitel 3: Datenbanksysteme

Einblicke in AutoCAD 2015 Christian Walz, Dipl.-Ing. Geodäsie Schulung und Support

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

Objekt-relationales Datenbanksystem Oracle

Datenmodelle zu Ver- und Entsorgungsleitungen Korrigenda C1 zum Merkblatt SIA 2016:2012

TB-StadtCAD So bereiten Sie StadtCAD auf den Einsatz mit der Topobase vor:

Logischer Entwurf und Dokumentation objektrelationaler Oracle Datenbanken

Vorlesung Software-Engineering I

Leica 3D Disto DXF 1

3D-Druckformate und COLLADA

Räumliche Datenbanken

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Datenbankbasierte Lösungen

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Domänen: Grundtypen, alle vordefiniert, z.b. INTEGER ~ integer NUMERIC (p,s) p: precision, s: scale (nach,) etc.

Kapitel 3: Datenbanksysteme

Historisierung und Versionierung

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

T:\Dokumentationen\Asseco_BERIT\Schulung\BERIT_LIDS7_Basiskurs\Impo rt_export\beritde_lt_do_ _lids7.basisschulung_import_export.

Lastenheft Gruppe HK-03 erstellt am: Lastenheft

Abschlussprüfung. für die Berufsausbildung in der Geoinformationstechnologie im Ausbildungsberuf Geomatiker/in. PB3 Geoinformationstechnik

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Neues von QGIS. Otto Dassau auf der FOSSGIS 2017 Passau, 23. März 2017

Kompetenzen Modellieren und Implementieren Visualisieren und Präsentieren Problemlösen Begründen und Bewerten Kommunizieren und Kooperieren

Visualisierung in Informatik und Naturwissenschaften

Logging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH

Oracle: Abstrakte Datentypen:

Datenbanksysteme 1 Frühjahrs-/Sommersemester März 2012

Staatliche Vermögens- und Hochbauverwaltung Baden-Württemberg Dokumentation Pläne und Daten

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Abschlussprüfung im Ausbildungsberuf Geomatiker, Geomatikerin. Schriftliche Prüfung

quick documentation Inhalt Datenmodellierung

Funktionen Funzioni. Zivilschutzbrowser. Dr. Martina Inderst Dr. Susanne Rizzolli Formazione. Schulung. Browser della Protezione Civile

Veranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle

Die Anweisung create table

Konzeptueller Entwurf

Erweiterung des Zugriffsschutzes auf Objektattribute im Internet-GIS kvwmap

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Inhalt. Kapitel 1 Einführung 21. Kapitel 2 Grundlegende Zeichnungstechniken 35. Kapitel 3 Zeichnungshilfen einsetzen 59

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Seminar: mobile GIS Austausch von Geodaten

Kapitel 6: Das E/R-Modell. Skript 2003 Christian Böhm

Eine Analyse am Beispiel des Katasterwesens unter Verwendung von Cincom VisualWorks Smalltalk. 28. September 2005

ColdFusion 8 PDF-Integration

Datenmanagement I SoSe 2006 Aufgabenblatt 4

und Konverter-Software

Bauinformatik Informationsmanagement

Objektkatalog für das Straßen- und Verkehrswesen

Einteilung von Datenbanken

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.

Release Notes PlaTav 1.4.2

Kurzanleitung ERwin V Kurzanleitung Erwin

Datenbanken im WI-Unterricht mit

PostNAS-0.3. Dokumentation

GROUP BY, HAVING und Sichten

Übung zu Datenbanken. Musterlösung zur 1. Probeklausur. Dipl.-Inform. Sascha Kriewel

Entwicklungsumgebung für die Laborübung

Einführung SQL Data Definition Language (DDL)

Relationentheorie grundlegende Elemente

Bei Kaum noch wartbar -> shortcut badview. Bei Ausführungspläne kippen -> shortcut badviewplan

Flächen- und Umfangbeschriftung im AutoCAD Befehl: PLINETEX (Polylinien-Text)

Es geht also um die sogenannte SQL- Data Definition Language.

DOORS Training IBM Rational DOORS StartUp Training - Modul 4

Datenmodell Entity-Attribute-Value

Transkript:

Datenmigration ist wie der Umzug aus einer 5-Raumwohnung in eine 5-Raumwohnung oder in ein 1-Raumapartment gegebenenfalls muss die Einrichtung angepasst werden 2/19

Datenmodelle für Geodaten sind schlichte Relationen (1:1) Geometrie: Simple Feature (Punkt, Linie, Fläche) + Beschreibung: tabellarische Struktur (z.b. See, Wald, Name, Biographie, numerische und alphanumerische Beschreibung) gid geom land stadt strasse hs_nr 1 Geometrie Land Stadt Strasse Nr. 3/19

1:n Relationen werden im GIS abgebildet (Ausnahmen: NAS, Interlis u.a.) 4/19

dxf ist ebenfalls ein schlichtes Datenmodell allerdings ist der Einsatzbereich größer (Entwicklung, Steuerung und Fertigung) und eine historisch bedingte enge Bindung an ein Layout (jedes Objekt hat obligatorisch einen Style) es gibt keinen Inhalt ohne Information zur Darstellung 5/19

Das dxf-format ist ein ASCII-Format und kann mit jedem Texteditor manipuliert werden. Die Struktur einer dxf-datei hat die folgende Gliederung: SECTION: HEADER (dxf-version, Encoding, Autor, ) SECTION: CLASSES SECTION: TABLES (Linientypen, Schrifttypen, Layer,...) SECTION: BLOCKS (Symboldefinitionen) SECTION: ENTITIES (Geometrieobjekte) SECTION: OBJECTS SECTION: ACDSDATA (ab AC1027, Release 2013/...) 6/19

dxf schreiben bedeutet die Informationen werden auf die verschiedenen 'SECTION' verteilt und dxf lesen verläuft umgekehrt die Informationen werden aus den 'SECTION' zusammengebaut 7/19

Fallbeispiel: Gebäude mit Hausnummer und... In einem PostgreSQL/PostGIS Datenbankmanagementsystem ist eine solche Information tabellarisch in Geometrie und Attribute aufgeteilt. Um diese Information in ein dxf-format zu übersetzen, werden mehrere Objekte (ENTITY) in der SECTION ENTITIES erzeugt: HATCH Schraffur (optional) LWPOLYLINE Umring Gebäude MTEXT Hausnummer MTEXT ggf. weitere Attribute 8/19

Zu jedem ENTITY wird die geometrische Ausprägung, der Layer, die Farbe und ggf. ein Verweis auf den Textstil definiert. Textstil und Layer werden zudem in der SECTION TABLES definiert. Im dxf-format ist eine Beziehung zwischen Geometrie und Attributen nicht vorgesehen. (Ausnahme: Block mit Attributen) Die Beziehung Gebäude und Hausnummer existiert somit nicht mehr. 9/19

Der gleiche Vorgang in die gegenläufige Richtung (Gebäude und Hausnummer in ein PostgreSQL/PostGIS DBMS): Aus den dxf-daten geht keinerlei Beziehung zwischen Umring und dem Text hervor. Auf die Schraffur wird verzichtet, der Umring wird als Polygon und der Text als Punkt mit Attribut Text übersetzt. Sofern die Datenstruktur eindeutig ist kann in einem weiteren Prozessierungsschritt eine Verbindung zwischen dem Polygon und dem Punkt wieder hergestellt werden. 10/19

Mit der OGR-Bibliothek können Daten in jeder dxf-version erstellt werden. Einschränkung: Seit der Version AC1021 (2007) erwartet AutoCAD eine dxf-datei mit Unicodezeichensatz. Hierbei ist völlig egal welcher Zeichensatz in der SECTION HEADER angegeben wird. 11/19

Um eine dxf-datei zu erstellen verwendet OGR eine Headerdatei (Template). Dieses Template ist eine vollständige dxf- Datei. Jedoch ohne Definition in der SECTION ENTITIES. 12/19

Dieses Template kann gezielt angesteuert werden und somit kann auf ein dem Datenmodell angepasstes Template verwiesen werden. Hierin sollten bereits die verwendeten Blocks (Symbole) und Schrift- bzw. Textstile enthalten sein. Layer müssen nicht vorab definiert sein. Vorzugsweise sollte dieses Template bereits mit dem Zielsystem erstellt werden. 13/19

Um Daten aus einem PostgreSQL/PostGIS DBMS in ein dxf-format zu exportieren sind diese räumlich und fachlich zunächst zusammen zu stellen. Hierzu wird eine fachliche Sicht (View) auf die Daten erstellt. 14/19

CREATE OR REPLACE VIEW ogr_dxf AS SELECT ogc_fid AS gid, 'strassennamen'::text AS layer, 'LABEL(t:"' straname '",s:2.5g,a:' drehung ',p:4)'::text AS ogr_style, --Text NULL::text AS blockname, NULL::text AS blockscale, NULL::int AS blockangle, the_geom FROM my_table WHERE the_geom IS NOT NULL UNION SELECT gid, 'gebaeude_schraffur'::text AS layer, 'BRUSH(fc:#0000FF,id:ogr-brush-0)'::text AS ogr_style, --Schraffur Polygon NULL::text AS blockname, NULL::text AS blockscale, NULL::int AS blockangle, the_geom FROM schema.my_table WHERE the_geom IS NOT NULL UNION SELECT gid, 'gebaeude'::text AS layer, 'PEN(c:#141414,w:0.25g)'::text AS ogr_style, --Umring Polygon NULL::text AS blockname, NULL::text AS blockscale, NULL::int AS blockangle, ST_ExteriorRing((ST_Dump(the_geom)).geom) AS the_geom FROM schema.my_table WHERE the_geom IS NOT NULL UNION 15/19

SELECT gid, 'hausnummer'::text AS layer, 'LABEL(t:"' hs_nr '",s:2.5g)'::text AS ogr_style, --Text NULL::text AS blockname, NULL::text AS blockscale, NULL::int AS blockangle, ST_Centroid((ST_Dump(the_geom)).geom) AS the_geom FROM schema.my_table WHERE the_geom IS NOT NULL UNION SELECT ogc_fid AS gid, 'symbol_block'::text AS layer, NULL::text AS ogr_style, --Symbol 'Baum'::text AS blockname, '(10,10,10)'::text AS blockscale, 10::int AS blockangle, --auch numeric the_geom FROM my_table WHERE ST_GeometryType(the_geom) = 'ST_Point' UNION SELECT ogc_fid AS gid, 'linie'::text AS layer, 'PEN(c:#0000FF,w:2g)'::text AS ogr_style, --Linie NULL::text AS blockname, NULL::text AS blockscale, NULL::int AS blockangle, the_geom FROM my_table WHERE ST_GeometryType(the_geom) = 'ST_LineString' ; 16/19

Steuerung OGR ogr2ogr -sql "(SELECT * FROM ogr_dxf)" -f "dxf"...\ogr_dxf.dxf -dsco header=...\header_2013.dxf optional -clipsrc 2558500 5676000 2561000 5678500 "PG:dbname=my_db host=localhost user=ich password=xxx schemas=public tables=public.ogr_dxf" 17/19

Quellen: http://www.gdal.org/ogr/ogr_feature_style.html http://gis.uster.ch/dokumentation/datenkonvertierung/ogr http://postgis.net/docs/manual-2.0/ 18/19

Vielen Dank für ihre Aufmerksamkeit 19/19