
Оригинал фото: James Harrison на Unsplash
Хотим представить книгу Нинчуань Сяо “Алгоритмы ГИС”, которая может приглянуться как пользователям, так и разработчикам ГИС-приложений.
Это книга уже известного нам издательства ДМК Пресс, вышедшая в январе 2021 года (страница книги на сайте издательства). Оригинальное издание, “GIS Algorithms” от SAGE, вышло еще в конце 2015 года.
Книга позволит лучше разобраться в фундаментальных алгоритмах ГИС, чтобы окончательно стать с ГИС-продуктами на “ты”. Также она может помочь тем, кто непосредственно участвует в разработке ГИС-приложений или картографических модулей в рамках комплексных систем, в том числе для анализа данных.
Автор рассматривает геометрические алгоритмы, вопросы индексирования пространственных данных, а также пространственный анализ и моделирование.
Вводная тема о геометрических алгоритмах содержит две главы:
- Базовые геометрические операции.
- Наложение многоугольников.
Тема об индексировании пространственных данных раскрыта с помощью глав:
- Индексирование
- kD-деревья
- Квадродеревья
- Индексирование отрезком и многоугольников
Для пространственного анализа и моделирования затронуты следующие аспекты:
- Интерполяция
- Пространственные паттерны и их анализ
- Анализ сетей
- Пространственная оптимизация
- Эвристические алгоритмы поиска
В книге повествование дополняется кодом на Python, так что желающие могут повторить предлагаемые алгоритмы самостоятельно. Также вы сможете найти и ряд упражнений после каждой главы, решение которых может натолкнуть вас на рассмотрение новых граней ваших собственных рабочих задач.
В конце есть приложения, которые помогут получить общее представление о языке Python и двух библиотеках, GDAL/OGR и PySAL, используемых в примерах по ходу повествования.
Научит ли эта книга самостоятельно разрабатывать ГИС-приложения с нуля? Не факт. Особенно, если у вас нет навыков разработки. Их лучше получать с помощью других источников. Но эта книга поможет глубже проникнуть в суть самих ГИС-алгоритмов. А при наличии базовых навыков разработки вы сможете создавать свои инструменты, ведь “написание кода дает нам свободу делать полезные вещи, не полагаясь на большие программные пакеты”.