21 | | * Option 1 (empfohlen): Stabiler Release aus http://download.osgeo.org/gdal/, z.B. |
22 | | {{{ |
23 | | wget http://download.osgeo.org/gdal/gdal-1.9.2.tar.gz |
24 | | tar -xzf gdal-1.9.2.tar.gz |
25 | | cd gdal-1.9.2 |
26 | | }}} |
27 | | * Option 2: Aktueller Entwicklungszweig |
28 | | {{{ |
29 | | svn checkout http://svn.osgeo.org/gdal/trunk/gdal |
30 | | cd gdal |
31 | | }}} |
32 | | Konfigurieren und kompilieren (wir gehen vom Installationsverzeichnis {{{/opt/gdal}}} aus) |
33 | | {{{ |
34 | | ./configure --prefix=/opt/gdal --with-xerces |
35 | | make |
36 | | }}} |
37 | | Installation mit root-Rechten: |
38 | | {{{ |
39 | | sudo make install |
40 | | }}} |
| 21 | * Option 1 : Stabiler Release aus http://download.osgeo.org/gdal/, z.B. |
| 22 | |
| 23 | * Option 2: Aktueller Entwicklungszweig aus dem svn |
| 24 | * Dokumentation siehe [http://trac.wheregroup.com/PostNAS/wiki/BuildingOgrPostNASDriver Installation von PostNAS über den GDAL/OGR-Trunk (Linux)] |
45 | | {{{ |
46 | | createdb -U postgres -h localhost postgis_template |
47 | | createlang -U postgres -d postgis_template plpgsql |
48 | | psql -U postgres -d postgis_template -f \ |
49 | | /usr/share/postgresql-8.3-postgis/lwpostgis.sql |
50 | | psql -U postgres -d postgis_template -f \ |
51 | | /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql |
52 | | }}} |
53 | | * Datenbank erstellen |
54 | | {{{ |
55 | | createdb -U postgres -h localhost -T postgis_template postnas_test |
56 | | }}} |
| 29 | * siehe Skript http://trac.wheregroup.com/PostNAS/browser/trunk/import/datenbank_anlegen.sh |
96 | | /opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures \ |
97 | | PG:"dbname=postnas_test user=postgres host=localhost port=5432" \ |
98 | | -a_srs EPSG:25832 xxx.xml Delete\ |
99 | | 2>> postnas_err.log |
100 | | }}} |
101 | | |
102 | | |
103 | | == Anlegen der Funktion deleteFeature == |
104 | | Die Funktion muss einmalig angelegt werden. |
105 | | {{{ |
106 | | CREATE FUNCTION deleteFeature(typename text, featureid text) RETURNS text |
107 | | AS $$ |
108 | | DECLARE |
109 | | query text; |
110 | | res text; |
111 | | BEGIN |
112 | | query := 'DELETE FROM ' || $1 || ' WHERE gml_id = ''' || $2 || ''''; |
113 | | EXECUTE query; |
114 | | query := 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || $2 || ''' OR beziehung_zu = ''' || $2 || ''''; |
115 | | EXECUTE query; |
116 | | |
117 | | IF FOUND THEN |
118 | | RAISE NOTICE 'query successfull % ', query; |
119 | | res := 1; |
120 | | ELSE |
121 | | RAISE NOTICE 'query no object found % ', query; |
122 | | res := 0; |
123 | | END IF; |
124 | | RETURN res; |
125 | | END; |
126 | | $$ LANGUAGE plpgsql; |
127 | | }}} |
128 | | |
129 | | == Löschen der in der Tabelle delete vermerkten Datensätze == |
130 | | Vorbereitung der Spalte featureid |
131 | | {{{ |
132 | | UPDATE "delete" SET featureid = substring(featureid from 1 for 16); |
133 | | }}} |
134 | | |
135 | | Löschen der Einträge aus den Tabellen und der Beziehungen aus alkis_beziehungen |
136 | | {{{ |
137 | | Select deleteFeature(typename, featureid) AS deletefeature from delete GROUP BY deletefeature; |
138 | | }}} |
139 | | |
140 | | == Löschen der Einträge der Tabelle delete == |
141 | | |
142 | | {{{ |
143 | | TRUNCATE table "delete"; |
144 | | }}} |
145 | | |
146 | | == Laden der Fortführungsdaten == |
147 | | Laden ohne Layerangabe |
148 | | {{{ |
149 | | /opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures \ |
| 67 | /opt/gdal-trunk/bin/ogr2ogr -f "PostgreSQL" -skipfailures -append -update\ |