OGR: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(How Tos)
Zeile 1: Zeile 1:
 +
'''OGR Simple Feature Library''': OGR Simple Features Library is a part of the [[GDAL]] library which is part of [[FWTools]].
  
 +
OGR ist eine C++ Open Source-Bibliothek bestehend aus Commandline Tools wie z.B. OGR2OGR, die Lese- und manchmal Schreib-Zugriffe
 +
zu einer Vielzahl von Vektor-Dateiformaten und Datenbanken anbieten, u.a. Shapefiles, DXF, PostgreSQL oder Mapinfo.
 +
 +
OGR ist ein starrer Konverter/Übersetzer, der aber 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 hier Abfragen möglich sind gemäss der Funktionalität des beteiligten Datenbank-Treibers.
 +
 +
Die gesamte OGR-Dokumentation ist in die [[GDAL]]-Seite integriert und geht daher etwas darin unter.
 +
 +
Siehe auch:
 +
* shp2pgsql für [[PostGIS]].
 +
* [[Konverter]]
 +
 +
 +
== Software ==
 +
 +
OGR wird als Teil der [http://fwtools.maptools.org/ FWTools] verteilt (Linux und Windows-Version]).
 +
 +
== Installation ==
 +
 +
OGR wird von Linux-Programmierer entwickelt
 +
 +
Installation unter 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 ([http://www.interlis.ch/interlis2/download23_d.php 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:
 +
  C:\work\OGR\>setfw.bat
 +
  C:\work\OGR\>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 ==
 +
 +
* [http://www.gdal.org/ogr/ OGR-Startseite] (en)
 +
* [http://trac.osgeo.org/gdal/ GDAL/OGR-Wiki] mit Bugtracker
 +
* [http://www.gdal.org/ogr/ogr2ogr.html ogr2ogr]-Konverter
 +
* [http://www.gdal.org/ogr/ogrinfo.html ogrinfo]-Tool
 +
* [http://www.bostongis.com/PrinterFriendly.aspx?content_name=ogr_cheatsheet OGR Cheatsheet] von Boston GIS
 +
 +
Parameter/Optionen:
 +
* [http://www.gdal.org/ogr/ogr_sql.html SQL]
 +
* [http://www.gdal.org/ogr/osr_tutorial.html Koordinatenreferenzsysteme] CRS/SRS/PRJ
 +
 +
=== Dateiformate ===
 +
 +
[http://www.gdal.org/ogr/ogr_formats.html Liste der OGR-Formate] u.a. mit Mapinfo (MID/MIF), Microstation (DGN), MySQL, ORACLE, etc.
 +
 +
Informationen zu den Dateiformaten (alphabetisch):
 +
* [http://www.gdal.org/ogr/drv_csv.html Comma Separated Value] (.csv) lesen und schreiben ohne Geometrieattribut-Behandlung (vgl. dazu VRT)
 +
* [http://www.gdal.org/ogr/drv_dxfdwg.html DXF/DWG AutoCAD v.12/13/14/15/18] (.dxf/.dwg) nur schreiben und auch das nur wenn neu mit zusätzlicher Library kompiliert!?
 +
* [http://www.gdal.org/ogr/drv_pgeo.html Personal Geodatabase] (.mdb) lesen
 +
* [http://www.gdal.org/ogr/drv_shapefile.html Shapefile] (.shp/.dbf) lesen und schreiben (siehe unten)
 +
* [http://mateusz.loskot.net/2007/11/06/ogr-geojson-driver/ GeoJSON] (.js) lesen (NEU!); [[GeoJSON]] bzw. JSON ist ein Textformat
 +
* [http://www.gdal.org/ogr/drv_gml.html GML] (.gml) lesen und schreiben
 +
* [http://www.gdal.org/ogr/drv_gpx.html GPX] (.gpx) lesen und schreiben (ACHTUNG: Fehlt in der Windows-Distribution!!)
 +
* [http://www.gdal.org/ogr/drv_ili.html INTERLIS 1] (.itf/.ili) und [http://www.gdal.org/ogr/drv_ili.html INTERLIS 2] (.xml/.ili) lesen und schreiben
 +
* [http://www.gdal.org/ogr/drv_kml.html KML] (.kml) limitiertes Schreiben, kein Lesen
 +
* [http://www.gdal.org/ogr/drv_odbc.html ODBC] lesen, für viele relationale Datenbanken, u.a. MS Access (.mdb)
 +
* [http://www.gdal.org/ogr/drv_pg.html PostgreSQL] lesen und schreiben
 +
* [http://www.gdal.org/ogr/drv_vrt.html Virtual Datasource] (VRT, .vrt) nur lesen (nützlich für CSV mit Geometrien!)
 +
 +
=== ogr2ogr-Konverter ===
 +
 +
[http://www.gdal.org/ogr/ogr2ogr.html ogr2ogr]-Konverter
 +
 +
=== ogrinfo-Tool ===
 +
 +
[http://www.gdal.org/ogr/ogrinfo.html ogrinfo]-Tool
 +
 +
== HowTo... ==
 +
 +
=== Konvertiere INTERLIS 1 nach Shapefile ===
 +
 +
Konvertieren von INTERLIS 1-Dateien (.itf und .ili) nach [[Shapefile]].
 +
 +
* Input: ili-bsp.itf and ili-bsp.ili
 +
* Resultat: Für jede INTERLIS 1-Tabelle wird ein Shapefile(-Paar .shp/.dbf) erzeugt im Output-Verzeichnis shpdir/
 +
 +
  > ogr2ogr -f "ESRI Shapefile" shpdir ili-bsp.itf,ili-bsp.ili
 +
 +
* Hinweise:
 +
** Es wird immer ein .dbf erzeugt, auch wenn keine Sachdaten vorhanden sind.
 +
** 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.
 +
** Die Erzeugung von Sichten (JOINs) aufgrund von Beziehungen zwischen Tabellen sind nicht Bestandteil einer Datenbeschreibung und der Daten.
 +
** Speziell: Beschriftungen werden in separaten Tabellen verwaltet. Das bedingt eine nachträgliche Bearbeitung (Konverter wie FME machen das im Rahmen des Konvertierung-Schrittes).
 +
* Unter Windows ev. setfw.bat ausführen, damit die Programme im System-Pfad sind und gefunden werden.
 +
 +
=== Shapefile nach INTERLIS 1 ===
 +
* Input: bahnhoefe.itf und bahnhoefe.ili
 +
* Resultat: Eine INTERLIS 1-Datei Bahnhoefe.itf mit vom Programm generierten Transfer-Identifikatoren (TID).
 +
 +
  > ogr2ogr -f "INTERLIS 1" Bahnhoefe.itf Bahnhoefe.shp
 +
 +
Achtung: Die Behandlung von INTERLIS-Referenzattributen (->), die aus anderen Tabellen auf das Input-Shapefile "zeigen", ist noch nicht richtig unterstützt.
 +
 +
=== Shapefile nach KML mit SQL-Option ===
 +
 +
  > ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level,
 +
    cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'"
 +
 +
(Hinweis: eine einzige Zeile ohne Zeilenumbruch)
 +
 +
=== Shapefile nach PostgreSQL/PostGIS ===
 +
* Input: bahnhoefe.shp/.dbf
 +
* Resultat: PostgreSQL-Datenbank gefüllt oder ergänzt mit bahnhoefe-Records.
 +
 +
  (Work-in-progress...)
 +
  % ogr2ogr -f "PostgreSQL" Bahnhoefe Bahnhoefe.shp
 +
 
 +
=== CSV/TST (Excel) nach Shapefile ===
 +
 +
Variante ohne Geometrieattribute:
 +
 +
  % ogr2ogr -f "Shapefile" Bahnhoefe_Daten.shp Bahnhoefe_Daten.csv
 +
 +
Variante mit [CSV]-Datei mit Geometrieattribute im [WKT]-Format:
 +
 +
1. CSV file with geometries encoded in WKT
 +
 +
  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)"
 +
 +
2. [http://www.gdal.org/ogr/drv_vrt.html VRT] definition
 +
 +
  <OGRVRTDataSource>
 +
      <OGRVRTLayer name="test">
 +
          <SrcDataSource relativeToVRT="0">test.csv</SrcDataSource>
 +
          <SrcLayer>test</SrcLayer>
 +
          <GeometryType>wkbLineString</GeometryType>
 +
          <GeometryField encoding="WKT" field="THEGEOM" />
 +
          <LayerSRS>epsg:4326</LayerSRS>
 +
      </OGRVRTLayer>
 +
  </OGRVRTDataSource>
 +
 +
Now, you can dump the CSV file, in example, to ESRI Shapefile:
 +
 +
  > ogr2ogr -f "ESRI Shapefile" test.shp test.vrt
 +
 +
=== Zeige alle Attribute eines Shapefiles ===
 +
 +
Mit dem Tool ogrinfo kann man Schema-Informationen über die unterstützten Formate abfragen.
 +
 +
  > ogrinfo -so -al Bahnhoefe.shp
 +
 +
== Weblinks ==
 +
* OGR Simple Feature Library Home (=> [[FWTools]]): http://www.gdal.org/ogr/
 +
 +
[[Kategorie:Konverter]]

Version vom 17. November 2007, 17:01 Uhr

OGR Simple Feature Library: OGR Simple Features Library is a part of the GDAL library which is part of FWTools.

OGR ist eine C++ Open Source-Bibliothek bestehend aus Commandline Tools wie z.B. OGR2OGR, die Lese- und manchmal Schreib-Zugriffe zu einer Vielzahl von Vektor-Dateiformaten und Datenbanken anbieten, u.a. Shapefiles, DXF, PostgreSQL oder Mapinfo.

OGR ist ein starrer Konverter/Übersetzer, der aber 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 hier Abfragen möglich sind gemäss der Funktionalität des beteiligten Datenbank-Treibers.

Die gesamte OGR-Dokumentation ist in die GDAL-Seite integriert und geht daher etwas darin unter.

Siehe auch:


Software

OGR wird als Teil der FWTools verteilt (Linux und Windows-Version]).

Installation

OGR wird von Linux-Programmierer entwickelt

Installation unter 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:
 C:\work\OGR\>setfw.bat
 C:\work\OGR\>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

Parameter/Optionen:

Dateiformate

Liste der OGR-Formate u.a. mit Mapinfo (MID/MIF), Microstation (DGN), MySQL, ORACLE, etc.

Informationen zu den Dateiformaten (alphabetisch):

ogr2ogr-Konverter

ogr2ogr-Konverter

ogrinfo-Tool

ogrinfo-Tool

HowTo...

Konvertiere INTERLIS 1 nach Shapefile

Konvertieren von INTERLIS 1-Dateien (.itf und .ili) nach Shapefile.

  • Input: ili-bsp.itf and ili-bsp.ili
  • Resultat: Für jede INTERLIS 1-Tabelle wird ein Shapefile(-Paar .shp/.dbf) erzeugt im Output-Verzeichnis shpdir/
 > ogr2ogr -f "ESRI Shapefile" shpdir ili-bsp.itf,ili-bsp.ili
  • Hinweise:
    • Es wird immer ein .dbf erzeugt, auch wenn keine Sachdaten vorhanden sind.
    • 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.
    • Die Erzeugung von Sichten (JOINs) aufgrund von Beziehungen zwischen Tabellen sind nicht Bestandteil einer Datenbeschreibung und der Daten.
    • Speziell: Beschriftungen werden in separaten Tabellen verwaltet. Das bedingt eine nachträgliche Bearbeitung (Konverter wie FME machen das im Rahmen des Konvertierung-Schrittes).
  • Unter Windows ev. setfw.bat ausführen, damit die Programme im System-Pfad sind und gefunden werden.

Shapefile nach INTERLIS 1

  • Input: bahnhoefe.itf und bahnhoefe.ili
  • Resultat: Eine INTERLIS 1-Datei Bahnhoefe.itf mit vom Programm generierten Transfer-Identifikatoren (TID).
 > ogr2ogr -f "INTERLIS 1" Bahnhoefe.itf Bahnhoefe.shp

Achtung: Die Behandlung von INTERLIS-Referenzattributen (->), die aus anderen Tabellen auf das Input-Shapefile "zeigen", ist noch nicht richtig unterstützt.

Shapefile nach KML mit SQL-Option

 > ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level,
   cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'"

(Hinweis: eine einzige Zeile ohne Zeilenumbruch)

Shapefile nach PostgreSQL/PostGIS

  • Input: bahnhoefe.shp/.dbf
  • Resultat: PostgreSQL-Datenbank gefüllt oder ergänzt mit bahnhoefe-Records.
 (Work-in-progress...)
 % ogr2ogr -f "PostgreSQL" Bahnhoefe Bahnhoefe.shp 
 

CSV/TST (Excel) nach Shapefile

Variante ohne Geometrieattribute:

 % ogr2ogr -f "Shapefile" Bahnhoefe_Daten.shp Bahnhoefe_Daten.csv 

Variante mit [CSV]-Datei mit Geometrieattribute im [WKT]-Format:

1. CSV file with geometries encoded in WKT

 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)"

2. VRT definition

 <OGRVRTDataSource>
     <OGRVRTLayer name="test">
         <SrcDataSource relativeToVRT="0">test.csv</SrcDataSource>
         <SrcLayer>test</SrcLayer>
         <GeometryType>wkbLineString</GeometryType>
         <GeometryField encoding="WKT" field="THEGEOM" />
         <LayerSRS>epsg:4326</LayerSRS>
     </OGRVRTLayer>
 </OGRVRTDataSource>

Now, you can dump the CSV file, in example, to ESRI Shapefile:

 > ogr2ogr -f "ESRI Shapefile" test.shp test.vrt

Zeige alle Attribute eines Shapefiles

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

 > ogrinfo -so -al Bahnhoefe.shp

Weblinks