Pages: 1
- Sujet précédent - [MI 8.5] Selection / Extraction d'extrémités de linéaires - Sujet suivant
#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 ...
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
Pages: 1
- Sujet précédent - [MI 8.5] Selection / Extraction d'extrémités de linéaires - Sujet suivant