Как удалить узел в OpenStreetMap с помощью OSM API версии 0.6 и curl

#curl #openstreetmap

#curl #openstreetmap

Вопрос:

Сначала я попробовал следовать инструкциям в официальной вики OpenStreetMap, несмотря на предупреждение о версии 0.6.

Рекомендуемый метод по-прежнему работает, когда требуется загрузить данные узла, но удаление узла не работает:

 curl -u username:password -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173'
 

В документации API указано, что «Ожидается, что будет удалено действительное XML-представление элемента». Что еще мне нужно сделать, чтобы это заработало?

Моя последняя попытка не сработала:

 curl -u username:password -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173' -T delete.xml
 

delete.xml:

 <?xml version="1.0" encoding="UTF-8"?><osm><node id="6345940173" version="1" changeset="68272837" lat="48.8647893" lon="2.4283983"></node></osm>
 

Он просто сообщает:

Набор изменений 68272837 был закрыт в 2019-03-18 21:01:43 UTC

Я получаю тот же результат, когда сам кодирую учетные данные с помощью echo -ne username:password|base64 --wrap 0 и при вызове curl -H "Authorization: Basic <my_token>" -X DELETE 'https://api.openstreetmap.org/api/0.6/node/6345940173' -T delete.xml .

Комментарии:

1. Никогда не запускайте никаких тестов API на рабочем экземпляре, всегда начинайте сначала с экземпляра разработчика! В вашем случае, почему вы не используете установленные редакторы, такие как JOSM или iD?

2.Кроме того, то, что вы пытаетесь сделать, звучит так, как будто вы хотите прочитать wiki.openstreetmap.org/wiki/Import/Guidelines прежде чем продолжить, в противном случае ваши правки будут отменены, а ваш пользователь заблокирован!

3. Последующее обсуждение: forum.openstreetmap.org/viewtopic.php?id=65958

Ответ №1:

Удаление набора изменений невозможно, поскольку он неизменяем. Я благодарю mmd за эту информацию. Вы можете понять, почему, внимательно посмотрев на эту диаграмму ниже: https://wiki.openstreetmap.org/w/images/thumb/6/67/OSM_API0.6_Changeset_successful_creation_V0.1.png/600px-OSM_API0.6_Changeset_successful_creation_V0.1.png

Однако синтаксис, используемый в моей самой последней попытке, кажется правильным и должен работать с другими методами запроса (PUT, POST).