IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Jouer sur la résolution des tuiles?


Sujet :

IGN API Géoportail

  1. #1
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut Jouer sur la résolution des tuiles?
    Comment (et facilement de surcroit!) corrige-t-on la "résolution" des tuiles transmises par l'API?
    La question n'est pas dans un sens carto IGN mais plutot dans une approche infographique...

    Je m'explique:
    Je souhaite afficher mon département en entier (avec un jeu de tuiles type de celles obtenues avec un zoom = 10) pour qu'il soit contenu dans une div aux dimensions fixées par ailleurs et qui ne permet pas d'origine de l'afficher en entier.

    Je cherche donc à jouer sur la résolution des tuiles (ce qui doit revenir à jouer sur les échelles) pour l'afficher en entier dans ma div.

    Sur le géoportail, je constate qu'avec un tel jeu de tuiles, tout en la maintenant à l'écran, je peux modifier son "échelle" d'environ 1/500000 à 1/700000...

    Une telle solution me satisferait. Je me réfère bien à cette page mais je n'arrive pas bien à mettre en pratique ces infos....
    Quelques pistes?

  2. #2
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Reprenons cette question qui n'inspire pas, d'une manière plus pratique!

    Sur cette page de test, comment centrer en totalité le département 43 (provenant de Obs43.kml) dans la div de l'api aux dimensions de 800px*800px (non modifiables), tout en gardant le fonds de carte courant en zoom 10?
    La carte en question s'inscrit dans .Bounds(3.05, 44.72, 4.51, 45.45)...

    Sur le geoportail, il est possible avec un fond déterminé de carte , de jouer d'une manière assez importante sur ses échelles extrèmes. C'est un peu ce résultat que j'aimerais atteindre.

    Merci.

  3. #3
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    En se basant sur l'exemple :
    http://openlayers.org/dev/examples/fractional-zoom.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //On autorise les niveaux de zoom intermédiaires
    viewer.getMap().fractionalZoom = true;
    var bnds = new OpenLayers.Bounds(3.05, 44.72, 4.51, 45.45);
    bnds.transform(OpenLayers.Projection.CRS84,new OpenLayers.Projection(viewer.map.projection));
    viewer.getMap().zoomToExtent(bnds);

  4. #4
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    La réponse est excellente!

    Il est bien d'avoir fixé un zoom fractionné, encore faut-il le fixer et empêcher le visiteur de jouer avec la molette ou les touches du clavier...
    Sauf erreur de ma part, pour la molette, le "zoomWheelEnabled:false" est problématique avec le loader. Cela m'amène à rappeler cette autre discussion non résolue. Voir ma page de test qui intègre les conseils de dgrichard sans succès...

    Autre piste: sauf erreur de ma part, le minZoomLevel et le maxZoomLevel n'accepte pas des valeurs décimales. Pas moyen alors de minZoomLevel= maxZoomLevel =getzoom() pour bloquer sur le zoom fractionné.

    Connaissez-vous alors un moyen simple de fixer le zoom fractionné, sans aucun moyen de le changer via le clavier ou la souris?

  5. #5
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    Pour fixer le zoom de la carte il suffit d'ajouter la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    viewer.getMap().zoomToExtent(bnds);
    viewer.getMap().minZoomLevel=viewer.getMap().maxZoomLevel=viewer.getMap().getZoom()
    En revanche si on tourne la molette, la carte se déplace à cause du recentrage, il faut neutraliser la molette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    controlsOptions:{
        'OpenLayers.Control.Navigation':{
            navigationOptions:{
                zoomWheelEnabled:false
            }
        }
    }

  6. #6
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    La fixation du zoom: OK.
    Par contre pour la molette, cela ne me semble pas bon. Voir ma page de test qui reprend vos conseils.
    Par avant, j'avais aussi suivi le conseil de dgrichard sur cette discussion qui s'était aussi montré infructueux...

  7. #7
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    En effet, je me suis trompé dans ma réponse. Les options ne sont pas pour le contrôle OpenLayers.Control.Navigation mais Geoportal.Control.NavToolbar puisque c'est lui qui est chargé par le viewer.

    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    iv = Geoportal.load(
    			'viewerDiv',
    			['1711091050407331029'], {
    			lon : 3.882652,
    			lat : 45.0427233
    		},
    			10, {
    				viewerClass:Geoportal.Viewer.Default,
    				layers : ['GEOGRAPHICALGRIDSYSTEMS.MAPS'],
    				controlsOptions:{
    					'Geoportal.Control.NavToolbar':{
    						navigationOptions:{
    							zoomWheelEnabled:false
    						}
    					}
    				},
    				layersOptions : {
    					'GEOGRAPHICALGRIDSYSTEMS.MAPS' : {
    						visibility : true,
    						opacity : 1.0,
    						minZoomLevel :8,
    						maxZoomLevel : 10
    					}
    				},
    				overlays:{},
    				type:'js',
    				onView: mc_onView
    			});}

  8. #8
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Il me semble qu'il y a encore un problème?
    Sur ma page de test qui reprend scrupuleusement vos indications, j'ai toujours la molette active en recentrage....
    Non?

  9. #9
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    Vous avez dupliqué le controlOptions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    iv = Geoportal.load(
    			'viewerDiv',
    			['9ysrf70jv61n0llbp6iiyxun'], {
    			lon : 3.882652,
    			lat : 45.0427233
    		},
    			10, {
    				  viewerClass:Geoportal.Viewer.Default,
    			layers : ['GEOGRAPHICALGRIDSYSTEMS.MAPS'],
    			controlsOptions:{
    					'Geoportal.Control.NavToolbar':{
    						navigationOptions:{
    							zoomWheelEnabled:false
    						}
    					}
    				},
    			layersOptions : {
    				'GEOGRAPHICALGRIDSYSTEMS.MAPS' : {
    					visibility : true,
    					opacity : 1.0
    				}
    				},
    				 overlays:{},
    				controlsOptions : {
    				activeOverMapOnly:false,
    				logoSize : 5,
    						},
    			type:'js',
    			onView: mc_onView
    				});}
    et le loader ne considère donc que le second controlOptions, il faut les fusionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    iv = Geoportal.load(
    			'viewerDiv',
    			['1711091050407331029'], {
    			lon : 3.882652,
    			lat : 45.0427233
    		},
    			10, {
    				viewerClass:Geoportal.Viewer.Default,
    				layers : ['GEOGRAPHICALGRIDSYSTEMS.MAPS'],
    				controlsOptions:{
    					'Geoportal.Control.NavToolbar':{
    						navigationOptions:{
    							zoomWheelEnabled:false
    						}
    					},
    					activeOverMapOnly:false,
    					logoSize : 5
    				},
    				layersOptions : {
    					'GEOGRAPHICALGRIDSYSTEMS.MAPS' : {
    						visibility : true,
    						opacity : 1.0,
    						minZoomLevel :8,
    						maxZoomLevel : 10
    					}
    				},
    				overlays:{},
    				type:'js',
    				onView: mc_onView
    			});}
    //

  10. #10
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Excusez-moi.
    Merci pour votre aide très constructive.

  11. #11
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    You're welcome

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. résolution des tuiles WMTS
    Par rawalpundi dans le forum IGN API Géoportail
    Réponses: 12
    Dernier message: 06/11/2014, 09h55
  2. [AC-2010] Résolution des conflits sur base répliquée
    Par Rabastac dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/04/2012, 10h59
  3. Résolution des systèmes linéaires
    Par FR119492 dans le forum Mathématiques
    Réponses: 7
    Dernier message: 24/12/2010, 20h15
  4. jouer sur le temps d'apparition des composants
    Par sinfos dans le forum Flex
    Réponses: 2
    Dernier message: 08/06/2010, 17h34
  5. Jouer sur la transparence des calques
    Par OCRom dans le forum Flash
    Réponses: 3
    Dernier message: 27/06/2007, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo