PDA

Voir la version complète : [MapInfo 7.x] Ségmentation dynamique



chec
13/09/2004, 12h31
Salut à tous
Est il possible de faire de la segmentation sous MapInfo? autrement existe t'il une commande Mapinfo qui permette de segmenté un polyligne en plusieurs autre segment de ligne?

Brice
13/09/2004, 13h12
Autant te le dire tout de suite, c'est pas gagné. Travaillant sur les transports scolaires, je suis en plein dans cette problématique avec le calcul d'itinéraires.
Ce qui est possible de faire :
Des outils existent pour couper une polyligne suivant un point (outil Cutpline) couplé à l'outil Hatch (qui permet de créer des points à distance régulière), tu peux tronçonner ton réseau comme cela. (Exemple : avoir des tronçons découpé tous les 100 mètres). Pas trés viable si ton réseau évolue souvent.
Pour le calcul d'itinéraire, de distancier, d'optimisation de tournée, il n'existe pas grand chose sous MapInfo à part des Add-on tel que Chronovia, Chronomap.
La possibilité de recourir à MapBasic et de développer soi même, la segmentation dynamique.
Enfin, je te mets une réponse du Géorezo concernant cette question :


ton pb est simplement de mettre en place un outil sig base sur la
segmentation dynamique.

la segmentation dynamique consiste a creer
1)d'abord une couche de line dans ton sig (ex : des troncons de route)
et bien sur chaque troncon a un ID unique, nomme par exemple IDtroncon.
chaque troncon a un sens afin de connaitre le depart et l'arrive (ca
evite par exemple de faire couler les reseau hydro vers l'amont...)

2)secundo, tu cree une base de donnee (excel, access, sqlmachin etc...)
qui contient la liste de tes evenements.
un evenement est une chose qui se passe sur tes troncons, comme des
travaux ou un accident de voiture ou un pont ou un tunnel.
les colonnes de ta base de donnees sont :
code de l'evenement/ IDtroncon / pk debut/ pk fin/ description de
l'evenement / autres champs que tu veux
par ex :
-evenement 152/ troncon 24/ 80 km / 90 km / travaux de soutenement / ....
-evenement153 / troncon24 / 55 km / null / pont de saint pierre/ ....
traduction :
-l'evenement n° 152 a lieu sur le troncon de route n° 24entre le 80 ieme
km et le 90 km (donc travaux sur 10 km).
il s'agit de travaux de soutenement, realise par machin avec un
catepillar jaune bidule truc etc...
-l'evenement n° 153 est un pont situe a 55 km du depart du troncon de
routen°24.

3) tu ouvre ta bdd dans le sig et tu fais un lien entre ta couche de
routes et la bdd via le champ IDtroncon

4) tu lance l'outil de segmentation. la segmentation existe en natif sur
arcinfo, on la trouve en script gratuit pour arcview (site US et site
francais).
Ca existe aussi en script mapbasic machin pour mapinfo meme si mapinfo
est pas bien fait pour de la segmentation.

5) la segmentation dynamique te cree une nouvelle couche de ligne qui
va contenir une line de 10 km (tes travaux).
6) la segmentation dynamique te cree une nouvelle couche de point qui
va contenir un point (le pont) a 55 km du depart du troncon n°24
(pour les evnement de type point, une sule distance suffit donc on n'a
pas besoin de pkfin , le champ peut rester en valeur null par exemple.

en conclusion, Faire du lineaire en SIG c'est faire de la segmentation.
tu peux tenter autre chose mais alors bon courage pour la complexite et
la mise a jour de ton projet.
bon courage.


Après, peux tu un peu préciser ta problématique pour savoir exactement dans quel contexte tu as besoin de la segmentation dynamique.

Voilà, si tu as d'autres pistes n'hésite pas à en faire part sur le forum car cela m'intéresse grandement.

Merci d'avance

chec
06/10/2004, 17h37
Au fait j'aimerai faire de la segmentation pour diviser un réseau hydraulique constitué de plusieurs tronçons mais qui ont été numérisé en ne tenant pas compte des segments.

Brice
07/10/2004, 09h14
As tu essayé les outils que je t'ai conseillé plus haut?

just4GIS
07/06/2006, 01h41
Bonjour,

J'ai une question à propos de MapInfo, est ce qu'il permet la segmentation (dynamique et fixe) des eléments linéaire? (the Linear referencing)

Merci d'avance.

gregsk8
07/06/2006, 11h37
Hop sujet fusionné ;)

bogard
30/03/2009, 23h36
Géomap a un logiciel de segmentation dynamique qui se branche directement sur du Map Info ou du Autocad Map 3D. Il est en autre utilisé par des ministères de transports et les conseils généraux en Frances.

Salutations

Alain Beauregard
Géomap GIS Amérique

IDo_Geekette
03/05/2010, 13h55
Bonjour à tous,

Ceci est mon premier post et je tiens à remercier l'ensemble de la communauté pour la richesse des informations présentes sur ce forum ! MERCI !

Actuellement, je suis en stage de fin d'étude, pendant 6 mois, à la Fédération de Pêche et de Protection du milieu aquatique (43). Je dois mettre au point le modèle conceptuel et la base SIG de la structure, et réaliser des diverses études qui vont en découler.

Mais je bloque sur une manip' qui se refère à ce que vous appelez : la segmentation dynamique.

Objectif : Je dois classifier la largeur du réseau hydrographique en fonction de la distance à la source. C'est un préalable indispensable pour la suite du remplissage de la Base de Données.

Principe : la classification est la suivante :
Distance à la source (Km) ==> Largeur moyenne du cours d'eau (m)
"< 10" ==> "< 3"
"10 - 20" ==> "3 - 6"
"20 - 35" ==> "6 - 10"
"> 35" ==> "> 10"

Cette classification est subjective donc criticable mais elle est en vigueur dans ma structure.

Données à ma disposition : BD Carthage - Mapinfo v10
- Tronçons hydrographiques : linéaire avec un sens
- Ponctuel Hydro-

J'ai déja réalisé une "selection", pour ne conserver que les sources (nommées : "source simple") de la table "Ponctuel hydro".

Commentaires :
- Dans un bassin versant, il existe plusieurs sources, donc plusieurs distances à la source... Dans ce cas, il faut privilégier la source la plus éloignée.
- les données crées peuvent apparaitre dans une nouvelle table et non obligatoirement dans la table "tronçon hydro"


Voila, j'espère que j'ai été clair, et je désire que vous m'apportiez des éclaircissements avant de me lancer dans cette entreprise. J'ai bien sûr lu tous les sujets et télécharger quelques modules (outils_points.mxb par ex- ) mais aucun ne me parait adapté. Il est toutefois possible que je n'ai pas assimilé la complexité de certains de ces modules.

Merci d'avance et à bientôt j'espère.

Spacejo
03/05/2010, 16h04
Salut et bienvenue,

Oû sont situés tes largeurs?
Pas dans la BD Carthage, dans une table?
Tes données sont elles comme ceci --> dans ta table coordonnées X, Y puis la largeur du cours d'eau?
A+
Joël

IDo_Geekette
03/05/2010, 17h14
Alors, je ne possède pas de table avec les largeurs renseignées car c'est l'information que je souhaite acquérir !

(La table tronçon_hydro de la BD Carthage est renseignée par des largeurs mais elles ne sont pas assez précises. La classe la plus faible est 0-15m, ce qui ne correspond pas à la classification que je souhaite - Cf. précedent post.)

Dans un premier temps, ce qui me manque, c'est de pouvoir calculer la distance à la source pour tous les linéaires de mon bassin versant. Disons que c'est le préalable. Apres, je pourrais renseigner la largeur.

Suis-je assez clair ?

Merci de ta réactivité Spacejo ! ;)

Spacejo
03/05/2010, 17h31
Est ce que dans ta couche BD Carthage les cours d'eau sont 'ils représentés avec une épaisseur?
Je m'explique si ta couche vectorielle est bien dessinée alors il est faisable de poser un point et son double (sur l'autre rive) perpendiculairement à celle ci.

Dans un premier temps, ce qui me manque, c'est de pouvoir calculer la distance à la source pour tous les linéaires de mon bassin versant.
Avec la FMB est la fonction "objectlen" il est possible de calculer la longueur d'un élément linéaire.
En espérant orienter tes reccherches
A+
Joël

IDo_Geekette
06/05/2010, 10h02
Bonjour Joël !

Excuse-moi, j'étais sur le terrain pendant deux jours à faire des pêches électriques :D donc je n'ai pas eu le temps de passer sur le fofo. Merci de ton aide en tout cas !

Alors, j'ai bien relu tes posts et je vais essayer d'y répondre.

En ce qui concerne l'épaisseur de la couche "tronçon hydro" vectorisée de la BD Carthage : Disons que d'apparence, elle possède différentes épaisseurs (sans que j'ai réalisé d'analyse thématique, ni changé la réprésentation graphique dans le contrôle des couches) : les traits sont plus fins lorsque qu'il s'agit de tronçon classé entre 0-15m etc...

Mais si je test ta technique de positionner deux points sur chaque rive, c'est à dire de chaque côté du trait. Je dois avouer que je n'y arrives pas. J'ai fait une impression d'écran que je te met en pièce jointe. Je n'ai pas réussi à davantage rapprocher les points, ils ne collent pas au trait, et ne sont pas perpendiculaire à celui-ci. Attention le zoom est très élevé, je t'ai mis une estimation de l'échelle dans l'imprim écran. Donc je ne pense pas que ma couche vectorisée soit "représenté avec une épaisseur"....

Sinon je me doute qu'il va falloir passer par MapBasic, mais je n'ai jamais utilisé...:o:

J'espère que mes indications te permettent d'avancer dans ta reflexion et ainsi de me rapprocher de mon objectif.

A bientôt

Spacejo
06/05/2010, 10h14
Salut,

Alors effectivement tes rivières n'ont pas d'épaisseur.
Ce que je pensais c'est qu'elles étaient déssinées soit avec des polygones ou des polylignes fermées donc avec une possibilité de largeur.
Mon raisonnement était de placer un point sur une rive et son binôme en face, puis calculer la largeur entre ceux ci.
Ces largeurs sont t'elles disponibles dans ta table?
A+
Joël

IDo_Geekette
06/05/2010, 11h16
Je comprend ta démarche, mais pas de chance la couche n'est pas de très bonne qualité. Mais bon, je ne vais pas faire mon difficile sinon je vais devoir retracer tout le réseau hydro à l'échelle d'une département ARG ARG !

Il y a bien des largeurs de disponible dans la table tronçon_hydro, mais elles ne correspondent pas à la classification que je veux. En réalité la classification n'est pas assez fine.

J'ai créé un petit document sur illustrator, spécialement pour toi :inlove: AHAHA :D. Il te permettra de mieux comprendre l'état des choses et ce à quoi je souhaite aboutir.

Merci

Ps : j'ai marqué tronçon hydraulique - Il faut comprendre tronçon hydrographique...

Spacejo
06/05/2010, 11h26
Alors as tu regardé cette palette d'outils qui peut peut être faire avancer ton problème.
---> http://www.routeware.dk/toolbox.php
Pour calibrer tes tronçons --> add nodes
A+
Joël

IDo_Geekette
06/05/2010, 12h30
Merci beaucoup !

Je viens d'y jeter un oeil et de télécharger le module. Sa a l'air de correspondre.

Mais des fonctionnalités ont l'air d'être payante avec une version d'essai de 14 jours.... Je te tiens au courant si j'ai des difficultés à manoeuvrer ce nouvel engin :D

Encore merci de ta disponiblité et de ton savoir !

Spacejo
06/05/2010, 12h38
De rien le forum est fait pour ça :D
La toolbox est gratuite mais pas routeware.
Elle fait un calibrage avec un pas constant mais pas en fonction d'un champs.
Tiens nous au courant de la suite des événements
A+
Joël

IDo_Geekette
10/05/2010, 16h28
Voila, je me suis plongé tout l'après midi sur RouteFinder, et j'avoue n'avoir rien réussi à faire. Ah si, placer un point start :D

Mon premier problème résidait dans le nombre d'objet, limité à 3000 dans la version gratuite. Je suis passé outre cet inconvénient, en divisant en deux mon réseau hydro. Par chance, en Haute Loire, il y a le bassin versant de la loire et de l'allier ! Donc j'ai copié coller tout le réseau hydro de la loire dans la couche dessin que j'ai enregistré dans une nouvelle table : Loire_hydro

Ensuite, j'ai crée un network avec pour table de base : Loire_hydro. Et la je n'arrive a rien faire, sauf le point start.

Aurais-tu quelques indications ou diverses pistes d'utilisation... ?

Sinon, ce matin, j'ai exploré un autre outils : outils_points. Il permet de découper une polyligne en fonction de la distance, tout en prenant en compte le sens et le début du tronçon. Mais si il faut que je fasse tout le bassin versant manuellement je n'ai pas fini : on ne peut selectionner qu'une seule ligne à la fois ! Et le calcul de distance se fait depuis le début de la ligne, or mon réseau hydro est découpé en plein de petites lignes.

J'avoue être un peu désorienté... :help-sos-sos-29402:

Spacejo
10/05/2010, 17h47
Salut,
Une soluce serait de passer par la FMB.
Connais tu la Fenêtre MapBasic?
Voir dans Options --> voir fenêtre MapBasic.
Cette fenêtre te permets de piloter Mapinfo par des requète et des lignes de codes.

IDo_Geekette
10/05/2010, 18h22
Re,

Alors oui je connais la fenêtre MapBasic mais que de nom..... Je n'ai aucune notion en lignes de codes. Je vais quand même aller faire un petit tour sur le forum pour acquérir les bases.

Cependant, je pense que même par FMB, le travail sera difficile. En zoomant sur certaines portions des bassins versants, je me suis rendu compte que des tronçons étaient manquants, des sens inversés et même une liaison entre le BV de la Loire et celui de l'allier !!! La BD Carthage a vraiment été réalisée à l'arrache !!!

Enfin, j'ai réflechi à une méthodologie pour le faire manuellement avec l'outil : "outil_points", et ça parait réalisable en une journée. Donc je vais opter pour ce procédé rébarbatif....

Merci beaucoup de ton aide. (je te met une bonne note :D )

Spacejo
10/05/2010, 18h27
En même temps que tu fais une recherche sur la FMB regarde aussi les posts que j'ai pu faire avec le générateur de script celà te serra utile.
Recherche avec mots clef "générateur de script" ou "scriptgen"
Bonne lecture