#1 Tue 18 November 2008 12:36
- Kurumen
- Juste Inscrit !
- Date d'inscription: 22 Aug 2008
- Messages: 4
Largeur fenêtre carte ?
Bonjour,
Voici mon problème. J'ai un document MapInfo 7.8 composé d'une seule fenêtre carte non "maximalisée", qui elle même ne contient qu'une seule couche de polylignes (projection Lambert II carto).
A l'aide d'un programme MapBasic, je détermine la largeur de la vue affichée dans la fenêtre carte en faisant la différence entre le x_max et le x_min :
largeur = MapperInfo(FrontWindow(), MAPPER_INFO_MAXX) - MapperInfo(FrontWindow(), MAPPER_INFO_MINX).
Pour info, ce calcul est effectué après avoir configuré la projection utilisée par MapBasic à l'identique de celle de ma carte.
J'obtiens ainsi par exemple une largeur de 500 000 m, valeur confirmée en se basant sur les x de la position du pointeur de ma souris dans la fenêtre carte ou en utilisant l'outil "Distance" de mesure des distances dans la fenêtre carte.
Par contre, lorsque je consulte l'outil "Zoom", la valeur de "Zoom (largeur de fenêtre)" indiquée est complètement différente de celle que je calcule. Par exemple, la valeur indiquée est 60,3 km.
Que je sache, 60,3 km, ça n'est pas égal à 500 000 m !
C'est MapInfo qui déraille ou c'est moi qui n'est rien compris à cette info "Zoom (largeur de fenêtre)" ?
Si vous avez déjà été confronté à ce petit problème et que vous en connaissez l'origine, répondez-moi, svp ! Il en va de ma santé mentale.
Hors ligne
#2 Tue 18 November 2008 13:41
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Largeur fenêtre carte ?
Bonjour
On va dire que c'est MapInfo...
A moins que la façon de configurer MapBasic pour le faire travailler dans la projection de la table soit la cause
Vous utilisez bien Set CoordSys Table ma_table ??
Hors ligne
#3 Tue 18 November 2008 14:16
- Kurumen
- Juste Inscrit !
- Date d'inscription: 22 Aug 2008
- Messages: 4
Re: Largeur fenêtre carte ?
J'utilise plutôt les instructions suivantes :
Dim cmd As String
cmd = "Set " + MapperInfo(FrontWindow(), MAPPER_INFO_COORDSYS_CLAUSE)
Run Command cmd
mais fondamentalement ça ne doit pas conduire à de différence avec l'instruction "Set CoordSys Table...".
Par contre, en testant avec une autre couche, je ne rencontre plus de problème, la largeur calculée via MapBasic est identique à l'info "Zoom (largeur de fenêtre)" affichée par MapInfo. Ce qui est rassurant quelque part...
Ca ne serait donc ni MapInfo, ni mon cerveau qui déraillerait, mais plutôt la première couche testée. Bizarre car elle est on ne peut plus simple avec 3 pauvres polylignes, 1 champ "ID", 3 enregistrements, compactée. Rien à redire sur elle à première vue.
Hors ligne
#4 Tue 18 November 2008 14:31
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Largeur fenêtre carte ?
Ce n'est pas sa complexité mais sa projection qui peut être déraille
A vérifier par menu Table->Modifier structure ou l'outil CoordSysBounds.mbx ou en exportant en mif-mid et lisant le mif...
Hors ligne
#5 Tue 18 November 2008 15:51
- Kurumen
- Juste Inscrit !
- Date d'inscription: 22 Aug 2008
- Messages: 4
Re: Largeur fenêtre carte ?
J'ai essayé de jouer avec les Bounds de la projection de ma couche mais sans grande conviction, je ne suis pas spécialiste de ces bêtes là.
Les objets de la table ne sont pas hors bornes de la projection. Je ne note rien d'anormal en passant par l'outil CoordSysBounds.mbx ou l'export MIF/MID.
La seule chose que j'ai notée c'est qu'en remplaçant la projection Lambert II carto de ma couche par une projection UTM (WGS84), le problème largeur calculée via MapBasic / largeur affichée par MapInfo est résolu. A ce stade, ça ne m'éclaire pas plus...
Hors ligne
#6 Wed 19 November 2008 09:36
- Kurumen
- Juste Inscrit !
- Date d'inscription: 22 Aug 2008
- Messages: 4
Re: Largeur fenêtre carte ?
Merci à Maurice qui a trouvé la réponse.
Le problème venait bien de ma table qui contenait des polylignes situées en dehors des bornes de la projection utilisée. L'erreur était d'origine humaine et non logicielle. Je fais mon mea culpa.
Hors ligne