OpenStreetMap

Zkir's Diary

Recent diary entries

OSM и синька

Posted by Zkir on 5 March 2024 in Russian (Русский).

OSM в руках синьки и норкоманов – это несомненный успех.

Если по существу вопроса – если раньше мы жили в гипо-информационном обществе, то теперь живем в гипер-информационном. Что-то спрятать не получится, придется привыкать.

С другой стороны, когда я на свой майнкрафт-сервер приделал онлайн карту, тоже далеко не все игроки обрадовались.

OSM in the hands of alcoholics and drug addicts is an undoubted success!

Previously we lived in a hypo-information society, now we live in a hyper-information society. It is not possible to hide something, you’ll have to get used to it.

On the other hand, when I attached an online map to my Minecraft server, not all players were happy.

Обновление локальной postgres базы OSM через osm2pgsq заработало, не прошло и двух месяцев.

osm2pgsql-replication update -v -d gis  --max-diff-size 100 --  -G --hstore --tag-transform-script ~/src/openstreetmap-carto/openstreetmap-carto.lua -C 0 --flat-nodes ~/data/nodes.bin --number-processes 8 -S ~/src/openstreetmap-carto/openstreetmap-carto.style

Самое обидное, что не понятно, что конкретно изменилось. Если придется переустановить убунту, а похоже придется, то всё снова может отвалиться.

Так чтобы там не писали на switch2osm, свой тайловый сервер – это побольшей части магия.

На англофоруме намекнули, что шестиугольная сетка нашей генерализированной карты наводит на мысли о компьютерной игре.

Я уже подумал, не сделать ли мне карту земли для шестой цивилизации, тем более, что карта в цивилизациии тоже основана на шестиугольной сетке, и формат открыт, так что можно было бы забацать простой скрипт.

random civ 6 map (Для наглядности, случайная карта из игры Civ6)

Карта Земли для цивилизации исключительно на основе данных осм – это было бы прикольно.

Географическая модель в Civ6 крайне примитивна, есть всего 5 типов местности, которые являются скорее типами почвы/климата:

  • SNOW (вечная мерзлота)
  • TUNDRA
  • GRASSLAND (более плодородная почва)
  • PLAIN (немного менее плодородная почва)
  • DESERT

есть 3 типа «особенностей»:

  • FOREST (Лес)
  • JUNGLE (Тропический лес, джунгли)
  • WETLAND (Болота)

(особенности они потому что их можно свести, или наоборот, насадить, а с почвой/климатом ты особенно ничего сделать не можешь )

и три типа рельефа:

  • FLAT (равнина, плоскость)
  • HILLS (холмы)
  • MOUNTAINS (горы)

Казалось бы, проще некуда. Однако, не смотря на это, у нас в OSM до сих пор нет подходящих данных (и это после почти 20 лет рисования).

У нас нас нет толком обозначенной вечной мерзлоты и тундры, нет различия между «лугами» и «равниной», а также нет различия между лесами и джунглями (мы все еще спорим о wood vs forest и только 10% лесов имеют теги, указывающие тип листвы. Хорошие новости что в в OSM достаточно болот :)

C рельефом еще хуже. OSM никогда не задумывался как карта рельефа. В OSM встречаются natural=hills и natural=mountain\massif (которые я все нафиг отфильтровал) но я подозреваю, что они не образуют систематического покрытия. (Кстати, не худо еще раз посмотреть на эту часть natural=*)

Так что няшки мои, пока в Цивилизацию играем на картах Земли, сделанных вручную, как и двадцать лет назад. Посмотрим, что будет в осм еще через двадцать лет :)

Забацал саморекламу объявление об OpenLandcoverMap на английском языке: https://community.openstreetmap.org/t/announcement-openlandcovermap/108392

Посмотрим, будет отклик или нет :)

А еще у меня теперь новый домен: OpenLandcoverMap.org

Может надо было OpenGeneralizedMap.org, ну да бог с ним.

Спасём Арал!

Posted by Zkir on 12 January 2024 in Russian (Русский).

Аральское море – последнее большое черное пятно на нашей карте.

Еще раз подчеркну, что несомненное достоинства генерализованной карты в том, что на ней видно все объекты, выражающиеся в масштабе карты, а не только некоторые, как в osm-carto ).

Сейчас Аральское Море обозначено как natural=dry_lake.

Вопрос, чтобы нам с ним сделать (снова наполнить водой не предлагать) ?

  1. Снять с него natural вообще – поскольку на территории бывшего моря есть самые разные ландшафты – водоемы, пески, болота(!), и как я вижу по найденным в интернете фотографиям – кустарники и солончаки. Этого даже не заметит никто, потому что на стандартной карте natural=dry_lake не отображается.

    Возможно, это даже правильно, потому что определение natural=dry_lake говорит, что это не просто сухая земля, а место, которое хотя бы иногда заливается водой, и оно становится мелким озером. В отношении Арала что-то я в этом сомневаюсь.

  2. Заменить natural=dry_lake на natural=desert, потому что на месте бывшего моря возникла новая пустыня, Аралкум? Так новую пустыню хотя бы будет видно на стандартной OSM карте. Может хоть за это поставят золотые памятники, за открытие новой пустыни для осм-сообщества.

  3. Оставить теги в покое, и рендерить natural=dry_lake так же как natural=desert. В конце концов, natural=desert тоже очень общий тег, но OpenLandCoverMap он уже попал. С многосоткилометровыми полигонами придется разобраться отдельно. Может они в отдельный слой пойдут.

  4. Вообще выкинуть теги natural=dry_lake и natural=playa как негодные.

Пишите мнения в коментарии))

Запилил всё-таки отдельную статистику по тегам для OpenLandcoverMap

http://osm2.zkir.ru/landcovers/renderedtags.html

Так она выглядит понятнее чем на TagInfo. Видно, что рендерится, что не рендерится и что с чем складывается.

А еще видно, что процесс объявления тега устаревшим (“deprecation”) на самом деле (до конца) не работает.

Старые сельскохозяйственные теги: landuse=farm, landuse=field, landuse=agriculture, landuse=pasture по прежнему достаточно сильные, чтобы засветиться на генерализированной карте. Area Score – это количество 6-ти километровых гексов, которые этот тег занимает, и является на нем главным!

И это не смотря на то, что их выпиливали сотнями(!) тысяч!

landuse_farm_history.png

Просто так сделать вид, что их не существует, нет и никогда не было – невозможно. Невозможно их исключить из конфига вовсе. Надо их либо рендерить (препятствуя, таким образом, их депрекации), или в явном виде добавить в список исключений (что похоже и придется сделать).

В прошлый раз я писал об этом тут:

А в следующий раз надеюсь поговорим о landcover=*

landuse=forestry

Posted by Zkir on 11 January 2024 in Russian (Русский).

landuse=forestry – какой-то новомодный и очень странный тег. Видимо natural=wood и landuse=forest скучно вдвоем, и решили добавить третий.

Из описания не совсем понятно, обозначает он деревья, или нет, и деревья должны быть нарисованы отдельно, традиционным способом

forestry image (типичное Forestry согласно осм-вики)

You may also tag the the wooded area with natural=wood and/or landcover=trees. this is orthogonal with the forestry area.

Вы можете [если хотите] обозначить деревья как natural=wood и/или landcover=trees. Это ортогонально зоне forestry.

Вот так и написано, ортогонально!

А еще Мерриам-Вебстер считает, что forestry это не сколько “лесничество”, сколько “лесоведение”.

Так и живем.

Пример: https://www.openstreetmap.org/relation/13163840

Location: Falstone, Northumberland, North of Tyne, Англия, Великобритания

Наш скромный проект раскручивается, набирает обороты и даже получает некоторое признание :) У нас теперь есть страничка на Taginfo:

https://taginfo.openstreetmap.org/projects/openlandcovermap#tags

TagInfo – обалденно полезная и удобная вещь, а “проекты” так вообще гениальнейшая идея. Можно посмотреть не только какие теги определены в вики, и даже не только какие теги реально есть в базе, но и кто какие теги действительно использует.

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

И вопреки тому, что написано на TagInfo, данные о тегах, предоставленные нашим проектом как раз полные, потому что это не какой-то отдельный список тегов, про который я забуду через 2 дня, а это скрипт собирает теги с базы и файла стиля карты (CartoCSS).

Так вот, можно посмотреть, какие теги попадают в генерализованную карту, какие из них рендерятся а какие – нет.

Можно также сделать определенные выводы, например что не все natural=* одинаково полезны. natural=* сочетает в себе совершенно разные (и даже не вполне рядосопоставленные) типы объектов.

Примеры:

  • natural=wood – это лес, а natural=tree – это отдельностоящее дерево.
  • natural=blockfield – это курум, каменная россыпь, а natural=stone – это отдельный камень.
  • natural=bare_rock – это голая поверхность земли, а natural=rock – отдельная скала.

А вот еще прикол, которого я даже не ожидал.

  • natural=scrub – это заросли кустарника, а natural=shrub – это отдельный куст! Смотрите не перепутайте!

natural=tree/rock/stone/shrub надо пожалуй исключить, потому что нельзя отдельные деревья генерализировать в лес :)

OpenLandcoverMap, или онлайн карта покрытий

Posted by Zkir on 3 January 2024 in Russian (Русский). Last updated on 5 January 2024.

Друзья, всех с наступившим новым годом!

Пусть в новом году будет отрисовано то, что раньше даже не приходило в голову. Как говорится, то, что не видел глаз и не слышало ухо, во всяком случае глаз и ухо осм-сообщества.

А я между тем поборол tilemill и всё-таки сделал онлайн-карту ландшафтов (покрытий, landcovers).

Смотреть можно тут:

http://osm2.zkir.ru/landcovers/

картинка для привлечения внимания, было-стало

Показываются ландшафты (natural+landuse), населенные пункты и, по приколу, горные вершины. Отображаются зумы с нулевого по восьмой. Обновление по требованию.

В ближайших планах:

  • Наладить автоматические обновления. Похоже, это проблема, потому что обновление через osm2pgsl пока еще ни разу успешно не завершилось.
  • Вспомнить ради чего я всё это затеял. Кажется, я собирался сделать картостиль, имитирующий фотореалистичный спутниковый снимок.
  • Пофиксить отображение городов, чтобы показывались пунсоны, как в стандартном стиле.

В предыдущий раз мы говорили о покрытиях и генерализации тут:

Продолжаем тему генерализации. Как известно, генерализация – это отбор и обобщение той информации, которую мы хотим показать на карте, особенно мелких (обзорных) масштабов.

В OSM c генерализацией все 20 лет всё совсем печально. Напоминаю, мапник на 4-м зуме пустой абсолютно.

Но мы же не будем сидеть сложа руки? Всего несколько строчек кода, и вуаля, на карте появились города:

Посмотреть картинку в нормальном разрешении можно тут.

Видно не только Екатеринбург и Пермь, а вылезла даже Дудинка, Туруханск и Ленск.

Ни у кого такого нет, даже у гугла, а у меня есть. Вот интересно, мне поставят золотые памятники при жизни?

UPD. Вот в комментах пишут, что всё у всех есть, существует даже плагин для QGIS, который умеет вычислять “картографическую значимость” горных вершин и населенных пунктов. Это только на openstreetmap.org генерализации нет, потому что это не интересно osm-cообществу.

Как в действительности отрисован OSM

Posted by Zkir on 22 December 2023 in Russian (Русский). Last updated on 23 December 2023.

Продолжение. Предыдущие части тут и тут.

Генерализация в масштабах планеты прошла (ну или почти прошла), и мы наконец увидим, как на самом деле отрисован OpenStreetMap.

Итак, отображаются natural=* и landuse=* : Карта мира с покрытиями Если кликнуть по картинке и выбрать из меню “открыть картинку в новой вкладке”, можно рассмотреть ее в большем разрешении.

Если совсем коротко – Европа (что бы под этим словом не понималось) отрисована более-менее прилично, остальной мир – какие-то лоскуты. Евразийцев не завезли, степи и тундру рисовать никто не хочет. С американскими flyby states не лучше :)

Карта Европы с покрытиями (Если кликнуть по картинке и выбрать из меню “открыть картинку в новой вкладке”, можно рассмотреть ее в большем разрешении.)

Из интересного: видно пересохшее аральское море, natural=dry_lake. В Швейцарии видны зимние курорты, landuse=winter_sports

Немного статистики: До генерализации – 62 миллионов полигонов 2423 разных классов (т.е. 2423 всего значений тегов natural и landuse), после генерализации: 139 тысяч полигонов 242 разных классов. Число полигонов сократилось в 500 раз, количество классов(тегов) в 20 раз.

Следующая цель – онлайн карта, если удастся поднять свой тайловый сервер, да еще придумать где его разместить. Неужели опять под кроватью? Ненавижу жужание!

Может просто напилить тайлов в Tilemill и захостить статически, а не возиться с установкой мапника?

Материалы для скачивания

QGIS геоджейсоны обрабатывает очень медленно, рекомендую сразу конвертнуть в шейп

Cлонопотам по кличке osm2pgsql

Posted by Zkir on 19 December 2023 in Russian (Русский). Last updated on 21 December 2023.

Запустил импорт планеты в postgis, чтобы посмотреть покрытия для всех стран, но osm2pgsql за сутки планету не переварил. Эх, osm2pgsql такая большая заноза :(

pic.1 pgsql

Причем даже не сказать, что комп нагружен.

pic.2 cpu workload CPU 8%, рабочий диск 45%. 8% – это значит что одно ядро нагружено из 12, а про диск вообще не понятно. Кто кого сдерживает? где здесь узкое место? Поможет ли RAID, которым хвастают в на вики бенчмарках?:

Ладно, ждем вторые сутки.

UPD.

Чуть подшаманив с параметрами, и разумеется начав всё с начала, таки удалось заставить пройти импорт планеты за ~15 часов.

Выяснилось, что с ключом –flat-nodes, т.е. с отдельным временным файлом для кэширования nodes, работает в 10 раз быстрее (Еще интересный вопрос, в 10 раз быстрее чем что. чем хранить точки в оперативной памяти\postgis?)

osm2pgsql -d gis -U XXX -W --create --slim  -G --hstore --tag-transform-script z:\home\zkir\src\openstreetmap-carto\openstreetmap-carto.lua -C 0 --flat-nodes d:\nodes.bin --number-processes 8 -S z:\home\zkir\src\openstreetmap-carto\openstreetmap-carto.style -r pbf "d:\_planet.osm\planet-231211.osm.pbf"

2023-12-20 17:08:00  osm2pgsql version 1.10.0
Password:
2023-12-20 17:08:04  Database version: 14.10 (Ubuntu 14.10-0ubuntu0.22.04.1)
2023-12-20 17:08:04  PostGIS version: 3.2
...
2023-12-21 08:05:45  osm2pgsql took 53860s (14h 57m 40s) overall.

Теперь посмотрим, пройдут ли скрипты с генерализацией, и сколько это займет.

Так ребята, всем привет, особенно тем, кого давно не видел. ;)

Сделал наконец то, что собирался сделать уже года два: генерализованную карту “покрытий”, они же land covers, на основе данных OSM.

В русском географическом языке, кажется, такого слова нет, ближе всего подходит наверно “тип ландшафта” или “доминирующий тип растительности”: то, что покрывает землю и определяет, как то или иное место видно сверху. В основном это растительность: леса, кустарники, степи, поля, луга, но если растительности нет, то то, что есть: городская застройка, пески, голые камни, пляжи.

Как оно считается: поскольку последовательной классификации land covers в osm нет, то берутся все landuse=* и natural=*, и сопоставляются с гексагональной сеткой (h3). Для каждого гекса определяется тег, полигоны с которым в данном месте занимает наибольшую площадь, и таким образом этот тег является наиболее характерным.

Что собственно видно: видно где растут леса, а где сеют и пашут. Хорошо заметно “Владимирское Ополье”. Видны болота в Вологодской области и Республике Коми. Казалось, Московская область должна быть застроена дачами, но нет, она еще достаточно лесистая.

В целом, европейская часть России отрисована довольно прилично. Пробелы разумеется есть, но они носят штучный характер. Тут я приятно удивлен.

А вот остальная Россия, особенно Севера, практически голые-лысые, еще рисовать и рисовать. Не то что бы я этим удивлен неприятно, но ожидал большего.

Белые пятна – это там, где не прорисовано вообще ничего! ни флоры, ни фауны ни natural, ни landuse. Тундра прорисована почему-то только на Котельном Острове.

На севере Пермского края виден забавный глюк – мегаурбанизация. Причина совсем простая – ничего кроме landuse=residential не отрисовано.

Для чего это нужно: Да особенно ни для чего. Сделать карту на обзорных масштабах интереснее. Так она смотрится всяко интереснее стандартного мапника, который на зумах z0-z4 просто пустой, а на z5 крайне скучный.

Что в планах: Сделать такое для всего мира, и где-то вывесить онлайн карту. Может увидим наконец Великую Степь, о которой писал Лев Гумилев. Узнаем, прорисована ли у нас Сахара :)

Какая нужна помощь: Очень пригодился бы сбалансированный по цветам стиль CartoCSS, для того чтобы это рендерилось покрасивше. Может быть можно пропатчить openstreetmap-carto чтобы он показывал генерализованную геометрию на обзорных зумах. Возможно к стилю отрисовки стоит вернуться когда (и если) будет вся планета.

Что можно скачать:

P.S. До чего же тут в дневниках движок архаичный (кажется, за 15 лет не изменился). Если (в Хроме) кликнуть по картинке и выбрать “открыть картинку в новой вкладке”, она откроется с полным разрешением.

Продолжение см. тут

Всем привет кого давно не видел)

Возраст первой (уцелевшей) правки в разных местах. First Edit age

Удивительны две вещи: 1) Импорт Тайгера в США до сих пор виден. 2) еще можно отыскать место, в котором данных нет и сделать первую правку.

Ну и до кучи средний возраст объектов.

average age

Видно, что Франция по актуализации ожидаемо отстает от Германии и (неожиданно) от Испании, Восточная Европа остается местом бурной деятельности. Хорошо видно место землетрясения в Турции и Сирии, его актуализировали в начале этого года.

Сделал беседки в Парке Горького. Сделал на самом деле уже давно, но прорезались они на F4 только сейчас, причем с какими-то глюками. На OsmBuilding всё хорошо, но мелко.

Беседку в Царицино тоже скоро переделаю.

ротонда

Location: Канатчиково, Донской район, Москва, Центральный федеральный округ, 117152, Россия

Я давно что-то такое подозревал:

Карту кормчий добыл: было море на ней
Без намека на землю и мели;
Как всегда, угодил он команде своей:
В карте все разобраться сумели!

“Пусть малюет Меркатор Полюса и Экватор -
Что нам толку от Тропиков всяких?” -
Благозвон прокричал - экипаж отвечал:
“Это только условные знаки!

Не понять, где залив, где пролив или риф,
Если смотришь на карту простую;
Капитан молодец - он достал наконец
Высший сорт - абсолютно пустую!

КОНФЕРЕНЦИЯ SOTM 2020 — ВПЕЧАТЛЕНИЯ

Posted by Zkir on 9 July 2020 in Russian (Русский). Last updated on 10 July 2020.

Конференция оставила довольно странное впечатление, особенно по сравнению с мартовской SOTM Baltic в Риге.

Какие темы обсуждались в виртуальном Кейптауне:

  1. Проблемы Женщин в OSM
  2. Проблемы LGBT в OSM и Филиппинах.
  3. Безусловная любовь\безусловное принятие.
  4. Здания — это новые дороги, 3D моделирование городов.
  5. Оценка полноты и качества данных OSM. (в основном конечно повторение пройденного, но то, что эта тема привлекает к себе внимание, не может не радовать)
  6. Участие коммерческих компаний в OSM.

Еще выяснилось, что веб-камера для скайпа, по которой можно поговорить с бабушкой, и камера+свет, которые нужны хотя бы для стрима средней руки, не говоря уже о международной конференции — это две большие разницы. Поэтому лица докладчиков были в основном темные, независимо от цвета кожи.

P.S. Посмотреть записи можно здесь: https://streaming.media.ccc.de/sotm2020/relive

Обещают выложить причесанные и обработанные записи, но пока только в таком виде.

Лытдыбр

Posted by Zkir on 8 July 2020 in Russian (Русский).

При помощи товарищей обновил слегка CSS на страницах своего архитектурного каталога (здания теперь занимают больше места), так что стало по-аккуратнее.

Коллеги, если кому-то вдруг нечем заняться, пройдитесь пожалуйста по по ТОП-100, и расставьте теги building:material, building:colour, start:date – прямо на контур здания, на парты не обязательно. Здания тогда перестанут быть красными по умолчанию.

Еще можно тег wikipedia расставить.

P.S. Может быть, в следующий раз пределаю по образцу пресловутого 3D Model Repository (в котором, хе-хе, всего 22 модели)
* https://3dmr.eu/model/2