#1 Tue 24 September 2002 17:02
- Franck Vautier
- Invité
Creer des objets point a partir des noeuds
De: franck
Bonjour,
Je cherche a recuperer les coordonnees XY de tous les noeuds d'une polyligne. En utilisant la fonction ObjectnodeX et Y je parviens a recuperer les coordonnees des extremites de la polyligne mais pas celles des noeuds intermediaires.
Si quelqu'un a une solution...
Merci a tous
Franck
#2 Tue 24 September 2002 17:23
- Jacques Paris
- Invité
Re: Creer des objets point a partir des noeuds
Vous ne pouvez pas le faire sans ecrire un programme MapBasic car il faut
faire des iterations, d'abord a travers les polylignes, ensuite pour une
polyligne, a travers les sections i=1 a NS (NS=objectinfo(obj,21)
ensuite a travers les nœuds j=1 a NO (NO=objectinfo(obj,21+i)
Jacques Paris
e-mail jacques@ paris-pc-gis.com
MapBasic-MapInfo support http://www.paris-pc-gis.com
From: Franck.vautier@ univ-bpclermont.fr
[Franck.vautier@] univ-bpclermont.fr
Sent: September 24, 2002 10:41
To: mapinfo_fr@ georezo.net
Subject: [mapinfo_fr] coordonnees noeuds polyligne
De: franck
Bonjour,
Je cherche a recuperer les coordonnees XY de tous les noeuds d'une
polyligne. En utilisant la fonction ObjectnodeX et Y je parviens a recuperer
les coordonnees des extremites de la polyligne mais pas celles des noeuds
intermediaires.
Si quelqu'un a une solution...
Merci a tous
Franck
#3 Thu 26 September 2002 08:37
- Béatrice FERNANE
- Invité
Re: Creer des objets point a partir des noeuds
S'il ne s'agit que de recuperer les coordonnees sans forme particuliere, il est possible d'exporter le fichier au fomat MIF,MID et d'ouvrier avec un editeur de texte, recuperer les coordonnees et les enregistrer dans un fichier *.txt
Bonne journee
beatrice.fernane@ free.fr
>>> 24/09/02 16:41:09 >>>
De: franck
Bonjour,
Je cherche a recuperer les coordonnees XY de tous les noeuds d'une polyligne. En utilisant la fonction ObjectnodeX et Y je parviens a recuperer les coordonnees des extremites de la polyligne mais pas celles des noeuds intermediaires.
Si quelqu'un a une solution...
Merci a tous
Franck
#4 Wed 30 June 2004 13:51
- Guillaume MESTELAN
- Invité
Re: Creer des objets point a partir des noeuds
Bonjour
Je souhaiterais creer des objets point a partir des intersections des lignes
d'une grille .
Pourriez vous m'indiquer la procedure a suivre ?
Merci
#5 Thu 01 July 2004 19:38
- Bizet Remi - RBizet
- Invité
Re: Creer des objets point a partir des noeuds
Saisir la ligne de commande suivante dans la fenetre MapBasic :
Create Object As Intersect From LignesCroisees Into Table
PointDintersection
Ou LignesCroisees est la table contenant des lignes se croisant, et
PointDintersection la table devant recevoir les points d'intersection.
Cordialement.
Remi Bizet Consultant Formateur
Courriel : remi.bizet@ acxiom.com
Acxiom France http://www.claritas.fr
http://www.acxiom.fr
235, ave. le Jour se Leve. 92651 Boulogne Cedex
Tel : +33 1 58 17 73 00 Fax :+33 1 48 17 74 74
De : Guillaume MESTELAN [n2000pr99@] foindecrau.com
Envoye : mercredi 30 juin 2004 13:34
À : Mapinfo_Fr
Objet : [mapinfo_fr] Creer des objets point a partir des noeuds
Bonjour
Je souhaiterais creer des objets point a partir des intersections des lignes
d'une grille .
Pourriez vous m'indiquer la procedure a suivre ?
Merci
**********************************************************************
The information contained in this communication is
confidential, is intended only for the use of the recipient
named above, and may be legally privileged.
If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination,
distribution, or copying of this communication is strictly
prohibited.
If you have received this communication in error,
please re-send this communication to the sender and
delete the original message or any copy of it from your
computer system. Thank You.
#6 Fri 02 July 2004 09:30
- Bizet Remi - RBizet
- Invité
Re: Creer des objets point a partir des noeuds
La reponse precedente s'entendait pour une paire unique de lignes, sinon, il
faut dans MapBasic tester les lignes entre elles de la premiere a la
derniere, par rapport a celles qui n'ont pas encore ete testees pour creer
le ou les points de contact eventuel(s) :
______________________________
dim i,j as integer
For i = 1 to tableinfo(LignesCroisees ,TAB_INFO_NROWS)-1
For j = i+1 to tableinfo(LignesCroisees ,TAB_INFO_NROWS)
select * from LignesCroisees where rowid in(i,j)
into sel1 noselect
Create Object As intersect From sel1 Into
Table PointDintersection
Next
Next
_______________________________
Cordialement.
Remi Bizet Consultant Formateur
Courriel : remi.bizet@ acxiom.com
Acxiom France http://www.claritas.fr
http://www.acxiom.fr
235, ave. le Jour se Leve. 92651 Boulogne Cedex
Tel : +33 1 58 17 73 00 Fax :+33 1 48 17 74 74
De : Bizet Remi - RBizet
Envoye : jeudi 1 juillet 2004 18:24
À : 'n2000pr99@' foindecrau.com
Cc : Mapinfo_Fr
Objet : RE : [mapinfo_fr] Creer des objets point a partir des noeuds
Saisir la ligne de commande suivante dans la fenetre MapBasic :
Create Object As Intersect From LignesCroisees Into Table
PointDintersection
Ou LignesCroisees est la table contenant des lignes se croisant, et
PointDintersection la table devant recevoir les points d'intersection.
Cordialement.
Remi Bizet Consultant Formateur
Courriel : remi.bizet@ acxiom.com
Acxiom France http://www.claritas.fr
http://www.acxiom.fr
235, ave. le Jour se Leve. 92651 Boulogne Cedex
Tel : +33 1 58 17 73 00 Fax :+33 1 48 17 74 74
De : Guillaume MESTELAN [n2000pr99@] foindecrau.com
Envoye : mercredi 30 juin 2004 13:34
À : Mapinfo_Fr
Objet : [mapinfo_fr] Creer des objets point a partir des noeuds
Bonjour
Je souhaiterais creer des objets point a partir des intersections des lignes
d'une grille .
Pourriez vous m'indiquer la procedure a suivre ?
Merci
**********************************************************************
The information contained in this communication is
confidential, is intended only for the use of the recipient
named above, and may be legally privileged.
If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination,
distribution, or copying of this communication is strictly
prohibited.
If you have received this communication in error,
please re-send this communication to the sender and
delete the original message or any copy of it from your
computer system. Thank You.
#7 Wed 15 September 2004 10:38
- Laurancin
- Invité
Re: Creer des objets point a partir des noeuds
De: berth
En cherchant bien dans la liste, j'ai trouve une solution a mon probleme...
1. J'exporte ma table de polylignes au format MIF/MID.
2. J'ouvre le fichier MIF avec un editeur de texte..
3. Je recupere toutes les coordonnees de me noeuds pour les transferer dans Excel.
4. J'utilise la fonction creer des points de MI
Si vous avez une solution plus simple, ca m'interesse....
Merci...
#8 Tue 12 April 2005 15:59
- Alain Ferchal
- Invité
Re: Creer des objets point a partir des noeuds
Bonjour,
J'utilise le mbx linetopo pour recuperer les noeuds de mes polylignes. Petit
pb : les coordonnees des points ainsi recuperees ne correspondent pas
precisement aux coordonnees des noeuds des polylignes :
Ex :
Coordonnees Noeuds :
1) 634092.1 1774113.88
2) 634781.94 1774080.04
3) 634409.86 1773922.26
Coordonnees Pt recupere
1) 634092.1 1774113.91
2) 634781.99 1774080.04
3) 634409.86 1773922.22
Tous ces petits decalages semblent en plus etre aleatoires et varier en X et
en Y. Une petite idee sur la question pour ameliorer la precision ?
Merci
AF
#9 Tue 12 April 2005 15:59
- Jacques Paris
- Invité
Re: Creer des objets point a partir des noeuds
Comment connaissez-vous les coordonnees vraies des nœuds? Si ce sont des
donnees qui vous viennent d'une source externe, quand elles sont entrees sur
MapInfo, il est possible qu'elles soient transformees pour correspondre
a la grille interne de representation des coordonnees. Cette grille est
d'autant plus fine que les bounds sont resserrees (elle permet 2
milliards de positions entre les limites extremes). Il est donc possible que
les coordonnees originales aient ete arrondies pour tomber sur la grille;
cet arrondissement peut donner cette impression de variations aleatoires.
Pour donner une idee, une (non-)projection en degres sans limites a un pas
de 11cms en latitude. Des variations de l'ordre de 3-5 cm ne me semblent
donc pas a priori surprenantes
Il faudrait aussi s'assurer que le MBX prend correctement en compte la
projection de la table traitee. Cela ne serait possible qu'en regardant au
code qui ne semble pas etre disponible.
Jacques Paris
e-mail jacques@ paris-pc-gis.com
MapBasic-MapInfo support http://www.paris-pc-gis.com
From: Alain Ferchal [alain.ferchal@] espaces-naturels.fr
Sent: April 12, 2005 09:06
To: mapinfo_fr@ georezo.net
Subject: [mapinfo_fr] noeuds des polylignes
Bonjour,
J'utilise le mbx linetopo pour recuperer les noeuds de mes polylignes. Petit
pb : les coordonnees des points ainsi recuperees ne correspondent pas
precisement aux coordonnees des noeuds des polylignes :
Ex :
Coordonnees Noeuds :
1) 634092.1 1774113.88
2) 634781.94 1774080.04
3) 634409.86 1773922.26
Coordonnees Pt recupere
1) 634092.1 1774113.91
2) 634781.99 1774080.04
3) 634409.86 1773922.22
Tous ces petits decalages semblent en plus etre aleatoires et varier en X et
en Y. Une petite idee sur la question pour ameliorer la precision ?
Merci
AF
#10 Tue 12 April 2005 17:09
- Jplartigau
- Invité
Re: Creer des objets point a partir des noeuds
De: JPLARTIGAU
Bonjour,
Effectivement les fonctions qui recuperent la geometrie des objets sous mapbasic donnent une info quelque peu differentes de la realite de l'objet.
Pour corriger ce bugg la seule solution trouvee a ce jour est un export en MIF/MID qui lui donne une valeur exacte aux coordonnees des points des objets.
Pourquoi cela est ainsi ? Pas d'explication a ce jour.
Une Fois genere le MIFMID je relis les coordonnees de ces fichiers pour mes traitement. Cela m'oblige bien evidemment a developper mes propres routines (entre autre de generation de DXF evolue).
Je n'est pas tester la Version 7.8 sur ce pb mais je vais m'y coller.
A plus tard
JPLARTIGAU
#11 Mon 24 April 2006 19:31
- anthony123
- Juste Inscrit !
- Date d'inscription: 24 Apr 2006
- Messages: 3
Re: Creer des objets point a partir des noeuds
Bonjour
Je suis débutant sur Mapinfo et j'aimerais savoir comment recueillir les coordonnées (x,y) des noeuds d'un polygone pour ensuite pouvoir calculer la moyenne des distances entre un point au centre du polygone et les noeuds de celui -ci.
Un grand merci par avance à ceux qui pourront m'aider
Dernière modification par anthony123 (Tue 25 April 2006 08:09)
Hors ligne
#12 Tue 25 April 2006 23:30
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Creer des objets point a partir des noeuds
L'outil joint crée un thème 'points' de tous les noeuds (ou des deux noeuds début et fin, pour les polylignes) des d'objet choisis (polylignes, lignes, polygones) d'une table ou d'une sélection.
Sinon, tu peux passer par l'export mid-mif; le fichier texte mif liste les sommets des polygones (régions)
Dernière modification par Maurice Nadal (Wed 21 June 2006 17:21)
Hors ligne
#13 Wed 26 April 2006 11:02
Re: Creer des objets point a partir des noeuds
Sans vouloir rien enlever au programme de Maurice (que je n'ai pas pu encore tester) il y a un vieil ami "p2p.mbx" qui convertit en points tous les nœuds des polylignes/polygones contenus dans une table tout en conservant une colonne (souvent prise pour l'altitude). Les X et Y ne sont pas formellement donnés mais il suffit de modifier la table des points avec l'ajout de deux colonnes et de les mettre à jour avec centroidX(obj), centroidY(obj).
Téléchargement : http://www.directionsmag.com/files/index.php/view/535
Hors ligne
#14 Thu 27 April 2006 14:49
- anthony123
- Juste Inscrit !
- Date d'inscription: 24 Apr 2006
- Messages: 3
Re: Creer des objets point a partir des noeuds
Merci à tous les deux pour ces infos.
Je vous tiendrais au courant de ma progression dans le labyrinthe de la géomatique.
a+
Hors ligne
#15 Fri 13 April 2007 12:46
- nicolas_200
- Juste Inscrit !
- Date d'inscription: 4 Apr 2007
- Messages: 4
Re: Creer des objets point a partir des noeuds
Message à l'attention de Maurice,
Tout d'abord merci pour le programme de création de points.
Néanmoins j'ai toujours un problème car je veux créer uniquement des points aux coins des polygones de ma grille.
Or le programme crée une multitude de points. alors comment faire pour restreindre / paramétrer la création de points uniquement aux "angles" de mes polygones??
Merci par avance
Hors ligne
#16 Sun 15 April 2007 22:20
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Creer des objets point a partir des noeuds
Bonjour,
Pour nicolas_200: il faudrait, si la grille a été créée avec GridMaker, mettre zéro dans la case "nombre de noeuds à ajouter par côté"
Ainsi seuls les 4 points d'angle seront créés...
Hors ligne
#17 Sun 15 April 2007 22:37
- Betula
- Participant occasionnel
- Date d'inscription: 18 Sep 2005
- Messages: 20
Re: Creer des objets point a partir des noeuds
Bonjour,
À la lecture de votre question précédente je ne pense pas que vous désirez une réponse en utilisant directement la programmation. Voici une manière de faire la chose du point de vue d'un utilisateur, simplement par des mise à jour de colonne. Il faut par contre utiliser une fonction dont la documentation de mapinfo ne donne pas la description. Elle est extraite de l'aide du compilateur mapbasic.
Pour créer 4 points il vous faudra les coordonnées x et y pour chaque point. Ajouter donc 8 colonnes dans votre table (Point1_X, Point1_Y, Point2_X, Point2_Y...). Avec la commande Mettre à jour utiliser la fonction ObjectGeography( NomDeVotreTable.obj , attribute ).
À la place de attribute inscrire le chiffre selon la coordonnée que vous désirez obtenir.
MINX=1
MINY=2
MAXX=3
MAXY=4
Le point inférieur gauche d'un poygone est MINX, MINY, le point supérieur droit est MAXX, MAXY etc
Vous pourrez ensuite créer vos points sur ces coordonnées avec la commande Créer Points... de Mapinfo.
Voila ça devrait vous donner une bonne piste de solution.
Salutations
BeTuLa
BeTuLa
Hors ligne