#1 Mon 16 August 2004 19:50
- Masaia
- Invité
Deplacer des objets
DBonjour,
Il existe une fonction dans MapInfo 7.5 qui permet de deplacer des objets de facon parametree.
Exite-il un MapBasic qui permet de faire la meme chose avec MapInfo 7.0?
Merci.
#2 Tue 17 August 2004 12:43
- Francois Biju-Duval
- Invité
Re: Deplacer des objets
Exemple : déplacer un par un tous les noeuds d'un objet
.
1. Dim Objet as Object Dim X_deplac as Float Dim Y_Deplac as Float Dim I as Integer Dim J as Integer Dim Cmd as string
2. Saisir via Dialog le déplacement X_Deplac et Y_Deplac en mètres et en + ou en - pour une projection Lambert par exemple
3.1. Pour un point :
Cmd = "Alter Object ObjectGeography(OBJ_GEO_POINTX),"+"ObjectGeography(Objet,OBJ_GEO_POINTX)" +X_Deplac
Run Command Cmd
Cmd = "Alter Object ObjetGeography(OBJ_GEO_POINTY),"+"ObjectGeography(Objet,OBJ_GEO_POINTY)" Y_Deplac
Run Command Cmd
3.2. Pour une ligne :
Cmd = "Alter Object ObjectGeography(OBJ_GEO_LINEBEGX),"+"ObjectGeography(Objet,OBJ_GEO_LINEBEGX)"+X_Deplac
Run Command Cmd
Cmd = "Alter Object ObjectGeography(OBJ_GEO_LINEBEGY),"+"ObjectGeography(Objet,OBJ_GEO_LINEBEGY)"+Y_Deplac
Run Command Cmd
Cmd = "Alter Object ObjectGeography(OBJ_GEO_LINEENDX),"+"ObjectGeography(Objet,OBJ_GEO_LINEENDX)"+X_Deplac
Run Command Cmd
Cmd = "Alter Object ObjectGeography(OBJ_GEO_LINEENDY),"+"ObjectGeography(Objet,OBJ_GEO_LINEENDY)"+X_Deplac
Run Command Cmd
3.3. Pour une polyligne ou un polygône :
For I = 1 to ObjectInfo(Objet,OBJ_INFO_NPOLYGONS)
For J = 1 to ObjectInfo(Objet,OBJ_INFO_NPOLYGONS+I)
Cmd = "Alter Object ObjectNode Set Position"+I+","+J+"("+ObjectNodeX(Objet,I,J)+X_Deplac+","+ObjectNodeY(Objet,I,J)+Y_Deplac+")"
Run Command Cmd
Next
Next
Bon travail !