Автор: Дарелл ван дер Вурт, Инженер по работе с данными и облаками в VIDA

Одним из ключевых вкладов геопространственных данных являются контуры зданий — очертания зданий, определенные со спутника. Они имеют неоценимое значение для планировщиков, правительств, инвесторов и даже для усилий по оказанию помощи при стихийных бедствиях. Лидеры отрасли Google и Microsoft недавно выпустили несколько революционных новых наборов данных о площади зданий, включая миллиарды зданий по всему миру. Они были созданы с помощью передового машинного обучения на спутниковых изображениях высокого разрешения.

Теперь, в VIDA, мы пошли еще дальше. Мы рады сообщить, что, объединив наборы данных Google и Microsoft, мы создали наиболее полный, свободно доступный, глобальный, облачный набор данных о контурах зданий, доступный на сегодняшний день. Он размещен на Source Cooperative и доступен по адресу map.vida.place/explore.

Использование BigQuery для достижения совершенства в геопространственной сфере

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

Платформа VIDA используется более чем в 20 странах для планирования и снижения рисков инвестиционных проектов в области устойчивой инфраструктуры. Среди коммерческих наборов данных о контурах зданий мы обычно используем общедоступные наборы данных о контурах зданий Google, а также Microsoft. Мы обнаружили, что для разных областей тот или иной набор данных был лучше.

Чтобы получить лучшее от обоих наборов данных, нашей целью было создать единый набор данных, который мы могли бы использовать во всем мире. Задача заключалась в том, чтобы исключить перекрывающиеся следы из набора данных Microsoft, которые уже присутствовали в наборе данных Google.

В геопространственной аналитике решающее значение имеет эффективная обработка огромных объемов данных. Для достижения этой цели мы использовали такие методы, как пространственная кластеризация и секционирование. Наше разделение было основано на границах административного уровня 0 с использованием набора данных CGAZ. На это решение повлияла широко распространенная доступность административных границ глубокого уровня и характер распределения зон застройки. Прочтите нашу публикацию в блоге для более подробного обзора нашего подхода к слиянию.

Впечатляющая статистика говорит сама за себя

Наши усилия по слиянию привели к поистине впечатляющим статистическим данным:

  • Благодаря использованию BigQuery распределенных компьютерных мощностей мы смогли объединить большинство стран менее чем за 30 секунд.
  • Набор данных Microsoft предоставил дополнительные 689 703 963 контура зданий.
  • Окончательный подсчет после слияния составил колоссальные 2 534 595 270 площадей зданий.
  • Наш набор данных теперь может похвастаться охватом 92% административных границ (уровень 0), распределенных по 182 отдельным разделам.
  • Набор данных является всеобъемлющим и включает в себя геометрию, размеры площади (в метрах), показатели достоверности (только для следов Google) и источник каждого следа.

Создание облачного продукта данных: путь экспорта

Хотя BigQuery предлагает несколько форматов экспорта, отсутствие прямой поддержки GeoParquet создавало проблему. Однако недавний выпуск GeoParquet версии 1 вселяет надежду на будущую интеграцию. Чтобы преодолеть эту проблему, мы позволили DuckDB взять на себя всю тяжелую работу после того, как данные перешли из BigQuery в наши корзины GCS. Великолепное расширение httpfs DuckDB реализует файловую систему, которая позволяет читать и записывать удаленные файлы. Хотя нам понадобился небольшой обходной путь, высмеивающий GCS как URI S3, интеграция прошла без проблем. Используя DuckDB, мы объединили и экспортировали файлы Parquet на основе наших схем разбиения, а затем использовали gpq и ogr2ogr для создания файлов GeoParquet и FlatgeoBuf. Последним штрихом стало создание архивов PMTiles как на страновом, так и на глобальном уровне.

Хотя наше первоначальное разбиение на основе административных границ уровня 1 было эффективным и простым, мы заметили, что некоторые файлы Parquet были чрезмерно большими, что влияло на производительность. Наше решение? Сочетание разделения административного уровня 1 и дальнейшего разделения на основе сетки S2. Этот двойной подход, вдохновленный инструментом открытых зданий от Криса Холмса, обеспечивает оптимальную производительность. Используя встроенную функцию S2_CELLIDFROMPOINT BigQuery, мы смогли присвоить каждому контуру здания идентификатор сетки S2, гарантируя, что ни одна сетка не превысит 20 миллионов зданий.

Что дальше?

Наш интегрированный набор данных теперь доступен на Source Cooperative в различных форматах, включая FlatGeoBuf, GeoParquet и PMTiles. Проверьте это по адресу https://beta.source.coop/vida/google-microsoft-open-buildings. Мы использовали сочетание стратегий секционирования, уделяя особое внимание административному уровню 0 и комбинации уровня 0 с сетками S2. Вы также можете просмотреть набор данных непосредственно на странице map.vida.place/explore, где мы используем небольшое бессерверное промежуточное программное обеспечение для перевода архива PMTiles в независимый от технологии URL-адрес плитки XYZ. Регистрация бесплатна!

Продолжая нашу работу, мы планируем совершенствовать наши методы разделения, уделяя особое внимание интеграции административных уровней 0 и 1. Этот подход уже показал многообещающие результаты в некоторых тестовых регионах. Мы приглашаем технологическое сообщество изучить наш набор данных и присоединиться к нам в расширении границ анализа геопространственных данных!

Импортировано с https://cloudnativegeo.org 27 сентября 2023 г.