OGR: Unterschied zwischen den Versionen
Stefan (Diskussion | Beiträge) |
Stefan (Diskussion | Beiträge) (→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:
Inhaltsverzeichnis
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
- OGR-Startseite (en)
- GDAL/OGR-Wiki mit Bugtracker
- ogr2ogr-Konverter
- ogrinfo-Tool
- OGR Cheatsheet von Boston GIS
Parameter/Optionen:
- SQL
- Koordinatenreferenzsysteme CRS/SRS/PRJ
Dateiformate
Liste der OGR-Formate u.a. mit Mapinfo (MID/MIF), Microstation (DGN), MySQL, ORACLE, etc.
Informationen zu den Dateiformaten (alphabetisch):
- Comma Separated Value (.csv) lesen und schreiben ohne Geometrieattribut-Behandlung (vgl. dazu VRT)
- DXF/DWG AutoCAD v.12/13/14/15/18 (.dxf/.dwg) nur schreiben und auch das nur wenn neu mit zusätzlicher Library kompiliert!?
- Personal Geodatabase (.mdb) lesen
- Shapefile (.shp/.dbf) lesen und schreiben (siehe unten)
- GeoJSON (.js) lesen (NEU!); GeoJSON bzw. JSON ist ein Textformat
- GML (.gml) lesen und schreiben
- GPX (.gpx) lesen und schreiben (ACHTUNG: Fehlt in der Windows-Distribution!!)
- INTERLIS 1 (.itf/.ili) und INTERLIS 2 (.xml/.ili) lesen und schreiben
- KML (.kml) limitiertes Schreiben, kein Lesen
- ODBC lesen, für viele relationale Datenbanken, u.a. MS Access (.mdb)
- PostgreSQL lesen und schreiben
- Virtual Datasource (VRT, .vrt) nur lesen (nützlich für CSV mit Geometrien!)
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
- OGR Simple Feature Library Home (=> FWTools): http://www.gdal.org/ogr/