OGR: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(How Tos)
(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