OGR: Unterschied zwischen den Versionen

Aus Geometa Lab OST
Zur Navigation springen Zur Suche springen
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, 15:01 Uhr