OGR: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(PostgreSQL/PostGIS-Reader und -Writer)
K (Weitere Dateiformate)
 
(132 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''OGR Simple Feature Library''':
+
OGR (ausgesprochen "Oger") ist eine ansehnliche Sammlung von Werkzeugen, namentlich OGR2OGR, die Lese- und manchmal Schreib-Zugriffe zu einer Vielzahl von Vektor-Dateiformaten, Datenbanken und übers Internet anbieten (OGR Simple Feature Library). OGR ist Teil der [[GDAL]]-Rasterformate-Bibliothek, die typischerweise über die Kommandozeile gesteuert werden.
 
 
OGR ist eine ansehnliche Sammlung von Werkzeugen, namentlich OGR2OGR, die Lese- und manchmal Schreib-Zugriffe
 
zu einer Vielzahl von Vektor-Dateiformaten, Datenbanken und übers Internet anbieten. OGR ist Teil der [[GDAL]]-Rasterformate-Bibliothek, die wiederum in den [[FWTools]] (C++ Open Source-Programme von Frank Warmerdam) zusammengefasst sind und typischerweise über die Kommandozeile gesteuert werden.
 
  
 
Siehe auch:  
 
Siehe auch:  
 +
* [http://www.gdal.org/ogr/ OGR Homepage]
 +
* '''[[HowTo OGR2OGR]]''' (OGR - Tipps und Tricks), [[OGR-Tools]]
 
* [[GDAL]]
 
* [[GDAL]]
* [[Datenkonverter]]
+
* [[GeoConverter]] und allgemein [[GIS-Konverter]] und [[GIS-Datei-Format]]e
* shp2pgsql für [[PostGIS]].
 
  
;OGR2OGR: OGR2OGR ist ein sog. 'starrer' Konverter (1:1-Mapping), der auch Funktionen bzw. SQL-Befehle interpretieren kann - auch ohne Datenbank. SQL-Anfragen an SQL-fähige Treiber (z.B. [[PostgreSQL]], [[Personal Geodatabase]]) werden direkt weitergeleitet, so dass die ganze Funktionalität des beteiligten Datenbank-Treibers zugänglich ist.
+
 
 +
== Über OGR ==
 +
 
 +
;Was ist OGR?: OGR2OGR ist ein sog. 'starrer' Konverter (1:1-Mapping), der auch Funktionen bzw. SQL-Befehle interpretieren kann - auch ohne Datenbank. SQL-Anfragen an SQL-fähige Treiber (z.B. [[PostgreSQL]]/[[PostGIS]], [[Personal Geodatabase]]) werden direkt weitergeleitet, so dass die ganze Funktionalität des beteiligten Datenbank-Treibers zugänglich ist (vgl. Kapitel über SQL unten).
 +
 
 +
;Grundbegriffe von OGR: OGR wurde auf Basis der OpenGIS "Simple Features"-Spezifikation entworfen. Diese definiert im Wesentlichen eine Geodaten-Architektur und ein Geometrie-Typenmodell. Dieses Geometrie-Typenmodell enthält Definitionen über (Feature) Klassen, Datentypen und Methoden. Geometrietypen sind spezielle Datentypen (siehe auch [[WKT]]). Ein Feature kapselt ein vollständiges (Geo-)Objekt mit seiner Geometrie und seinen Sachattributen. Eine Feature Class-Definition enthält die Struktur-Informationen (d.h. Felder-Definitionen) einer ganzen Gruppe von Features-Objekten, d.h. ein ganzer Layer. Ein Layer-Objekt ist also eine Sammlung von Feature-Objekten derselben Feature Klasse. Einer Geometrie und damit auch einem Layer (und einer Feature Klasse) ist ein [[Koordinatensystem]] zugeordnet. Layers stammen von einer Datenquelle. Eine Datenquelle repräsentiert eine Datei oder eine Datenbank und kann eine oder mehrere Layer enthalten. Man beachte, dass 'layer' und 'feature' (und Objekt) im Wesentlichen identisch sind.
  
 
;Hilfe/Community: Die Dokumentation von OGR geht etwas in GDAL/FWTools unter (Link siehe unten). Wer Hilfe braucht, sollte sich zuerst diese anschauen und kann sich dann an die [http://lists.maptools.org/mailman/listinfo/fwtools FWTools-Mailingliste] wenden, die sich auch mit OGR befasst und an GDAL/Maptools anlehnt. Hilft das nicht weiter, steht das GISpunkt HSR-Team gerne zur Seite.
 
;Hilfe/Community: Die Dokumentation von OGR geht etwas in GDAL/FWTools unter (Link siehe unten). Wer Hilfe braucht, sollte sich zuerst diese anschauen und kann sich dann an die [http://lists.maptools.org/mailman/listinfo/fwtools FWTools-Mailingliste] wenden, die sich auch mit OGR befasst und an GDAL/Maptools anlehnt. Hilft das nicht weiter, steht das GISpunkt HSR-Team gerne zur Seite.
  
== Software ==
+
;GDAL, FWTools und OSGeo: OGR wird als Teil GDAL und diese als Teil der [http://fwtools.maptools.org/ FWTools] verteilt (Linux und Windows-Version). Immer mehr Open Source-Software (darunter bald auch OGR) wird auch über die [http://wiki.osgeo.org/index.php/OSGeo_Binary_Distribution OSGeo Binary Distribution] verteilt.
 +
 
 +
;Gibt es weitere Werkzeuge für OGR?: Ja, z.B. ein grafisch-interaktives Frontend namens [http://www.inventis.ca/ogr2gui/index_en.htm ogr2gui] (Windows, Opensource) und natürlich die Webapplikation [[GeoConverter]].
 +
 
 +
== Installation OSGeo4W ==
  
OGR wird als Teil GDAL und diese als Teil der [http://fwtools.maptools.org/ FWTools] verteilt (Linux und Windows-Version)).
+
OGR wird vorwiegend von Programmierern entwickelt, die Linux als Entwicklungsumgebung verwenden. Die Unterstützung von Windows steht daher etwas zurück. OSGeo4W ermöglicht eine einfach Installation auch unter Windows und umfasst eine Reihe von nützlichen Tools. Genau so einfach gestaltet sich die Installation von FWTools (s. nächstes Kapitel), jedoch wird dieses Softwarepaket zurzeit nicht mehr aktualisiert.
  
Immer mehr Open Source-Software (darunter bald auch OGR) wird auch über die [http://wiki.osgeo.org/index.php/OSGeo_Binary_Distribution OSGeo Binary Distribution] verteilt.
+
Download (Windows):
 +
* [https://trac.osgeo.org/osgeo4w/ OSGeo4W (enthaltend u.a. OGR)]
  
=== Installation ===
+
== Installation FWTools ==
  
OGR wird vorwiegend von Programmierern entwickelt, die Linux als Entwicklungsumgebung verwenden. Die Unterstützung von Windows steht daher etwas zurück. Wir helfen gerne bei Fragen.
+
  VERALTET!
  
Installation unter Windows:
+
<del>Download (Windows): [http://fwtools.maptools.org/ FWTools (enthaltend u.a. OGR)], direkt: http://home.gdal.org/fwtools/ .</del>
 +
 
 +
Installation (Windows):
 
* Schritt 1: FWTools in ein (temporäres) Verzeichnis downloaden und installieren, z.B. in C:\Program Files\FWTools1.3.9
 
* Schritt 1: FWTools in ein (temporäres) Verzeichnis downloaden und installieren, z.B. in C:\Program Files\FWTools1.3.9
 
* Schritt 2: Arbeitsverzeichnis anlegen, z.B. C:\work\OGR\
 
* Schritt 2: Arbeitsverzeichnis anlegen, z.B. C:\work\OGR\
Zeile 38: Zeile 48:
 
* Jetzt sollte OGR - und die anderen FWTools - bereit sein. Einige Beispiele sind unten angegeben.
 
* Jetzt sollte OGR - und die anderen FWTools - bereit sein. Einige Beispiele sind unten angegeben.
  
=== Dokumentation ===
+
== Dokumentation ==
  
 
* Original-Websites:
 
* Original-Websites:
Zeile 45: Zeile 55:
 
** [http://lists.maptools.org/pipermail/fwtools/ Mailing list]
 
** [http://lists.maptools.org/pipermail/fwtools/ Mailing list]
 
* Dokumentation der OGR-Werkzeuge und -Tools:
 
* Dokumentation der OGR-Werkzeuge und -Tools:
 +
** [[HowTo OGR2OGR]] und [http://trac.osgeo.org/gdal/wiki/FAQVector FAQ OGR]
 
** [http://www.gdal.org/ogr/ogr2ogr.html ogr2ogr]-Konverter
 
** [http://www.gdal.org/ogr/ogr2ogr.html ogr2ogr]-Konverter
 
** [http://www.gdal.org/ogr/ogrinfo.html ogrinfo]-Tool
 
** [http://www.gdal.org/ogr/ogrinfo.html ogrinfo]-Tool
 +
** [http://www.bostongis.com/PrinterFriendly.aspx?content_name=ogr_cheatsheet OGR Cheatsheet] von Boston GIS
 
* Spezielle Themen:
 
* Spezielle Themen:
 
** [http://www.gdal.org/ogr/osr_tutorial.html Koordinatenreferenzsysteme] CRS/SRS/PRJ
 
** [http://www.gdal.org/ogr/osr_tutorial.html Koordinatenreferenzsysteme] CRS/SRS/PRJ
 
** [http://www.gdal.org/ogr/ogr_sql.html OGR SQL]
 
** [http://www.gdal.org/ogr/ogr_sql.html OGR SQL]
* Weitere Tutorien/HowTos:
 
** [http://www.bostongis.com/PrinterFriendly.aspx?content_name=ogr_cheatsheet OGR Cheatsheet] von Boston GIS
 
  
 
== Dateiformate ==
 
== Dateiformate ==
  
 
=== Übersicht ===
 
=== Übersicht ===
 
 
{| class="prettytable sortable"
 
{| class="prettytable sortable"
|+ style="padding-bottom:1em;" | Tabelle: OGR-Driver (Quelle: [http://www.gdal.org/ogr/ogr_formats.html OGR-Website])
+
|+ style="padding-bottom:1em;" | Übersichts-Tabelle: OGR-Driver (Quelle: [http://www.gdal.org/ogr/ogr_formats.html OGR-Website])
|- class="hintergrundfarbe5"
+
|- bgcolor="#e0e0e0"
! width="10%"|Driver-Name || width="10%"|File-Ext. || width="15%"|Reader/Writer  || class="unsortable"|Beispiel|| Beschreibung
+
! width="10%"|Driver-Name || width="10%"|File-Ext. || width="5%"|R./W. || KRS || Grafik || class="unsortable"|Beschreibung
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_ili.html Interlis 1]          || .[[ITF]],.[[ILI]]    || Reader || s.unten || [[INTERLIS]] 1; Datei ili2c.jar zusätzlich installieren (vgl. [[INTERLIS]]). In ITF-Datei darf keine Zeile 'TOPI Topic' stehen (mit Editor abändern). In ILI-Datei dürfen Attributnamen nicht res. INTERLIS-Schlüsselwörtersein, z.B. nicht TYPE oder NAME.  
+
| [http://www.gdal.org/ogr/drv_ili.html Interlis 1]          || .[[ITF]],.[[ILI]]    || Reader || n/a. || nein || [[INTERLIS]] 1; Datei ili2c.jar zusätzlich installieren (vgl. [[INTERLIS]]). In ITF-Datei darf keine Zeile 'TOPI Topic' stehen (mit Editor abändern). In ILI-Datei dürfen Attributnamen nicht res. INTERLIS-Schlüsselwörtersein, z.B. nicht TYPE oder NAME.  
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_ili.html Interlis 1]          || .[[ITF]]              || Writer || s.unten || [[INTERLIS]] 1 ([[ITF]]/[[ILI]]); schreibt fälschlicherweise noch 'TOPI Topic' ins ITF.   
+
| [http://www.gdal.org/ogr/drv_ili.html Interlis 1]          || .[[ITF]]              || Writer || ja  ||nein|| [[INTERLIS]] 1 ([[ITF]]/[[ILI]]); schreibt fälschlicherweise noch 'TOPI Topic' ins ITF.   
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_ili.html Interlis 2]          || .[[XML]],.[[ILI]]    || Reader || s.unten || [[INTERLIS]] 2; ili2c.jar zusätzlich installieren
+
| [http://www.gdal.org/ogr/drv_ili.html Interlis 2]          || .[[XML]],.[[ILI]]    || Reader || n/a. ||nein|| [[INTERLIS]] 2; ili2c.jar zusätzlich installieren
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_ili.html Interlis 2]          || .[[XML]],.[[ILI]]    || Writer || s.unten || [[INTERLIS]] 2; z.Zt. nur beschränkt benutzbar (u.a. wegen ILI Version 2.2!)
+
| [http://www.gdal.org/ogr/drv_ili.html Interlis 2]          || .[[XML]],.[[ILI]]    || Writer || ja  ||nein|| [[INTERLIS]] 2; z.Zt. nur beschränkt benutzbar (u.a. wegen ILI Version 2.2!)
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_csv.html CSV]                || .[[CSV]],(.vrt)       || Reader || s.unten || Comma Separated Value (vgl. auch VRT und die OGR SQL unten)  
+
| [http://www.gdal.org/ogr/drv_csv.html CSV]                || .[[CSV]],(.vrt,.csvt) || Reader || n/a. ||nein|| Comma Separated Value (CSV), vgl. auch "WKT" unten, sowie [[VRT]] und das Kapitel über "SQL-Queries" unten.  
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_csv.html CSV]                || .[[CSV]],(.vrt)      || Writer || s.unten || Comma Separated Value (vgl. auch VRT und die OGR SQL unten)
+
| [http://www.gdal.org/ogr/drv_csv.html CSV]                || .[[CSV]]             || Writer || nein ||nein|| Comma Separated Value (CSV). Durch einen SQL-Befehl (-sql "select *,OGR_GEOM_WKT FROM ...") kann auch [[WKT]]-Geometrie geschrieben werden.
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_shapefile.html ESRI Shapefile]|| .[[SHP]],.[[DBF]],.shx|| Reader || s.unten || [[Shapefile]] ([[SHP]])
+
| [http://www.gdal.org/ogr/drv_shapefile.html ESRI Shapefile]|| .[[SHP]],.[[DBF]],.shx|| Reader || n/a. ||nein|| [[Shapefile]] ([[SHP]])
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_shapefile.html ESRI Shapefile]|| .[[SHP]],.[[DBF]],.shx|| Writer || s.unten || [[Shapefile]] ([[SHP]])
+
| [http://www.gdal.org/ogr/drv_shapefile.html ESRI Shapefile]|| .[[SHP]],.[[DBF]],.shx|| Writer || ja  ||nein|| [[Shapefile]] ([[SHP]]). Falls Quellformat Angaben zum SRS enthält, wird auch eine [[PRJ]]-Datei erzeugt.
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_gml.html GML]                || .[[GML]]              || Reader || s.unten || Geographic Markup Language [[GML]] v.2.0(!)
+
| [http://www.gdal.org/ogr/drv_gml.html GML]                || .[[GML]]              || Reader || n/a. ||nein|| Geographic Markup Language [[GML]] v.2.0(!)
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_gml.html GML]                || .[[GML]]              || Writer || s.unten || Geographic Markup Language [[GML]] v.2.0(!)
+
| [http://www.gdal.org/ogr/drv_gml.html GML]                || .[[GML]]              || Writer || ja  ||nein|| Geographic Markup Language [[GML]] v.2.0(!)
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_gpx.html GPX]                || .[[GPX]]              || Reader || s.unten || GPS Exchange Format [[GPX]]; ACHTUNG: ab FWTools 2.0.1 auf Windows (expat-Problem)
+
| [http://www.gdal.org/ogr/drv_gpx.html GPX]                || .[[GPX]]              || Reader || n/a. ||(ja)|| GPS Exchange Format [[GPX]]; ACHTUNG: ab FWTools 2.0.1 auf Windows (expat-Problem)
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_gpx.html GPX]                || .[[GPX]]              || Writer || s.unten || GPS Exchange Format [[GPX]]; ab FWTools 2.0.1 auf Windows;  
+
| [http://www.gdal.org/ogr/drv_gpx.html GPX]                || .[[GPX]]              || Writer || ja  ||(ja)|| GPS Exchange Format [[GPX]]; ab FWTools 2.0.1 auf Windows;  
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_kml.html KML]                || .[[KML]]              || Writer || s.unten || Keyhole Markup Language [[KML]]. Kein Reader vorhanden.   
+
| [http://www.gdal.org/ogr/drv_kml.html KML]                || .[[KML]]              || Writer || nein || ja || Keyhole Markup Language [[KML]]. Writer berücksichtig zwar kein SRS transformiert aber autom. nach WGS84. Kein Reader vorhanden.   
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_mitab.html MapInfo File]      || .[[MIF]],.MID        || Reader || s.unten || MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) plus .TAB (binär).   
+
| [http://www.gdal.org/ogr/drv_mitab.html MapInfo File]      || .[[MIF]],.MID        || Reader || n/a. ||nein|| MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) (siehe auch .TAB, binär).   
|-
+
|- bgcolor="#eeeeee"
| [http://www.gdal.org/ogr/drv_mitab.html MapInfo File]      || .[[MIF]],.MID        || Writer || s.unten || MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) plus .TAB (binär).   
+
| [http://www.gdal.org/ogr/drv_mitab.html MapInfo File]      || .[[MIF]],.MID        || Writer || ja  || ja || MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) (siehe auch .TAB, binär).   
|-
+
|-  
 
|}
 
|}
  
 
=== Weitere Dateiformate ===
 
=== Weitere Dateiformate ===
Informationen zu weiteren Dateiformaten (alphabetisch):
+
Ungeordnete Liste:
 +
* INTERLIS
 +
** Die aktuelle Version 2.3 könnte voraussichtlich im April 2008 bereit sein.
 +
* Well Known Text (WKT)
 +
** Siehe CSV Reader. Wenn ein Feld "WKT" heisst, nimmt der Driver an, dass dieses als [[WKT]] formatierte Geometrie enthalten ist.
 +
* XML-Formate:
 +
** XML sind 'streng' definierte ASCII-Formate, die sich u.a. validieren, d.h. automatisch testen lassen. Einige XML-Reader achten z.B. streng darauf, dass wenn UTF-8 angegeben ist, die Datei auch in UTF-8 codiert ist.
 
* ASCII-Formate:
 
* ASCII-Formate:
 
** [http://www.gdal.org/ogr/drv_dxfdwg.html DXF/DWG Writer (*)] (.dxf/.dwg) - AutoCAD [[DXF]]/DWG-Format v.12/13/14/15/18. (*) Writer nur verfügbar, wenn neu mit zusätzlicher Library kompiliert (ACHTUNG: daher z.Zt. nicht in der Windows-Distribution enthalten)
 
** [http://www.gdal.org/ogr/drv_dxfdwg.html DXF/DWG Writer (*)] (.dxf/.dwg) - AutoCAD [[DXF]]/DWG-Format v.12/13/14/15/18. (*) Writer nur verfügbar, wenn neu mit zusätzlicher Library kompiliert (ACHTUNG: daher z.Zt. nicht in der Windows-Distribution enthalten)
 +
** Hinweis: There's a patch in trac for a - write-only - DXF driver for OGR: http://trac.osgeo.org/gdal/ticket/2555. There's also a previous DXF driver now living in 'spike' (because of licencing reasons), with only writing capabilities too: http://trac.osgeo.org/gdal/browser/spike/dxfdwg
 
** [http://www.gdal.org/ogr/drv_vrt.html VRT Reader] (VRT, .vrt) - Virtual Datasource; nützlich z.B. für CSV mit Geometrien!
 
** [http://www.gdal.org/ogr/drv_vrt.html VRT Reader] (VRT, .vrt) - Virtual Datasource; nützlich z.B. für CSV mit Geometrien!
 
** [http://mateusz.loskot.net/2007/11/06/ogr-geojson-driver/ GeoJSON Reader] ([[GeoJSON]], .js) - Textuelles Format => (NEU!)  
 
** [http://mateusz.loskot.net/2007/11/06/ogr-geojson-driver/ GeoJSON Reader] ([[GeoJSON]], .js) - Textuelles Format => (NEU!)  
 
* Binäre Dateiformate:
 
* Binäre Dateiformate:
 +
** [[GeoPackage]] ([http://www.gdal.org/ogr/drv_geopackage.html])
 
** Microstation (DGN)
 
** Microstation (DGN)
 +
** [http://www.gdal.org/ogr/drv_pgeo.html PGeo Reader]: ESRI Personal GeoDatabase (.mdb) - ESRI Personal GeoDatabase lesen. Dieses Format ist unter Windows z.Zt. nur via ODBC (PGeo) verfügbar. Siehe auch [[HowTo OGR2OGR]] sowie MS Access unten.
 
* Datenbanken:
 
* Datenbanken:
 
** [http://www.gdal.org/ogr/drv_pg.html PostgreSQL PG:... Reader + Writer] (Datenbank) - [[PostgreSQL]]
 
** [http://www.gdal.org/ogr/drv_pg.html PostgreSQL PG:... Reader + Writer] (Datenbank) - [[PostgreSQL]]
** [http://www.gdal.org/ogr/drv_odbc.html ODBC:dsn Reader] (Datenquelle) - Für die meisten relationalen Datenbanksysteme verfügbar, u.a. MS Access (.mdb)
+
** [http://www.gdal.org/ogr/drv_odbc.html ODBC:dsn Reader] (Datenquelle) - Für die meisten relationalen Datenbanksysteme verfügbar, u.a. MS Access
** [http://www.gdal.org/ogr/drv_pgeo.html MDB (PGeo) Reader] (.mdb) - Personal Geodatabase (PGEo) lesen. Dieses Format ist unter Windows z.Zt. nicht verfügbar (ausser via ODBC).
 
 
** MySQL
 
** MySQL
 
** ORACLE
 
** ORACLE
  
== HowTo... ==
+
== OGR-Werkzeuge ==
  
=== INTERLIS 1-Reader und -Writer ===
+
=== ogr2gui ===
  
Vorbereitungen:
+
Graphical user interface for ogr2ogr.
* Unter Windows ev. setfw.bat ausführen, damit die Programme im System-Pfad sind und gefunden werden.
+
* [http://www.ogr2gui.ca/en/ www.ogr2gui.ca Homepage & Download].
* Fehlt die .ili-Datei, muss diese zuerst erstellt, bzw. organisiert werden. Ev. muss diese "erraten" (d.h. "reverse engineered") werden, z.B. mit Hilfe von OGRINFO.
+
* Allows also batch processing.
 +
* Source code as well as the binary executables for Windows and Linux available.
  
==== INTERLIS 1 nach Shapefile ====
+
=== ogr2ogr ===
Konvertieren von [[INTERLIS]] 1-Dateien (.itf und .ili) nach [[Shapefile]].
 
* Input-Dateien: ili-bsp.itf und ili-bsp.ili
 
* Resultat.....: Für jede INTERLIS 1-Tabelle wird im Output-Verzeichnis shpdir/ ein Shapefile (.shp, .dbf und .shx) erzeugt. 
 
  
  > ogr2ogr -f "ESRI Shapefile" shpdir ili-bsp.itf,ili-bsp.ili
+
Quelle: http://www.gdal.org/ogr2ogr.html
  
Hinweise:
+
  Usage: ogr2ogr [-skipfailures] [-append] [-update] [-f format_name]
* Allfällige Warnung "Info: Folder D:\daten_eigene2\OGR\demo\standard doesn't exist; ignored" ignorieren.
+
                [-select field_list] [-where restricted_where]
* Es wird immer ein .dbf erzeugt, auch wenn keine Sachdaten vorhanden sind.
+
                [-sql <sql statement>] [--help-general]
* Speziell: Beschriftungen werden in separaten Tabellen verwaltet. Das bedingt eine nachträgliche Bearbeitung (Konverter wie FME machen das im Rahmen des Konvertierung-Schrittes). Die Erzeugung von Sichten (JOINs) aufgrund von Beziehungen zwischen Tabellen sind nicht Bestandteil einer Datenbeschreibung und der Daten (einfaches SQL schon; siehe unten).
+
                [-spat xmin ymin xmax ymax] [-preserve_fid] [-fid FID]
* Problem behoben (Behandlung von INTERLIS-Referenzattributen (->), die aus anderen Tabellen auf das Input-Shapefile "zeigen").
+
                [-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]
 +
                [[-dsco NAME=VALUE] ...] dst_datasource_name
 +
                src_datasource_name
 +
                [-lco NAME=VALUE] [-nln name] [-nlt type] [layer [layer ...]]
  
==== Shapefile nach INTERLIS 1 ====
+
Häufig gebrauchte Optionen:
Konvertieren von [[Shapefile]] nach [[INTERLIS]] 1-Dateien (.itf).
+
;-skipfailure: Bei Fehler weiter-konvertieren.
* Input: bahnhoefe.itf und bahnhoefe.ili
+
;-f format_name: Output-Dateiformat-Name. Siehe oben.
* Resultat: Eine INTERLIS 1-Datei Bahnhoefe.itf mit vom Programm generierten Transfer-Identifikatoren (TID).
+
;-select field_list: Comma-delimited list of fields from input layer to copy to the new layer (defaults to all)
 +
;-sql sql_statement: SQL statement to execute. The resulting table/layer will be saved to the output.
 +
;-where restricted_where: Attribute query (like SQL WHERE)
 +
;-spat xmin ymin xmax ymax: spatial query extents (x und y korrespondieren typischerweise zu lon/lat)
 +
;-dsco NAME=VALUE: Dataset creation option, format-spezifisch (dsco= DataSet Creation Option)
 +
;-lco NAME=VALUE: Layer creation option, format-spezifisch (lco= Layer Creation Option)
 +
;-nlt type: Define the geometry type for the created layer (nlt= New Layer Type). One of NONE, GEOMETRY, POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT, MULTILINE, MULTIPOLYGON or MULTILINESTRING. Add "25D" to the name to get 2.5D versions.  
 +
;-nln name: Neuer Name dem Output Layer geben (nln= New Layer Name)
 +
;-t_srs srs_def: Reproject/transform to this spatial reference system (SRS, [[Koordinatensystem]]) on output (t_srs= Transform SRS)
  
  > ogr2ogr -f "INTERLIS 1" Bahnhoefe.itf Bahnhoefe.shp
+
Seltenere Optionen:
 +
;-append: Zu bestehendem Layer hinzufügen (Append) anstelle einen neuen zu erzeugen versuchen (falls vom Treiber unterstützt).
 +
;-overwrite: Output Layer löschen vor dem Schreiben (falls vom Treiber unterstützt).
 +
;-update: Existierender Output Layer mit Daten ergänzen (Unterschied zu append?).
 +
;-a_srs srs_def: Assign an output spatial reference system (SRS, [[Koordinatensystem]]) (a_srs= Assign SRS).
 +
;-s_srs srs_def: Override source spatial reference system (SRS, [[Koordinatensystem]]) (s_srs= Source SRS)
 +
;-fid fid: If provided, only the feature with this feature id will be reported (fid= Feature ID). Operates exclusive of the spatial or attribute queries.
  
Hinweise:
+
=== ogrinfo ===
* Schreibt fälschlicherweise noch 'TOPI Topic' (ca. Zeile 6) ins ITF. Unbedingt mit Editor abändern.
 
* Sollte in Zukunft auch ein .ILI generieren, denn die Informationen aus dem Shapefile (DBF) sind bekannt; siehe ogrinfo.
 
  
=== INTERLIS 2-Reader und -Writer ===
+
Dokumentation im Web: [http://www.gdal.org/ogrinfo.html ogrinfo].
  
Vorbereitungen: siehe INTERLIS 1-Reader und -Writer.
+
Mit dem ogrinfo-Tool kann man Schema-Informationen über die unterstützten Formate abfragen.
  
Shape to INTERLIS 2 (xml) mit .ili-file:
+
  Usage: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where]
* Input.: one Shape including shp-, shx- and dbf-file
+
                [-spat xmin ymin xmax ymax] [-fid fid]
* Output: one INTERLIS 2.2 xml-file
+
                [-sql statement] [-al] [-so] [--formats]
 +
                datasource_name [layer [layer ...]]
  
  > ogr2ogr -f "INTERLIS 2" Bahnhoefe.xml,Bahnhoefe.ili Bahnhoefe.shp
+
Wichtige Optionen:
 +
* -ro: Open the data source in read-only mode.
 +
* -so: Summary Only.
 +
* -al: Zeige alle Layers ab (All Layers). Wird durch den Parameter layer überschrieben.
 +
* layer: One or more layer names may be reported.
  
INTERLIS 2 (.xml) to Shape without INTERLIS model ***
+
Zeige alle Attribute eines Shapefile (es gibt nur einen Layer):
* Input.: zpl_k23.xml
+
   > ogrinfo -so -al Bahnhoefe.shp
* shapefiles in shpdir2/
 
 
 
  > ogr2ogr -f "ESRI Shapefile" shpdir2 zpl_k23.xml
 
 
 
=== KML-Writer mit SQL- und BBox-Optionen ===
 
 
 
[[KML]] ist ein Mix von Formattierung und Geometrie-/Sachdaten. Es gibt keinen KML-Reader.
 
 
 
Konvertiere Shapefile nach KML
 
  > ogr2ogr -f KML Bahnhoefe.kml Bahnhoefe.shp
 
 
 
Konvertiere Shapefile nach KML mit den dsco-Optionen NameField (setzt das Namensfeld des Markers) und AltitudeMode, das im GE die Höhe gemäss Intputdaten (und nicht Geländemodell-anschmiegend) anzeigen lässt (Hinweis: eine einzige Zeile ohne Zeilenumbruch).
 
  > ogr2ogr -f KML Bahnhoefe.kml Bahnhoefe.shp -dsco NameField=Name -dsco AltitudeMode=absolute
 
 
 
Shapefile nach KML mit SQL ohne Geometrie (selektiere alle Bahnhöfe der Ostschweiz):
 
  > ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level,
 
    cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'"
 
 
 
Shapefile nach KML mit BBox-Option (Region Zürich):
 
  > ogr2ogr -spat 8.38 47.81 8.83 47.30 -f KML output.kml input.shp
 
 
 
=== PostgreSQL/PostGIS-Reader und -Writer ===
 
 
 
Tipp: Das mit [[PostGIS]] mitgelieferte Werkzeug shp2pgsql (siehe [[PostGIS_-_Tipps_und_Tricks]]) ist einfacher in der Bedienung als ogr2ogr.
 
 
 
PostgreSQL-DB nach Shapefile konvertieren:
 
* Input: PostgreSQL/PostGIS-Datenbank gisdb
 
* Resultat: out.gml-Datei
 
 
 
  > ogr2ogr -f gml out.gml PG:"host=localhost dbname=gisdb"
 
  Warning 1: Multi-column primary key in 'towns' detected but not supported.
 
 
 
Hinweis: Diese Warnung ist offensichtlich falsch, denn es gibt keinen primary key in dieser DB(?)
 
 
 
PostgreSQL-DB nach KML konvertieren und dabei Linien vereinfachen (simplify):
 
 
 
  > ogr2ogr -sql "select admin, case when area(the_geom) > 3000000000 then
 
    transform(simplify(the_geom, 4), 4030) else transform(simplify(the_geom,
 
    0.01), 4030) end from utlanduse" -f kml out.kml PG:"host=localhost
 
    dbname=statewide user=xxx password=xxx"
 
 
 
Hinweis: user und password müssen noch gesetzt werden.
 
 
 
=== CSV-Reader und Writer (mit/ohne WKT) ===
 
 
 
Dokumentation:
 
* [[WKT]]
 
 
 
  > ogr2ogr -f CSV out Bahnhoefe.shp -sql "select *,OGR_GEOM_WKT from Bahnhoefe"
 
 
 
==== Variante mit lat/lon-Punktgeometrie ====
 
 
 
Angenommen folgende CSV-Datei sample1.csv existiere:
 
 
 
  lon,lat,value
 
  -81.0,32.0,13
 
  -82.0,33.0,14
 
  -83.0,34.0,15
 
 
 
* Erzeuge Shapefile layer1 aus der sample1.dbf mit Hilfe der Konfigurationsdatei sample1.vrt ([http://www.gdal.org/ogr/drv_vrt.html VRT]).
 
 
 
  % ogr2ogr -f "ESRI Shapefile" sample1_dir sample1.vrt
 
 
 
* sample1.vrt-Datei (Erzeugt layer1.dbf, layer1.shp, layer1.shx und layer1.prj):
 
 
 
  <OGRVRTDataSource>
 
    <OGRVRTLayer name="layer1">
 
      <SrcDataSource relativeToVRT="1">sample1_dir</SrcDataSource>
 
      <SrcLayer>sample1</SrcLayer>
 
      <GeometryType>wkbPoint</GeometryType>
 
      <LayerSRS>WGS84</LayerSRS>
 
      <GeometryField encoding="PointFromColumns" x="lon" y="lat"/>
 
    </OGRVRTLayer>
 
  </OGRVRTDataSource>
 
 
 
==== Variante mit Geometrieattribut im WKT-Format ====
 
 
 
Gegeben Datei sample2.csv (CSV) mit Geometrien codiert in [[WKT]]:
 
 
 
  ID,VALUE,THEGEOM
 
  1, Wert 1, "POINT(12.375 49.618)"
 
  2, Wert 3, "POINT(16.198 50.431)"
 
  3, Wert 3, "POINT(19.628 51.389)"
 
 
 
Konvertiere CSV zu ESRI Shapefile:
 
 
 
  > ogr2ogr -f "ESRI Shapefile" sample2_dir sample2.vrt
 
 
 
wobei die [http://www.gdal.org/ogr/drv_vrt.html VRT]-Definition sample2.vrt wie folgt ist:
 
 
 
  <OGRVRTDataSource>
 
      <OGRVRTLayer name="sample2">
 
          <SrcDataSource relativeToVRT="0">sample2.csv</SrcDataSource>
 
          <SrcLayer>sample2</SrcLayer>
 
          <GeometryType>wkbPoint</GeometryType>
 
          <GeometryField encoding="WKT" field="THEGEOM" />
 
          <LayerSRS>epsg:4326</LayerSRS>
 
      </OGRVRTLayer>
 
  </OGRVRTDataSource>
 
 
 
Variante mit LineString:
 
 
 
.csv:
 
  ID,THEGEOM
 
  1,"LINESTRING(12.375 49.618, 12.380 49.61, 12.474 49.634)"
 
  2,"LINESTRING(16.198 50.431, 16.205 50.434, 16.334 50.405)"
 
  3,"LINESTRING(19.628 51.389, 20.278 51.782, 20.350 51.840)"
 
 
 
.vrt:
 
          <GeometryType>wkbLineString</GeometryType>
 
 
 
=== GPX-Reader und -Writer ===
 
 
 
Konvertiere GPX nach Shapefile:
 
 
 
  > ogr2ogr -f "ESRI Shapefile" tmpdir t.gpx
 
 
 
Konvertiere Shapefile nach GPX:
 
 
 
  > ogr2ogr -f "GPX" t2.gpx bahnhoefe.shp
 
 
 
Beispiel mit Attributen in <extensions>.
 
 
 
  > ogr2ogr -f "GPX" t2.gpx -dsco GPX_USE_EXTENSIONS=YES bahnhoefe.shp
 
 
 
Hinweise zum GPX-Writer:
 
* Falls "ERROR 6..." auftritt siehe GPX_USE_EXTENSIONS.
 
* GPX_USE_EXTENSIONS=YES gibt Attribute in XML-Element extensions aus.
 
* FORCE_GPX_TRACK=YES: Ändere das Mapping "LineString => GPX Routes" nach "LineString => GPX Tracks"
 
* FORCE_GPX_ROUTE=YES: Ändere das Mapping "MultiLineString => GPX Tracks" nach "MultiLineString => GPX Routes" (falls MultiLineString nur eine einzige Linie sind)
 
 
 
Über GPX: GPX kennt WayPoints, Routes und Tracks. Weitere Attribute können in einem extensions-Attribut versorgt werden (GPX_USE_EXTENSIONS). Default Geometrie-Typen-Mapping OGR-intern nach GPX:
 
* Point => GPX Waypoints (<wpt>)
 
* LineString => GPX Routes (<rte>)
 
* MultiLineString => GPX Tracks (<trk>).
 
* Andere Geometrietpen sind nicht unterstützt.
 
 
 
=== GML-Reader und -Writer ===
 
 
 
Shapefile nach GML konvertieren:
 
 
 
  > ogr2ogr -f GML bahnhoefe.gml bahnhoefe.shp
 
 
 
GML nach Shapefile konvertieren:
 
 
 
   > ogr2ogr -f "ESRI Shapefile" tmpdir bahnhoefe.gml
 
 
 
Hinweis: Falls folgender Fehler auftritt "ERROR 1: XML Parsing Error: An exception occurred! Type:UTFDataFormatException, Message: invalid byte 2 (g) of a 4-byte sequence." dann ist die Datei nicht im UTF-8-Encoding gespeichert. Das kann ggf. mit einem Werkzeug (Editor) korrigiert werden.
 
 
 
=== MapInfo MIF/MID-Reader und -Writer ===
 
 
 
Konvertiere Shapefile nach MapInfo Files MIF/MID (erzeugt bahnhoefe.mif und bahnhoefe.mid im Unterverzeichnis .\tmp\). Wenn FORMAT=MIF fehlt, werden die binären TAB-Dateien erzeugt:
 
 
 
  > ogr2ogr -f "MapInfo File" tmp -dsco FORMAT=MIF bahnhoefe.shp
 
 
 
Konvertiere alle MapInfo-Dateien MIF/MID im Unterverzeichnis .\tmp\ (z.B. die Dateien bahnhoefe.mif und bahnhoefe.mid) nach Shapefile im selben Unterverzeichnis:
 
 
 
  > ogr2ogr -f "ESRI Shapefile" tmp tmp
 
 
 
== SRS-Option (Koordinatentransformation) ==
 
 
 
Transformiere Shapefile im CH1903- nach WGS84-CRS:
 
 
 
Dokumentation:
 
* EPSG:4326 steht für WGS84, also GPS-Koordinaten
 
* Eine Liste aller EPSG-Codes befindet sich in der Datei gcs.csv im data-Verzeichnis der FWToos (z.B. ).
 
* [[EPSG]]
 
* [[PRJ]]
 
 
 
  > ogr2ogr out.shp Bahnhoefe.shp -t_srs EPSG:4326
 
 
 
== SQL-Option ==
 
  
Erzeuge Spatial Index (.qix):
+
Zeige alle Attribute einer PostGIS-Datenbank (Layer towns)
 +
  > ogrinfo -so -al PG:dbname=gisdb towns
  
 +
Erzeuge einen Spatial Index (.qix) für Shapefile/OGR:
 
   > ogrinfo -sql "CREATE SPATIAL INDEX ON Bahnhoefe" Bahnhoefe.shp
 
   > ogrinfo -sql "CREATE SPATIAL INDEX ON Bahnhoefe" Bahnhoefe.shp
  
== ogrinfo ==
+
=== ERRORs mit Erläuterungen ===
 
 
Mit dem ogrinfo-Tool kann man Schema-Informationen über die unterstützten Formate abfragen.
 
 
 
Optionen:
 
* -so Summary Only
 
* -al All Layers
 
 
 
Zeige alle Attribute:
 
  > ogrinfo -so -al Bahnhoefe.shp
 
 
 
Zeige alle Bahnhöfe mit Namen Rapperswil
 
  > ogrinfo -al -ro out.shp -sql "SELECT * from out WHERE name='Rapperswil'"
 
 
 
== Styles (Grafikmodell) ==
 
 
 
Formate, die Styles unterstützen sind '''MIF/TAB''' und '''DGN'''.
 
 
 
Der KML-Driver wäre ein weiterer Kandidat unterstützt aber leider noch keine Styles.
 
Styles werden soweit wie möglich beim Konvertieren (translating) zwischen Formaten beibehalten.
 
  
Dokumentation:
+
* ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to type shapefile.
* [http://www.gdal.org/ogr/ogr_feature_style.html OGR-Feature Style Specification] draft V0.010 - 2006/09/23
+
** This error occurs in the shapefile writer if another object appears from an input stream and the geometry types is not the same as in the first object.
  
=== Was sind die Gemeinsamkeiten und Unterschiede von [[SLD]] und Mapfile ([[UMN MapServer]])? ===
+
== OGR mit Python programmieren ==
The concept of assigning rendering rules to geometries is shared in both
 
cases but that's about it. The terminology (pen/brush/etc vs
 
SLD symbolizers) and encoding (compact text strings vs verbose XML) are
 
completely different.
 
SLD also supports building up classifications using filter encoding
 
which is not part of the OGR style concept.
 
Why did OGR invent its own encoding instead of reusing SLD? Mostly
 
because the OGR style encoding predates the days when SLD became well
 
known. But even if we were to do this again today I'm not sure if we
 
would opt for a verbose XML encoding... we'd probably spend a lot of
 
time debating the performance issues vs the benefits of interoperability
 
with SLD.
 
  
Beispiele:
+
See [[Geoprocessing mit Python]].
* (noch keine verfügbar)
 
  
 
== Weblinks ==
 
== Weblinks ==
 
* OGR Simple Feature Library Home (=> [[FWTools]]): http://www.gdal.org/ogr/
 
* OGR Simple Feature Library Home (=> [[FWTools]]): http://www.gdal.org/ogr/
  
 +
[[Kategorie:Vektor]]
 
[[Kategorie:Konverter]]
 
[[Kategorie:Konverter]]

Aktuelle Version vom 4. Mai 2014, 15:05 Uhr

OGR (ausgesprochen "Oger") ist eine ansehnliche Sammlung von Werkzeugen, namentlich OGR2OGR, die Lese- und manchmal Schreib-Zugriffe zu einer Vielzahl von Vektor-Dateiformaten, Datenbanken und übers Internet anbieten (OGR Simple Feature Library). OGR ist Teil der GDAL-Rasterformate-Bibliothek, die typischerweise über die Kommandozeile gesteuert werden.

Siehe auch:


Über OGR

Was ist OGR?
OGR2OGR ist ein sog. 'starrer' Konverter (1:1-Mapping), der auch Funktionen bzw. SQL-Befehle interpretieren kann - auch ohne Datenbank. SQL-Anfragen an SQL-fähige Treiber (z.B. PostgreSQL/PostGIS, Personal Geodatabase) werden direkt weitergeleitet, so dass die ganze Funktionalität des beteiligten Datenbank-Treibers zugänglich ist (vgl. Kapitel über SQL unten).
Grundbegriffe von OGR
OGR wurde auf Basis der OpenGIS "Simple Features"-Spezifikation entworfen. Diese definiert im Wesentlichen eine Geodaten-Architektur und ein Geometrie-Typenmodell. Dieses Geometrie-Typenmodell enthält Definitionen über (Feature) Klassen, Datentypen und Methoden. Geometrietypen sind spezielle Datentypen (siehe auch WKT). Ein Feature kapselt ein vollständiges (Geo-)Objekt mit seiner Geometrie und seinen Sachattributen. Eine Feature Class-Definition enthält die Struktur-Informationen (d.h. Felder-Definitionen) einer ganzen Gruppe von Features-Objekten, d.h. ein ganzer Layer. Ein Layer-Objekt ist also eine Sammlung von Feature-Objekten derselben Feature Klasse. Einer Geometrie und damit auch einem Layer (und einer Feature Klasse) ist ein Koordinatensystem zugeordnet. Layers stammen von einer Datenquelle. Eine Datenquelle repräsentiert eine Datei oder eine Datenbank und kann eine oder mehrere Layer enthalten. Man beachte, dass 'layer' und 'feature' (und Objekt) im Wesentlichen identisch sind.
Hilfe/Community
Die Dokumentation von OGR geht etwas in GDAL/FWTools unter (Link siehe unten). Wer Hilfe braucht, sollte sich zuerst diese anschauen und kann sich dann an die FWTools-Mailingliste wenden, die sich auch mit OGR befasst und an GDAL/Maptools anlehnt. Hilft das nicht weiter, steht das GISpunkt HSR-Team gerne zur Seite.
GDAL, FWTools und OSGeo
OGR wird als Teil GDAL und diese als Teil der FWTools verteilt (Linux und Windows-Version). Immer mehr Open Source-Software (darunter bald auch OGR) wird auch über die OSGeo Binary Distribution verteilt.
Gibt es weitere Werkzeuge für OGR?
Ja, z.B. ein grafisch-interaktives Frontend namens ogr2gui (Windows, Opensource) und natürlich die Webapplikation GeoConverter.

Installation OSGeo4W

OGR wird vorwiegend von Programmierern entwickelt, die Linux als Entwicklungsumgebung verwenden. Die Unterstützung von Windows steht daher etwas zurück. OSGeo4W ermöglicht eine einfach Installation auch unter Windows und umfasst eine Reihe von nützlichen Tools. Genau so einfach gestaltet sich die Installation von FWTools (s. nächstes Kapitel), jedoch wird dieses Softwarepaket zurzeit nicht mehr aktualisiert.

Download (Windows):

Installation FWTools

 VERALTET! 

Download (Windows): FWTools (enthaltend u.a. OGR), direkt: http://home.gdal.org/fwtools/ .

Installation (Windows):

  • Schritt 1: FWTools in ein (temporäres) Verzeichnis downloaden und installieren, z.B. in C:\Program Files\FWTools1.3.9
  • Schritt 2: Arbeitsverzeichnis anlegen, z.B. C:\work\OGR\
  • Schritt 3: setfw.bat von "C:\Program Files\FWTools1.3.9\" hineinkopieren (Alternative: PATH-Environment-Variable ergänzen). Hinweis: setfw.bat enthält einen lokalen Pfad. Das Batchfile muss allenfalls editiert und der Pfad mit Anführungszeichen unklammert werden, wie folgt:
 @echo off
 SET FWTOOLS_DIR=C:\Program Files\FWTools1.3.9
 call "%FWTOOLS_DIR%\bin\setfwenv.bat"
  • Schritt 4: INTERLIS-Compiler 'ili2c.jar' herunterladen (interlis.ch > "Compiler für INTERLIS 2.3") und ili2c.jar in das Arbeitsverzeichnis kopieren (Java muss installiert sein).
  • Abschluss: Test ob Installation bereit ist:
 > cd C:\work\OGR\>
 > setfw.bat
 > gdalinfo --version
 GDAL 1.5dev, FWTools 1.3.9, released 2007/10/11
  • Jetzt sollte OGR - und die anderen FWTools - bereit sein. Einige Beispiele sind unten angegeben.

Dokumentation

Dateiformate

Übersicht

Übersichts-Tabelle: OGR-Driver (Quelle: OGR-Website)
Driver-Name File-Ext. R./W. KRS Grafik Beschreibung
Interlis 1 .ITF,.ILI Reader n/a. nein INTERLIS 1; Datei ili2c.jar zusätzlich installieren (vgl. INTERLIS). In ITF-Datei darf keine Zeile 'TOPI Topic' stehen (mit Editor abändern). In ILI-Datei dürfen Attributnamen nicht res. INTERLIS-Schlüsselwörtersein, z.B. nicht TYPE oder NAME.
Interlis 1 .ITF Writer ja nein INTERLIS 1 (ITF/ILI); schreibt fälschlicherweise noch 'TOPI Topic' ins ITF.
Interlis 2 .XML,.ILI Reader n/a. nein INTERLIS 2; ili2c.jar zusätzlich installieren
Interlis 2 .XML,.ILI Writer ja nein INTERLIS 2; z.Zt. nur beschränkt benutzbar (u.a. wegen ILI Version 2.2!)
CSV .CSV,(.vrt,.csvt) Reader n/a. nein Comma Separated Value (CSV), vgl. auch "WKT" unten, sowie VRT und das Kapitel über "SQL-Queries" unten.
CSV .CSV Writer nein nein Comma Separated Value (CSV). Durch einen SQL-Befehl (-sql "select *,OGR_GEOM_WKT FROM ...") kann auch WKT-Geometrie geschrieben werden.
ESRI Shapefile .SHP,.DBF,.shx Reader n/a. nein Shapefile (SHP)
ESRI Shapefile .SHP,.DBF,.shx Writer ja nein Shapefile (SHP). Falls Quellformat Angaben zum SRS enthält, wird auch eine PRJ-Datei erzeugt.
GML .GML Reader n/a. nein Geographic Markup Language GML v.2.0(!)
GML .GML Writer ja nein Geographic Markup Language GML v.2.0(!)
GPX .GPX Reader n/a. (ja) GPS Exchange Format GPX; ACHTUNG: ab FWTools 2.0.1 auf Windows (expat-Problem)
GPX .GPX Writer ja (ja) GPS Exchange Format GPX; ab FWTools 2.0.1 auf Windows;
KML .KML Writer nein ja Keyhole Markup Language KML. Writer berücksichtig zwar kein SRS transformiert aber autom. nach WGS84. Kein Reader vorhanden.
MapInfo File .MIF,.MID Reader n/a. nein MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) (siehe auch .TAB, binär).
MapInfo File .MIF,.MID Writer ja ja MapInfo Interchange File (MIF), textbasiert mit .MIF (Schema/Geometrie) und .MID (Sachdaten) (siehe auch .TAB, binär).

Weitere Dateiformate

Ungeordnete Liste:

  • INTERLIS
    • Die aktuelle Version 2.3 könnte voraussichtlich im April 2008 bereit sein.
  • Well Known Text (WKT)
    • Siehe CSV Reader. Wenn ein Feld "WKT" heisst, nimmt der Driver an, dass dieses als WKT formatierte Geometrie enthalten ist.
  • XML-Formate:
    • XML sind 'streng' definierte ASCII-Formate, die sich u.a. validieren, d.h. automatisch testen lassen. Einige XML-Reader achten z.B. streng darauf, dass wenn UTF-8 angegeben ist, die Datei auch in UTF-8 codiert ist.
  • ASCII-Formate:
  • Binäre Dateiformate:
    • GeoPackage ([1])
    • Microstation (DGN)
    • PGeo Reader: ESRI Personal GeoDatabase (.mdb) - ESRI Personal GeoDatabase lesen. Dieses Format ist unter Windows z.Zt. nur via ODBC (PGeo) verfügbar. Siehe auch HowTo OGR2OGR sowie MS Access unten.
  • Datenbanken:

OGR-Werkzeuge

ogr2gui

Graphical user interface for ogr2ogr.

ogr2ogr

Quelle: http://www.gdal.org/ogr2ogr.html

 Usage: ogr2ogr [-skipfailures] [-append] [-update] [-f format_name]
                [-select field_list] [-where restricted_where] 
                [-sql <sql statement>] [--help-general]
                [-spat xmin ymin xmax ymax] [-preserve_fid] [-fid FID]
                [-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]
                [[-dsco NAME=VALUE] ...] dst_datasource_name
                src_datasource_name
                [-lco NAME=VALUE] [-nln name] [-nlt type] [layer [layer ...]]

Häufig gebrauchte Optionen:

-skipfailure
Bei Fehler weiter-konvertieren.
-f format_name
Output-Dateiformat-Name. Siehe oben.
-select field_list
Comma-delimited list of fields from input layer to copy to the new layer (defaults to all)
-sql sql_statement
SQL statement to execute. The resulting table/layer will be saved to the output.
-where restricted_where
Attribute query (like SQL WHERE)
-spat xmin ymin xmax ymax
spatial query extents (x und y korrespondieren typischerweise zu lon/lat)
-dsco NAME=VALUE
Dataset creation option, format-spezifisch (dsco= DataSet Creation Option)
-lco NAME=VALUE
Layer creation option, format-spezifisch (lco= Layer Creation Option)
-nlt type
Define the geometry type for the created layer (nlt= New Layer Type). One of NONE, GEOMETRY, POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT, MULTILINE, MULTIPOLYGON or MULTILINESTRING. Add "25D" to the name to get 2.5D versions.
-nln name
Neuer Name dem Output Layer geben (nln= New Layer Name)
-t_srs srs_def
Reproject/transform to this spatial reference system (SRS, Koordinatensystem) on output (t_srs= Transform SRS)

Seltenere Optionen:

-append
Zu bestehendem Layer hinzufügen (Append) anstelle einen neuen zu erzeugen versuchen (falls vom Treiber unterstützt).
-overwrite
Output Layer löschen vor dem Schreiben (falls vom Treiber unterstützt).
-update
Existierender Output Layer mit Daten ergänzen (Unterschied zu append?).
-a_srs srs_def
Assign an output spatial reference system (SRS, Koordinatensystem) (a_srs= Assign SRS).
-s_srs srs_def
Override source spatial reference system (SRS, Koordinatensystem) (s_srs= Source SRS)
-fid fid
If provided, only the feature with this feature id will be reported (fid= Feature ID). Operates exclusive of the spatial or attribute queries.

ogrinfo

Dokumentation im Web: ogrinfo.

Mit dem ogrinfo-Tool kann man Schema-Informationen über die unterstützten Formate abfragen.

 Usage: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where]
                [-spat xmin ymin xmax ymax] [-fid fid]
                [-sql statement] [-al] [-so] [--formats]
                datasource_name [layer [layer ...]]

Wichtige Optionen:

  • -ro: Open the data source in read-only mode.
  • -so: Summary Only.
  • -al: Zeige alle Layers ab (All Layers). Wird durch den Parameter layer überschrieben.
  • layer: One or more layer names may be reported.

Zeige alle Attribute eines Shapefile (es gibt nur einen Layer):

 > ogrinfo -so -al Bahnhoefe.shp

Zeige alle Attribute einer PostGIS-Datenbank (Layer towns)

 > ogrinfo -so -al PG:dbname=gisdb towns

Erzeuge einen Spatial Index (.qix) für Shapefile/OGR:

 > ogrinfo -sql "CREATE SPATIAL INDEX ON Bahnhoefe" Bahnhoefe.shp

ERRORs mit Erläuterungen

  • ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to type shapefile.
    • This error occurs in the shapefile writer if another object appears from an input stream and the geometry types is not the same as in the first object.

OGR mit Python programmieren

See Geoprocessing mit Python.

Weblinks