#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