Message posté par : emmamillefeuille (emmac564(a)gmail.com)
----------------------------------------
Bonjour à tous !
Je découvre depuis peu le langage SQL et je me heurte aujourd'hui à un soucis :
Je cherche à faire l'intersection spatial entre une couche shp linéaire (des cours
d'eau) et une couche polygone (des communes). Mon objectif est d'obtenir une
nouvelle table/couche contenant le nom de chaque cours d'eau et la/les commune
qu'il traverse. Les deux couches n'ont aucun id en commun.
Pour cela, j'aimerais utiliser une requête SQL car mes données sont dans une base (et
je n'ai pas juste envie de faire une intersection "manuelle" via la boîte à
outils car c'est un exercice que je vais réappliquer sur plusieurs jeux de données).
J'étais initialement partie sur quelque chose comme ceci :
-----------------
Code :
Select nom_cours_eau, commune, CE.geometry
From cours_eau CE, communes
Where st_within(CE.geometry,communes.geometry)
-----------------
mais ce code renvoie les cours d'eau en plusieurs exemplaires (je ne sais pas
pourquoi, je me retrouve donc avec une table et plusieurs lignes identiques avec la même
géométrie) et d'autre part, ne renvoie pas du tout les cours d'eau à
l'intersection de plusieurs communes.
Dans l'idéal, j'aimerais bien obtenir une table du style :
cours d'eau // commune
CE 1 // com1
CE2 // com 1
CE2 // com2
Merci d'avance pour votre aide (en espérant avoir assez détaillé)
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=359852#p359852
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net