Pour une utilisation interne, je cherche à passer de la solution
tuiles xyz en local qui sont utilisées dans Josm
a quelque chose d’un peu plus pratique :
tuiles sur un serveur dans mon garage, avec gestion d’une authentification
En gros, on récupère des plans dwg, qu’on converti en png. Ces png sont géolocalisés à l’aide de piclayer (+ export world file), et récupérés dans Qgis où je créé les tuiles (projet en epsg:3857). Les mbtiles étaient une solution intéressante, mais limité au zoom 22 ou 23, ce qui n’est pas suffisant ici.
J’ai parcouru les solutions Mapserver, Mapproxy, et j’ai choisi cette dernière solution.
Avec Mapproxy, avec une section ‹ cache › de ce style :
je peux ajouter une source tms dans Josm et accéder à ces tuiles. Par contre, ça ne fonctionne pas dans la visionneuse de partie « demo » de Mapproxy.
Étape suivante : Récupérer ces sources depuis un wms ou wmts, afin d’accéder à une liste de source de ne pas ajouter manuellement des dizaines de sources tms dans Josm.
Et là, ça coince.
Si en suivant l’exemple j’arrive à créer un wms ou wmts avec comme source les tuiles servies par a.tile.openstreetmap.org, impossible de le faire avec les miennes.
En fait, je me demande si je ne suis pas parti dans une mauvaise direction avec MapProxy.
Qu’est-ce que vous en pensez ?
Des meilleures idées ? Des recettes ? Des tutos bien faits ? Je suis preneur.
Je ne peux pas dire que tu as choisi le mauvais cheval, je sais qu’il y a des années j’ai regardé et pas retenu. J’ai fait du Tessera (pile MaxBox) et du GeoServer donc difficile de te conseiller. Par contre je peux dire que je manipule un « petit » fichier de plus 60 Go récupéré en WMTS, reconstruit en GDAL sous forme de GeoTiff COG et publié en WMS/WMTS par GeoServer et que ça me donne satisfaction. Gestion de droits possible.
Mais ce n’est pas tout simplement parce que tu as confondu TMS et XYZ ? Quand tu dis « ça ne marche pas », c’est vague si tu dis que les tuiles du haut et celles du bas sont inversées, c’est un signe - qui manque à ton expression : -y et non y ;-).
Pour te conseiller un peu plus efficacement :
essentiellement un utilisateur ?
volumétrie ?
enveloppe (bounding box) : tu veux avoir une usine, un quartier, une ville, un continent, le monde ?
Comme ça on saura si on peut - ou pas - te conseiller ou simplement déconseiller des trucs.
Comme tu as un projet QGIS, tu as regardé du côté de QGIS Server ? Moi pas ;-).
Par exemple tu exclus mbtiles mais rien dans la spec n’interdit de dépasser le niveau 22 ou 23.
Sans doute un problème de dépassement d’entier mais dans la base SQLLite tu ne peux forcer le type à la manière des BIGTIFF des GeoTiff ?
Ca m’est arrivé pendant mes différentes manipulations sur Mapproxy, mais en général j’arrive à retomber sur mes pattes en jouant sur le paramètre qui permet de situer l’origine au nord-ouest ou au sud-ouest.
Ca veut dire qu’en WMTS ou WMS depuis mes sources, je n’ai que des tuiles vides. Je vais refaire des essais en créant 2 sources identiques, l’une en Y et l’autre en -Y.
3 utilisateurs
Plusieurs dizaines de sources qui sont toutes sur des petites zones, de l’ordre de la taille … d’une gare
Et bien… c’est aussi une possibilité qui est envisagée
J’ai mon instance de Mapproxy qui fonctionne correctement pour fournir du XYZ (je mets du « -y » dans le lien tms de Josm).
Je fais tourner une autre instance de Mapproxy qui se branche sur le premier, et qui me fourni du Wmts.
Après moultes tests, c’est un peu tombé en marche. J’ai un résultat nickel dans Qgis, mais limité en niveau de zoom dans Josm. Tout ça pour la même source WMTS. Je continue à creuser le sujet.
Je vais créer quelques tickets pour Josm, car j’ai l’impression qu’il ne gère pas correctement le WMTS. Pour corriger mon problème, j’ai du aller dans les préférences pour augmenter le zoom max par défaut. Normalement, Josm devrait récupérer le niveau de zoom max de chaque couche lorsqu’il interroge le serveur Wmts.
Je crois que tu peux mettre le sujet comme résolu par toi et te féliciter.
Un GeosServer avec un greffon mosaïque aurait marché. Pour GDAL, en changeant la taille des tuiles, tu aurais diminué le nombre maximal de niveaux. Donc VRT par exemple pour assembler.