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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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