OGR: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(HowTo...)
Zeile 125: Zeile 125:
  
 
   ID,THEGEOM
 
   ID,THEGEOM
   1,"LINESTRING (12.375 49.618, 12.380 49.61, 12.474 49.634)"
+
   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)"
+
   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)"
+
   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
 
2. [http://www.gdal.org/ogr/drv_vrt.html VRT]-Definition
Zeile 150: Zeile 150:
  
 
   > ogrinfo -so -al Bahnhoefe.shp
 
   > ogrinfo -so -al Bahnhoefe.shp
 +
 +
=== SQL ===
 +
 +
Erzeuge Spatial Index (.qix):
 +
 +
  > ogrinfo -sql "CREATE SPATIAL INDEX ON Bahnhoefe" Bahnhoefe.shp
  
 
== Weblinks ==
 
== Weblinks ==

Version vom 18. November 2007, 21:09 Uhr

OGR Simple Feature Library:

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-Bibliothek, die wiederum in den FWTools (C++ Open Source-Programme von Frank Warmerdam) zusammengefasst sind und typischerweise über die Kommandozeile gesteuert werden.

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.

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 GDAL-Developer-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.

Siehe auch:


Software

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

Installation

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.

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-Datei mit Geometrien codiert 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>

3. Dump the CSV-file, for 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

SQL

Erzeuge Spatial Index (.qix):

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

Weblinks