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

Annonce

GEODATA DAYS 2024

#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

Powered by FluxBB