J'essaie d'intersecter des géométries de polygones dans QGIS en utilisant une couche virtuelle:
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;
Malheureusement, sbqry.rowid AS gid
retourne NULL au lieu de valeurs auto-incrémentées.
Quelqu'un sait-il comment créer une colonne d'identifiant unique nommée 'gid'? Autant que je sache, les couches virtuelles sont basées sur SQLite / Spatialite.
qgis
spatialite
sqlite
unique-id
virtual-layer
eclipsed_by_the_moon
la source
la source
Réponses:
Dans PostGIS, si vous voulez simplement le numéro de ligne, vous pouvez le faire:
la source
la source