Próbuję przecinać geometrie wielokątów w QGIS przy użyciu warstwy wirtualnej:
SELECT
sbqry.rowid AS gid,
sbqry.geom
FROM
(SELECT
ST_Intersection(land_parcels.geometry, flood_zone.geometry) AS geom
FROM land_parcels, flood_zone
WHERE ST_Intersects(land_parcels.geometry, flood_zone.geometry) AND NOT ST_Touches(land_parcels.geometry, flood_zone.geometry))
AS sbqry;
Niestety sbqry.rowid AS gid
zwraca wartość NULL zamiast wartości auto-inkrementujących.
Czy ktoś wie, jak utworzyć unikalną kolumnę identyfikacyjną o nazwie „gid”? O ile wiem, wirtualne warstwy są oparte na SQLite / Spatialite.
qgis
spatialite
sqlite
unique-id
virtual-layer
eclipsed_by_the_moon
źródło
źródło
Odpowiedzi:
W PostGIS, jeśli chcesz tylko numer wiersza, możesz to zrobić:
źródło
źródło