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 Tue 28 October 2008 12:13

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

MI 7 - Découper automatiquement une polyligne à partir de points

Bonjour,

Je travaille sous Mapinfo pro version 7.0. Je souhaiterais découper automatiquement une polyligne à partir d'une table dans laquelle j'ai des coordonnées X et Y. Compte tenu du nombre important de points dont je dispose (plus d'une centaine) les outils proposés dans le forum sont inadaptés (outils_points par exemple) car la découpe n'est pas automatique mais manuelle.
S'il n'existe pas d'outils pour répondre à ma requête, pourriez-vous m'éclairer sur le langage MapBasic pour créer moi-même une programmation?

Merci d'avance pour votre aide.
Dorine

EDIT modération : pas besoin de marquer urgent, les gens vous répondrons s'ils ont le temps de toute façon wink.

Hors ligne

 

#2 Tue 28 October 2008 12:58

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Bonjour
Pas simple, surtout si vous envisagez à cette occasion de vous lancer dans la programmation MapBasic sad
On pourrait au moins dégrossir le travail avec le super outil DistanceCalc.mbx...mais il n'est livré qu'avec MI >= 7.8 ....
Il permet la création de lignes qui vont de chaque point à l'endroit le plus proche de la polyligne
Les points sont ils pile-poil sur la polyligne ou a une certaine distance (quelques centimètres ou mètres) ?

Hors ligne

 

#3 Tue 28 October 2008 13:31

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Merci pour cette réponse.
Les points sont tous situés pile-poil sur le tracé de ma polyligne mais pas à distance égale les uns des autres.
La programmation MapBasic est vraiment compliquée?

Hors ligne

 

#4 Tue 28 October 2008 14:20

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

titesouris a écrit:

...La programmation MapBasic est vraiment compliquée?


Pas vraiment (j'y arrive bien smile) mais comme vous disiez que c'est urgent....il faut quand même du temps pour s'y mettre
On peut plus facilement utiliser la fenêtre MapBasic (FMB) mais la limitation est qu'on ne peut pas faire de boucle dans cette FMB
Le problème est qu'une polyligne ne peut pas être "coupée" par un point mais par une autre polyligne / ligne
L'idée serait de fabriquer des segments passant par chaque point puis de couper la polyligne par chacun de ces segments
Laissez moi quelques temps, je vous construis un exemple....

Hors ligne

 

#5 Tue 28 October 2008 17:07

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Salut à vous deux,

Est ce que cet outils ne résoudrait pas le problème?
http://www.ian-ko.com/
Regarder dans ET Geotools--->Freetools--->Split point
En espèrant que cela t'aide
A+
joël

Hors ligne

 

#6 Tue 28 October 2008 17:11

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MI 7 - Découper automatiquement une polyligne à partir de points

OhOH désolè c'est pour arcgis!!!!
Mes excuses
Joël
A+

Hors ligne

 

#7 Tue 28 October 2008 17:14

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Génial, c'est juste l'outil qu'il faut smile
....sauf qu'il est réservé au monde ESRI, pas à MapInfo sad

ps: ah, il l'avait vu.... big_smile

Hors ligne

 

#8 Tue 28 October 2008 17:34

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Re,

J'entrevois une solution qui pourrait passer sous Mapinfo wink.
Si tu as la requète pour faire un split sur un point (en passant par la fenêtre Mapbasic).
Il te suffit de générer ta succession de requètes via un généréteur de script:
http://www.paris-pc-gis.com/externes/tr … %20scripts
Je l'ai déjà fait pour d'autres requètes et ça marche trés bien (c'est une première démarche vers Mapbasic)
PS:Attention j'ai dis Fenêtre Mapbasic (FMB)---->pour la requète et non Mapbasic.
Comme dit Maurice on ne peut pas faire de boucle dans la FMB mais on peut faire une succession de requètes.
En espèrant t'aider
A+
Joël
Si Maurice a

Hors ligne

 

#9 Tue 28 October 2008 17:42

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Re,

Voilà un exemple concret avec le générateur de script.
http://www.forumsig.org/showthread.php? … eur+script
Pour que cela marche il faut trouver la requète qui va bien dans la FMB.
En espèrant avoir rattraper ma boulette
Comme je disais si Maurice a la bonne requète pour "le split d'un point" dans la FMB.
A+
Joël

Hors ligne

 

#10 Tue 28 October 2008 17:44

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Ah! Faux espoir! ;-) merci quand même!

Hors ligne

 

#11 Tue 28 October 2008 17:47

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Ah j'avais pas vu le 2ème message, j'essaie de voir si je m'en sors avec ça!
Merci!

Hors ligne

 

#12 Tue 28 October 2008 21:07

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Spacejo a écrit:

...si Maurice a la bonne requète pour "le split d'un point" dans la FMB...


Justement, avec un point ça ne marchera pas; comme indiqué il faut passer par la fabrication de segments passant par le point
Pour tester en vraie grandeur j'aimerais bien disposer de la polyligne et des points. C'est possible de me les transmettre par mail ?

Hors ligne

 

#13 Tue 28 October 2008 21:32

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Bonjour

L'outil COUPE ou CUT PLINE ne fonctionnerait dans la procédure que SpaceJo parle?  Ou encore, si l'outil permet de couper à une coordonnée X,Y, serait-il possible d'écrire cette coordonnées dans la base de données du fichier de point et d'aller lire cette coordonnée pour exécuter une succession de requêtes?

J'essai de vous aider...

Daniel


De retour à la géomatique

Hors ligne

 

#14 Thu 30 October 2008 13:20

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Salut à tous,

Cette palette d'outils devrait faire l'affaire:
http://www.routeware.dk/toolbox.php
A+
Joël

Hors ligne

 

#15 Thu 30 October 2008 13:56

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Merci pour votre aide.
L'outil de Maurice (coupe_pnts.mbx) est exactement ce dont j'avais besoin pour découper ma polyligne.
Il ne me reste plus qu'à trouver un moyen pour récupérer les informations contenues dans ma table "points" et les intégrer dans la table de la polyligne, sachant que leur seul point en commun sont les coordonnées (jointure multi-critère..?).
A+
Dorine

Dernière modification par titesouris (Thu 30 October 2008 13:57)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#16 Thu 30 October 2008 14:21

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Merci du suivi...
Il peut être simplement utile de renseigner les coordonnées "départ" et "arrivée" de chaque tronçon de la polyligne découpée (puisque les points ne sont pas pile-poil sur la polyligne)
Pour ça, voir ce sujet, post #3

Hors ligne

 

#17 Thu 30 October 2008 14:33

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Maurice, je te laisse mettre à jour cette page avec le lien vers ton outil ?
http://georezo.net/wiki/main:mapinfo:outils_mi

Je mettrai ça à jour quand j'aurai du temps pour le rendre plus attrayant et accessible.
Robin.

Hors ligne

 

#18 Thu 30 October 2008 16:32

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Je ne l'ai pas fait car c'est un outil vraiment fruste, qui ne marche que dans le cas de figure de "titesouris" et dont je lui avais donné le code pour qu'elle se fasse la main en MapBasic...(code que je me réserve en général smile)
Il ne mérite pas en l'état de figurer dans la rubrique que cite Robin et qu'il envisages de mettre à jour

Hors ligne

 

#19 Thu 30 October 2008 16:52

matieu_dumo
Participant actif
Lieu: Questembert
Date d'inscription: 15 Mar 2006
Messages: 135
Site web

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Dommage c'est un outil qui manque terriblement à Mapinfo quand on doit restructurer des réseaux

Hors ligne

 

#20 Thu 30 October 2008 17:07

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

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Celui qui est en ligne le reste (avec son code)...mais il faut l'adapter (et le perfectionner, c'est vraiment fruste !!)
Je peux tenter d'en faire un plus généraliste, mais je manque de repère "métier" pour savoir ce qui fait besoin
Et depuis l'arrivée de DistanceCalc.mbx, le problème est différent puisqu'une bonne partie du boulot peut être fait par cet outil

Hors ligne

 

#21 Thu 30 October 2008 17:28

titesouris
Juste Inscrit !
Date d'inscription: 23 Oct 2007
Messages: 6

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Re bonjour,
On vient de me donner une info que je n'avais pas à propos de outil_points.mbx...
Cet outil permet de projeter un point sur une polyligne (manipulation qui ne m'intéressait pas puisque mes points étaient censés être pile-poil sur ma polyligne). Mais, en plus de faire la projection, il est possible de cocher une option qui permet de découper cette polyligne au niveau des points projetés.
L'outil développé par Maurice m'a malgré tout énormément servi. Encore merci.

Hors ligne

 

#22 Mon 27 April 2009 15:47

Rafffael
Juste Inscrit !
Date d'inscription: 27 Apr 2009
Messages: 8

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Bonjour,
J'ai le même problème que titesouris, et je me suis donc servi de l'outil outil_points.mbx .
Lorsque je fais la manip, aboslument rien ne se passe et je ne comprends pas pourquoi.
Merci bcp de votre aide.
Cordialement,
Raphael

Hors ligne

 

#23 Mon 27 April 2009 16:44

Mireille en Savoie
Participant occasionnel
Date d'inscription: 2 Jul 2007
Messages: 28

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Pas facile de répondre sans plus de details.... La manip est simple. Il faut une table polyligne, et une table points modifiable, où on selectionne tous les points. On clique sur le "I" du programme de l'outil. On indique le nom de la table polyligne et on choisit "couper la polyligne". On fait OK. On clique sur "fusionne les points" et  hop, la ligne est decoupée entre les points, ce qu'on peut verifier en deplaçant celle-ci.

Hors ligne

 

#24 Tue 28 April 2009 10:45

Rafffael
Juste Inscrit !
Date d'inscription: 27 Apr 2009
Messages: 8

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Merci bcp pour ton aide.
J'ai essayé sur un autre fichier et cela a marché (mon fichier source avait qques soucis).

J'ai voulu appliquer la même technique sur un autre fichier (lignes de train et gares). J'ai converti le fichier des lignes de train en polylignes (en faisant objet>convertir en polyligne) puis j'ai utilisé l'outil mbx outils_points.mbx. Mapinfo me sort un message: "(commun.mb: 164) : objectNodeX: argument 3 hors plage" . Mes polyligne ne sont pas découpées, en revanche une table identique à celle de mon fichier lignes de train se crée (mapinfo la nomme automatiquement "selproche").

Je suis un peu bloqué.
Merci de votre aide!
Raphael

Hors ligne

 

#25 Tue 28 April 2009 10:55

Mireille en Savoie
Participant occasionnel
Date d'inscription: 2 Jul 2007
Messages: 28

Re: MI 7 - Découper automatiquement une polyligne à partir de points

J'ai remarqué que l'outil ne marche pas si la polyligne est composée d'un assemblage de plusieurs tracés. Peut etre est ce le problème ?

Hors ligne

 

#26 Tue 28 April 2009 12:00

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: MI 7 - Découper automatiquement une polyligne à partir de points

C'est possible en effet,

A défaut de pouvoir modifier outils_points vous pouvez scinder vos polylignes à plusieurs sections en polylignes simples avec Objets/Désagréger

Hors ligne

 

#27 Tue 28 April 2009 15:05

Rafffael
Juste Inscrit !
Date d'inscription: 27 Apr 2009
Messages: 8

Re: MI 7 - Découper automatiquement une polyligne à partir de points

Oui effectivement le problème vient de là!
Le seul problème c'est que lorsque je désagrège , je peux bien couper là ou se trouve mes gares (c 'est à dire mes points) mais la désagrégation me fournit une multitude de polylignes si bien que j'ai plusieurs polylignes entre chaque gare et que mon but est d'avoir une seule polyligne entre chaque point.
Je ne sais pas comment je peux fusionner mes polylignes entre chaque point automatiquement... ou alors il faut que je change de méthode.
Merci de votre aide!

Hors ligne

 

#28 Tue 28 April 2009 15:42

Patrick PALMIER
Participant actif
Lieu: Lille
Date d'inscription: 18 Jan 2007
Messages: 97

Re: MI 7 - Découper automatiquement une polyligne à partir de points

ci-joint un petit MBX en l'état qui permet de connecter des points à la polyligne la plus proche dans la limite d'un rayon à définir.

Il découpera alors la polyligne et créera une polyligne de connexion entre le point et la polyligne


Si cela peut vous aider


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB