Et import/eksport værktøj til vektordata: http://www.gdal.org/ogr2ogr.html
So dokumentation for GOR2OGR driverne til PostgreSQL og Oracle her:
OGR2OGR skal være kompileret mod Oracle. prekompilerede "binaries" med Oracle support kan henets her: http://www.gisinternals.com/sdk/
>ogr2ogr -f "OCI" OCI:septimadb/septima4you pg:"host=10.15.24.14 port=5432 user=mbj password=secret dbname=kbh_workshop"
PostgreSQL skemaer prefixes med underscore i Oracle. trafik.afmaerkning_cykelrampe bliver i Oracle til TRAFIK_AFMAERKNING_CYKELRAMPE
>ogr2ogr -f "postgresql" pg:"host=10.15.24.14 port=5432 user=mbj password=secret dbname=kbh_workshop" "OCI" OCI:septimadb/septima4you
Man kan tildele en specifik SRS til outputtet uanset om SRS mangler fra datakilden
>ogr2ogr -a_srs EPSG:25832 -f "postgresql" pg:"host=10.15.24.14 port=5432 user=mbj password=secret dbname=kbh_workshop" "OCI" OCI:septimadb/septima4you
Man kan tildele en specifik SRS til outputtet uanset om SRS mangler fra datakilden
>ogr2ogr -a_srs EPSG:25832 -f "postgresql" pg:"host=10.15.24.14 port=5432 user=mbj password=secret dbname=kbh_workshop" "OCI" OCI:septimadb/septima4you
>ogr2ogr -f "postgresql" pg:"host=10.15.24.14 port=5432 user=mbj password=123Portal dbname=ora" OCI:septimadb/septima4you -lco SCHEMA=test
Man kan indlæse enkelte tabeller fra Oracle databasen når de er angivet i connection strengen. Det er altid en god idé at angive specifikke tabeller, da indlæsningen går meget hurtigere da ogr2ogr ikke skal skanne alle tabller mens den initialiserer.
Bemærk også at instancen "xe" også er angivet. KAn undlades, hvis databasen er lokalt på maskinen.
>ogr2ogr -f "postgresql" pg:"host=10.0.0.13 port=5432 user=mbj password=123Portal dbname=ora" OCI:"septimadb/septima4you@xe:TEK_
HYDRO,TEK_HELLE" -lco SCHEMA=test1
Eller uden instans og mulighed for overskrivning af eksisterende tabeller
>ogr2ogr -f "postgresql" pg:"host=10.0.0.13 port=5432 user=mbj password=123Portal dbname=ora" OCI:"septimadb/septima4you@:TEK_
HYDRO,TEK_HELLE" -lco SCHEMA=test1 -lco=OVERWRITE=YES
OGR2OGR kan konfigureres på rigtig mange parametre. Nogle af dem, der anvendes hyppigt er angivet nedenfor.
For at forøge indlæsningshastigheden betragteligt kan man bruge Postgres' COPY mode:
SET PG_USE_COPY=YES
For at konverteringen af bl.a. decimaltal sker korrekt kan det være nødvendigt at sætte ORACLE Miljøvariablen NLS_LANG. Derudover kan det i ngoe3, OGR2OGR versioner være nødvendigt at søtte "layer creation option" -lco PRECISON=NO for at undgå at felter konverteres til char (X) felter med x antal blank spaces
SET NLS_LANG=American_America.UTF8
Kontrollér dimensionerne for geometrierne med -lco DIM
ogr2ogr ..........-lco DIM=2
defualt vædien er 3
ogr2ogr ..........-lco GEOMETRY_NAME=the_geom
Når data konverteres anbefales det at sætte - lco PRECISION=NO for at sikre at typerne i Oracle NUMERIC(width,precision) or CHAR(width) konverteres i PostgreSQL til typerne FLOAT8, INTEGER and VARCHAR. Derved undgås bl.a. "blank spaces" i felterne
Ved indlæsning kan man overskrive eksisterende tabeller med -lco OVERWITE=YES
ogr2ogr ..........-lco OVERWITE=YES