Tuilage des données OSM avec Leaflet

Carte d’occupation du sol (Landuse d’OSM)

osm landuse diouck

Principe du tuilage:

Le tuilage est le re-découpage d’un raster en petite images à des échelles prédéfinies pour être utilisé par des outils web.

Le tuilage va donc découper le raster sur plusieurs échelles (pyramidage) en autant de petites images (tuilage), dont le nom du dossier et celui de l’images sont les coordonnées x et y dans le système de projection mercator.

diouck pyramides

1/- Données: Pays de la Loire à télécharger depuis ce lien

2/- Analyse thématique uniquement sur la donnée « landuse »  avec Qgis et génération d’un fichier  au format png que vous pouvez télécharger  là :  OSM Landuse.

3/- Création de mosaïques d’images tuilées avec gdal2tiles.

Comme les autres outils de GDAL , il est assez facile à utiliser. Ci-dessous est un exemple de commande pour créer des tuiles de notre image.

gdal2tiles.py -z -v 7-13 "OSM Landuse.png" "OSM Landuse"

Pour faire simple nous allons créer une pyramide avec les niveaux de zoom allant de 7 à 13 dans le dossier OSM Landuse. La derniere version de gdal vous crée automatiquement un dossier pour chaque niveau de zoom.

4/- Intégration des tuile dans une application.

Je ne vais pas rentrer dans les détails de créations de cartes mais juste juste vous monter comment intégrer notre pyramide tuilée dans une application. Vous avez simplement à rajouter cette ligne:

var mytile =L.tileLayer(‘landuse/{z}/{x}/{y}.png’,{tms: ‘true’}).addTo(map);

La carte est accessible depuis ce lien

Advertisements

10 réflexions sur “Tuilage des données OSM avec Leaflet

    • Bonjour
      En faite n avez pas besoin de server pour les tuiles générées par gdal ou qgis vous pouvez les mettre a la racine de votre application. Sinon vous pouvez aussi par exemple importer les tuiles dans geoserver avec image pyramide pour faciliter l accès

      J'aime

    • Geo-x dit :

      Si je comprend bien, par exemple on pourrait très bien faire avec une image : « gdal2tiles.py -z -v 7-13′ suivi de, avec une autre image « gdal2tiles.py -z -v 13-22 », c’est bien ça ?

      J'aime

  1. Oui c’est ça
    Exemple
    gdal2tiles.py -z -v 7-13 « image1.png » « image2 »
    gdal2tiles.py -z -v 7-22 « image2.png » « image2 »
    et tu auras 2 dossiers séparés avec les différents niveau de zoom
    Mais attention au niveau 14 tu ne verras plus image1 a cause du max zoom limité à 13

    et dans leaflet
    var image1=L.tileLayer(‘image1/{z}/{x}/{y}.png’,{tms: ‘true’}).addTo(map);
    var image2=L.tileLayer(‘image2/{z}/{x}/{y}.png’,{tms: ‘true’}).addTo(map);

    J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s