#1 Thu 11 January 2001 23:26
- Christian MARMOND
- Invité
Centroides
bonjour a tous,
sous MI, j'aimerais pouvoir creer une couche composee des centroides (objets
ponctuels) d'une autre couche d'objets polygonaux (communes).
J'ai vu passer un moyen de realiser cette manip, voici quelques annees, mais
pas moyen de remettre la main dessus :-(
Si quelqu'un a une idee...
... merci par avance,
Christian Marmond
Doctorant
Cartographie / SIG
SNCF DDTER Rhone-Alpes
christian.marmond@ sncf.fr
#2 Fri 12 January 2001 23:29
- Michel Piguet
- Invité
Re: Centroides
Une manip pourrait consister a dupliquer la table.
reouvrir la nouvelle table et y ajouter 2 champs qui s'appelleraient
centroid X, centroid Y. Faire deux mises a jour de colonnes successives avec
comme expression centroid X pour la premiere et centroid Y pour la deuxieme.
Si le resultat des mises a jour n'est pas satisfaisant, il faut sortir,
retourner dans carte/ options/ projections, changer le systeme par n'importe
lequel et y revenir pour remettre le bon systeme (ceci est du a un bug de
MapInfo, du moins jusqu'a la 5.5, apres je ne sais pas)
Une fois les deux champs renseignes, il faut aller dans table/gestion
table/modifier structure et decocher table graphique de facon a supprimer
tous les objets graphiques associes aux donnees.
ensuite il faut aller dans table/creer points et donner comme reference les
champs centroid X, centroid Y.
Il y peut etre plus simple, si quelqu'un a une idee...
#3 Fri 12 January 2001 23:30
- Christian MARMOND
- Invité
Re: Centroides
bonjour a tous,
merci pour les reponses a ma question sur la creation d'une couche d'objets
ponctuels (centroides) a partir d'une couche d'objets polygones (communes en
l'occurence).
A priori, il est possible d'effectuer simplement la manip :
Creer 2 colonnes X,Y virgule fixe
Mettre a jour table
Colonne X
Valeur : centroid X
repeter la manip' avec les Y
Ensuite, lancer la commande creer points
mais on ca marche plus ou moins selon la projection.
Un deuxieme type de procedure qui permet de s'affranchir des problemes de
projection :
1. Dupliquer la table
2. Sur la copie, supprimer la table graphique (table/gestion tables/modifier
structure et decocher table graphique ). verifier qu'un index existe sur la
table d'origine pour le champ identifiant.
3. Geocoder la copie en utilisant la table d'origine comme table de
reference et le champ identifiant comme colonne de correspondance.
Restrictions: cette methode ne marche pas (ou mal) avec des objets qui n'ont
pas d'identifiant unique => obligation de geocoder manuellement les objets
non traites :-(
Encore merci.
Christian Marmond
#4 Fri 12 January 2001 23:32
- Mohamed Hilal
- Invité
Re: Centroides
Christian,
En effet, MI utilise une projection par defaut (Lat/Long) pour calculer
les coordonnees d'un centroide. Ainsi pour les fonds de carte IGN, MI
renvoie systematiquement des coordonnees en degres minutes alors que la
projection est souvent du Lambert II carto. Du coup, la carte des points
(creee a partir des centroides) peut etre decalee ou deformee si on la
superpose avec la carte d'origine (en l'occurence ici celle des
polygones).
Pour eviter ce desagrement, il faut proceder comme suit :
1) Ouvrir la table des polygones (par exemple REGFRA.TAB)
2) Entrer dans la fenetre mapbasic la commande :
set coordsys table REGFRA
3) Extraire les coordonnees du centroide des polygones avec une
requete SQL du genre :
Select Codgeo, CentroidX(obj), CentroidY(obj) from REGFRA into
Selection
4) Sauver la selection SQL sous une table (par exemple
REGFRAXY.TAB)
5) Ouvrir la table REGFRAXY
6) Supprimer l'information graphique (Drop map REGFRAXY)
7) Creer les points a parlir des colonnes _COL2 _COL3 de la table
REGFRAXY
La seconde solution permet effectivement d'eviter les problemes de
projections...
Pour ce qui est de la restriction, il me semble que logiquement chaque
unite spatiale (polygone) doit avoir un identifiant unique. Si ce n'est
pas le cas, il faut en creer un en utilisant les numeros d'enregistrement
de la table (le fameux RowID). Ensuite il suffit d'utiliser comme
correspondance le nouvel identifiant, les inconveniants etant qu'on doit
modifier la table d'origine et que l'identifiant n'a plus de caractere
"universelle" d'un code Insee de commune par exemple d'ou du
travail supplementaire en perspective des lors qu'on voudra faire un
appariement avec un fichier de donnees externe.
Bonne annee a tous
Mohamed HILAL