#1 Tue 12 April 2005 23:36
- ROBIN Thomas
- Invité
Connaitre le seuil de zoom
Bonjour,
Dans mon appli MBX je zoom de maniĂšre automatique sur une couche.
Set map zoom entire layer ma_zone
Cependant je ne connais pas le seuil de zoom qui s'applique automatiquement Ă ma fenĂȘtre carte.
Ainsi est ce possible de connaitre sa valeur et si oui, de la stocker dans une variable ?
Merci d'avance pour votre aide
--
THOMAS ROBIN
CNASEA GUYANE
#2 Wed 13 April 2005 09:06
- Frédéric Renversez
- Invité
Re: Connaitre le seuil de zoom
Bonjour,
MapperInfo(IdCarte, MAPPER_INFO_ZOOM) ?
Ou alors je n'ai pas compris la question...
#3 Wed 13 April 2005 13:42
- ROBIN Thomas
- Invité
Re: Connaitre le seuil de zoom
Jacques Paris a écrit :
Besoin d'une prĂ©cision: qu'entendez-vous par âseuil de zoom qui s'applique automatiquementâ?
Cette notion existe dans un contexte particulier, celui de visibilitĂ© d'une couche dans une fenĂȘtre-carte; par ex. on peut dire qu'une certaine couche est visible entre les zoom1 et zoom2. Ceci se traduit en MB par Set Map âŠlayer VVV... zoom (zoom1, zoom2) et peut ĂȘtre rĂ©cupĂ©rĂ© par Layerinfo (mapperID, layer#,5) pour
zoom1 et 6 pour zoom2.
Le deuxiĂšme contexte dans lequel il peut ĂȘtre « compris » est le zoom auquel une table s'ouvre (automatiquement). Cette valeur est conservĂ©e dans la table directement et peut ĂȘtre modifiĂ©e par un « set map ⊠layer âŠdefault zoom » alors que la table est affichĂ©e; sont conservĂ©s le zoom et aussi la position du centre. Avant toute manipulation de la fenĂȘtre, on peut la rĂ©cupĂ©rer par « mapperinfo((mapperID, 1)
Y-aurait-il un autre contexte?
Jacques Paris
From: ROBIN Thomas
To: Jacques Paris
Bonjour,
J'avoue ne pas tout comprendre mais pour donner plus de prĂ©cision je souhaite rĂ©cupĂ©rer le zoom appliquĂ© Ă la fenĂȘtre carte lorsque l'on fait cette manip :
- Clique droit sur la fenĂȘtre carte
- Afficher toutes les couches
- Choix de la couche
- OK
Ainsi la couche choisie s'affiche entiÚrement à l'écran et c'est ce seuil de zoom que j'aurais besoin de récupérer.
Merci encore pour votre aide.
TR
Jacques Paris a écrit :
Ce âzoomâ correspond au rĂ©sultat de la command MB « set map zoom entire » Ă condition que la couche en question soit la seule dans le mapper.
Comme indiquĂ©, ce zoom peut ĂȘtre rĂ©cupĂ©rĂ© par mapperinfo(mapperID,1). La valeur est en unitĂ©s de
distance; pour ĂȘtre sĂ»r que c'est bien en km, faire avant « set distance units km »
Bonjour,
Merci pour vos réponces.
Avec ceci :
Set map window windowid(IdMap) distance units km
Set map window windowid(IdMap) zoom entire layer zone
Set window windowid(IdMap) front
SeuilZoom = mapperinfo (frontwindow(), MAPPER_INFO_ZOOM)
Note SeuilZoom
J'obtiens bien une valeur : par exemple 0.816482...
Cependant j'ai beau chercher je ne comprends pas à quoi cela correspond. Car en réalité mon zoom est de 1cm pour 0.04848 KM ....
Serait il possible que vous m'éclairiez encore à ce sujet ?
Merci d'avance
Thomas ROBIN
#4 Thu 14 April 2005 16:36
- ROBIN Thomas
- Invité
Re: Connaitre le seuil de zoom
Bonjour,
Excusez moi d'insister mais j' avoue vraiment ne pas comprendre comment cela fonctionne.
J'utilise donc ceci :
/*set map window windowid(IdMap) zoom entire layer zone
Set map window windowid(IdMap) distance units m
Set paper units cm
set window windowid(Idmap) front
SeuilZoom = mapperinfo (frontwindow(), MAPPER_INFO_scale)
note SeuilZoom */
_Ainsi dans ma fenetre carte j'ai :_
Largeur de fenetre : 5180 m
echelle : 1 cm = 153 m
_Et dans ma fenetre mise en page j'ai_
Echelle papier = 1cm = 187 m
_
Pour un Mapper_Info_Scale de _0.095057
Je ne comprends decidement pas le rapport entre ces chiffres
Merci encore pour votre aide et vos conseils,
Cordialement
#5 Thu 14 April 2005 08:59
- Francois Biju-Duval
- Invité
Re: Connaitre le seuil de zoom
L'Ă©chelle Ă©cran et l'Ă©chelle papier sont diffĂ©rentes (respectivement 153 m et 187 m) et c'est normal car l'Ă©cran et le cadre de la mise en page n'ont pas la mĂȘme largeur.
Votre Mapper_Info_Scale de 0.095057 est juste : elle est en miles. Si vous la multipliez par 1.609, cela donne 153 m.
==> pour avoir un Mapper_Info_Scale qui vous convienne, utiliser la commande MapBasic Set Coordsys systĂšme de projection avant le Map from
(Cf. Mapinfo.prj Ă l'emplacement d'installation de Mapinfo)
#6 Thu 14 April 2005 17:06
- Hubert CAPLET
- Invité
Re: Connaitre le seuil de zoom
Bonjour,
La largeur de la fenetre carte et la largeur de mise en page definissent l'echelle de representation. En fonction de la taille du cadre de mise en page et de l'echelle qu'on veut lui attribuer, on calcule facilement la largeur de fenetre carte a definir.
Hubert Caplet
Hydrologie - Climatologie - SIG - Administration de donnees sur l'eau
SEMA
DIREN B.N.

