Importer calque depuis autre uMap

Bonjour,

Est-il possible d’importer (dynamiquement) un calque d’une uMap vers une autre uMap ?
Il me semble avoir lu ça quelque part, mais pas moyen de retrouver où.

Pierre-Yves

En effet ça a été abordé (et solutionné) dans la discussion Autoriser la modification d’une couche, mais pas de la carte http://forum.openstreetmap.fr/viewtopic.php?f=19&t=4550&p=12553&hilit=url+calque#p12553

J’ai trouvé la procédure :
1/ Sur la carte “origine” récupérer l’URL de la requête Ajax faite par umap pour récupérer les données d’un calque, en utilisant Firebug par exemple. Cette requête a la forme > http://umap.openstreetmap.fr/fr/datalayer/<layerid> >/
2/ Sur la nouvelle carte “destination” créer un calque en utilisant cette URL comme source des Données distantes, choisir le format geojson
Le tour est joué !

J’avais essayé de “traduire” (selon le niveau) en fin de sujet :

Pour résumer :
Sous le navigateur Firefox, installer Firebug : > https://addons.mozilla.org/fr/firefox/addon/firebug/?src=search
Clic droit sur la page (de la carte uMap “origine”) et “Inspecter l’élément avec Firebug” dans le menu contextuel.

[quote=“naomap”]
J’ai trouvé la procédure :
1/ Sur la carte “origine” > récupérer l’URL de la requête Ajax faite par umap pour récupérer les données d’un calque, en utilisant Firebug par exemple. Cette requête a la forme > http://umap.openstreetmap.fr/fr/datalayer/<layerid> >/

[quote=“naomap”]
Dans Firebug tu ouvres l’onglet Réseau et le sous-onglet XHR. Puis tu recharges la carte : tu devrais voir une requête apparaître dans cet onglet, du style > GET /fr/layer/xxx> . Tu peux copier l’adresse, qui est de la forme > http://umap.openstreetmap.fr/fr/datalayer/xxx/ > voire même l’ouvrir dans un nouvel onglet. > > C’est cette adresse que tu utilises en URL de données distantes.
[/quote]

2/ > Sur la nouvelle carte “destination” créer un calque en utilisant cette URL comme source des Données distantes, choisir le format geojson
Le tour est joué !
[/quote]

Merci pour la procédure et les explications !
:slight_smile:

J’ajoute aussi que (du moins su ma machine) cet “import auto” ne rend pas toujours les données importées visible dans l’éditeur de calque (quand on est en mode édition donc) mais qu’elles sont bien importés et visibles sur la carte en “ligne” accessible à tous.
Un peu déstabilisant au départ.

Merci naomap !

À noter que pour récupérer l’identifiant du calque, on peut le faire sans Firebug :

  1. Masquer les éventuels calques non souhaités
  2. Cliquer sur bouton d’export et partage de la carte
  3. Dans “Options d’export de l’iframe”, activer “Garder les calques visibles actuellement”
  4. Récupérer l’id dans le lien généré au-dessus (…&datalayers=…)

Bonjour,

Et merci the_knife pour le nouveau mode d’emploi puisque maintenant Firebug n’est plus utilisable avec la nouvelle version de Firefox…
Mais je ne vois pas, dans mes “Options d’export de l’iframe”, le choix “Garder les calques visibles actuellement”… Je vois seulement l’intitulé URL courte avec l’adresse de ma carte : http://u.osmfr.org/m/9
Aurai-je désactivé quelque chose quelque part ? Je n’ai pas trouvé jusqu’à présent.
Merci de votre aide :slight_smile:

Bonjour,
As-tu bien cliqué sur “Options d’export de l’iframe” pour faire apparaître les options ?

:blush: :blush:
Eh bé non, je ne l’avais pas fait ! Pas évident à voir…
C’est tout bon donc, merci beaucoup ! :slight_smile:

Bonjour,

J’ai deux questions:

  1. L’import dynamique fonctionne, mais j’aimerais savoir à quoi servent ces deux options dans la partie “Remote data”:
    Umap.dynamic.layer.parameters.png
  2. De plus, Umap n’est pas content (“Problem in the response”) si je laisse plus d’une couche visible dans la carte source, ce qui donne une URL du genre http://umap.openstreetmap.fr/fr/datalayer/123%2C456/

=> Doit-on exporter une seule couche à la fois, ce qui veut dire que une couche locale = une couche distante ?

Merci.


Edit: le premier calque s’affiche bien, mais après avoir ajouté d’autres calques pointant sur d’autres calques distants, enregistré, fermé édition, et rechargé la page, Umap affiche encore “Problem in the response”. Comment investiguer?


Edit: c’était une erreur de ma part. J’avais oublié “/datalayer/” dans l’URL :slight_smile: http://umap.openstreetmap.fr/fr**/datalayer/**123456/


Edit: donc, il semble qu’il ne soit en fait pas possible d’importer plusieurs calques dans un seul : “Problem in the response”.

Dynamic: les données disponibles via l’URL indiquée seront chargée à chaque affichage de la carte, voire déplacement dans celle-ci (zoom, etc)

Proxy request:

  • par défaut (OFF) c’est le client qui va récupérer les données à l’URL indiquée… mais si le serveur distant n’indique pas au navigateur que c’est normal de passer en direct, il va y avoir un problème de sécurité sur le navigateur qui n’ira pas chercher ces données sur un site tiers (voir CORS).
  • ON: c’est le serveur umap qui va récupérer les données et les fournir au navigateur. C’est moins rapide, mais évite les problèmes CORS.

Oui… une couche locale = une couche distante (et une requête)… et ce n’est pas spécifique à des couches uMap provenant d’uMap, c’est vraiment un fonctionnement générique.

Merci.

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

À la source, il faut donc faire attention à bien masquer les calques autre que celui à qui on va se lier dans la carte destination.