#1 Tue 06 July 2004 07:57
- Francois-Xavier Robin
- Invité
decouper des cercles
bonjour,
j'ai une table de cercles de differentes tailles, et je voudrais decouper automatiquement tous les cercles en deux parties selon l'exemple joint tout en conservant dans chaque partie des cercles les donnees attributaires de la table initiale.
merci d'avance pour toute solution
#2 Wed 07 July 2004 14:16
- Annick Lagnion
- Invité
Re: decouper des cercles
en balayant le fichier, et pour chaque cercle, en creant un rectangle de decoupe, du style
selectionner un enregistrement
dim marge as float
'(definir cible)
Set Target On
set map coordsys window frontwindow() ( 'un systeme de coordonnees type lambert, ca risque de donner des resultats bizarres autrement)
distance units "m"
xy units "m"
set distance units "m"
marge=0.1
create region 1 6 (centroidx(cercle_en_cours.obj),centroidy(cercle_en_cours.obj))
(centroidx(cercle_en_cours.obj),ObjectGeography( cercle_en_cours.obj , OBJ_GEO_MAXy + marge))
( ObjectGeography( cercle_en_cours.obj , OBJ_GEO_MAXx)+marge,ObjectGeography( cercle_en_cours.obj , OBJ_GEO_MAXy)+marge)
( ObjectGeography( cercle_en_cours.obj , OBJ_GEO_MAXx)+marge,ObjectGeography( cercle_en_cours.obj , OBJ_GEO_Miny)-marge)
( centroidx(cercle_en_cours.obj),ObjectGeography( cercle_en_cours.obj , OBJ_GEO_Miny )-marge)
(centroidx(cercle_en_cours.obj),centroidy(cercle_en_cours.obj))
'(ou cercle_en_cours.obj est le cercle selectionne)(peut-etre qu'il faut ajouter un poil de marge aux max et enlever un peu aux min pour que le rectangle n'ait pas de point commun avec le cercle)
'faire decouper le cercle par le polygone ainsi defini avec
Objects Split Into Target
Data id = id,
col2=col2,
col3=col3
c'est juste une piste.
Avec la version 7.5, on doit pouvoir decouper par une ligne et pas par un rectangle
#3 Mon 19 July 2004 11:04
- Francois-Xavier Robin
- Invité
Re: decouper des cercles
merci a annick lagnion et denis jouin qui m'ont mitonne un mbx aux petits oignons qui fonctionne tres bien et que je tiens a votre disposition au caz où.