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é ?

#1 Thu 20 October 2011 05:04

Marinedu69
Participant occasionnel
Date d'inscription: 1 Oct 2011
Messages: 13

Densité de bordures d'habitat

Bonjour à tous,

Désolé de poser autant de questions dans un même message mais étant complètement novice sur l'utilisation de ArcGis, j'ai encore du mal à maîtriser ce logiciel.

Je travaille sur ArcGis 10 et mon but est de pouvoir calculer des densités de bordure d'habitat. J'utilise en parallèle à ArcGis, l'outil GME de spatial ecology. Voici comment je pensais procéder et quels sont les problèmes que je rencontre.

1) J'aimerais pouvoir transformer ma carte vecteur de polygones en carte raster (pour utiliser GME). J'aimerais pouvoir assigner à mes cellules vecteur, un champs (que j'aurais préalablement contruit dans ma carte vecteur) dans lequel il y aurait l'intitulé de mes habitats que j'aimerais moi même écrire sans utiliser les autres champs de ma carte (puisque pas de correspondance).
Sous excel, c'est très simple ! mais sous ArcGIS et directement à partir de la table attributaire, je ne vois pas comment faire ça avec le field calculator car les autres champs ne m'intéressent pas. Est-ce qu'il faudrait contruire un code VBA spécifique ? Est-ce qu'il serait possible de construire ma colonne sous excel (.dbf) et de reconstruire le shapefile correspondant sous ArcGIS ?

2) J'aimerais pouvoir ensuite utiliser l"outil extract edge de GME qui crée une bordure entre 2 pixels différents. Si je veux par exemple, extraire les bordures de zones urbaines, comment sous ArcGis, je peux assigner une valeur 1 aux pixels des zones urbaines et 0 le reste des pixels de ma carte ?

Je commence vraiment à désespérer aussi toutes vos idées sont les bienvenues.
Merci encore pour votre aide.

Marine

Hors ligne

 

#2 Thu 20 October 2011 09:10

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1663

Re: Densité de bordures d'habitat

1/ Si c'est plus facile sous excel. Tu fais le boulot sous excel, l'enregistres en .dbf. Puis sous arcmap, tu fais une jointure avec ton shape et tu l'exportes sous un autre nom. Puis tu gardes les champs que tu veux en supprimant éventuellement les autres dont tu n'as pas besoin.
2/ Pour les bordures ou zones urbaines, il te faut tout d'abord les identifier puis les sélectionner.
Tu crées d'abord un champ "test" où l'on va mettre la valeur 1 ou 0. Une fois sélectionnées les bordures ou zones urbaines, mise à jour du shape, sélection des bordures ou zones urbaines, tu ouvres la table attributaire, clic droit sur le champ "test", calculer les valeurs et tu mets 1 à ta sélection de bordures ou zones urbaines.

Hors ligne

 

#3 Fri 28 October 2011 05:01

Marinedu69
Participant occasionnel
Date d'inscription: 1 Oct 2011
Messages: 13

Re: Densité de bordures d'habitat

Bonjour à tous,

Merci pour votre message.
Je reviens sur le calcul de densité de bordure d'habitat car il s'avère que l'outil GME que je voulais utiliser ne fonctionne pas donc je cherche une autre alternative directement sous ArcGis pour résoudre mon problème.

Voici ce que je pensais utiliser :
1) outil "polygon to line" pour avoir les bordures
2) outil "line density" pour le calcul de densité

Sinon j'avais pensé aussi transformer ma carte d'habitat de polygones en raster puis utiliser l'outil 'raster to polyline puis "line density". Je ne sais pas vraiment laquelle solution est la meilleure.

Il me semble que l'outil "polygon to line" trace les bordures même celle à l'intérieur de polygones lorsque les polygones se chevauchent. Or, j'ai besoin que du contour "extérieur" des habitats. Y-a-t-il un moyen pour remédier à cela ? Le raster pourrait-être une solution ?

Merci pour votre aide.
Marine

Hors ligne

 

#4 Fri 28 October 2011 10:34

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1663

Re: Densité de bordures d'habitat

Un conseil avant d'aller + loin. Fais-toi un échantillon représentatif et travaille dessus pour évaluer l'outil "polygon to line" pour avoir les bordures
et l'outil "line density" pour le calcul de densité. Si "polygon to line" trace les bordures même celle à l'intérieur de polygones, il te faudra peut-être auparavant découper tes polygones pour qu'ils ne se chevauchent pas.

Hors ligne

 

#5 Wed 02 November 2011 04:15

Marinedu69
Participant occasionnel
Date d'inscription: 1 Oct 2011
Messages: 13

Re: Densité de bordures d'habitat

Bonjour,

Merci pour votre réponse. J'ai un souci avec mes polygones d'habitat puisque certains se chevauchent. Par exemple, si je veux les polylines des polygones de zones urbaines sachant que des polygones de zones urbaines se chevauchent, comment puis je obtenir seulement le contour extérieur de mes polygones de zones urbaines ?

Merci pour votre aide.
Bonne journée
Marine

Hors ligne

 

#6 Thu 03 November 2011 13:45

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1663

Re: Densité de bordures d'habitat

Si j'ai bien compris, tu veux créer de nouveaux polygones issus des chevauchements entre différents polygones. je ne vois que Union pour faire cela. Problème : il découpe les polygones mais garde les polygones intersectés en doublons. A part une suppression manuelle de ces doublons, je ne vois pas d'autre manip. Une fois passé ce stade, tu pourras utiliser le "polygon to line"...

Hors ligne

 

#7 Fri 04 November 2011 04:02

Marinedu69
Participant occasionnel
Date d'inscription: 1 Oct 2011
Messages: 13

Re: Densité de bordures d'habitat

Bonjour,

Merci conejo pour ta réponse.

Je ne suis pas sûr de moi mais est-ce que ce ne serait pas mieux de travailler sur une carte raster. J'ai fait le test et j'ai l'impression que le raster ne prend pas en compte la bordure entre deux polygones de même habitat qui se chevauchent.

J'ai dans un premier temps reclassifié mes habitats en mettant "1" à l'habitat pour lesquel je souhaitais avoir la densité de bordure et "0" pour le reste. ça s'est dans le cas où je veux la densité de bordure d'un seul habitat. Par contre si je veux la densité de bordure entre 2 types d'habitat différents, j'ai codé en fonction des habitats qui m'intéressaient
Ensuite, je pensais utiliser l'outil "raster to polygon", puis "polygon to line" (pour avoir mon shapefile de polylines") puis "line density" (pour le calcul de densité) ou bien j'ai pensé à "raster to polyline" mais les commandes s'arrêtent d'un coup de fonctionner au bout de quelques minutes sous ArcGIS 10.

Est-ce qu'il y aurait une autre manière de faire avec des outils d'ArcGIS. Est-ce qu'il y aurait une sorte de "extract edge" ?

Merci pour votre aide
Marine

Hors ligne

 

Pied de page des forums

Powered by FluxBB