coastline с заданной степенью упрощения

Нужно получить osm xml с natural=coastline всего мира из данных OSM. При этом надо иметь возможность задавать степень упрощения линий. Чем это проще всего сделать? Выгрузку coastline я нашел, но проблема в том как сократить объем данных.

Забить на осм, взять NaturalEarth.

Почти универсальный ответ для всех попыток применения ОСМ. :3
Простите за флуд.

Уж больно кривое оно местами. Хочется что-то более приближенное к данным в OSM, потому что этот naturalearth используется у нас в basemap (до 11-го зума), а дальше идут данные с подробных карт. И получается сильно заметно отличие coastline из разных источников.

.\osmosis-0.39\bin\osmosis --read-xml input.osm --simplify-ways epsilonMeters=100 --wx output.osm

v.0.39 ибо в последних --simplify-ways косячный, с id>2^32 не работает :frowning:

Возможно, еще потребуется

.\osmosis-latest\bin\osmosis --read-xml output.osm --un --wx output_v2.osm

Удалит не используемые ноды, которые, возможно, останутся после упрощения и да, в этом случае уже текущая версия :slight_smile:

Опция epsilonMeters ведёт себя странно.

osmosis --read-xml shoreline_300.osm --sort --simplify-ways epsilonMeters=1000 --wx output.osm

меньше всего на 24 точки по сравнению с epsilonMeters=10. А с epsilonMeters=10000000000000000000000000 файл меньше оригинала всего на 30% и дальше не идёт.
Есть идеи? Версия 0.39+ds1-6

Полагаю, он все way упростил до двух точек. Чтобы упрощать дальше надо объединять way друг с другом.

Может вот это попробовать?:

xmd5a, от неиспользуемых нод вычищали? --simplify-ways, походу, только из веев ноды убирает, а сами ноды остаются в файле. По крайней мере, кто из osmfilter и osmosis --simplify-ways за собой мусор в виде неиспользуемых нод не вычищает, склоняюсь к тому, что второй.