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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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