Message posté par : Marceline MIT
----------------------------------------
-----------------
Pascal Boulerie écrit :
Je suis encore dans mon lit, je n’ai pas de logiciel sous la main.
Si vous pouvez poster un schéma, ce sera plus facile à comprendre.
C’est une problématique de trame verte ou trame bleue ?
ou de BCAE ?
(ne connais pas le domaine)
Ça me semble un calcul classique d’intersection entre 2 couches SIG.
Peut-être déjà d’autres personnes ont traité ce genre de situation ?
https://georezo.net/forum/search.php
-----------------
Je viens de faire un petit schéma vite fait pour exposer la problématique (cf pièce
jointe), effectivement ça sera peut-être plus clair que de longues explications... du coup
dans la situation présentée dans le schéma, j'ai ma haie en noir au milieu et je veux
la découper en plusieurs tronçons selon le polygone bleu et le polygone violet (là où
j'ai mis les croix en rouge), pas de découpe selon le polygone orange vu que la haie y
est entièrement incluse. Et donc le problème c'est que quand je fais ma découpe en
faisant : sélection "table haies" -> définir cible -> sélection
"table parcellaires" -> découper, le résultat est que ma haie est découpée à
certains endroits mais pas à d'autres : dans le cas du schéma présentée ma haie est
découpée seulement à un des 2 endroits prévus.
Effectivement ça semble être un problème classique d'intersection entre 2 couches SIG
et je pensais vraiment pas que ça serait aussi compliqué d'arriver à un résultat
satisfaisant. J'ai fait une recherche sur le forum avant de poster et je n'ai
malheureusement pas trouvé de problématique similaire ayant déjà été traité.
Concernant la finalité de ce travail : il s'agit de calculer une densité de haie par
parcellaire. Ma première idée avait été de tout simplement calculer les longueurs de haies
en intersection avec chaque parcellaire, avec une sélection SQL dans le genre de celle
proposée par nicoboud dans le message précédent. ça avait très bien fonctionné comme ça.
Ensuite je divisais la longueur totale de haies présente dans chaque parcellaire par la
surface du parcellaire et ça me donnait ma densité.
Cependant le protocole établi par l'AFAC demande de traiter différemment les haies
intraparcellaires (à l'intérieur du parcellaire d'un exploitant donc présente dans
un seul polygone) et les haies interparcellaires (entre 2 parcellaires ou plus donc
présentes dans 2 polygones ou plus). Du coup, j'ai procédé ainsi :
- découpe de mes lignes haies selon tous les polygones parcellaires
- ajout d'une colonne "longueur tronçons" et mise à jour de cette colonne
- requête SQL pour sélectionner les tronçons de haies présents dans chaque parcellaire
- enregistrement de la table obtenue, ajout d'une colonne "id_pac" compilant
l'identifiant de la haie + l'identifiant du parcellaire.
- regroupement selon cette colonne "id_pac" afin de regrouper les lignes
concernant une même haie (une haie qui sort du parcellaire, puis y rentre à nouveau
apparait dans ce cas sur 2 lignes différentes, l'idée est que chaque haie
n'apparaisse qu'une seule fois dans chaque parcellaire) et en faisant la somme de
la colonne "longueur tronçon"
- je me retrouve avec une table comportant bien des identifiants "id_pac"
uniques mais où l'identifiant de la haie peut apparaitre plusieurs fois en fonction du
nombre de parcellaires qu'elle recoupe
- à partir de là j'exporte sur excel afin de caractériser chaque haie selon si elle
est intra ou interpacellaire. Pour ce faire, je regarde si chaque identifiant haie
apparait une seule fois (présent dans un seul parcellaire = haie intraparcellaire) ou 2
fois ou plus (présent dans plusieurs parcellaires = haie interparcellaire), ensuite à
l'aide d'un tableau croisé dynamique je calcule la longueur de chacun des 2 types
de haies pour chaque parcellaire. Et pour finir il y a une formule à appliquer pour
calculer la densité de haies par parcellaire avec des coefficients qui interviennent
différemment selon le type de haie.
Du coup, comme il y a un problème avec le découpage de mes tronçons et que certains ne
sont pas découpés convenablement, certaines longueurs de mes haies interparcellaires sont
sur-évaluées et cela fausse donc mon calcul. Ce problème de découpe arrive à partir du
moment où il y a plus de 2 parcellaires qui se superposent donc dans une faible proportion
à l'échelle globale des données donc ça pourrait être négligeable si le problème reste
insoluble... mais j'aimerai mieux que ça fonctionne ! :)
Voilà j'espère que j'ai été assez claire dans mes explications pour mieux vous
exposer le problème :)
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=339871#p339871
Pour y répondre : mapinfo_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