OGR: Unterschied zwischen den Versionen
Stefan (Diskussion | Beiträge) (→Dokumentation) |
Stefan (Diskussion | Beiträge) (→HowTo...) |
||
Zeile 116: | Zeile 116: | ||
Achtung: Die Behandlung von INTERLIS-Referenzattributen (->), die aus anderen Tabellen auf das Input-Shapefile "zeigen", ist noch nicht richtig unterstützt. | 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- | + | === Shapefile nach KML mit SQL- und BBox-Optionen === |
+ | (Hinweis: eine einzige Zeile ohne Zeilenumbruch) | ||
+ | |||
+ | Shapefile nach KML mit SQL ohne Geometrie (selektiere alle Bahnhöfe der Ostschweiz): | ||
> ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level, | > ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level, | ||
cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'" | cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'" | ||
− | + | Shapefile nach KML mit BBox-Option: | |
+ | > | ||
=== Shapefile nach PostgreSQL/PostGIS === | === Shapefile nach PostgreSQL/PostGIS === | ||
Zeile 128: | Zeile 132: | ||
(Work-in-progress...) | (Work-in-progress...) | ||
− | + | > ogr2ogr -f "PostgreSQL" Bahnhoefe Bahnhoefe.shp | |
− | + | ||
+ | === Shapefile nach CSV mit Geometrie im WKT-Format === | ||
+ | |||
+ | Dokumentation: | ||
+ | * [[WKT]] | ||
+ | |||
+ | > ogr2ogr -f CSV out Bahnhoefe.shp -sql "select *,OGR_GEOM_WKT from Bahnhoefe" | ||
+ | |||
=== CSV/TST (Excel) nach Shapefile === | === CSV/TST (Excel) nach Shapefile === | ||
Zeile 165: | Zeile 176: | ||
Mit dem Tool ogrinfo kann man Schema-Informationen über die unterstützten Formate abfragen. | Mit dem Tool ogrinfo kann man Schema-Informationen über die unterstützten Formate abfragen. | ||
+ | Zeige alle Attribute: | ||
> ogrinfo -so -al Bahnhoefe.shp | > ogrinfo -so -al Bahnhoefe.shp | ||
+ | |||
+ | Zeige alle Bahnhöfe mit Namen Rapperswil | ||
+ | > ogrinfo -al -ro out.shp -sql "SELECT * from out WHERE name='Rapperswil'" | ||
+ | |||
+ | === Transformiere Shapefile im CH1903 nach WGS84 === | ||
+ | |||
+ | Dokumentation: | ||
+ | * Eine Liste aller EPSG-Codes befindet sich in der Datei gcs.csv im data-Verzeichnis der FWToos (z.B. ). | ||
+ | * [[EPSG]] | ||
+ | |||
+ | > ogr2ogr out.shp Bahnhoefe.shp -t_srs EPSG:4326 | ||
=== SQL === | === SQL === |
Version vom 19. November 2007, 03:02 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
- 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.
- Hilfe/Community
- 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 FWTools-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
- 1 Software
- 2 Dokumentation
- 3 HowTo...
- 3.1 Konvertiere INTERLIS 1 nach Shapefile
- 3.2 Shapefile nach INTERLIS 1
- 3.3 Shapefile nach KML mit SQL- und BBox-Optionen
- 3.4 Shapefile nach PostgreSQL/PostGIS
- 3.5 Shapefile nach CSV mit Geometrie im WKT-Format
- 3.6 CSV/TST (Excel) nach Shapefile
- 3.7 Zeige alle Attribute eines Shapefiles
- 3.8 Transformiere Shapefile im CH1903 nach WGS84
- 3.9 SQL
- 4 Weblinks
Software
OGR wird als Teil GDAL und diese als Teil der FWTools verteilt (Linux und Windows-Version)).
Immer mehr Open Source-Software (darunter bald auch OGR) wird auch über die OSGeo Binary Distribution verteilt.
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:
- OGR 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):
- CSV-Driver (.csv) - Comma Separated Value CSV (vgl. auch VRT und die OGR SQL unten)
- DXF/DWG Writer (*) (.dxf/.dwg) - AutoCAD DXF/DWG-Format v.12/13/14/15/18. (*) Writer nur verfügbar, wenn neu mit zusätzlicher Library kompiliert (ACHTUNG: daher z.Zt. nicht in der Windows-Distribution enthalten)
- MDB Reader (.mdb) - Personal Geodatabase (MDB) lesen
- ESRI Shapefile Reader + Writer (.shp) - Shapefile (SHP) (siehe auch unten)
- GeoJSON Reader (GeoJSON, .js) - Textuelles Format => (NEU!)
- GML Reader + Writer (.gml) - Geographic Markup Language GML v.2.0(!)
- GPX Reader + Writer (*) (.gpx) - GPS Exchange Format GPX. (*) Nur verfügbar wenn mit expat kompiliert (ACHTUNG: daher z.Zt. nicht in der Windows-Distribution enthalten)
- Interlis 1 Reader + Writer (*) (.itf/.ili) - INTERLIS 1 (ITF/ILI). Siehe Interlis 2-Driver unten
- Interlis 2-Reader + Writer (*) (.xml/.ili) - INTERLIS 1 (XTF/XML/ILI). (*) INTERLIS-Reader nur wenn ili2c.jar zusätzlich installiert ist; der Writer z.Zt. nur beschränkt benutzbar. (siehe auch unten)
- KML Writer (.kml) - Keyhole Markup Language KML
- ODBC:dsn Reader (Datenquelle) - Für die meisten relationalen Datenbanksysteme verfügbar, u.a. MS Access (.mdb)
- PostgreSQL PG:... Reader + Writer (Datenbank) - PostgreSQL
- REC Reader (.rec) - Fehlt in der Web-Dokumentation: undokumentierter Driver (!?)
- VRT Reader (VRT, .vrt) - Virtual Datasource; nützlich z.B. für CSV mit Geometrien!
OGR ogr2ogr-Konverter
ogr2ogr-Konverter
OGR ogrinfo-Tool
ogrinfo-Tool
OGR Interlis 1-Driver
Dokumentation:
Der INTERLIS-Reader ist erst wenn ili2c.jar zusätzlich installiert verfügbar. Der Writer ist z.Zt. nur beschränkt benutzbar (Bug wird behoben).
Siehe HowTo's unten.
OGR Interlis 2-Driver
tbd.
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- und BBox-Optionen
(Hinweis: eine einzige Zeile ohne Zeilenumbruch)
Shapefile nach KML mit SQL ohne Geometrie (selektiere alle Bahnhöfe der Ostschweiz):
> ogr2ogr -f KML bahnhoefe.kml bahnhoefe.shp -sql "SELECT name,type,level, cntryname,prov1name from bahnhoefe where prov1name = 'Ostschweiz'"
Shapefile nach KML mit BBox-Option:
>
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
Shapefile nach CSV mit Geometrie im WKT-Format
Dokumentation:
> ogr2ogr -f CSV out Bahnhoefe.shp -sql "select *,OGR_GEOM_WKT from Bahnhoefe"
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.
Zeige alle Attribute:
> ogrinfo -so -al Bahnhoefe.shp
Zeige alle Bahnhöfe mit Namen Rapperswil
> ogrinfo -al -ro out.shp -sql "SELECT * from out WHERE name='Rapperswil'"
Transformiere Shapefile im CH1903 nach WGS84
Dokumentation:
- Eine Liste aller EPSG-Codes befindet sich in der Datei gcs.csv im data-Verzeichnis der FWToos (z.B. ).
- EPSG
> ogr2ogr out.shp Bahnhoefe.shp -t_srs EPSG:4326
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/