#1 Tue 03 February 2009 14:27
- KarHad
- Participant actif
- Date d'inscription: 24 Oct 2006
- Messages: 92
Centroïde
Bonjour la communauté,
Pouvez-vous me dire comment je peux procéder pour récupérer les centroïdes de ma table commune (polygone), pour en faire une table de points.
Merci d'avance
Hors ligne
#2 Tue 03 February 2009 14:57
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Centroïde
Bonjour
Dans votre table de polygones, faites-vous deux colonnes, X, Y en flottant.
Mettre à jour vos deux nouvelles colonnes en utilisant les fonctions CentroidX pour la colonne X et CentroidY pour la colonne Y. Oui oui, il y a un lien
Vous pouvez aussi utiliser le MBX Extracteur de coordonnées, qui fait la même chose.
Lorsque vos deux colonne sont faites et remplis, exportez votre couche en DBF, ouvrir dans Excel, gardez le ID et les colonne X et Y.
Dans Mapinfo, ouvrir votre fichier Excel, créer point avec la bonne projection.
Votre fichier de point est créé. Faire enregistrer table sous pour faire une table native.
Il existe certainement une autre méthode mais celle-ci fonctionne bien.
Daniel
Dernière modification par Daniel (Tue 03 February 2009 14:58)
De retour à la géomatique
Hors ligne
#3 Tue 03 February 2009 15:06
- KarHad
- Participant actif
- Date d'inscription: 24 Oct 2006
- Messages: 92
Re: Centroïde
Merci pour l'info
J'ai essayé une autre méthode, peu scientifique je l'avoue, mais qui fonctionne car elle exploite les limites et faiblesses de MI.
Un bête fichier excel avec un champ pour géocoder.
Puis géocodage dans MI. Comme il géocode au centoïde, je les ai récupérés.
En fait, ce que je cherche, c'est une formule ou quelque chose du genre qui ne demande pas trop de manips.
Cordialement
Karim
Hors ligne
#4 Tue 03 February 2009 15:08
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Centroïde
Bonjour
Je tente plus simple, dans la fenêtre MapBasic:
Set CoordSys Table COMMUNE
Update COMMUNE Set obj = CreatePoint(CentroidX(obj), CentroidY(obj))
Commit Table COMMUNE as "C:\COMMUNE_PTS.TAB" 'à adapter à vos souhaits
Rollback Table COMMUNE
Sélectionner ces 4 lignes puis 'enter' ....
Hors ligne
#5 Tue 03 February 2009 17:45
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Centroïde
Bonjour
Je savais que Maurice aurait mieux. Mais j'ai été le plus rapide!!!!
Daniel
De retour à la géomatique
Hors ligne
#6 Thu 05 February 2009 14:53
- KarHad
- Participant actif
- Date d'inscription: 24 Oct 2006
- Messages: 92
Re: Centroïde
Merci Daniel et Maurice.
J'ai fait le test avec la méthode de Maurice en Map Basic et ça marche très bien.
Par contre avec la métode de Daniel, j'ai un petit souci. En effet, je respect les différentes étapes et je finis par créer une table de points en choisissant ma bonne projection. J'obtiens une table de points mais "déformées" et non calée avec la table d'origine (les communes).
Ai-je loupé une étape.
Karim
Hors ligne
#7 Thu 05 February 2009 15:09
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Centroïde
Comme toujours...
La méthode de Daniel pour fonctionner à coup sûr nécessite de taper dans la fenêtre MapBasic la commande magique:
Set CoordSys Table COMMUNE (puis 'enter' sur la ligne)
Ceci pour forcer MI à faire ses calculs dans la projection de la table COMMUNE
Hors ligne
#8 Thu 05 February 2009 16:41
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Centroïde
Bonjour
Merci Maurice pour cette commande magique... Je prends toujours pour acquis que tout le monde la fait automatiquement.
Erreur de "consubstantiel"
Daniel
De retour à la géomatique
Hors ligne
#9 Fri 06 February 2009 12:13
- KarHad
- Participant actif
- Date d'inscription: 24 Oct 2006
- Messages: 92
Re: Centroïde
Comme toujours...
La méthode de Daniel pour fonctionner à coup sûr nécessite de taper dans la fenêtre MapBasic la commande magique:
Set CoordSys Table COMMUNE (puis 'enter' sur la ligne)
Ceci pour forcer MI à faire ses calculs dans la projection de la table COMMUNE
Quand faut-il taper cette commande? au début ou à la fin?
Merci
Hors ligne
#10 Fri 06 February 2009 12:31
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Centroïde
Avant les calculs, comme le montre la suite de commandes que j'évoquais dans mon post #4
Cas général: toujours COMMENCER par taper cette commande avant de demander des calculs à MI
Cas particulier: si la version le permet, il est possible de fixer la projection d'une session (et/ou d'une nouvelle table) dans le menu Options->Préférences-Fenêtre carte (ceci permet de se dispenser de la commande Set CoordSys...mais quand on est, comme moi, du genre à mettre ET une ceinture ET des bretelles, mieux vaut taper inutilement cette commande que de ne pas la taper du tout )
Hors ligne
#11 Fri 06 February 2009 14:57
- KarHad
- Participant actif
- Date d'inscription: 24 Oct 2006
- Messages: 92
Re: Centroïde
Un grand merci Maurice
Hors ligne