Was kann ich tun, wenn ich die Ergebnisse einer räumlichen Abfrage als eine andere PostGIS-Tabelle speichern möchte? Ich bin daran interessiert, alle Wohngebäude zu identifizieren, die in eine Reihe von Parzellen fallen:
CREATE TABLE residentialBuildings AS
SELECT buildings.the_geom
FROM parcels as p
JOIN buildings as b
ON ST_Contains(p.the_geom, b.the_geom)
WHERE p.residentialarea > 0;
Dies scheint zu funktionieren, gibt jedoch kein räumliches Ergebnis zurück. Stattdessen enthält die Tabelle die binäre Darstellung der Geometrie. Ich bin mir nicht sicher, was ich tun soll, um eine Tabelle zu erstellen. Muß ich zuerst machte einen Tisch, und dann wandelt das Ergebnis in eine Geometrie?
(Ich habe die Dokumentation gelesen, aber ich habe das Gefühl, dass mir die richtigen Suchbegriffe fehlen, da ich der Meinung bin, dass dies eine ziemlich offensichtliche Sache sein muss.)
Mir ist klar, dass es viele Befehle gibt, um eine Geometrie zu erstellen
ST_GeogFromText
ST_GeographyFromText
ST_GeogFromWKB
ST_GeomCollFromText
ST_GeomFromEWKB
ST_GeomFromEWKT
ST_GeometryFromText
ST_GeomFromGML
ST_GeomFromKML
ST_GMLToSQL
ST_GeomFromText
ST_GeomFromWKB
Ich weiß jedoch nicht, aus welcher Option ich wählen soll oder ob dies der richtige Ansatz ist.
ERROR: column "polygon" does not exist SQL state: 42703
Wissen Sie, was den Fehler verursachen könnte? Die Tabelle existiert, und ich habe auch versucht, sie zu verwendenPOLYGON
.Das Ergebnis ist eine räumliche Tabelle mit nur einer Spalte in Geometrieform. Die binäre Darstellung ist korrekt. Wenn Sie dies außerhalb von PostGIS verwenden (z. B. ArcGIS oder QGIS oder was auch immer), werden wahrscheinlich zwei Dinge gesucht:
quelle