IGN

Géoservices IGN

Guide de migration depuis l'API v2 - Covisualisation WMS externe

Dernière mise à jour : 23 Novembre 2017

Table des matières

On montre ici comment afficher une carte incluant une couche issue d’un serveur WMS externe (ici, la carte géologique image de la France au 1/50 000e servie par le BRGM).

Avec l’ancienne version (API V2)

L’exemple suivant montre comment on pouvait faire cela avec l’API V2 :

La suite du tutoriel montre comment obtenir un résultat similaire avec les nouveaux outils du Géoportail.

Avec OpenLayers et l’extension Géoportail pour Openlayers

Principe

Pour ajouter une couche WMS, il faut créer une couche de type ol.layer.Tile dont la propriété source est de type ol.source.TileWMS.

On va instancier un objet de cette classe avec les options suivantes :

La méthode map.addLayer() permet d’ajouter la couche créée à la carte.

Le code suivant permet d’ajouter la couche ‘SCAN_D_GEOL50’ du service WMS ‘https://geoservices.brgm.fr/geologie’ :

var layerWMS = new ol.layer.Tile({
    source: new ol.source.TileWMS({
        url: 'https://geoservices.brgm.fr/geologie',
        params: {
            LAYERS: 'SCAN_D_GEOL50',
            TRANSPARENT:true
        },
        projection:'EPSG:4326'
    })
});
map.addLayer(layerWMS);

Si vous utilisez le gestionnaire de couches, il est possible de modifier le nom et la description de la couche dans ce gestionnaire dans les options de l’outil ol.control.LayerSwitcher :

var lsControl = new ol.control.LayerSwitcher({
  layers:[{
    layer : layerWMS,
    config : {
      title : 'Carte géologique image de la France au 1/50 000e',
      description : 'BD Scan-Géol-50 est la base de données géoréférencées des cartes géologiques 'papier' à 1/50 000'
    }
  }]
}) ;
map.addControl(lsControl) ;

Plus d’informations sur le gestionnaire d’empilement des couches sont disponibles ICI

Mise en oeuvre

Avec le SDK

Principe

La propriété layersOptions de l’objet de paramètres de la fonction Gp.Map.load() permet de préciser les couches à rajouter à la carte. Chaque couche est définie par une propriété (identifiant au choix du développeur) de cet objet qui va prendre comme valeur un objet javascript portant ses caractéristiques. Pour une couche WMS, cet objet va comporter les propriétés suivantes :

Plus d’informations sont disponibles ICI

Le code suivant permet d’afficher avec le SDK la carte avec une couche WMS externe et l’outil d’empilement des couches.

var map = Gp.Map.load(
    "map",   // identifiant du conteneur HTML
    // options d'affichage de la carte (Gp.MapOptions)
    {   
        ...
        layersOptions : {
            ...
            'BRGM' : {
  	        format: 'WMS',
  	        url : 'https://geoservices.brgm.fr/geologie',
  	        title : 'Carte géologique image de la France au 1/50 000e',
                description : "BD Scan-Géol-50 est la base de données géoréférencées des cartes géologiques 'papier' à 1/50 000",
  	        layers:['SCAN_D_GEOL50'],
  	        tiled:true
            }
        },
        controlsOptions : {
            "layerswitcher" : {}
        }
    }
) ;

Plus d’informations sur la propriété layersOptions.

Mise en oeuvre