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 18 August 2008 10:17

Macaron
Participant assidu
Lieu: Paris
Date d'inscription: 12 Dec 2007
Messages: 244

Extraire les extrémités d'une polyligne pour en extraire deux points.

Chère communauté,

Je suis devant une série de polylignes qui représente un réseau hydrographique.

J'aimerais que les extrémités de ces tronçons se transforment en points afin qu'à partir de celui qui est le plus bas, je puisse déterminer le bassin versant amont qui correspond à cet exutoire.

Le soucis, c'est que je ne sais pas si c'est possible de transformer deux extrémités d'une polyligne en deux points et comment y parvenir sous MI 8.5 ou MI 9.0.

Si l'un de vous pouvait éclairer ma chandelle, je lui en serais reconnaissant.

Merci d'avance pour votre aide,

Alban

PS : Tout à une fin sauf la banane qui en a deux.


Message rédigé intégralement à partir d'électrons recyclés.

Hors ligne

 

#2 Mon 18 August 2008 10:28

JM
Participant occasionnel
Lieu: Toulouse
Date d'inscription: 1 Jun 2006
Messages: 34

Re: Extraire les extrémités d'une polyligne pour en extraire deux points.

Bonjour

La syntaxe est un peu lourde mais je fais comme suit (en sélection SQL)

select ("identifiant", "champs retenus"...., ObjectNodeX (obj,1,1), ObjectNodeY (obj,1,1), ObjectNodeX (obj,objectinfo(obj,21),objectinfo(obj,21+objectinfo(obj,21))) , ObjectNodeY (obj,objectinfo(obj,21),objectinfo(obj,21+objectinfo(obj,21)))) from "Table"

=> ObjectNodeX (obj,1,1) et
      ObjectNodeY (obj,1,1)
         désignent les X et Y du noeud initial
=> ObjectNodeX (obj,objectinfo(obj,21),objectinfo(obj,21+objectinfo(obj,21))) et
      ObjectNodeY (obj,objectinfo(obj,21),objectinfo(obj,21+objectinfo(obj,21)))
         désignent les X et Y du noeud final

Remerciements infinis au document MapBasic SQL de S RODDIER et J. PARIS

Hors ligne

 

#3 Mon 18 August 2008 10:42

Macaron
Participant assidu
Lieu: Paris
Date d'inscription: 12 Dec 2007
Messages: 244

Re: Extraire les extrémités d'une polyligne pour en extraire deux points.

Bonjour JM,
Cela me parait interessant.
Je me lance et je vois ce que je peux obtenir avec cette requête.
Merci encore,
Alban

Dernière modification par Macaron (Mon 18 August 2008 10:44)


Message rédigé intégralement à partir d'électrons recyclés.

Hors ligne

 

#4 Mon 18 August 2008 13:19

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

Re: Extraire les extrémités d'une polyligne pour en extraire deux points.

Bonjour

Je crois que nous avions évoquer cette possibilité dans le document que nous avions écrit Jacques et moi en 2001.

D'ailleurs à l'époque c'était également pour trouver les bassins versants à partir des points bas d'un réseau hyrdro. j'avais pour cela fait un petit mbx qui pour chaque tronçon :
- identifiait les noeuds extrème
- trouvait pour chaque noeud extrème l'altitude la plus basse (utilisation de gridengine.dll)
- identifiait pour le point le plus bas le BV correspondant (toujours avec gridengine.dll)

Si je retrouve le code (pas sur) je peux le mettre à dispo.

Sébastien RODDIER

Hors ligne

 

#5 Mon 18 August 2008 13:59

Macaron
Participant assidu
Lieu: Paris
Date d'inscription: 12 Dec 2007
Messages: 244

Re: Extraire les extrémités d'une polyligne pour en extraire deux points.

Bonjour Sébastien,
Votre MBX m'intéresse puisque je travaille en hydrologie à l'identification des bassins versants à partir des noeuds d'une polyligne.
Où puis-je trouver cet outil fort utile ?
Merci d'avance pour toutes les précisions que vous pourrez m'apporter.
Alban

Dernière modification par Macaron (Mon 18 August 2008 14:00)


Message rédigé intégralement à partir d'électrons recyclés.

Hors ligne

 

Pied de page des forums

Powered by FluxBB