PnX-SI / GeoNature-atlas

Application WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
GNU General Public License v3.0
44 stars 48 forks source link

Configuration des cartes : plus de 2 cartes ? #92

Open sylvain-m opened 7 years ago

sylvain-m commented 7 years ago

Bonjour à tous,

Dans le fichier config.py, on paramètre 2 cartes en alternance (FIST_MAP et SECOND_MAP). Ma question : est-il possible d'ajouter un 3e mode de carte (ou plus) ? Dans mon cas, j'utilise le fond OSM (MapBox) que je trouve plus esthétique à petite et moyenne échelle que les fonds de Plans IGN. Mais l'utilisation des plans IGN serait également utile à grande échelle.

J'aimerai donc ajouter un 3e mode plan, pour avoir :

Ou, si on reste sur 2 fonds différents :

Rappel du code correspondant dans le fichier config.py :

# Configuration des cartes (centre du territoire, couches CARTE et ORTHO, échelle par défaut...)
MAP = { 
    'LAT_LONG': [44.7952, 6.2287],
    'FIRST_MAP': { 
            'url' : 'http://gpp3-wxs.ign.fr/'+IGNAPIKEY+'/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&&TILEMATRIX={z}&TILECOL={x}&TILEROW={y}',
            'attribution' : '&copy; <a href="http://www.ign.fr/">IGN</a>',
            'tileName' : 'IGN'
        },
        'SECOND_MAP' : {"url" :'https://gpp3-wxs.ign.fr/'+IGNAPIKEY+'/geoportail/wmts?LAYER=ORTHOIMAGERY.ORTHOPHOTOS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}',
              "attribution": "",
              "tileName" : 'Ortho IGN'
            },
        'ZOOM' : 10,
        # Pas du slider sur les annees d'observations: 1 = pas de 1 an sur le slider
        'STEP': 1
}
gildeluermoz commented 7 years ago

Tu pourrais ajouter un THIRD_MAP au tableau json de config sur le modèle proposé mais cet objet ne serait pas utilisé par le code de l'appli. Si tu regardes static/mapGenerator.js ligne 5 et 9, tu verras que l'objet configuration.MAP.FIRST_MAP est utilisé ici. Pour utiliser un objet configuration.MAP.THIRD_MAP il faudrait développer son usage, avec un layer switcher par exemple.

camillemonchicourt commented 7 years ago

On a volontairement pas voulu fait un selecteur de fond carto pour ne pas être dans un outil type WEBSIG mais bien grand public, simple. Un bouton, 2 fonds, comme dans Google Maps. Par contre pour le fond CARTES, tu peux choisir d'afficher un fond à un certain niveau et un autre à un autre niveau, de manière fluide et transparente pour les utilisateurs.

C'est comme dans Geotrek-rando où pour notre part, on affiche le SCAN EXPRESS à échelle large et le SCAN 25 à petite échelle :

{
            "LAYER_URL": "http://gpp3-wxs.ign.fr/XXXXXXXXXXXXXXXXX/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}",
            "OPTIONS": {
                "attribution": "(c) IGN Geoportail",
                "minZoom": 4,
                "maxZoom": 12
            }
        },
        {
            "LAYER_URL": "http://gpp3-wxs.ign.fr/XXXXXXXXXXXXXXX/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}",
            "OPTIONS": {
                "attribution": "(c) IGN Geoportail",
                "minZoom": 13,
                "maxZoom": 17
            }
        }

Il te suffit de faire pareil dans le FIRST_MAP en mettant 2 fond avec des minZoom et maxZoom différents.

Donc c'est possible et c'est encore mieux que de faire jongler les gens entre des fonds en mode WEBSIG.

sylvain-m commented 7 years ago

Il te suffit de faire pareil dans le FIRST_MAP en mettant 2 fond avec des minZoom et maxZoom différents.

Oui, c'est ce que j'envisageais dans ma 2e option. Maintenant, comme l'exemple que tu montres est issu de GeoTrek, avec un appel des layers légèrement différent de celui de GeoNature-Atlas, es-tu sûr qu'une écriture similaire sera adaptée ici ?

camillemonchicourt commented 7 years ago

A tester.

sylvain-m commented 7 years ago

Je vais faire des essais, et partagerai si ça a marché : a suivre ;)