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

State Of The Map 2024

#1 Fri 07 December 2007 11:51

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

transformer automatiquement les points en polygones

Bonjour à tous,

je vous prie par avance de m'excuser si cette question a déjà été posée, mais j'ai surtout trouvé comment transformer un polygone en point, mais pas l'inverse.

Mes recherches ont été quelque peu avortées du fait d'un problème technique sur l'outil recherche, et d'autres forums ne m'ont pas apporté de réponses non plus, donc je me tourne donc vers vous en espérant ne pas trop me faire taper sur les doigts wink.

Voilà, j'ai fait des relevés GPS de bateaux logement, que j'ai intégré à ma carte en tant que points, jusque là pas de problèmes. Mais je souhaiterais transformer ces points en un polygone défini (une péniche vue de dessus), avec pour centroïde le relevé GPS (dans un premier temps). Or, je souhaiterais pouvoir faire celà automatiquement, c'est à dire utiliser une fonction du genre : "créer polygones" à la place de "créer points" (je sais, je rêve un peu).

Je souhaiterais ne pas avoir à redessiner à chaque fois le polygone (j'ai près de 200 bateaux) mais s'il faut en passer par là...

J'ai essayé de passer par l'outil "mettre à jour", mais je ne comprends pas pourquoi lorsque je crée une table modifiable avec des polygones, la table reste desesperement vide, alors que mes polygones ont une bien position. Cela peut vous sembler stupide mais j'ai appris Mapinfo sur le tas, et je ne sais quelle manip faire pour que mes création/modifs graphique sur la couche active se répercutent dans la table associée. Par exemple avoir une table avec 3 colonnes, la première l'index, et les deux suivantes les X et Y des polygones que je viens de dessiner sous cette couche. J'utilise la version 6.5 de Mapinfo sous XP, et j'ai le week end pour faire quelquechose de correct.

Si quelqu'un veut bien m'aider ou même m'engueuler en disant "hé ho, toutes les réponses sont dans le post trucmcuhe", ça serait top bueno.

Merci par avance et bonne journée tout le monde!

elvis is still alive @ :- )

dimsen

Hors ligne

 

#2 Fri 07 December 2007 12:14

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

Re: transformer automatiquement les points en polygones

Bonjour
Vous l'aurez voulu ...hé ho, toutes les réponses sont dans le post trucmcuhe tongue
Sinon, comme c'est difficile de dessiner une (belle) péniche vue de dessus, vous pouvez trouver dans les symboles disponibles quelque chose de correct pour la représenter. Si oui, rendez modifiable vos points, sélectionnez les, choisissez le "bon" symbole (outil Style symboles - punaise avec un point d'interrogation)...et enregistrez la table
Qui que ce soit qui l'ouvre (en dehors de l'aouverture par un *.wor) la verra avec cette symbolisation

Hors ligne

 

#3 Fri 07 December 2007 13:40

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Bonjour,

et merci pour la réponse rapide. Le problème c'est que d'après mon expérience, les symboles ont une taille absolue en points indépendante du niveau de zoom, or la carte à créer va servir autant de acte globale que de vue très précise (à l'echelle de la petit dizaine de mètres).

Ce qui fait que lorsque l'on dézoome, les symboles font l'équivalent d'une centaine de mètre de large, se chevauchent, etc... Il m'a semblé que l'interet des polygones justement était de pouvoir leur donner une taille fixe en mètres et donc une taille visuelle relative au zoom.

La solution donnée dans le post proposé semble très bonne... mais je n'ai pas Mapbasic, arf!!! Et difficile de me le procurer, sur cette version il est payant et mon administrateur info n'en a jamais entendu parlé. Donc si quelqu'un avait une solution "MapInfo only", ça serait génial.

En ce qui concerne mes talents de dessinateur de péniche, on va se limiter à un rectangle avec un triangle posé dessus, donc ça devrait pas être le plus dur. L'avantage également c'est que celà permettra de savoir dans quel sens le bateau  a accosté, et ainsi savoir si on à affaire à un "bon" ou à un "mauvais" marinier...


@plus

dimsen

Dernière modification par dimsen (Fri 07 December 2007 14:18)

Hors ligne

 

#4 Fri 07 December 2007 14:21

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

Re: transformer automatiquement les points en polygones

dimsen a écrit:

En ce qui concerne mes talents de dessinateur de péniche, on va se limiter à un rectangle avec un triangle posé dessus, donc ça devrait pas être le plus dur. L'avantage également c'est que celà permettra de savoir dans quel sens le bateau  a accosté, et ainsi savoir si on à affaire à un "bon" ou à un "mauvais" marinier...


Pour le plaisir, j'ai dessiné vite fait les parties principales d'une péniche dans un petit TAB ci joint.
Je suis parti sur la base d'une peniche de 40m de long environ.

A vous de jouer, vous pouvez simplifier la forme en fusionnant les 3 polygones (bateau/pont/cabine), je les ai mis pour la representation graphique (et pour m'amuser) wink

Bonne journée,
Robin.


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

Hors ligne

 

#5 Fri 07 December 2007 15:05

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Re bonjour,

et merci pour la péniche! En plus elle respecte à quelques mètres près le gabarit classique...

J'ai peut être trouvé une solution pour MapBasic, j'ai un ami qui possède ce module et qui pourrait donc effectuer l'opération :

Update ma_table Set Obj = Create Rect (X-a,Y+b) (X+c,Y-d)

Mais celà va-t-il créer une table utilisable sur une version MI dépourvue de MapBasic? Auquel cas je pourrais récuperer cette table pour l'intégrer dans mon document...

Si oui, existe-t-il une commande permettant de créer autre chose qu'un rectangle? C'est juste une curiosité, si j'arrive à faire des rectangles automatiquement centrés sur mes coordonées ça serait déjà le top!

Je me permets de poser une autre question dans le prolongement de mon travail, mais si vous le souhaitez je peux créer un autre post, afin d'éviter d'embrouiller le forum : voilà mes coordonées ne tombent pas exactement sur le pont de la péniche localisée, mais quelques mètres à coté (nous avons fait le repérage à partir d'une vedette, pas en montant sur les péniches). Je souhaitais replacer les points/polygones manuellement afin de donner une meilleure impression visuelle. Sur la carte pas de soucis, mais cela ne modifie pas les coordonées dans la table, ce qui aurait été le top.

Voilà en espérant que je n'ai pas trop dépassé les bornes avec toutes mes question de newbie.

bon week end à tous

dimsen

Dernière modification par dimsen (Fri 07 December 2007 15:24)

Hors ligne

 

#6 Fri 07 December 2007 15:47

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Re bonjour à tous,

bon désolé encore pour ce post à rallonge, mais j'ai quelques précisions à apporter à mon problème : on vient de m'installer MI 7.8 , et oh miracle MapBasic est inclus dedans.

Donc je me dis qu'il me suffit d'appliquer la commande :

Update table_polygones Set Obj = Create Rect (Longitude-5,Latitude+5) (Longitude+10,Latitude-10)

pour que je finisse de vous embeter... Mais bien sûr ce n'est aussi simple, car j'ai un/une "Variable ou Champ Create non défini" (cf copie d'écran jointe au post). Alors bien sûr je pense que ma syntaxe n'est pas bonne, mais j'ai pourtant essayer avec un peu tout (sachant que table_polygones est ma table de test contenant mes coordonnées et Longitude et Latitude sont le nom de mes champs X et Y).

L'aide de MapBasic est assez succinte vous en conviendrez, et mes recherches sur le net ne m'ont pas beaucoup aidé non plus...

Désolé de vous embetez encore une fois, surtout que la solution vous  crève peut être les yeux (oubli de guillemets ou d'un membre de la syntaxe), mais là je sèche completement.

Merci par avance à tous ceux qui auront la patience de me lire et encore plus à ceux qui auront celle de m'aider!

@plus

dimsen


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

Hors ligne

 

#7 Fri 07 December 2007 16:06

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

Re: transformer automatiquement les points en polygones

dimsen a écrit:

...J'ai peut être trouvé une solution pour MapBasic, j'ai un ami qui possède ce module et qui pourrait donc effectuer l'opération :
Update ma_table Set Obj = Create Rect (X-a,Y+b) (X+c,Y-d)
Mais celà va-t-il créer une table utilisable sur une version MI dépourvue de MapBasic? Auquel cas je pourrais récuperer cette table pour l'intégrer dans mon document...


Cette commande peut être passée directement dans la fenêtre MapBasic (menu Options), sans posséder celui-ci,...
MAIS elle est fausse (sad c'est moi qui l'ai donnée dans un post  !!) et ne donnera rien !!
On peut utiliser des fonctions telles que CreatePoint dans Update ma_table Set Obj = CreatePoint (X,Y), pour passer de polygone à point, mais pas aussi simplement des commandes Create Rect ou Create Region ... ou Create Point
Et il n'y a pas de fonction CreateRect sad ... il faut donc passer par un programme MapBasic
Je vous mitonne un petit outil mbx si le WE est pluvieux smile  (avec des péniches plus basiques que celle de Robin tongue)

dimsen a écrit:

...Sur la carte pas de soucis, mais cela ne modifie pas les coordonées dans la table....


Une fois les rectifications manuelles faites, créer 2 colonne (en flottan) et faites une mise à jour de chacune avec les expressions centroidX(obj) et centroidY(obj)
Prudent de taper avant dans la fenêtre MapBasic: Set CoordSys Table ma-table (puis 'enter sur cette ligne)

[EDIT Maurice] Les posts se sont croisés: vous avez la réponse !! mea culpa

Dernière modification par Maurice (Fri 07 December 2007 16:13)

Hors ligne

 

#8 Fri 07 December 2007 17:23

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Rebonjour tout le monde,

halala fantastique, merci mille fois Maurice, ces petits centroidX(obj) et centroidY(obj) sont un vrai bonheur. Oui bon beaucoup d'entre vous risquent de me trouver bête de dire ça car c'est peut être une des fonctions de base à savoir mais en tous cas ça me permet de voir mon week end plus sereinement car je me voyais déjà modifier dans la table les coordonées lambert des 200 bateaux (ha celui ci 2 mètres de plus à l'est, et 1,5 de plus au nord, je valide, j'examine le résultat sur la carte puis je remodifie...).

En ce qui concerne la commande basic Create Rect, effectivement je ne la retrouvais nulle part. Pour l'outil mbx ça serait vraiment très cool, mais bon faut pas non plus que ça prenne tout votre week end.

En tous cas pour les péniches un rectangle suffira amplement, pas besoin de beaucoup plus de détails, et au pire je pourrais les remodifier après. Comme je le disais, c'est simplement pour garder une taille de péniche relative au zoom, plutôt que de passer par un symbole qui a une valeur absolue de taille si je ne m'abuse. Si une option permet de faire suivre la taille du symbole par rapport au zoom, alors désolé d'avoir voulu faire compliquer avec mon désir de fonction Update ma_table Set Obj = Create Péniche sous MapBasic.

Merci encore pour votre aide, c'est génial!

MapInfo7.8 is still alive

dimsen

Hors ligne

 

#9 Sat 08 December 2007 20:32

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: transformer automatiquement les points en polygones

Bonjour,

dimsen a écrit

MapInfo7.8 is still alive


voici la traduction : MapInfo est encore en vie


Jean-Marc Hanczyk

Hors ligne

 

#10 Tue 11 December 2007 14:34

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Bonjour à tous,

désolé de revenir à la charge avec ma transformation points=>polygones, mais mes recherches de ce week end m'ont fait aboutir à deux hypothèses :
1) il est impossible d'effectuer la transformation sans passer par un outil MapBasic assez complexe (en tous cas trop complexe pour que je puisse le créer)
2) il me semble qu'il est néanmoins possible de créer (relativement facilement) des points autour d'un point donné en utilisant une commance MapBasic (commande que je ne sais pas non plus créer pour l'instant malheureusement!).

Or il me semble aussi qu'il est possible de tracer un polygone à partir de plusieurs points. Mon idée serait de créer 4 points formant un rectangle autour de mon géoréférencé, puis de créer un polygone à partir de ces points. Pensez vous que celà est réaliste et faisable? Par contre j'ai 165 polygones à créer, mais j'ai peur que le polygone à créer ne soit lui aussi composé par mes 165*4 points créés pour chaque coordonée, alors que je souhaiterais faire un polygone pour chaque couple de coordonnées...

Merci en tous cas à tout le monde qui a pris la peine de me lire et de m'aider!

J'aurais bien voulu réussir à me dépatouiller d'un problème qui semble logique sur le papier, c'est à dire créer un rectangle de 38.5*5.05m ayant pour centroïde un couple de coordonées, mais le cheminement semble ardu!

Merci par avance pour votre, et bonne journée

Dimsen

Hors ligne

 

#11 Tue 11 December 2007 23:21

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

Re: transformer automatiquement les points en polygones

Désolé de ne pas avoir plus de temps...
Ci-joint un embryon de programme qui s'applique à une table qui est seule ouverte ou "la plus haute" dans le contrôle des couches
Il dessine vos péniches de 39.5 x 5.5 (et je crois n'enregistre pas la table à la fin)
On pourra ajouter une rotation en fonction d'une colonne de la table ...après smile


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

Hors ligne

 

#12 Wed 12 December 2007 23:33

dimsen
Participant occasionnel
Date d'inscription: 7 Dec 2007
Messages: 13

Re: transformer automatiquement les points en polygones

Salut,

merci mille fois Maurice pour ton aide!

J'ai appliqué l'outil sur ma table, ce qui m'a donné une nouvelle ligne vierge pour chaque bateau. Après quelques essais de requetes SQL j'ai réussi à associer chaque ligne "remplie" d'une autre table aux lignes correspondantes aux polygones, génial!

Bon je manque de connaissances en fusion etc pour avoir fait quelque chose de rapide en ce qui concerne la fusion, car je me retrouve finalement avec 4 doublons pour chaque bateau, mais bon vu le temps économisé avec cette manip je peux me permettre de faire quelques dizaines de suppression de lignes dans la joie et la bonne humeur!

Merci encore, et mention spéciale pour les péniches, on dirait presque des vraies! En tous cas si je peux te rendre la pareille (peut être pas sur MapInfo, mais en Escrime ou en qualité de l'eau j'assure un peu ; ), n'hésite pas!

@plus et encore merci.

dimsen

Hors ligne

 

#13 Wed 12 December 2007 23:45

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

Re: transformer automatiquement les points en polygones

Désolé pour le côté fruste de l'outil: en sélectionnant à la main les lignes "vides" créées dans la table de données (avec la touche "shift" enfoncée...) et en enregistrant cette sélection comme nouvelle table, on obtient la table des polygones "péniche" smile
Si on supprime cette sélection, la table de points d'origine reprend son aspect ...d'origine (il faudra quand même la compacter)
ps: qualité de l'eau...pourquoi pas (je travaille sur les pollutions diffuses liées aux pesticides) mais je suis plutôt féru de qualité du vin smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB