#1 Tue 26 March 2019 12:56
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
QGIS 3.6: Générer des tiles XYZ en Lambert 93
Bonjour,
Est-il possible de générer un Mbtiles en Lambert 93 à partir d'un GéoTiff L93.
J'ai testé avec Qtiles mais il convertit en WGS84.
Merci.
Opérateur cartographique & DAO & PHP.
Hors ligne
#2 Tue 26 March 2019 13:56
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Bonjour,
J'ai envie de vous répondre non, "Le SRS est toujours la projection Pseudo-Mercator (ie Google Mercator)."
https://gdal.gloobe.org/gdal/formats/mbtiles.html
Martin
Dernière modification par nitram (Tue 26 March 2019 13:56)
Hors ligne
#3 Tue 26 March 2019 15:50
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
En revanche c'est possible avec Geopackage
Hors ligne
#4 Tue 26 March 2019 15:51
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Merci pour la réponse.
Et en tiles XYZ, Qtiles fait la reprojection en WGS84 également. Avec gdal2tile je comprend pas trop ce qu'il exporte. Les répertoire de zoom sont créés mais pas pour les coordonnées X et Y. Il incrémente le répertoire à partir de 0 comme pour le zoom
Il doit bien y avoir un moyen.
Géoserver semble générer du L93 dans son cache mais le format n'est pas pas lisible par Openlayers.
Actuellement mes données sont dans une base mysql en L93 lisible avec Openlayers et Qgis et je souhaite ajouter un fond de carte avec PR routier GéoTiff.
Dernière modification par michel56 (Tue 26 March 2019 15:53)
Opérateur cartographique & DAO & PHP.
Hors ligne
#5 Tue 26 March 2019 17:55
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
on peut lire le Mbtiles avec TileServer PHP et l'afficher dans openlayers mais le Geopackage on l'affiche comment dans le navigateur.
Opérateur cartographique & DAO & PHP.
Hors ligne
#6 Tue 26 March 2019 18:28
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
On peut utiliser un serveur de tuile pour proposer un WMTS à partir d'un cache Geopackage, par exemple avec Maproxy.
Vu cet exemple aussi qui utilise une lib js pour lire le gpkg.
Cela dit il doit y avoir moyen de faire quelque-chose avec gdal2tiles, le problème c'est que le code est vieux avec peu d'options. Les tuiles sont au format TMS, c'est une arborescence à 3 niveaux : zz/xxxx/yyyy. J'ai testé rapidement avec l'option -p raster qui semble adaptée à une projection autre que web mercator. Il génère également un exemple d'intégration avec openlayers 2 (!), qui fonctionne chez moi moyennant la mise à jour d'un nom de variable (tile_size > tileSize), je pense qu'on y trouve toutes les infos pour une intégration avec openlayers 5.
Il y avait à l'époque l'outil maptiler qui proposait une interface graphique à gdal2tiles avec des options supplémentaires mais qui est passé en freeware depuis. Il existe néanmoins un fork porté par l'osgeo : mapslicer, une des options les plus intéressante est la génération des tuiles au format jpeg ou hybride png/jpg.
Dernière modification par dominique.lys (Tue 26 March 2019 18:28)
Hors ligne
#7 Wed 27 March 2019 11:28
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Je ne pensais pas qu'on pouvait lire du Geopackage avec javascript.
J'ai testé mapslicer sur ubuntu et j'ai réussi à faire mes tiles mais elles s'affichent avec ol2 pas ol5.
Sinon j'ai trouvé ce script pour générer mes tiles en XYZ avec gdal2tiles et l'option -x, --xyz en ligne de commande.
A tester.
https://github.com/Luqqk/gdal2tiles
Dernière modification par michel56 (Wed 27 March 2019 11:28)
Opérateur cartographique & DAO & PHP.
Hors ligne
#8 Wed 27 March 2019 13:05
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
J'ai testé mapslicer sur ubuntu et j'ai réussi à faire mes tiles mais elles s'affichent avec ol2 pas ol5.
Oui ce que voulais dire c'est qu'à partir du code pour ol2 il ne devrait pas être trop difficile de faire une mise à jour pour ol3 et +
Pour l'option XYZ ce sera du coup en web mercator uniquement
Hors ligne
#9 Wed 27 March 2019 15:15
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Je vais rester en Lambert 93 quitte à réutiliser ol2.
Comment se fait-il que gdal2tile, mapslicer exportent en TMS, et que ol3 ol4 ol5 ne reconnait plus le format.
Dernière modification par michel56 (Wed 27 March 2019 15:17)
Opérateur cartographique & DAO & PHP.
Hors ligne
#10 Wed 27 March 2019 17:19
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Pcq ce sont de vieux outils plus mis à jour et que plus personne n'utilise le TMS supplanté par WMTS (il faut dire que TMS place l'origine du repère à l'angle inférieur gauche alors que google et WMTS le mette à l'angle supérieur gauche...)
néanmoins ça semble possible :
https://gis.stackexchange.com/questions … projection
https://github.com/openlayers/openlayers/issues/3923
de mon côté j'y arrive pas
EDIT finalement je suis arrivé à quelquechose
Code:
<!doctype html> <html lang="en"> <head> <link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css" type="text/css"> <style> .map { height: 600px; width: 100%; } </style> <script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.5.0/proj4.js" type="text/javascript"></script> <title>GDAL2Tiles OpenLayers 5 example</title> </head> <body> <div id="map" class="map"></div> <script type="text/javascript"> proj4.defs("EPSG:2154","+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"); ol.proj.proj4.register(proj4); projExtent = [-378305.81, 6093283.21, 1212610.74, 7186901.68]; //Lambert 93 from epsg.io [left, bottom, right, up] ol.proj.get('EPSG:2154').setExtent(projExtent); rasterExtent = [730250.5619, 6365062.3618, 737563.6452, 6371470.373]; //refer to tilemapresource.xml var rasterGrid = new ol.tilegrid.TileGrid({ extent: rasterExtent, tileSize: [256, 256], origin: ol.extent.getBottomLeft(rasterExtent), resolutions: [40, 20, 10, 5, 2.5] //refer to tilemapresource.xml }); var map = new ol.Map({ target: 'map', view: new ol.View({ projection: 'EPSG:2154', extent: rasterExtent, //fails if set to projExtent !? center: ol.extent.getCenter(rasterExtent), zoom: 8 }) }); var osm = new ol.layer.Tile({ source: new ol.source.OSM() }) map.addLayer(osm); var rasterLayer = new ol.layer.Tile({ source: new ol.source.TileImage({ //also works with ol.source.XYZ ! projection: 'EPSG:2154', tileGrid: rasterGrid, //url: './{z}/{x}/{-y}.png', //fails tileUrlFunction: function(coords) { var url = './'+coords[0]+'/'+ coords[1] +'/'+ coords[2] +'.png'; return url; } }) }); map.addLayer(rasterLayer); </script> </body> </html>
Dernière modification par dominique.lys (Wed 27 March 2019 18:23)
Hors ligne
#11 Thu 28 March 2019 09:55
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS 3.6: Générer des tiles XYZ en Lambert 93
Impeccable.
Exactement ce que je cherchais. (J'ai pas eu besoin de proj4 mes données sont toutes en L93)
Pour des petites applications avec des fonds rasters mis à jour tous les deux ou trois ans, cette méthode est largement suffisante.
Pas besoin de serveur carto et c'est très rapide.
Je voulais joindre une photo mais ça ne fonctionne pas.
Merci pour votre aide.
Dernière modification par michel56 (Thu 28 March 2019 10:21)
Opérateur cartographique & DAO & PHP.
Hors ligne