#1 Tue 13 April 2010 13:16
- Cuchlainn
- Juste Inscrit !
- Date d'inscription: 5 Feb 2008
- Messages: 7
[MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
J'aurais besoin de votre aide pour une histoire de Voronoi.
Je dispose actuellement, pour un département, d'une table de Communes (des polygones, avec des contours précis) ainsi que d'une table de lieux-dits ponctuels.
Je souhaite transformer cette table de points en une table de polygones, chaque polygone étant l'ensemble des points plus proches du point-lieu-dit-en question que de n'importe quel autre - ça tombe bien, c'est ça les polygones de Voronoi - ET appartenant à la même commune que le point-lieu-dit considéré !
Conclusion : il faudrait que je puisse appliquer la fonction voronoi aux lieux-dits à l'intérieur de chaque polygone-commune.
La méthode Voronoi à l'intérieur d'un périmètre, ça marche, si on désigne au préalable ledit périmètre comme Cible... mais ça ne marche qu'avec une seule Cible !
Quelqu'un aurait-il une méthode qui m'éviterait de faire, manuellement, mon découpage voronoi pour chaque commune, une par une ?
D'avance merci !
Hors ligne
#2 Tue 13 April 2010 14:21
- Patrick PALMIER
- Participant actif
- Lieu: Lille
- Date d'inscription: 18 Jan 2007
- Messages: 97
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
Sauf erreur de ma part, il me semble que le plus simple c'est de créer les polygones de voronoi sur l'ensemble de tes communes.
Ensuite tu sélectionner tes polygones de voronoï, tu les définis comme cible et tu les découpes par rapport au contour de tes communes avec objets-découper.
Cette manip correspond-elle à ce que tu souhaites?
Hors ligne
#3 Tue 13 April 2010 15:18
- Cuchlainn
- Juste Inscrit !
- Date d'inscription: 5 Feb 2008
- Messages: 7
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
Sur cette machine où je n'ai pas tout, j'ai testé le principe, cela semble marcher.
To bi continioude !
Merci !
Hors ligne
#4 Tue 13 April 2010 17:53
- Cuchlainn
- Juste Inscrit !
- Date d'inscription: 5 Feb 2008
- Messages: 7
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Ben... non, ça ne donne absolument pas le résultat souhaité !
Si je trace des voronoi sans tenir compte des communes, et qu'ensuite je coupe les frontaliers en deux selon le tracé communal, je me trouve avec un demi-voronoi du mauvais côté de la frontière, qui porte le nom d'un lieu-dit de la commune d'à côté !
Ce qu'il me faut, c'est chaque commune voronoisée selon SES lieux-dits.
Hors ligne
#5 Tue 13 April 2010 19:41
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour
Il me semble que votre définition de Voronoi ne correspond pas à ce que je connais. Les Voronoi, c'est géométrique. On relie deux points par une droite (imaginaire) et l'on trace une bisectrice à cette droite. Donc, au centre et perpendiculaire de cette droite imainaire.
La bisectrice se termine à la jonction de d'autres bisectrices, ainsi de suite. Donc, en théorie, vous devriez avoir le même nombre de polygones de Voronoi que de lieux-dit!!!
Est-ce que la création de polygone par enveloppe convexe ne serait pas la meilleure solution?
À voir!!!
Daniel
De retour à la géomatique
Hors ligne
#6 Tue 13 April 2010 20:46
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour
Exact Daniel, sauf que la règle de Voronoi pour le tracé n'est valable qu'à l'intérieur de sa commune.
Mais même si le nombre de polygone est bon. il faut limiter ces polygones à la commune d'appartenance des lieu dits.
La technique serait de sélectionner tout les lieux-dits par commune, d'appliquer le tracé de Voronoi dessus et de limiter les polygones aux contours de la commune.
ça implique de le faire 1 fois par commune.
donc l'obligation de répéter le code X fois ou de faire une boucle pour le faire pour toutes les communes.
Voila l'idée.
Avez-vous Mapbasic?
Le code est-il complet sur la FMB?
Hors ligne
#7 Tue 13 April 2010 21:52
- Cuchlainn
- Juste Inscrit !
- Date d'inscription: 5 Feb 2008
- Messages: 7
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
Quand je dis que j'ai deux voronoi pour certains lieux-dits, c'est évidemment après l'opération de découpage.
ça implique de le faire 1 fois par commune.
donc l'obligation de répéter le code X fois ou de faire une boucle pour le faire pour toutes les communes.
C'est exactement ça. Supposons que mes communes soient numérotées de manière continue de 1 à n, je dois :
De i=1 à n,
Sélectionner la commune i et la définir comme cible
Sélectionner tous les lieux-dits de la commune i,
Faire les voronoi de la table Sélection...
Je ne connais rien à MapBasic, mais ça doit être faisable ??
Hors ligne
#8 Tue 13 April 2010 21:58
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour
Vous avez un outil qui sélectionne des points à l'intérieur d'un polygone. On sauve déjà une étape
Daniel
De retour à la géomatique
Hors ligne
#9 Tue 13 April 2010 22:38
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
MapInfo ne permet pas d'utiliser un polygone comme cible-couteau (clip region).
Vertical Mapper permet de générer ce que vous désirez, mais seulement 1 polygone (commune) à la fois. Voir la fonction Natural Neighbour Analysis > Create Region From Points (Voronoi)...
Probablement qu'en bouclant à travers toutes les communes en MapBasic, ça pourrait se faire.
Ça fait un bout de temps que je ne me suis pas attaqué au SDK de VM, mais en bidouillant à partir de cette doc (
http://testdrive.mapinfo.com/TechSupp/M … %202.6.pdf) vous trouverez peut-être la solution à votre problème.
Bonne chance !
Philippe
Hors ligne
#10 Mon 19 April 2010 15:33
- Cuchlainn
- Juste Inscrit !
- Date d'inscription: 5 Feb 2008
- Messages: 7
Re: [MapInfo 9.x] Voronoi à l'intérieur d'autres polygones
Bonjour,
ça me paraît compromis à court terme. Je n'ai pas du tout les connaissances pour construire ça en MapBasic... Va falloir que je me trouve une formation...
Et dans l'immédiat que j'y aille "un par un"...
Hors ligne