Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 07 March 2014 18:58

Kaly973
Participant occasionnel
Date d'inscription: 24 Feb 2014
Messages: 15

Calcul d'interface

Bonjour,

Ça fait quelques jours que je ne suis pas venu vous poser des questions, me revoilà.

Je vous explique :
- j'ai une couche corine land cover du département des Pyrénées Orientales (66), j'ai 3 couvertures du sol qui m’intéresse (vignoble, forêts de feuillus, végétation sclérophylle). J'ai fais une requête pour afficher que ces 3 couvertures du sol.
- j'ai une autre couche avec la délimitation de chaque commune.

Je voudrais savoir s'il est possible de calculer l'interface (le périmètre) en mètre qu'il y a pour chaque commune entre ces 3 couvertures du sol.

Exemple :

Commune de Perpignan
interface entre vignoble et forêts de feuillus = 1500m
interface entre vignoble et végétation sclérophylle = 200m
etc.

Je n'ai aucun idée de si c'est possible et encore moins de quelle manière y arriver. Surement qu'il faut travailler sur 4 couches...

Si vous avez des conseils merci d'avance !
A bientôt

Hors ligne

 

#2 Wed 12 March 2014 07:37

Kaly973
Participant occasionnel
Date d'inscription: 24 Feb 2014
Messages: 15

Re: Calcul d'interface

Bonjour,

Aucunes idées ? c'est donc impossible ?

Hors ligne

 

#3 Thu 13 March 2014 13:46

Kaly973
Participant occasionnel
Date d'inscription: 24 Feb 2014
Messages: 15

Re: Calcul d'interface

Alors, je propose ma solution à mon propre problème... Peut être utile pour d'autres, encore que ce n'est pas sûr.

On a :
    - une couche de polygones : les communes
    - une autre couche de polygones : les zones de vignobles, forêts de feuillus, végétation sclérophylle
On réalise une intersection entre les 2 couches
On obtient une 3ème couche de polygones comportant le code de la commune, le code du type d'occupation du sol. La table attributaire contient la surface et le périmètre du polygone.

Ensuite :

On peut séparer cette couche Occupation du sol par communes en 3 couches, une par type d'occupation du sol, puis créer une zone tampon de 1m autour des zones de vignobles, et  faire une intersection entre ce buffer et les 2 autres couches. Les périmètres de ces nouveaux polygones seraient enfin divisés par 2 pour obtenir l'interface.

Voila A+

Hors ligne

 

#4 Fri 14 March 2014 22:02

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Calcul d'interface

Bonjour,

J'ai peut-être un autre méthode :
1 - Transformer la couche de polygones d'occupation du sols en polyligne avec l'outil Polygone vers ligne (Gestion des données) avec l'option "Identifier et enregistrer les informations de voisinage du polygone" de cocher.
Cela permet d'obtenir des lignes avec les ID des polygones de gauche et de droite.
Cet outil nécessite la version ArcInfo mais l'équivalent peut être réalisé avec la fonction Polygon To Polyline Advanced d'ET GeoWizards
2 - Ajouter trois champs dans cette couche de polyligne :
Un champ CODE_LEFT, CODE_RIGHT et INTERFACE
3 - Faire une jointure entre le champ LEFT_FID de cette couche de polyligne et le champ FID (ou OBJECTID) de la couche de polygone d'origine
4 - Calcule le champ CODE_LEFT
5 - Supprimer la jointure
3 - Faire une jointure entre le champ RIGHT_FID de cette couche de polyligne et le champ FID (ou OBJECTID)  de la couche de polygone d'origine
4 - Calcule le champ CODE_RIGHT
5 - Supprimer la jointure
6 - Calculer le champ INTERFACE par une concaténation des champs CODE_LEFT et CODE_RIGHT en concaténant toujours la petite valeur en premier
7 - Intersecter cette couche de polyligne avec la couche de communes à l'aide du géotraitement Croiser (Analyse)
8 - Faire un Résumés statistiques (Analyse) avec les champs NOM_COMMUNE et INTERFACE comme champs de récapitulation et le champ Shape_lenght comme champ statistique avec un type de statistique "SUM" (Si tu travailles avec des shapefiles, le champ Shape_lenght n'existera pas, il faudra d'abord créer un champ PERIMETRE et le calculer avec la calculatrice "géométrique").
9 - On obtient une table de ce type :
OBJECTID    INSEE_COM    INTERFACE    FREQUENCY    SUM_Shape_length
1        06001        231-311        1            116,085708
2        06001        231-312        1         1807,381939
3        06001        231-324        1        327,510073
4        06001        231-333        1        604,590916

A+

Franck

PS : le traitement est complètement automatisable avec ModelBuilder.

Hors ligne

 

Pied de page des forums

Powered by FluxBB