Я намагаюся перетинати геометрії полігонів у 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.
Який тип даних ви використовуєте для віртуального шару?
—
DPSSpatial
Вхідні шари - файли .shp, тип вихідної геометрії - «багатокутник».
—
eclipsed_by_the_moon
Я не знав, що ти можеш запускати просторові функції (ST_ *) на форм-файлах! Це чудово!!!
—
DPSSpatial
ви спробували видалити sbqry з "SELECT rowid as gid" ... Я знайшов ще один допис із таким прикладом.
—
kttii
'rowid AS gid' працює з простими операторами SELECT, такими як створення буфера, але не з підзапитом.
—
eclipsed_by_the_moon