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

GEODATA DAYS 2024

#1 Mon 30 June 2008 10:50

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Connaitre l'orientation Vertical Mapper

Bonjour,

Je viens de realiser des cartes d'orientation avec Vertical Mapper. Pour chacune de ces cartes, des parcelles de 4 ha ont ete selectionnees. J'aimerais savoir s il est possible de connaitre l'orientation principale, secondaire ... de chaque parcelle en fonction de la couleur des pixels qui la composent (une methode plus sure que de visu).
Par exemple j'aimerai savoir si je peux connaitre le % de chaque couleur dans chacune des parcelles.

Merci beaucoup.

Hors ligne

 

#2 Mon 30 June 2008 11:52

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Connaitre l'orientation Vertical Mapper

Bonjour,

Regardez l'outil "Region info" du menu de Vertical Mapper, qui permet d'avoir un certain nombre de statistiques sur des polygones.

Hors ligne

 

#3 Mon 30 June 2008 12:19

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: Connaitre l'orientation Vertical Mapper

Tu as deux possibilités:
- exporter des points avec la valeur des orientations (Tools > Export > points) pour chaque pixel de ta grille, puis de faire des croisements géographiques entre tes polygones et tes points.
- exporter des contours (mode polygones, tous les 5 ou 10°, selon la précision requise) puis de faire des requêtes ProportionOverlap avec les parcelles que tu as sélectionné
Tout dépend si tu veux une orientation précise ou un ordre de grandeur (les contours + requête te donneront des classes d'orientation)

Hors ligne

 

#4 Mon 30 June 2008 15:49

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Re: Connaitre l'orientation Vertical Mapper

Merci,

La 1ere solution ne me convient pas vraiment puisqu elle ne me donne qu une orientation globale de la parcelle. Or une parcelle peut aussi bien avoir 2 ou 3 orientations différentes (je travaille sur des versants de montagnes). En fait j aimerai savoir pour une parcelle donnée, le « degré » de Sud de Nord, d Est et d Ouest. Je m étais donc tourné sur le nombre de pixels de chaque couleurs mais si il existe une autre méthode, je suis preneur.


C pourquoi la 2eme solution me parait la meilleure mais qu entends tu par classes d orientation ? Le problème, parce qu il y a un problème, c que je n arrive pas à l exécuter. Pourrais tu me détailler la méthode.

Cela vient sûrement de 2 problèmes que je rencontre :

    - je travaille d un grid (l orientation) avec une couche vecteur (les parcelles)
                - je suis niveau débutant à MapBasic. Pour info, mes commandes :

Select parcel.id, orient.id,
Proportionoverlap(parcel.obj, orient.obj)
From parcel, orient where parcel.obj intersects orient.obj
Into selection
Browse*from selection

Et enfin j aimerais (pendant que j y suis, je mets tout d un coup) que la méthode soit reproductible rapidement puisque je dois la réaliser sur plusieurs centaines de parcelles.

Merci par avance.

Hors ligne

 

#5 Mon 30 June 2008 18:30

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: Connaitre l'orientation Vertical Mapper

je travaille d un grid (l orientation) avec une couche vecteur (les parcelles)


CE n'est pas un problème. Le mieux dans ton cas est de tout mettre en polygones ==> le croisement sera beaucoup plus facile.

Le procédé: ta grille d'orientation (si tu l'a faite par rapport au nord) et donne des directions de 0 à 360°.
Tu peux extraire des polygones avec l'outil "contour": pour cela, tu choisis le mode "Regions" et tu lui dis d'extraire des directions de 0 à 360° tous les 10° (ou tous les 90° si seules les directions globales N à E, E à S S à W et W à N t'intéressent. Tu vois ce que je veux dire?).
Cela va te donner des polygones qui couvrent ces intervalles d'orientations.

Après cela, tu fais une requête pour croiser les données: (proportionoverlap  *100 ==> donne des %)
Select Parcel.ID, Orient.Lower, Orient.Upper, proportionOverlap(Parcel.obj, Orient.obj) *100
from Parcel, Orient
where Parcel.Obj intersects Orient.Obj
group by Parcel.ID, Orient.Lower
into Selection

NB: pas besoin de lui dire de trier aussi par Orient.Upper: il n'y a pas deux Upper semblables (logique, non?)

Le résultat est une ligne par parcelle et par classe d'orientation:
parcelle 1 ==> entre 0 et 90° ==> 60%
parcelle 1 ==> entre 90 et 180° ==> 25%
parcelle 1 ==> entre 180 et 270° ==> 15%
parcelle 1 ==> entre 270 et 360° ==> 10%
parcelle 2 ==> entre 0 et 90° ==> 45%
parcelle 2 ==> ...

You see what I mean?

Et enfin j aimerais (pendant que j y suis, je mets tout d un coup) que la méthode soit reproductible rapidement puisque je dois la réaliser sur plusieurs centaines de parcelles.


C'est super difficile d'automatiser du Vertical Mapper avec MapBasic (personnellement, j'ai pas réussi. J'ai utilisé des subterfuges assez tordus...). Tu vas te prendre la tête, et être expert en MapBasic n'y aurait rien changé.
Je te conseille donc de mettre toutes tes parcelles dans la même table PUIS de faire la requête: tu auras ainsi la proportion de directions par parcelle.
Si tu veux séparer les résultats selon les parcelles, là, oui, tu pourras faire du MapBasic...

J'espère t'en avoir dit assez...

Hors ligne

 

#6 Tue 01 July 2008 12:08

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Re: Connaitre l'orientation Vertical Mapper

Merci beaucoup,

J ai avancé d un coup, c super. Mais il reste encore un petit problème. J ai réalisé, en suivant tes conseils, des classes d orientation en %. Normalement, la somme de ces % devraient atteindre 100%. Or ils se trouvent que dans aucune de mes parcelles j ai 100 %. Pire desfois la somme n atteint même pas les 50 %.

Je me suis dis que cela pouvait venir de plusieurs inconnus :

    - toutes les valeurs n étaient pas prises en compte lors de l extraction des valeurs.
    - il existe un nombre de « plats » importants (qui n auraient donc aucune orientation), or pour avoir vérifié sur les ortho et pour connaître pratiquement toutes les parcelles puisque j y ait fait mon terrain, les plateaux sont très rares voir inexistants.
    - peut être que ça vient des approximations lors de la création de la carte d orientation en fonction de l altimétrie.
    - la formule utilisée (proportionoverlap) exclue d elle-même des valeurs.

Or je ne vois pas du tout comment rectifier le tire.

Merci encore une fois !!!!!

Hors ligne

 

#7 Tue 01 July 2008 12:29

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Connaitre l'orientation Vertical Mapper

Mon opinion: le total doit être 100% (même avec les plats = 0%) et s'il ne les fait pas...c'est que tu as mal écrit les bornes tongue

Hors ligne

 

#8 Tue 01 July 2008 13:13

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Re: Connaitre l'orientation Vertical Mapper

Je ne pense pas que ca soit ca puisque lorsque j utilise l outil contour, mode region, le choix des bornes se fait automatiquement dans l option intervals.

En cherchant un peu plus, j ai dans ma table de %, une borne [-0,0036 ; 45[ alors que j ai bein defini la borne [0 ; 45[

Les 2 valeurs majeurs d orientation m ont l air juste. Ms pour la 3eme, elle ne depasse rarement le 1 voir 2% alors que de visu, sur la carte des contours, le % d orientation m a l air plus grand.

Hors ligne

 

#9 Tue 01 July 2008 14:43

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: Connaitre l'orientation Vertical Mapper

Mon opinion: le total doit être 100% (même avec les plats = 0%) et s'il ne les fait pas...c'est que tu as mal écrit les bornes


Hep Hep, les gars! Dans notre cas, "0" d'orientation veut dire "plein Nord" et non pas "à plat"!! Dans la grille de données d'orientation des pentes, vérifiez bien: les surfaces à plat sont des valeurs nulles et je suis prête à parier que les trous dans les polygones de contours sont exactement à ces endroits là....

toutes les valeurs n étaient pas prises en compte lors de l extraction des valeurs.


Si mais peut-être pas toute la surface. On parle ici d'orientation, de direction de pente. En effet, si le terrain est plat, c'est sûr qu'il n'y aura pas de direction d'orientation (valeur nulle) et donc l'extraction de polygones fera des trous... Vérifie sur une parcelle où le résultat n'est pas de 100% qu'il n'y ait pas surfaces sans polygones.

il existe un nombre de « plats » importants (qui n auraient donc aucune orientation), or pour avoir vérifié sur les ortho et pour connaître pratiquement toutes les parcelles puisque j y ait fait mon terrain, les plateaux sont très rares voir inexistants.


C'est quoi ton MNT? IGN? SRTM? Vu la taille des pixels comparée à la taille des parcelles, le MNT n'est qu'une approximation de la réalité. Est-ce que ce ne serait pas dû à ce fait?

la formule utilisée (proportionoverlap) exclue d elle-même des valeurs.


Tu crois vraiment qu'une fonction peut s'amuser à choisir toute seule des classes à ignorer?? La fonction ProportionOverlap calcule ses stats pour TOUTES les classes de valeurs. Mais si la classe "sans pente" ne donne pas de polygones, c'est sûr qu'il n'y aurai pas de stats pour cette classe là....

Pour parer à ce problème de terrain sans pente:
extrait tes contours
rend la couche modifiable
Ajoute un polygone qui couvre toute la surface du MNT, fais-en une cible, sélectionne tous les autres polygones et Modifier objet > Supprimer intérieur.
==> Ce qui reste est les surfaces à pente nulle.
Là, tu peux refaire ton croisement géo: je suis sûre qu'alors la somme de tes proportions fera 100%...

Dernière modification par Miss T. (Tue 01 July 2008 14:44)

Hors ligne

 

#10 Tue 01 July 2008 15:26

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Connaitre l'orientation Vertical Mapper

Bien vu Miss T wink

En effet, si le terrain est plat, c'est sûr qu'il n'y aura pas de direction d'orientation (valeur nulle)


c'est toute la différence entre "Pas de données" et "0", un grand classique quand on traite des grilles raster smile

Robin.

Hors ligne

 

#11 Tue 01 July 2008 16:15

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: Connaitre l'orientation Vertical Mapper

Exactement.
(Maurice, un point pour moi!  tongue)

Hors ligne

 

#12 Wed 02 July 2008 10:01

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Re: Connaitre l'orientation Vertical Mapper

J utilise les donnees de l ICC (Institut Cartographique de Catalogne), beaucoup de donnees sont telechargeables sur leur site (http://www.icc.es/web/content/ca/index.html) mais bien sur, que des donnes pour la catalogne

J ai bien regardé, il n y a pas de surface sans polygone et ta methode de fin ne donne aucun "reste".

Pour la fonction, je pensais en effet qu elle ne prenait pas les valeurs nulles. Je ne pense pas que le fait que le MNT soit une approximation joue un role dans le traitement carto. En effet l approximation se fait, dans mon cas, lors de la creation des pentes. Je ne pense pas que cette approximation joue un role dans les analyses et le proportionoverlap (ms je peux totalement me planter) puisque dans chacune de mes parcelles, il y a bien une couverture de 100% de polygones donc je devrais normalement avoir un total de "100% d orientation".

Je seche completement. Meme plus une idee pour savoir ce qui ne fonctionne pas.

Hors ligne

 

#13 Wed 02 July 2008 12:52

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Connaitre l'orientation Vertical Mapper

A part le -0,0036 qui est un petit bug de VM (et qu'on peut remplacer par 0 si on y tiens mais c'est ici sans importance) , il y a un gros bug dans la requête qui pour fournir ce que l'on attend doit comporter une somme !!
Select Parcel.ID, Orient.Lower, Orient.Upper, Sum(proportionOverlap(Parcel.obj, Orient.obj) *100)
from Parcel, Orient
where Parcel.Obj intersects Orient.Obj
group by Parcel.ID, Orient.Lower
into Sel1

...avantage Maurice tongue

Hors ligne

 

#14 Wed 02 July 2008 15:09

pMat
Juste Inscrit !
Date d'inscription: 30 Jun 2008
Messages: 6

Re: Connaitre l'orientation Vertical Mapper

Yeahhhhhhhh, ca marche !!!!!!!

Merci beaucoup Miss T et Maurice, votre duel à distance m a bien aidé. Fini de se prendre la tete dessus, je vais pouvoir passer à autre chose.

Encore merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB