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 Tue 16 June 2009 20:38

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

[MI 8.5] Selection / Extraction d'extrémités de linéaires

Bonjour,

tout d'abord merci au développeur du Géoréezo pour cette nouvelle mouture. C'est un peu déroutant au début mais ca fait tellement de bien de changé un peu ... wink

J'explique mon problème. Je dispose de troncons (cours d'eau) dont je voudrais extraire les extrémités à raison d'un quart de la longueur du tronçon. C'est à dire que je souhaite récupérer un huitième de chaque coté des tronçons.

J'imagine que je ne suis pas très clair donc rien de tel qu'un schéma explicatif montrant un troncon sur la couche de départ et les tronçons résultants sur la couche d'arrivée :

-------- (si un tiret = 1m --> troncon de 8m)
-       -  (en sortie deux troncons d'extrémité de 1 m = 2m = 1/4 du troncon d'origine de 8m

Comment puis-je m'y prendre ? (fonction MB ?, ...)
Merci d'avance,

Greg

Hors ligne

 

#2 Tue 16 June 2009 21:40

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Salut
Beau problème!
Comme je ne connais pas la programmation, mais que je peux parfois décortiquer un problème, voici un premier approche.
Prendre les segments, calculer la longueur (objectlen), diviser cette valeur par 8 pour connaître la longueur à couper.  Par la suite, il faut couper les segments selon la valeur calculée pour chacun d'eux.  On va se retrouver avec plein de petit segments.  L'identificateur du segment devient donc très important.  Donc, le segment 1 qui avait 8 mètres, aura des identificateur 1-1 à 1-8.  Maintenant, comment extraire le premier et le dernier?  Je bloque!

Daniel


De retour à la géomatique

Hors ligne

 

#3 Wed 17 June 2009 09:41

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

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Bonjour
Ca tombe bien, moi c'est la découpe par 1/8 de longueur que je ne vois pas comment faire...
Par contre on peut repérer les X,Y du noeud de départ et ldu noeud d'arrivée de chaque tronçon original et donc identifier les tronçons découpés qui les contiennent:
pour X: ObjectNodeX(obj, 1, 1 ou ObjectInfo(obj,20))

Hors ligne

 

#4 Wed 17 June 2009 13:43

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Bonjour
Je lance une piste mais là, des programmeurs comme Maurice ou autres sauront nous dire si ça a du sens.  Si la valeur de (longueur / 8) était stocké dans la base de donnée, pourrions-nous utiliser un MBX comme COUPE et de couper en utilisant la colonne (L/8) comme valeur?
Ou encore, être en mesure de mettre un point sur la ligne à la distance inscrite dans la base de données?

J'essaie simplement de lancer des piste!!!!!

Daniel


De retour à la géomatique

Hors ligne

 

#5 Wed 17 June 2009 19:08

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Bonjour
Une précision toutefois, il est nécessaire que le tronçon ne contienne qu'un seul objet et non un assemblage de polyligne. Il faut absolument que tous les points du tronçon se suivent.

Ensuite l'idée est de parcourir segment par segment de la polyligne pour mesurer la distance segment par segment. pour arriver à obtenir une distance supérieure ou égale à L/8. Il suffit ensuite de découper le dernier segment mesuré (le premier inférieur à L/8) pour que la longueur cumulée des segments précédents plus le morceau du dernier segment soit égale à L/8.
L'idée est la même pour la fin en partant du dernier segment de la polyligne.

Il est possible de même d'utiliser se parcours pour déterminer L.
Et dans ce cas il est intéressant de noter chaque longueur intermédiaire, pour éviter de devoir tout recommencer à chaque fois.

c'est l'idée générale

Damien

Hors ligne

 

#6 Wed 17 June 2009 21:07

SRoddier
Membre
Date d'inscription: 19 Oct 2007
Messages: 14

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Bonjour

Alles je me lance mais cela fait longtemps :

pourquoi ne pas créer des cercles (ou buffer) dont le centroide serait l'extrémité de chaque ligne et le rayon égal au 8eme de la longueur du tronçon?

Ensuite par le jeu du pochoir chaque tronçon (cible) sera découpé par le cercle (pochoir).

Avec MB et en le faisant tronçon par tronçon cela devrait aller vite.

tenez moi au courant.

Cdt

Sébastien RODDIER

Hors ligne

 

#7 Wed 17 June 2009 21:31

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

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Bien vu mais il y a un hic !
Parfaite pour des tronçons rectilignes, la méthode introduira des erreurs pour des courbes

Hors ligne

 

#8 Tue 23 June 2009 15:59

greg-gwened
Participant actif
Lieu: Vannes
Date d'inscription: 4 Oct 2007
Messages: 148

Re: [MI 8.5] Selection / Extraction d'extrémités de linéaires

Merci pour toutes ces pistes ....

J'ai malheureusement d'autres taches prioritaires dont il faut que je m'occupe je vous prie de m'excuser. J'y reviendrais lorsque j'aurais un peu plusde temps devant moi ...

En tous cas, merci pour vos reflexions et votre réactivité.

Gregory

Hors ligne

 

Pied de page des forums

Powered by FluxBB