Shape-Daten aus der Post-GIS Datenbank ausgeben
--Heinz Schmidt 15:27, 18. Okt 2006 (CEST)
Es ist nicht nur möglich Shape-Daten in die Post-GIS Datenbank einzulesen, sondern auch aus der Datenbank auszugeben.
Diese Möglichkeit ist insbesondere für unsere Shape-Kunden interessant. Ermöglicht wird das mit dem Kommando pgsql2shp, das im Verzeichnis pgsql/bin steht.
Beispiel: Ausgabe der Flurstücke in ein Shapefile. Die Daten dafür kommen aus einer Sicht, die entsprechend des select statements aus dem Flurstückslayer aufgebaut ist:
View flurst in pgAdmin III erzeugen:
CREATE OR REPLACE VIEW flurst AS SELECT o.objnr AS oid, o.objart, o.folie, o.the_geom, f.flurstkennz, f.gemkgschl, t.label FROM alkobj_e_fla o, alknflst f, alkobj_t_pkt t WHERE o.folie::text = '001'::text AND o.objnr::text = f.objnr::text AND o.objnr::text = t.objnr::text; ALTER TABLE flurst OWNER TO kvwmap;
Die Daten dieses Views über pgsql2shp in ein Shape-File (flurst.shp) schreiben:
/usr/local/pgsql/bin/pgsql2shp -f flurst datenbankname public.flurst
Wichtig ist, dass man als user postgres in einem Verzeichnis steht, in dem man Schreibrechte hat. Die Pfade sind enstsprechend anzupassen. Die Ausgabe geschieht auf leistungsfähigen Maschinen sehr schnell und die Files sind überraschend kompakt. Nach diesem Beispiel lassen sich nahezu beliebige Daten aus der DB selektieren und in ein Shapefile schreiben.