[GRASS-de] Vektor-Daten-Struktur
Michael Holzmann
mholzmann at iaks.de
Mo Sep 13 08:54:20 CEST 2004
hallo liste,
ich will folgendes erreichen:
Shapefiles in eine Postgis DB laden, mit Grass 57 auf die attribute
zugreifen und attributspalten/tabellen hinzufügen.
so weit bin ich bis jetzt gekommen.
- mit v.in.ogr importiere ich das Shapefile mit den Bundesländern nach
grass57. das .dbf file wird automatisch mit importiert und im Verzeichniss
der Location ein Grass57- dbf file angelegt, welches sogleich eine
DB-Verbindung mit dem Vektormap hat. Mit v.db.connect kann ich das ja
prüfen. Ergebniss: Vector map <state1> is connected by: field <1> table
<state1> in database </home/mholzmann/grassdata/deutschland/vtest/dbf/>
through driver <dbf> with key <cat>
- mit v.out.ogr exportiere ich die Daten dann in die Postgis DB. Es wird
eine Tabelle in der Postgis DB mit folgenden Spalten angelegt: oid, ogc_fid,
wkb_geometry, cat, landnr, name, id. Alle Attrinute sind also in die Tabelle
geschrieben worden.
- mit v.external erstelle ich nun eine Verbindung mit dem Layer state1 her.
Die Geometriedaten sind o.k. aber die Attribute erscheinen nicht. bei einer
Abfrage kommt folgender Fehler: Cannot open select cursor:`select*from
state1 where FID=69` on database`PG:localhost....,
- Bei einer Abfrage mit v.db.connect erscheint folgendes: Vector map
<postgis_state> is connected by: field <1> table <state1> in database
<PG:host=localhost user=postgres dbname=db2> through driver <ogr> with key
<FID>
- Wenn ich dann mit v.db.connect die Schlüsselspalte von FID auf cat
umstellen will, weil es die Spalte FID in der Datenbank ja gar nicht gibt,
erscheint folgender Fehler: v.db.connect map=postgis_state driver=pg
'database=PG:host=localhost user=postgres dbname=db2' table=state1 key=cat
field=1 WARNING: OGR format cannot be updated. ERROR: Cannot open old vector
postgis_state at vtest on level 0
-Wer kann mir helfen das Problem zu Lösen.
- Wie schaut die Vektor-Daten-Struktur in Grass57 aus ?
Michael