Hinzufügen einer GIS-Funktion zu einem vorhandenen Datenbankeintrag mit QGIS

9

Ich habe eine Datenbank mit postgreSQL mit Tabellen erstellt, die Geometriespalten enthalten. Wenn ich meinen Nicht-Geometrie-Spalten Daten hinzufüge, werden sie in QGIS angezeigt, wenn ich über Postgis eine Verbindung zu meiner Datenbank herstelle. Jetzt möchte ich den vorhandenen Einträgen mit dem Bearbeitungswerkzeug in QGIS Polygone hinzufügen. Das heißt, die Geometriespalten in QGIS füllen.

Wie kann ich das machen? Ich habe nur davon gehört, der Datenbank ganze Shapefiles hinzuzufügen, aber nicht einzelne Features zu einer einzelnen Spalte hinzuzufügen.

Ein Beispiel ... Ich habe die folgende Tabelle (Gemeinde):

id smallint NOT NULL,
name varchar(50) NOT NULL,
mun_geom geometry(Polygon, 31468)

Ich kann die Spalten-ID und den Namen in postgresql eintragen, wenn ich mit meiner Datenbank verbunden bin (wie (1, 'Gemeinde1')). Nach dem Hinzufügen der Gemeinde als Postgis-Ebene möchte ich den Eintrag durch Hinzufügen eines Polygon-Features ergänzen.

Stefan
quelle
@mapBaker Entschuldigung, aber ich kann Ihrem Beitrag keinen Kommentar hinzufügen, da ich keinen Ruf von 50 habe. Wie auch immer, Ihre Lösung funktioniert bei mir nicht. Wenn ich versuche, ein Teil hinzuzufügen, zeigt qgis den Fehler an. Das neue Teil ist keine gültige Geometrie. Danke
franco_b

Antworten:

1

Ich habe versucht, etwas Ähnliches wie in Spatialite zu tun. Ich hatte eine Tabelle und wollte eine Geometriespalte für diese Tabelle hinzufügen und füllen. Ich konnte es nicht direkt tun, aber was ich am Ende hatte, hat funktioniert. Ich habe eine zweite Tabelle mit nur zwei Feldern hinzugefügt, einen Schlüssel, der mit meiner ursprünglichen Tabelle und meiner Geometriespalte übereinstimmt. Ich habe es ausgefüllt und dann eine Ansicht erstellt, die die beiden Tabellen kombiniert. Sie können dasselbe tun oder die zweite Tabelle füllen und dann eine UPDATE-Abfrage verwenden, um die Geometriespalte Ihrer ersten Tabelle auszufüllen, wenn Sie alles in nur einer Tabelle haben möchten.

HeyOverThere
quelle
8

Hab das herausgefunden! (auch hier gefragt )

Bei einem Datensatz in einer räumlichen Tabelle (Shapefile, PostGIS, Spatialite) ohne Geometrie kann Geometrie hinzugefügt werden, indem dem Feature mithilfe der erweiterten Digitalisierungssymbolleiste ein Teil hinzugefügt wird . Hier ist der Workflow:

  1. Bringen Sie eine Tabelle mit der Funktion "Geometrie fehlt" in QGIS
  2. Wählen Sie die Ebene im Ebenenbedienfeld aus und starten Sie eine Bearbeitungssitzung auf dieser Ebene
  3. Rechtsklick auf die Symbolleiste Bereich von QGIS (wo es keine Taste) und öffnen Sie die erweiterte Digitalisierungs Symbolleiste
  4. Öffnen Sie die Attributtabelle des Layers und wählen Sie das Feature aus, dem die Geometrie fehlt
  5. Auf der fortgeschrittenen Digitalisierungs Symbolleiste auf das Add Teil Werkzeug
  6. Sie können jetzt die Geometrie des Features (Punkt, Linie oder Polygon) wie jedes neue Feature zu einer Tabelle hinzufügen
  7. Speichern Sie Ihre Änderungen und beenden Sie die Bearbeitung. Das Feature hat jetzt Geometrie!
DPSSpatial
quelle