Size: a a a

OpenStreetMap RU

2020 November 15

M

Miroff in OpenStreetMap RU
Николай Петров
подскжите, а то я туплю...
как можно скачать границу области в формате json или geojson?

https://www.openstreetmap.org/relation/155262
Через overpass
источник

M

Miroff in OpenStreetMap RU
источник

НП

Николай Петров... in OpenStreetMap RU
спасибо!
вы сэкономили мне часа два гугления)
источник

НП

Николай Петров... in OpenStreetMap RU
я пытался вот так, но это не помогло)

[out:json];relation(id:155262);out tags;
источник

ДК

Дмитрий Кривчиков... in OpenStreetMap RU
Спасибо!

Да начать-то можно, сейчас редактор очень удобный, но лучше понимать что, зачем и почему. Ещё раз благодарю!
источник

M

Miroff in OpenStreetMap RU
Николай Петров
я пытался вот так, но это не помогло)

[out:json];relation(id:155262);out tags;
Ну, отношение же он выдал ;) А чтобы получить геометрию, нужно запрость рекурсивный спуск до линий и точек командой ">" и вывести ее результат в виде геометрии командой "out skel". Примерно так: "[out:json];relation(id:155262); out; >; out skel;"
источник

НП

Николай Петров... in OpenStreetMap RU
Miroff
Ну, отношение же он выдал ;) А чтобы получить геометрию, нужно запрость рекурсивный спуск до линий и точек командой ">" и вывести ее результат в виде геометрии командой "out skel". Примерно так: "[out:json];relation(id:155262); out; >; out skel;"
да, я понял что в самом отношении нет координат а оно только ссылается на другие элементы.

Форматнул, получилось всего 16к точек)
источник

PG

Pavel Gavrilov in OpenStreetMap RU
Miroff
Ну, отношение же он выдал ;) А чтобы получить геометрию, нужно запрость рекурсивный спуск до линий и точек командой ">" и вывести ее результат в виде геометрии командой "out skel". Примерно так: "[out:json];relation(id:155262); out; >; out skel;"
А объясни, пожалуйста, зачем у тебя в запросе целых три аута? Я не очень хорошо разбираюсь в синтаксисе оверпасс, и это одна из вещей, которые я не понимаю.
источник

M

Miroff in OpenStreetMap RU
Два же
источник

PG

Pavel Gavrilov in OpenStreetMap RU
Три.
источник

M

Miroff in OpenStreetMap RU
Ты "[out:json];" тоже считаешь? Это же просто настройка, сама по себе она ничего не выводит
источник

НП

Николай Петров... in OpenStreetMap RU
Miroff
Ну, отношение же он выдал ;) А чтобы получить геометрию, нужно запрость рекурсивный спуск до линий и точек командой ">" и вывести ее результат в виде геометрии командой "out skel". Примерно так: "[out:json];relation(id:155262); out; >; out skel;"
мдаааа, рано я обрадовался.
при импорте в QGIS, полигон выглядит скаажем так, не очень)

Вероятно там не соблюдается последовательность элементов отношения. То есть Overpass выдлал куски отношений в случайном порядке.

Сами точки то правильные
источник

PG

Pavel Gavrilov in OpenStreetMap RU
Out skel это тоже просто настройка.

В общем, объясни смысл всех операндов, может станет понятнее, как это всё работает.
источник

НП

Николай Петров... in OpenStreetMap RU
ну и да, псковская область оказалась в пустыне, но это наверное не очень большая проблема (может проекцию другую надо в QGIS или поменять lat|lon каким-то образом местами (пока не знаю как их менять в таких больших полигонах)
источник

IZ

Ilya Zverev in OpenStreetMap RU
Николай Петров
ну и да, псковская область оказалась в пустыне, но это наверное не очень большая проблема (может проекцию другую надо в QGIS или поменять lat|lon каким-то образом местами (пока не знаю как их менять в таких больших полигонах)
а в overpass-turbo кнопка "export as geojson" не сработала?
источник

НП

Николай Петров... in OpenStreetMap RU
Ilya Zverev
а в overpass-turbo кнопка "export as geojson" не сработала?
кнопка сработала, но то что скачалось похоже на то что во вкладке Data справа вверху, из которой я и скопировал все данные

Могу попробовать отформатировать точно так-же тот файл, который скачался. Вдруг там другой порядок элементов отношения будет?
источник

IZ

Ilya Zverev in OpenStreetMap RU
попробуй ещё https://osm-boundaries.com/
источник

M

Miroff in OpenStreetMap RU
Pavel Gavrilov
Out skel это тоже просто настройка.

В общем, объясни смысл всех операндов, может станет понятнее, как это всё работает.
Нет, out skel; это опрератор. Overpass работает с буфферами, которые почему-то называются sets.  Оператор поиска "relation(id:155262);" добавляет отношение в буффер по умолчанию. Оператор out; выводит его в output stream. Оператор >; выбирает все линии и точки входящие в отношение и сохраняет заменяет ими содержимое текущего буфера. Наконец последний out skel выводит их в output stream, не не целиком, а только геометрию.
источник

M

Miroff in OpenStreetMap RU
Николай Петров
кнопка сработала, но то что скачалось похоже на то что во вкладке Data справа вверху, из которой я и скопировал все данные

Могу попробовать отформатировать точно так-же тот файл, который скачался. Вдруг там другой порядок элементов отношения будет?
Открой geojson файл, который скачался. Там должен быть один полигон и одна точка
источник

PG

Pavel Gavrilov in OpenStreetMap RU
Miroff
Нет, out skel; это опрератор. Overpass работает с буфферами, которые почему-то называются sets.  Оператор поиска "relation(id:155262);" добавляет отношение в буффер по умолчанию. Оператор out; выводит его в output stream. Оператор >; выбирает все линии и точки входящие в отношение и сохраняет заменяет ими содержимое текущего буфера. Наконец последний out skel выводит их в output stream, не не целиком, а только геометрию.
А [out;json]?
источник