Quando eu quero armazenar os resultados de uma consulta espacial como outra tabela PostGIS, o que devo fazer? Estou interessado em identificar todos os edifícios residenciais que se enquadram em um conjunto de parcelas:
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;
Isso parece funcionar, mas não retorna um resultado espacial - em vez disso, a tabela possui a representação binária da geometria. Não tenho certeza do que devo fazer para criar uma tabela como resultado. Preciso primeiro criar uma tabela e depois converter o resultado em uma geometria?
(Li a documentação, mas sinto que estou perdendo os termos de pesquisa corretos, pois acho que isso deve ser uma coisa bastante óbvia).
Eu percebo que existem muitos comandos para fazer uma geometria
ST_GeogFromText
ST_GeographyFromText
ST_GeogFromWKB
ST_GeomCollFromText
ST_GeomFromEWKB
ST_GeomFromEWKT
ST_GeometryFromText
ST_GeomFromGML
ST_GeomFromKML
ST_GMLToSQL
ST_GeomFromText
ST_GeomFromWKB
mas não sei qual opção escolher ou se essa é a abordagem correta.
ERROR: column "polygon" does not exist SQL state: 42703
Você sabe o que pode estar causando o erro? A tabela existe e eu também tentei usarPOLYGON
.O resultado é uma tabela espacial com apenas uma coluna na forma de geometria. A representação binária está correta. Se você estiver usando isso fora do PostGIS (por exemplo, ArcGIS ou QGIS ou o que for), provavelmente está procurando duas coisas:
fonte