#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@ i2g.fr