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 Thu 03 August 2006 17:48

Jeff_Richet
Juste Inscrit !
Date d'inscription: 7 Jun 2006
Messages: 5

Linéaire de contact entre deux type de polygone

Bonjour

J'ai des polygones (type 1 et 2) qui se touchent  : ils ont été obtenus par division de grands polygones en plus petits par intersection de couches. La couche est donc topologique et il n'y a pas de recouvrement d'un type de polygone sur l'autre. Je souhaiterai obtenir la distance de contact entre les polygone de type 1 et ceux de type 2. Comment faut il faire ???
J'ai recherché et essayé les outils mbx intersect et Pline mais ils ne me permettent pas d'obtenir le résultat désiré !
merci de votre aide !

Dernière modification par Jeff_Richet (Thu 03 August 2006 17:48)

Hors ligne

 

#2 Fri 04 August 2006 03:40

jakesp
Membre
Lieu: Montreal, QC
Date d'inscription: 28 Sep 2005
Messages: 126
Site web

Re: Linéaire de contact entre deux type de polygone

Je n'ai jamais essayé ce type d'analyse; je ne peux donc que suggérer d'utiliser pour commencer reg2plin. Cette application transforme un ensemble de polygones adjacents en un ensemble de polylignes n'ayant qu'un seul voisin à droite et un seul à gauche (l'identificateur est maintenu dans la table pour éventuellement reconstituer les régions (avec plin2reg)).

Il serait facile de rajouter une valeur indiquant pour chaque polyligne le type des régions originales, puis de faire la somme des longueurs par "catégorie" de voisins.

Ces 2 app sont sur www.paris-pc-gis.com/decharge.htm dans la section PPCC (en anglais seulement)

Hors ligne

 

#3 Fri 04 August 2006 12:24

Jeff_Richet
Juste Inscrit !
Date d'inscription: 7 Jun 2006
Messages: 5

Re: Linéaire de contact entre deux type de polygone

Je suis entrain d'essayer ta méthode mais je crois que j'ai mal rédigé ma question : ce qui m'intéresse ce n'est pas la somme totale des longeurs de contact entre les polygones de type 1 et de type 2 mais pour chaque polygone de type 1, savoir quelle longeur de son périmètre est en contact avec un polygone de type 2. Le but étant pour chaque polygone  de type 1 de créer un ratio : périmètre en contact avec un (ou des) polygones de type2/périmètre du polygone type 1. Il faut donc pouvoir rattacher chaque objet de la  couche "intersection" (créée avec Reg2Plin, merci :-)) à chaque objet de ma couche "polygones 1 et 2".
c'est complexe car je perd les identifiants de mes polygones avec Reg2Plin.
....
si tu as une idée...

Dernière modification par Jeff_Richet (Fri 04 August 2006 12:25)

Hors ligne

 

#4 Fri 04 August 2006 12:55

Jeff_Richet
Juste Inscrit !
Date d'inscription: 7 Jun 2006
Messages: 5

Re: Linéaire de contact entre deux type de polygone

J'avance, j'ai trouvé une solution qui pourrait marcher avec une jointure de type géographique : objet A intersecte objet B et je récupère le champ la longueur des objets "intersection" dans ma table des polygones  mais je ne règle pas les cas où un objet de type 1 est adjacent à  deux (ou plus) polygones de type 2 : comment faire la somme des périmètres ?

Dernière modification par Jeff_Richet (Fri 04 August 2006 14:35)

Hors ligne

 

#5 Fri 04 August 2006 14:35

Jeff_Richet
Juste Inscrit !
Date d'inscription: 7 Jun 2006
Messages: 5

Re: Linéaire de contact entre deux type de polygone

J'ai trouvé : j'attribue l'identifiant des polygones d'origine aux objets "intersection" par requete géographique( intersecte), je calcul leur longueur,  puis je met à jour le champ "somme des périmètres" de la table "polygones", en additionnant les longueurs des objets "intersection" qui possèdent le même identifiant de polygone  !
ça marche presque partout....il reste des erreurs qui proviennent surement d'imprécisions  topologiques dans la numérisation de la couche polygone.

si ça peut aider quelqu'un...

Dernière modification par Jeff_Richet (Fri 04 August 2006 14:37)

Hors ligne

 

Pied de page des forums

Powered by FluxBB