Ivan Begtin
9.37K subscribers
2.17K photos
4 videos
104 files
4.9K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
Большая область работы в дата инженерии - это геокодирование данных. Причём относится это не только к датасетам, но ко всем цифровым объектам для которых привязка к конкретной геолокации необходима.

Например, в Dateno есть геопривязка датасетов к странам, макрорегионам и субрегионам (территориям). Она, в большей части, реализована относительно просто. Изначально полувручную-полуавтоматически геокодированы источники данных, а их всего около 10 тысяч и далее с них геопривязка транслируется на датасеты. Это довольно простая логика работающая со всеми муниципальными и региональными порталами данных и куда хуже работающая в отношении национальных порталов данных, реестров индикаторов, каталогов научных данных и так далее.

Главная причина в том что национальные порталы часто агрегируют данные из локальных, научные данные могут происходить из любой точки мира, а индикаторы могут быть как глобальными, так и локализованными до стран, групп стран и отдельных городов и территорий.

Для самых крупных каталогов данных у нас есть дополнительная геопривязка датасетов через простое геокодирование стран по внутреннему справочнику и использованию pycountry.

Но это всё даёт геокодирование, максимум, 40-60% всех датасетов и многие значимые наборы данных привязки к конкретной стране/региону могут не иметь.

Что с этим делать?

Один путь - это использовать существующие открытые и коммерческие API геокодирования такие как Nominatim, Geonames, Googe, Yandex, Bing и другие. У автора библиотеки geocoder они хорошо систематизированы и можно использовать её как универсальный интерфейс, но одно дело когда надо геокодировать тысячи объектов и совсем другое когда десятки миллионов. Кроме того остаётся то ограничение что может не быть отдельных полей с данными геопривязки у первичных датасетов. На национальном портале могут быть опубликованы данные у которых геопривязка может быть только в названии или в описании, но не где-то отдельным полем.

Вот, например, набор данных исторических бюджетов города Мальмо в Швеции на общеевропейском портале открытых данных. Там геопривязка есть только до страны поскольку сам датасет в общеевропейский портал попадает со шведского национального портала открытых данных. При этом в публикации на шведском портале открытых данных можно через API узнать что там есть геокод города Malmo через Geonames и есть он в оригинальных данных на портале данных города.

При этом геоидентифицирующие признаки могут быть разнообразны, начиная со ссылок на geonames, продолжая ссылками на справочники Евросоюза, тэгами и просто текстовым описанием на любом условно языке.

Другой путь в попытке применить LLM для геокодирования в идеале так чтобы отправить туда JSON объект с кучей атрибутов и запросом на то чтобы по нему получить код территории/страны по ISO 3166-1 или ISO 3166-2.

Что выглядит интересно ещё и потому что у всех API геокодирования есть серьёзные ограничения на число запросов и на их кеширование.

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

#opendata #dateno #geodata #thoughts
В рубрике как это работает у них, а могло бы не только у них про большие коллекции академических геоданных и карт.

В мире есть несколько больших коллекций исторических карт, как растровых, так и векторных значительная часть этих коллекций создана на базе портала Geoblacklight, например, Harvard Geospatial Library где эти карты преобразованы в GeoTIFF и другие форматы георастра или даже в векторные карты. К примеру, вот карта региона Черного моря в 1705 году.

Или вот немецкая карта Сибири 18 века на портале георесурсов и цифровых карт библиотеки Принстона. Она даже не преобразована в GeoTIFF и лежит там как есть просто картинкой.

Найти аналогичным образом размеченные карты по России сложно, хотя, казалось бы, они должны быть.

Так где они есть?
1й источник - это Госкаталог (goskatalog.ru) где можно найти самые разные карты имперских губерний

2-й источник - это НЭБ с большим числом исторических карт

а 3-й, совершенно не неожиданно, но Archive.org

Если поискать по интернету, то найдутся и ещё источники.

Но с Россией, в каком-то смысле, проще, а если искать те же исторические карты Армении, то искать их надо и в российских и в международных источниках.

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

#opendata #geodata #history #dh #maps