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 Sat 24 October 2015 23:58

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

png tuilé

Bonjour,

Je reédite tous le topic

Voilà ce que je veux faire:

J'ai un raster qui représente la température (chaque pixel = une valeur).

Je veux utiliser ce raster avec leaflet.

Comment faire ? En sachant que j'utilise Qgis

Je suppose qu'il faut le tuilé ? avec gdal2tiles ?


Quelqu'un a une idée ?

Merci smile

Dernière modification par mlt (Mon 26 October 2015 11:58)

Hors ligne

 

#2 Tue 27 October 2015 10:51

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

Re: png tuilé

Bonjour,

D'après la doc http://leafletjs.com/reference.html vous pouvez directement consommer du WMS (non tuilé) avec Leaflet ce qui est encore la solution la plus simple avec QGIS server. Vous pouvez également utiliser un service tuilé (TMS ou WMTS). Pour ce faire il faut soit générer soit même le cache de tuiles avec gdal2tiles (mais vous ne profiterez pas des capacité de symbologie raster de QGIS ce qui je pense sera un problème pour un raster de température), soit combiner QGIS server avec une serveur de tuile qui vous permettra de convertir le service WMS délivré par QGIS en service tuilé et remplir à la volée des requêtes un cache de tuile, j'aime beaucoup mapproxy pour ce boulot.

Dernière modification par dominique.lys (Tue 27 October 2015 10:51)

Hors ligne

 

#3 Tue 27 October 2015 11:52

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Merci beaucoup pour la réponse.


J'ai opté pour le non tuilage, pour l'instant je tatonne, je superpose mon raster au fond openstreetmap et autre... Mais j'ai un problème de projection, mon raster est légèrement décalé car rapport au fond openstreetmap.

ça doit venir du Lambert III périmé que j'utilise smile

Du coup, je sais pas trop comment m'y prendre pour bien adapter mon raster.

J'en profite pour poser une autre question. D'après vous pour diffuser ce genre de carte (raster de température). C'est quoi le mieux comme service ? (leaflet, lizmap, ou autre...).

Dernière modification par mlt (Tue 27 October 2015 11:53)

Hors ligne

 

#4 Tue 27 October 2015 12:47

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

Re: png tuilé

Oui il est préférable de passer proprement vos données dans un système de projection compatible avec WGS84 (Lambert 93 par exemple) pour ne plus avoir de décalage. Vous pouvez faire cette opération dans QGIS, l'important est d'utiliser le code IGNF pour définir la projection Lambert 3 de votre raster source. De cette façon le calcul s’appuiera sur la grille de reprojection de l'IGN. Dans QGIS, seules les projections labellisées IGNF spécifient l'utilisation de cette grille et permettent une transformation sans décalage.

Le choix du client vous appartient et dépends de vos besoins, vos compétences, vos envies ...
-leaflet est une librairie légère et facile
-openlayer est plus complet et offre plus de possibilités
-lizmap est une solution clé en main qui devrait vous permettre en quelques clics d'obtenir une application web standard. Vous n'aurez pas à coder vous même le client web mais en contrepartie vous n'aurez pas le contrôle sur l'aspect final de l'application

Hors ligne

 

#5 Tue 27 October 2015 13:08

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Ok merci.

Pour les projections, pour changer, il suffit de faire clic droit > définir le SCR d'une couche ? la reprojection se fait toute seule ?

Hors ligne

 

#6 Tue 27 October 2015 14:00

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: png tuilé

Non, il faut passer par sauvegarder sous et changer le SCR à ce moment là.


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#7 Tue 27 October 2015 15:25

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Merci, je viens d'essayer. J'ai toujours un décalage

[img]http://zenk.chapelin.fr/decal.png[/img]

Au départ c'était du LAMBERT III carto, j'ai pas eu le choix. Je l'ai mis en 93. C'est peut être irrécupérable ?


Pour info, pour faire ça, au départ j'ai mon raster en .tif. Je crée ma carte avec Qgis2leaf. Puis je sauvegarde mon tif en tif avec l'option image et non "Donnée brute" (j'ai l'impression que ça ne fonctionne pas sinon pour la suite). Pour finir, je convertis mon tif image en png gdal_translate comme ceci:

Code:

gdal_translate -of PNG raster.tif raster.png

Puis je met mon png dans le dossier data, dans l'export crée par Qgis2leaf (les tif ne fonctionne pas avec leaflet apparemment).

C'est du bricolage mais j'ai pas trouvé mieux pour faire des cartes sur leaflet à partir de Qgis.

Dernière modification par mlt (Tue 27 October 2015 15:36)

Hors ligne

 

#8 Wed 28 October 2015 08:57

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

Re: png tuilé

Finalement le décalage me parait trop important pour être un problème de reprojection sans grille. Dans QGIS est-ce que votre raster s'aligne correctement sur les limites communales?

L'option image lors de l'export raster vous permet d'appliquer le style défini dans QGIS (dégradé de couleur selon les valeur de température) dans l'image de sortie. Vous obtenez ainsi une image RGB classique (3 bandes de 8 bits, la valeur des pixels représentant une couleur) alors que votre raster source est un tif ne contenant qu'une bande de 8, 16 ou 32 bits selon intervalle et la précision des valeurs à coder, chaque pixel portant une valeur de température.


Je précise cela pour bien que vous compreniez en quoi ces 2 fichiers sont finalement très différents. Ce n'est pas forcement un mauvais choix de faire un export 'image' du moment (encore une fois) que l'on comprends bien les avantages et inconvénients de l'opération. En particulier ici le fait qu'il n'y ait pas de retour en arrière possible, vous ne pourrez pas retrouver vos données initiales à partir du fichier RGB.


Il est normal que vous passiez par cette option puisque leaflet ne sait pas faire de symbologie sur les raster, c'est le même problème que je soulevais précédement à propos de l'utilisation de gdal2tiles. Pour profiter des capacités de style de QGIS sans avoir à produire une nouvelle image il faut passer par QGIS server et non afficher l'image brute via leaflet. Cette approche est infiniment plus souple puis qu'elle vous permettra d'éditer à tout moment le style du raster dans votre projet QGIS (changer les couleurs) et de visualiser instantanément le nouveau rendu dans le client web.


Le problème c'est que vous vous êtes lancé dans la réalisation de votre projet sans avoir au préalable défini précisément les solutions à mettre en oeuvre et le rôle de chaque brique logiciel. D'un coté vous installer QGIS server mais au final vous ne l'utilisez pas (et j'ai le sentiment que vous ne saisissez pas bien son utilité), vous hésitez encore entre leaflet et lizmap alors que ce sont des approches trés différentes.

Une recherche documentaire un peu plus poussée vous permettra peut-être d'y voir un peu + clair avant de remettre les mains dans le cambouis !

Hors ligne

 

#9 Wed 28 October 2015 15:56

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Merci pour les réponses.

Oui, mon raster s'aligne parfaitement avec les limites communales sur Qgis. Je vais tout recommencer pour voir si ça fait pareil.

Pour l'option image, de toute façon en convertissant en png, je suppose que je perds mes données de températures. Pour l'instant ces manipulations me permettent d'éviter la mise en place d'un serveur de tuiles, mais j'ai l'impression que je vais pas y échapper smile .

Je ne suis pas sigiste  la base, donc j'ai beaucoup de lacunes, je me perds facilement dans les docs. Pour l'instant ce qui m'attire dans leaflet c'est que c'est une librairie légère et modulable. L'installation de Qgis + lizmap, c'était pour la curiosité.


Votre idée de faire passer mes rasters par Qgis server est très intéressante, en revanche, je me suis pas encore documenté sur ce sujet. smile

Bon je retourne à mon problème de décalage...

Dernière modification par mlt (Wed 28 October 2015 15:56)

Hors ligne

 

#10 Wed 28 October 2015 17:52

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

Re: png tuilé

Les données sont bien calées dans QGIS mais elles sont toutes dans la même projection ? Lambert 3 ? ou bien les projections sont-elles hétérogènes?

Hors ligne

 

#11 Mon 09 November 2015 09:42

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Mes rasters sont en lambert 3 et sont bien calés avec mes couches départements (en lambert93), donc oui j'ai des projections hétérogènes. Mais pour l'export Qgis2leaf, je prends que les rasters. (pour info quand j'exporte mes couches départements, c'est bien calé, aucun problème).

J'ai un peu avancée. J'utilise l'outil raster > projection > projection.

Je convertis mes rasters du lambert 3 au lambert 93, j'ai moins de décalage...

[img]http://zenk.chapelin.fr/decal2.png[/img]

Mais toujours un peu....

J'ai essayé en passant du lambert 3 ( IGNF:LAMB3C) au WGS84 (EPSG:3857) mais ma région paca se place en plein milieu de l'Afrique.

En utilisant cet outil projection, l'exportation avec Qgis2leaf fonctionne (j'ai pas besoin de faire ma conversion tif>png avec gdal_translate).

EDIT: Avec l'outil "Assigner une projection", j'arrive à convertir en WGS84 mais le décalage est le même que l'image précédente.

Dernière modification par mlt (Mon 09 November 2015 10:02)

Hors ligne

 

#12 Mon 09 November 2015 10:14

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: png tuilé

Bonjour,


WGS84 != EPSG:3857 c'est le 4326 qu'il faut utiliser smile mais au final je en sais pas quelle projection tu veux utiliser.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#13 Mon 09 November 2015 10:41

mlt
Participant actif
Date d'inscription: 14 Oct 2015
Messages: 59

Re: png tuilé

Merci de la réponse.


EDIT: Je crois que je suis pas loin de réussir... je laisse tomber d'insérer un raster avec Qgis2leaf.

J'ai crée des tuiles avec gdal2tiles, et ça fonctionne, sous googlemap et openlayers.

Maintenant je veux ouvrir mes tuiles sous leaflet: J'ai mis ceci:

Code:

 <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
 <link rel="stylesheet" type="text/css" href="css/own_style.css">
  <script src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
  
   <div id="map"></div>
   
   <script>
   var map = L.map('map').setView([43.996035, 6.034244], 8);
   L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 19
   }).addTo(map);
    L.tileLayer('C://tuiles/tiles/{z}/{x}/{y}.png', { maxZoom: 19
   }).addTo(map);
    </script>

Mes tuiles se s'ouvre pas. En local, c'est pas fesable, il faut installer des choses ?

Dernière modification par mlt (Mon 09 November 2015 14:13)

Hors ligne

 

Pied de page des forums

Powered by FluxBB