Я пытаюсь пересечь геометрию многоугольника в QGIS, используя виртуальный слой:
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;
К сожалению, sbqry.rowid AS gid
возвращает NULL вместо автоматически увеличивающихся значений.
Кто-нибудь знает, как создать столбец уникального идентификатора с именем «GID»? Насколько я знаю, виртуальные слои основаны на SQLite / Spatialite.
qgis
spatialite
sqlite
unique-id
virtual-layer
eclipsed_by_the_moon
источник
источник
Ответы:
В PostGIS, если вы просто хотите номер строки, вы можете сделать это:
источник
источник