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 Fri 18 July 2003 16:38

Gregory Gabriel
Invité

Production automatique de cartes

De: Gregory GABRIEL
Bonjour,

Je debute en mapbasic, et je cherche a ecrire un script permetttant, pour tous les objets polygones d'une table (genre : departements francais ), de :

- selectionner le polygone
- zoomer autour de celui-ci
- exporter la fenetre carte
- passer au polygone suivant

En vb, ca aurait ete tres simple, mais en mapbasic, je ne sais pas trop comment m'y prendre... Si cela se trouve il existe deja un script en ligne pour ce genre d'operations.

Merci d'avance!

Gregory GABRIEL

 

#2 Fri 18 July 2003 16:38

Christophe Barbier
Invité

Re: Production automatique de cartes

Bonjour,
Voici un petit script (non teste) pour vous aider

-----------

Include MapBasic.def
Declare Sub Main
Sub Main
Dim oPolygone As Object
Dim xMin, yMin As Float
Dim xMax, yMax As Float
Dim nbPoly As Integer
Dim MapId As Integer

' Une fenetre carte doit etre ouverte
' La table ne doit pas etre vide

MapId = WindowId(WIN_MAPPER)
nbPoly =1
Fetch First From MaTable
Do While Not EOT(MaTable)
oPolygone = MaTable.Obj
xMin = ObjectGeography(oPolygone, OBJ_GEO_MINX)
yMin = ObjectGeography(oPolygone, OBJ_GEO_MINY)
xMax = ObjectGeography(oPolygone, OBJ_GEO_MAXX)
yMax = ObjectGeography(oPolygone, OBJ_GEO_MAXY)

Set Map Window MapId
Center((xmin + xmax) / 2, (ymin + ymax) / 2)
Zoom Maximum(xMax-xMin, yMax-YMin)

Save Window MapId As poly & Str(nbPoly) & .bmp Type BMP

Fetch Next From MaTable
Loop

End Sub

-----------

Christophe Barbier, I²G
christophe.barbier@texte-a-enlever.i2g.fr

 

Pied de page des forums

Powered by FluxBB