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 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.

 

Pied de page des forums

Copyright Association GeoRezo