#1 Thu 05 October 2006 11:31
- reuteri
- Juste Inscrit !
- Date d'inscription: 5 Oct 2006
- Messages: 2
Ajout de colonnes coordonnées
Bon, j'ai une table qui contient des polygones, je voudrais que dans ma fenêtre données apparaissent les coordonnées des centroïdes de mes polygones.
Pour ce faire j'ai ajouté 2 champs à ma table : [coord_x (entier); coord_y (entier)]
J'ai ouvert la fenêtre mapbasic et tapé:
Alter table "nom de ma table" (add coord-x ; coord_y) Interactive
Là j'ai déjà un premier message d'erreur, mais bon je peux continuer:
Update "nom de ma table" set coord_x=centroidx(obj) , coord_y=centroidy(obj)
Et là j'ai des coordonées fantaisites qui s'affichent (par exemple 3 ou 4 en longitude...)
Pourtant quand je reviens à ma fenêtre carte et que je double-clique sur un objet, les coordonées exactes des centroïdes s'affichent.
Ma question est d'où peut venir l'erreur? Et n'est-il pas possible de parvenir à mes fins sans passer par mapbasic (par sélection sql par exemple) et dans ce cas comment opérer?
Merci de me tirer de ce pétrin.
olivier
Hors ligne
#2 Thu 05 October 2006 11:48
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Ajout de colonnes coordonnées
Bonjour,
Toutes ces actions sont dans l'interface de MI: table->gestion tables->->modifier structure ou table->mettre à jour colonne
A moins d'être sûr de soi, l'usage de la FMB ne s'impose donc pas...SAUF pour y taper la seule commande utile pour forcer les calculs à se faire dans la projection souhaitée, avec ses unités (sinon c'est en LoLa avec degrés et degrés carrés!!):
Set CoordSys Table ma_table (si la projection de ma_table est la "bonne")
Bon courage
ps: à partir de MI7 (je crois) on s'évite même cette frappe dans la FMB en fixant dans les préférences->fenêtre carte la projection par défaut d'une session...
Hors ligne
#3 Thu 05 October 2006 11:55
Re: Ajout de colonnes coordonnées
Hello,
Essayez ca dans la fenêtre MB en remplacant VotreTable par le nom de votre table ou sinon tapez direct CentroidX(obj) puis CentroidY(obj) - en deux temps - dans la fenetre de mise a jour de vos colonne centroid_x et centroid_y :
Code:
Alter Table "VotreTable" ( add X Float ) Alter Table "VotreTable" ( add Y Float ) Update Votretable Set X = CentroidX(obj) Update Votretable Set Y = CentroidY(obj)
Pour votre projection, vérifiez dans la fenêtre de structure de table/Changer projection pour voir ce qu'il vous dit. Si ce n'est pas la bonne, il faudra ruser pour lui imposer celle qu'il faut.
Cordialement,
Robin.
EDIT : arg maurice a été plus rapide
Hors ligne
#4 Thu 05 October 2006 11:58
- Arnaud Elkaim
- Participant occasionnel
- Lieu: Pau
- Date d'inscription: 5 Sep 2005
- Messages: 43
Re: Ajout de colonnes coordonnées
Bonjour,
Il existe un petit utilitaire qui permet de faire ça c'est l'outil "CoordinateExtractor"
Cordialement
Arnaud Elkaim
Animateur SIG
Direction des Systèmes d'Information et de Télécommunication
2 rue Paul-Louis Courier
24019 Périgueux cédex
Tel : 05.53.06.82.64
Fax : 05.53.06.80.28
Hors ligne
#5 Thu 05 October 2006 12:14
Re: Ajout de colonnes coordonnées
Mon PS a sauté dans mon message précédent, je voulais juste préciser par rapport a ce que vous aviez marqué :
J'ai enlevé interactive et ajouté Float, j'ai aussi séparé les deux opérations. Il suffit de coller ca dan la fenetre mb, tout sélectionner, faire entrée et hop c'est fait !
Si vous mettez un champ de type Entier.. eh ben... vous avez des entiers, donc vos coordonnées sont arrondies, en coordonnées lat long ca donne du 3 ou du 4 en X oui, c'est normal. Il doit y avoir du 45 en Y aussi. Enfin, ca, ca depend d'où vous vous situez.
Robin.
Hors ligne
#6 Thu 05 October 2006 16:08
- reuteri
- Juste Inscrit !
- Date d'inscription: 5 Oct 2006
- Messages: 2
Re: Ajout de colonnes coordonnées
Merci pour vos réponses, j'ai essayé différentes méthodes que vous m'avez proposées, rien à faire, les coordonnées étaient toujours aussi délirantes... Comme je travaillais sur la copie d'une table, je l'ai supprimée puis j'ai de nouveau copié ma table originale. J'ai ensuite opéré par "mettre à jour colonne" et ô miracle! Des coordonnées valides sont apparues...
Un grand merci à vous !
Olivier
Hors ligne