Google представила библиотеку для работы с географическими данными

«Да, Земля не совсем сфера, но все же она больше сферическая, чем плоская!» — Эрик Вич, инженер-разработчик Google.

Разработчики открыли доступ к библиотеке, на которой построена мировая географическая база данных Google. В отличие от традиционных географических информационных систем, представляющих данные в виде плоских проекций, библиотека S2 хранит все в трехмерном пространстве. Это позволяет создавать географические БД любого масштаба в одной системе координат с низким уровнем искажения информации и возможностью сверять построенные модели с настоящей формой Земли.

Примечательный функционал

  • Гибкая поддержка пространственной индексации, включая возможность аппроксимировать произвольные области как коллекции отдельных ячеек S2.
  • Быстрая индексация коллекций точек, ломаных линий и полигонов в оперативной памяти.
  • Надежные конструктивные операции (пересечение, объединение и упрощение) и логические предикаты (например, тестирование на локализацию).
  • Оперативные функции запросов для нахождения близлежащих объектов, измерения расстояний и т.п.
  • Множественные тесты на коллекциях геоданных Google.

Первоначально библиотека была написана на C++, но некоторые модули также портированы на Go, Java и Python. Больше полезных функций, инструкцию по установке и использованию можно найти в документации на официальном сайте S2.

Источник: блог Google Open Source

Также рекомендуем: