Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 02 May 2016 15:38

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

QGIS: Créer un service TMS en local

Bonjour à tous,

J'ai généré un ensemble de tuiles pour un projet en local grâce à l'extension QTiles. J'ai tenté le format TMS et le format Slippy map.
Je souhaite accéder à ces tuiles dans QGIS (2.14) en passant par GDAL et un fichier XML selon la méthode proposée ici : https://medspx.fr/blog/OpenStreetMap/ge … iles_OSM/.

Seulement, lorsque je tente d'afficher ma couche TMS seul un écran noir apparait qui correspond à l'emprise définie dans les 4 premiers paramètres de DataWindows du XML.
Je pensais qu'il s'agissait d'un effet de bord mais même en zoomant sur l'emprise de mes tuiles, rien ne se passe.

Est ce que quelqu'un a déjà effectué cet manip (accès à des tuiles intégralement en local)? Si oui, quels paramètres donner dans le XML pour pouvoir afficher les tuiles correctement dans le canevas de QGIS?
J'ai pensé que la projection pouvait être un problème puisque je travaille en lambert 93 (EPSG:2154). Est ce qu'on est limité à des systèmes non projetés?

J'ai également des doutes sur l’arborescence de mon répertoire de tuiles: j'ai bien mes trois répertoires de zoom (14,15,16) mais à l'intérieur les répertoires s'organisent de manière "exotique", du moins pas compréhensible pour le néophyte que je suis... du genre 14/8471/5894.png.
Pourquoi des valeurs aussi grandes dans les sous répertoires?
Selon toute logique, j'aurais imaginé des noms du style 14/1/4.png... Je passe a côté de quelque chose???

Pour info, les XML que j'ai tenté sont du genre:

Code:

<GDAL_WMS>
  <Service name="TMS">
  <ServerUrl>file:///C:/Users/XXXXXXX/Desktop/${z}/${x}/${y}.png</ServerUrl>
  </Service>
  <DataWindow>
    <UpperLeftX>Xmin</UpperLeftX>
    <UpperLeftY>Ymin</UpperLeftY>
    <LowerRightX>Xmax</LowerRightX>
    <LowerRightY>Ymax</LowerRightY>
    <TileLevel>16</TileLevel>
    <TileCountX>1</TileCountX>
    <TileCountY>1</TileCountY>
    <YOrigin>top</YOrigin>
  </DataWindow>
  <Projection>EPSG:2154</Projection>
  <BlockSizeX>256</BlockSizeX>
  <BlockSizeY>256</BlockSizeY>
  <BandsCount>3</BandsCount>
  <Cache />
</GDAL_WMS>

Merci d'avance pour l'éventuel coup de main!

Hors ligne

 

#2 Mon 02 May 2016 16:55

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Créer un service TMS en local

Salut,

En remplaçant la projection par 3857 qu'est-ce que ça donne ?

A mon avis QTiles s'appuie sur la grille standard en Web Mercator ce qui explique les identifiants élevés dans le cache (de la forme zz/xxxx/yyyy.png).

Entre TMS et Slippy Map je pense que la différence est juste dans la localisation de l'origine : angle inférieur gauche pour le TMS (cf. spécifications de l'osgeo) et angle supérieur gauche pour Slippy Map (c'est ce qui est mis en œuvre par Google, OSM et consorts)

Hors ligne

 

#3 Mon 02 May 2016 17:14

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Créer un service TMS en local

Yes, merci Dominique pour la réponse rapide et efficace!

Effectivement c'étais bien une histoire de projection et de format de service (Slippy Map fonctionne avec du 3857).

Du coup y'a t-il des utilitaires qui permettraient de générer soit même sa grille? en fournissant un point de base dans le XML via les UpperleftX, UpperLeftY,...
J'aimerais rester en Lambert 93 dans la mesure du possible.

Peut être que c'est plus complexe qu'il n'y parait mais mon esprit naïf ne voit pas de frein technologique a ça. (Si je fournis Xmin,Ymin, Xmax Ymax, la taille des tuiles et peut être la taille du pixel, ça devrait pouvoir rouler dans n'importe quel SCR non?

Merci encore!

Hors ligne

 

#4 Mon 02 May 2016 17:44

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Créer un service TMS en local

D'ailleurs ça pourrait résoudre le problème de l'effet de bord qui est très présent dans mon cas...
Emprise Xmin, Ymin Xmax Ymax énorme et petite zone effectivement tuilée si bien que dés qu'on se décale un peu trop, on passe en écran noir...

Hors ligne

 

#5 Mon 02 May 2016 18:10

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS: Créer un service TMS en local

Si la source est juste un raster ce doit être possible via gdal2tiles
http://www.gdal.org/gdal2tiles.html

Si c'est un projet QGIS avec plusieurs couches, des styles des labels ... je vois 2 solutions
- faire soit même un script Python, peut être un point de départ ici
https://mikeongis.wordpress.com/2011/08 … with-qgis/
- utiliser QGISserver couplé à un serveur de tuile style mapproxy pour remplir un cache

bref les deux solutions sont plutôt lourdes à mettre en oeuvre

Hors ligne

 

#6 Tue 03 May 2016 09:58

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Créer un service TMS en local

Effectivement...

Merci pour les infos! Après réflexion, je vais rester dans les standards (ça m'évitera des problèmes de compatibilité future!)

Cordialement,

Hors ligne

 

Pied de page des forums

Powered by FluxBB