Maperitive + questions sur les règles

Bonjour

j’aimerais faire une carte avec Maperitive mais la zone de travail comporte une parties que je ne souhaite pas représenter

cela fonctionne bien avec ville1 (qui est entierement compris dans le fichier d’export) mais pas ville2

ville1 : boundary=administrative AND admin_level=8 AND name=Ville1
ville2 : boundary=administrative AND admin_level=8 AND name=Ville2

Q: comment masquer la zone qui n’est pas entierement représenté dans l’export de la zone (ville2)

j’ai le meme cas pour admin_level=4 (limite d’une region)

d’avance merci pour vos réponses

Bonjour,
J’ai pas mal bidouillé Maperitive ces derniers temps, peut-être que je peux te donner un coup de main… si je comprends le problème.
Quelques questions :

  • tu exportes des tuiles ou une image ?
  • souhaites-tu exporter une zone rectangulaire ou plus complexe ?
  • que souhaites-tu masquer ? Une zone de l’export ? Les limites administratives ?
    Éventuellement une copie d’écran peut aider à comprendre.
    JB.

Si tu pouvais être plus clair :wink:
Tu as un export rectangulaire j’imagine avec ville1 et un bout de ville2.
Tu souhaite faire une carte de ville1 mais pas de ville2, c’est çà ?

Peut-être peux-tu nous dire le nom de tes villes et ce que tu souhaite voir sur ta carte ? Cela sera plus simple.

Si c’est çà, il te faut découper ton export rectangulaire en suivant les limites de la commune ville1. Osmosis peut-être ton ami pour çà :

osmosis --read-xml file="export-ville1-ville2.osm" --bounding-polygon file="ville1.poly" --write-xml file="ville1.osm"

merci pour vos réponses super rapide

c’est exactement cela , lors de la selection de l’export c’est un rectangle alors que la limite de la ville1 est bien sûr différente

je vais essayé d’utiliser osmosis comme tu me la ecris et revient vers vous

question complémentaire : comment fabrique t-on le fichier ville1.poly ?

Méthode moyenâgeuse :
Tu édites ton fichier osm avec JOSM, en supprimant à l’arrache ce que tu souhaites masquer, tu sauvegardes ton fichier .osm que tu utilises ensuite dans Maperitive.


Méthode Over Classe:
Avec OverpassAPI on peut faire des extracts basées sur des “area” définies par des relation ou des chemins :

http://api.openstreetmap.fr/#section.download_area

Cela ne marche pas avec toutes les relations, ni tout les chemins, mais pour les relations “admin_level” ça roule


A+
Bruno

Je sors du moyen-âge… C’est normal, cette réponse ?

File not found
Couldn’t find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)
Feel free to contact the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.

Pour le fichier .poly :
http://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format#Converting_to.2Ffrom_POLY_format
getBounds.pl ou osm2poly.pl ou encore josm fonctionnent très bien

Ou sinon, tu peux utiliser l’outil de Jocelyn :
http://osm102.openstreetmap.fr/~jocelyn/polygons/index.py
Si ta commune n’est pas dans la liste, tu n’a besoin que de son ID. Ensuite, tu peux choisir la simplification, le buffer, …

Overpass est aussi possible comme dit plus haut.

j’ai utilisé la méthode proposé par Gustry

fichier .osm de départ (correcte dans josm)
outil de Jocelyn pour avoir le .poly de la commune
osmosis (osmosis --read-xml file=“export-ville1-ville2.osm” --bounding-polygon file=“ville1.poly” --write-xml file=“ville1.osm”)

il me donne bien les points dans la zone du ville1.poly mais certaines n’apparaissent pas “correctement” 'certains chemins"

la ligne limite administrative de la commune est transformer en points
certaines routes => sont transformer en points (ceux dépassant la limite de la commune)

avez-vous une idée d’où vient mon problème ?

Une copie d’écran ?

je n’arrive pas a joindre un fichier a mon envoi

Impossible de transférer le fichier joint de ./files/481_43dac4d5d7855d886255a8aeea642756.

une solution ?

Un hébergement extérieur avec un lien ?

lien vers image montrant le fichier osm après le traitement avec osmosis http://osm2013.free.fr/pb-avec-osmosis.jpg

la route primary D905 que des points
la route D424 que des points
un morceau du canal de bourgogne apparaît
la rivère que des points
la limite administrative … des points

si vous avez des idées ?

OK, je commence à comprendre. En gros, ton problème concerne osmosis, pas Maperitive ?
Heu, question moyenâgeuse… Ton problème de départ pouvait pas être réglé directement dans Maperitive ou par un traitement JOSM des données, en évitant d’empiler les outils (je dis pas ça que pour toi, hein ! J’aime les solutions simples, bourrines, et efficaces…)

d’où le sujet de mon 1er message, je pensais que l’on pouvait peut-être avec maperitive et ses règles gérer ma demande
des réponses ont orientées vers l’utilisation d’autres outils (osmosis et OverpassAPI )

j’ai testé osmosis mais j’ai un problème dans le résultat des données

il y a sûrement plusieurs méthodes pour arriver au résultat recherché et je suis intéressé par toutes les solutions proposées car étant nouveau dans le monde d’osm
toutes les informations sont bonnes a prendre

dois-je recréer un nouveau sujet sur osmosis ?

merci à tous

Je ne sais pas, je ne suis toujours pas sur d’avoir compris la question initiale. Si tu peux répondre aux questions de l’époque :
_- tu exportes des tuiles ou une image ?

  • souhaites-tu exporter une zone rectangulaire ou plus complexe ?
  • que souhaites-tu masquer ? Une zone de l’export ? Les limites administratives ?
    Éventuellement une copie d’écran peut aider à comprendre._
    JB.

j’exporte en image a partir de maperitive

zone rectangulaire ou plus complexe ??? je ne savais pas que je pouvais faire une zone autre que rectangulaire avec osmosis cela semble découper avec la zone du .poly (c’est ce que j’ai compris)

Q: je dois faire la même opération avec osmosis sur toutes les communes limitrophes et concaténer tout les fichiers car j’ai quelques informations a conserver comme le nom des communes limitrophes ?
pour le moment … même la commune principale perd des infos avec osmosis donc suis-je dans une impasse avec cette méthode ?

je souhaite masquer la quasi totalité des infos si cela ne concerne pas la commune choisie (à part la route primary , la rivière et le nom des communes limitrophes , un département limitrophe)

pour la copie d’écran … je n’ai pas encore réussi a trouver les bonnes règles alors je ne peux pas faire voir d’image


pour résumé : j’ai une commune centrale où je souhaite montré le maximum d’informations et ne garder que les informations principales pour les communes limitrophes ( un mélange des niveaux de zoom )

J’ai une technique simple pour effacer tous les éléments surfaciques hors de la commune. Tu recrées un fichier .osm contenant uniquement un multipolygone, avec l’extérieur plus grand que ta zone à exporter, et en inner la limite de la ville qui t’intéresse, et un tag special (j’ai pris boundary=administrative_spe). Tu enregistres ça en local (surtout pas vers le serveur…).
Dans ton fichier de règles, tu ajoutes la target :
exterieur: boundary=administrative_spe
et dans les règles, quelque chose comme ça :
target: exterieur
define
fill-color: white
line-style: none
topmost-layer: true
draw: fill
Ensuite, dans Maperitive, tu ouvres d’abord le fichier d’origine et le fichier spécial avec les limites administratives, ça peut donner ça :
http://osm107.openstreetmap.fr/jbtopo/maperitive_couche.png
Si tu veux masquer plus de choses, j’ai pas encore essayé, mais je tenterais d’exporter d’abord le fichier initial avec toute la carte qui déborde, puis la carte avec juste le masquage de l’extérieur, en précisant le fond de carte sans opacité, puis d’empiler les deux couches avec Gimp ou quelque chose du même genre.
Et si tu veux quand même faire apparaitre des choses en plus, tu recrées encore un calque…
JB.

Tu peux ajouter completeWay pour voir ?
osmosis --read-xml file=“export-ville1-ville2.osm” --bounding-polygon file=“ville1.poly” completeWays=yes completeRelations=yes --write-xml file=“ville1.osm”


PS: J’espère que mes propositions moyennageuses n’ont pas heurté, je suis adepte de toutes méthodes qui marchent dans un délai raisonnable, même les plus bourrin :wink:

tout d’abord merci à tous pour vos réponses qui me permettent de progresser dans osm

j’ai utilisé la méthode de BrunoC : resultat http://osm2013.free.fr/percey.png

récupération de la zone
http://www.overpass-api.de/api/xapi?*[@meta][bbox=3.7500,47.9000,3.9500,48.1000]
http://osm2013.free.fr/Region-Percey-overpass-api.de-3.7500,47.9000,3.9500,48.1000.osm

filtrage avec osmosis
osmosis --read-xml file=“export-ville1-ville2.osm” --bounding-polygon file=“ville1.poly” completeWays=yes completeRelations=yes --write-xml file=“ville1.osm”
http://osm2013.free.fr/percey-osmosis.osm

génération de la carte avec maperitive
utilisation des règles Roi Morvan (Created by Lionel Rauch / 1piedsurTerre) + modif perso pour définir les différentes area

quelques questions

  • les coordonnées overpass-api.de ne correspondent pas avec la représentation de maperitive ? Q: je me plante où ?
  • la route principal est interrompue à la limite de la commune (elle n’a plus de tag name) - Q: peut être une autre option d’osmosis ?
  • je ne sais pas afficher le nom du département (aube) au nord de la limite (limite bourgogne-champagne-ardennes) Q: comment Maperitive peut-il gérer cela ?
  • la commune du sud (Villiers-Vineux) n’est pas délimitée donc le nom ne s’affiche pas … Q: là il faut que je patiente que la base osm évolue ? (maj cadastre ? - trop compliqué pour moi :smiley: )

si vous avez des idées d’avance merci