FR:Annulation des suppressions de données

From OpenStreetMap Wiki
Jump to navigation Jump to search

Cet article décrit l'annulation des suppressions de données. Veuillez vous référer à l'article Annulation des modifications pour une annulation générale.

Avant d'annuler les modifications des autres utilisateurs, veuillez essayer de les contacter en premier lieu.

Annuler les suppressions pendant l'édition

En général, vous pouvez "annuler" toute erreur d'édition accidentelle, y compris les suppressions, en appuyant sur Ctrl+Z (dans JOSM, Potlatch ou Merkaartor). Cette fonction est très utilisée, même par les contributeurs les plus expérimentés d'OpenStreetMap.

Mais que faire si vous avez fait un envoi sur le serveur (upload) ?

Annulation des suppressions après l'envoi

Vous avez donc supprimé une grande partie de la carte, puis l'avez téléchargée par erreur ! Que peut-on faire pour que les données soient à nouveau sur le serveur ?

Méthode 1 : utiliser la fonction revert de Potlatch 1

Vous pouvez essayer Annulation des modifications#Potlatch_1. Mais Potlatch 1 n'est plus lié sur openstreetmap.org et pourrait ne plus fonctionner.

Il n'est pas possible d'annuler la suppression d'un objet en utilisant Potlatch 2 ou iD.

Méthode 2 : utiliser le plugin d'annulation de JOSM

Voir JOSM/Plugins/Undelete (ou, plus généralement, l'option générale, JOSM/Plugins/Reverter)

Méthode 3 : suppression des nœuds uniques avec le niveau 0

Vous pouvez utiliser l'éditeur de bas niveau Niveau 0 pour annuler la suppression d'un nœud : voir Level0#Undelete a node.

Méthode 4 : utiliser restore-version.py (ligne de commande)

Suivez les instructions sur le repository GitHub (en). Exemple : Vous pouvez exécuter restore-version.py w12345 -1, où le premier argument est un type d'objet et un identifiant : n123 pour les nœuds, w123 pour les chemins et r123 pour les relations. Ou vous pouvez simplement passer une URL du site osm.org.

Méthode 5 : J'ai une copie sauvegardée d'avant que je supprime des choses

Cette méthode suppose que vous utilisez JOSM, et que vous avez une copie sauvegardée des données sur votre machine locale (disons, "data.osm"). Le moment où vous avez sauvegardé les données est important. Si vous les avez supprimées "avant", c'est la méthode la plus facile à récupérer. Si vous les avez supprimées "après", mais que vous les avez téléchargées "avant", alors c'est encore possible. Si la seule copie que vous avez est postérieure au téléchargement, vous ne pouvez pas la récupérer en utilisant cette méthode

Il y a là une leçon importante : comme pour toute application informatique, il faut sauvegarder localement au fur et à mesure et télécharger vers le serveur central.

Cela devrait être assez simple à récupérer. Nous voulons dire au serveur que les identifiants des éléments qui ont été supprimés sont maintenant modifiés. Cela les supprimera sur le serveur.

  1. Lancez JOSM et téléchargez la zone concernée sur le serveur. Vous pouvez le faire dans de petites zones si vous le souhaitez.
  2. Chargez votre "data.osm" depuis le disque local. Avec un peu de chance, vous verrez à nouveau toutes les données.
  3. Essayez de télécharger. Rien ne devrait être disponible pour le téléchargement, mais si c'est le cas, vous devrez déterminer de quoi il s'agit et si vous voulez vraiment le télécharger.
  4. Utilisez l'outil de sélection pour choisir la zone qui a été touchée.
  5. Ajoutez un nouveau tag à toutes ces données, qui n'entre en conflit avec aucune balise existante. Peut-être quelque chose comme "ignore=me".
  6. Supprimez ce nouveau tag. Tous les éléments auxquels vous avez ajouté cette balise sont maintenant marqués comme "modifiés" dans JOSM, et sont candidats au téléchargement.
  7. Téléchargez les données.
  8. Redémarrez JOSM et téléchargez la zone concernée pour vérifier qu'elle a été téléchargée correctement.
  9. Répétez l'opération à partir de 1 pour toute autre zone à corriger.

Avertissement: les éléments que vous téléchargez sur le serveur seront les mêmes que ceux que vous avez sur le disque. Si votre copie locale est assez ancienne, vous pouvez ainsi annuler les modifications que d'autres personnes ont apportées aux données sur le serveur. C'est une raison supplémentaire de continuer à sauvegarder localement pendant que vous éditez !

Récupération manuelle sans outils

Récupérer les relations supprimées

Comme les outils actuels "(TODO : vraiment, encore ? et le greffon Reverter ou le greffon Undelete ?)" ne permettent pas de récupérer facilement une relation supprimée, c'est un peu délicat. Si vous n'êtes pas sûr de pouvoir le faire sans casser d'autres choses, demandez de l'aide sur la liste de diffusion.

Pour cet exemple, j'utilise la relation 49903 pour laquelle j'ai fait une restauration.

  1. Ouvrez l'historique dans le navigateur : https://www.openstreetmap.org/browse/relation/49903/history
    1. si la relation a beaucoup de versions l'étape 1 peut échouer avec un message d'erreur comme (désolé, cela prend trop de temps...). Vous pouvez ouvrir directement une version spécifique en utilisant https://api.openstreetmap.org/api/0.6/relation/<Relation ID>/<Version number>
  2. Vérifiez que tous les ways de la relation existent encore. Si certaines d'entre eaux sont également supprimées, il est préférable de les récupérer d'abord. Soyez particulièrement attentif à cette étape. Les ways ont-ils été supprimés pour une bonne raison ? Existe-t-il des moyens plus précis ? Si c'est le cas, il peut être judicieux de les utiliser dans la version récupérée à la place. Dans mon exemple, c'est le cas.
  3. Téléchargez la source XML en utilisant l'url api et enregistrez avec l'extension .osm
  4. Ouvrez le fichier dans un éditeur de texte. Dans mon cas, la suppression était dans la version 18, je veux récupérer la version 17. Je supprime tous les anciens blocs de relation, je ne garde que les versions 17 et 18.
  5. Remplacez la ligne par la balise de relation de la version que vous voulez garder avec la plus récente. N'oubliez pas de supprimer la barre oblique de fermeture au cas où la dernière version serait un effacement.
  6. Ajoutez l'attribut action="modify à la relation
  7. Comme dans mon cas, certains moyens doivent être remplacés - j'ai donc également supprimé ces entrées (c'est plus facile à faire après l'ouverture dans JOSM)
  8. Sauvegardez le fichier et ouvrez-le dans JOSM
  9. Si possible, téléchargez tous les membres, lancez la mise à jour des données (CTRL+U) pour vérifier les conflits et les moyens supprimés
  10. Téléchargez votre changement dans l'OCMJ. Voilà, la relation est de retour.
  11. Dans mon cas, j'ai maintenant téléchargé les membres de la relation et j'ai sélectionné de nouvelles façons de combler les lacunes que les façons précédemment supprimées avaient laissées.

Annuler les envois des autres

Et si quelqu'un d'autre a supprimé vos modifications et que vous n'avez aucun moyen de savoir exactement de quel way/node/relation a été supprimé ? Vous devez alors trouver cela dans l'historique. Voir Trouver l'identifiant d'un nœud supprimé