JOSM : édition de texte

Bonjour,

Je cherche une fonction équivalente à Chercher-Remplacer (une partie de valeur d’attribut) dans JOSM.

Suite à la renumérotation des lignes de car dans le Limousin, j’ai replongé mon nez dans le travail (crade) que j’ai fait il y a qq mois/années. Crade parce que par exemple, dans le nom des lignes j’ai -> au lieu de ou Car XX au lieu de Ligne XX.

Est-ce qu’il existe un moyen simple (greffon ou autre) de remplacer une partie du nom des lignes par la chaîne de caractère qui va bien ?

Même si le plugin todo est utile pour lister toutes les valeurs de name à modifier, il faut quand même faire les corrections à la main/souris.

Merci pour vos réponses, quelles qu’elles soient.

Idée mais pas testé :

  1. Isoler les objets à modifier dans un calque.
  2. Sauvegarder dans un fichier osm.
  3. Chercher/remplacer avec dans ce fichier avec un éditeur de texte.
  4. Ouvrir sous Josm, envoyer

Ca marchera à un détail près : il faut ajouter à chaque objet dont au moins un tag aura été changé la propriété action = modify sinon à la réouverture, JOSM ne sera pas capable de savoir que ces objets sont modifiés par rapport au serveur et donc sujets à envoi.

Salut Deuzeffe,

Alors je n’ai pas de plugin à te proposer, mais plutôt une astuce. Je l’ai déjà utilisé pour renommer toutes les ref de routes départementales sur la métropole de Montpellier quand c’est passé de « D XXX » à « M XXX » l’année dernière.

Tu charges dans JOSM uniquement les objets dont tu as besoin, soit en utilisant une requête overpass, soit en filtrant avec le tag qui va bien grâce à la boîte Filtre. Tu sauves les objets sélectionnés dans un fichier osm. Tu supprimes le calque dans JOSM. Ensuites tu ouvres ce fichier osm avec un éditeur de texte. Tu fais un rechercher/remplacer de :
<tag k='name' v='Car
par
<tag k='name' v='Ligne
Tu sauves le fichier avec l’éditeur de texte. Tu l’ouvres de nouveau avec JOSM (menu Fichier > Ouvrir). Tu vérifies que tout va bien dans les tags name et tu peux envoyer le calque sur le serveur.

1 Like

Ah ben je vois qu’on a posté la même réponse en même temps avec Ydel ! :rofl: Oui comme le dit @vdct ne pas oublier le action=modify en plus.

Merci à tous pour vos réponses.

Effectivement, j’ai déjà eu utilisé l’idée de @Ydel ou l’astuce de @Ptigrouick. Et même en n’oubliant pas le détail mentionné par @vdct, je n’ai jamais réussi, probablement parce ce que

  1. je ne savais pas qu’il fallait rajouter action = modify à chaque objet modifié (maintenant, je sais ^^) ;
  2. je ne sais pas à quel endroit de la ligne (hum) il faut le rajouter.

<nunuche>
Ex : <tag k='name' v='Bus 8 : Mal Joffre =&gt; Le Palais Vert Vallon' />
doit devenir
<tag k='name' v='Ligne 8 : Mal Joffre → Le Palais Vert Vallon' />

À quel endroit de la ligne modifiée je dois ajouter quelle chaîne de caractères (action='modify' je suppose, mais où dans la ligne… ) ?
</>

Merci pour votre aide (et votre patience !)

On peut aussi faire une modif nulle dans JOSM (par exemple ajouter et retirer un tag) pour que cela ajoute ce action=modified sur les objets qu’on modifie.

Juste après le id=* dans ce qu’écrit JOSM, mais je ne sais pas si la position précise est requise, a priori non. Pour une illustration tout est dans cette page : JOSM file format - OpenStreetMap Wiki

Du coup avant d’envoyer sélectionner tous les objets modifiés dans JOSM, ajouter un tag puis le supprimer. joli ça Christian j’aime bien ! :heart_eyes:

1 Like

Je ne connaissais pas, merci à tous pour les réponses et à @deuzeffe pour la question.

C’est plus clair comme ça. Je vais tenter et je verrai bien le résultat :slight_smile:

Je suppose qu’il faut que je me dépêche entre le moment où je sauvegarde mon calque à modifier et le moment où je le renvoie modifié, pour éviter d’éventuels conflits de type « le serveur n’a pas la même version, zyva gérer les conflits ! »

Maintenant, tu connais (et sais comment faire !). À ton service :wink:

Merci à tous pour la solution et son astuce : ça marche impeccablement bien !