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

Printemps des cartes 2024

#1 Thu 17 November 2016 12:26

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

[MapFish print] Echelle fausse sur mon impression pdf

Bonjour,

J'ai une appli qui tourne avec Geoserver et Leaflet.
Dans mon appli, j'affiche en arrière plan des tuiles d'OSM ou des tuiles venant de l'IGN, sur lesquelles je peux superposer mes données métier en WFS.

Pour imprimer mes cartes, j'ai installé le module MapFish Print à Geoserver, et je peux désormais imprimer mes cartes sans problème, et les fonds de carte et mes couches WFS se superposent parfaitement.
J'utilise également le plugin Leaflet.Print de Leaflet me permettant d'envoyer le create.json plus facilement.

Pour autant, l'échelle sur mon impression pdf est fausse.
Si je mesure la longueur d'une rue sur mon appli, ou dans google maps par exemple, la longueur retournée ne correspond pas à ce que me donne l'échelle sur mon impression pdf.

Savez vous d'où peut venir le problème ?

Par défault la projection Leaflet est en EPSG 3857, et j'ai configuré mon spec.json avec le srs 3857 également.
Les échelles que j'ai spécifié correspondent aux résolutions de mes tuiles.
J'ai testé en changeant les valeurs des céhelles, les dpi également, mais j'ai toujours ce même problème.

Voici un extrait de mon fichier config.yaml dans Geoserver :

Code:

dpis: [75, 96, 150, 300]

scales:
    - 1223
    - 2446
    - 4892
    - 9784
    - 19568
    - 39136

Et voilà ce que j'envoie dans mon create.json :

Code:

{"units":"m","srs":"EPSG:3857","layout":"A4 Landscape","dpi":96,"outputFormat":"pdf","outputFilename":"leaflet-map","layers":[{"baseURL":"http://a.tile.osm.org/","opacity":1,"type":"OSM","extension":"png","tileSize":[256,256],"maxExtent":[-20037508.34,-20037508.34,20037508.34,20037508.34],"resolutions":[156543.03390625,78271.516953125,39135.7584765625,19567.87923828125,9783.939619140625,4891.9698095703125,2445.9849047851562,1222.9924523925781,611.4962261962891,305.74811309814453,152.87405654907226,76.43702827453613,38.218514137268066,19.109257068634033,9.554628534317017,4.777314267158508,2.388657133579254,1.194328566789627,0.5971642833948135,0.29858214169740677,0.14929107084870338,0.07464553542435169,0.037322767712175846],"singleTile":false}],"pages":[{"center":[175236.00917692634,6280596.13623742],"scale":1223,"mapTitle":"","comment":"","mapCopyright":"copyrightText","rotation":0}]}

Hors ligne

 

#2 Thu 17 November 2016 17:14

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

Re: [MapFish print] Echelle fausse sur mon impression pdf

J'ai résolu le problème en renseignant le paramètre "geodetic" à "true"

pages: [{
        center: center,
        scale: scale,
        dpi: 190,
        geodetic: true,
        rotation: 0
}]

Hors ligne

 

Pied de page des forums

Powered by FluxBB