Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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 !

 

Pied de page des forums

Powered by FluxBB