Статьи

Зачем ГИС-специалисту SQL

Программирование Полезные ресурсы
Время прочтения: 3 минуты
Если проанализировать рынок труда в сфере картографии и геоинформатики, вы заметите, что в вакансиях от кандидатов все чаще требуют знание SQL. Аналитик вы, разработчик или ГИС-инженер – на собеседовании у вас наверняка спросят, знаете ли вы SQL.

Что же такое SQL

SQL (язык структурированных запросов) — это язык программирования, используемый для управления данными в реляционной базе данных. SQL появился в 1970-х годах, а к 1980-м стал стандартизированным продуктом. Его долгая история и популярность в наши дни показывает, что реляционная модель данных по-прежнему упрощает работу аналитикам.
Необходимо преобразовать числовой столбец в строку? Хотите соединить две выборки в одну? Нужно быстро отсортировать данные? Для этого найдется функция в SQL.
Реляционные базы данных обеспечивают возможность быстрого поиска необходимых данных в рамках сложных задач, таких как объединение и интеграция крупных наборов данных. Они также выполняют сложные вычислительные операции с минимальным количеством строк кода. В отличие от языков программирования третьего поколения, таких как Python или R, языки четвертого поколения, такие как SQL, еще больше абстрагируют вычисления и позволяют меньшим количеством символов сказать, что вы хотите получить от функции.
Мощные команды в SQL, такие как объединение таблиц, выполняют сложные операции с помощью всего двух строк кода и сводят к минимуму необходимость создания большого скрипта для аналитика с помощью процедурного языка. Операции с небольшим количеством строк кода легче интегрировать в рабочие процессы, и они снизят время на анализ данных.

Как SQL поможет ГИС-специалисту

ГИС-специалисты отвечают за управление и анализ пространственных данных, что требует понимания того, как запрашивать и манипулировать информацией в базах. Язык SQL — один из наиболее широко используемых языков для этой цели, он и важен для быстрого доступа и анализа геоданных. SQL может легко и быстро изменить ваш анализ от создания, изменения и удаления данных до их извлечения из готовых таблиц, фильтрации и сортировки в базе, выполнения групповой статистики и т.д.
Многие пакеты программного обеспечения ГИС требуют некоторого знания SQL. На практике SQL поможет ГИС-специалистам эффективно использовать свое ПО и быстрее анализировать данные для создания пользовательских карт.
The SQL Query Building can help users formulate their queries when using the QGIS DB Manager plugin.
SQL-запросы важны для использования плагина QGIS DB Manager.

Сложности работы с SQL

Работа с SQL может оказаться сложной для специалистов по геотехнологиям, привыкших сразу видеть результаты своей работы, потому что у инструментов SQL для ГИС нет визуального интерфейса (но ГИС могут их визуализировать).
Хотя SQL устраняет длинные циклы и сложные выражения вашего кода, синтаксис SQL может испугать начинающих из-за его отличия от тех же Python или R. Люди часто привыкают к процедурным языкам, и SQL может показаться им слишком необычным.
Иногда лучше начать изучать SQL без пространственных операций, чтобы сосредоточиться на синтаксисе — основе реляционной модели. Выделите время и научитесь основам, после этого работать станет легче.
Пример: у специалистов по ГИС может возникнуть соблазн использовать буферные функции для поиска данных в пределах заданного от точки региона. Но в действительности все, что нужно, — это функция радиуса расстояния в SQL, которая вернет те же данные вокруг точки без дополнительных вычислительных затрат на буферные функции.
Функция ST_DWithin в PostGIS позволяет найти объекты в заданном радиусе – PostGIS.net

PostgreSQL и PostGIS

PostgreSQL — это это мощная объектно-реляционная система баз данных с открытым исходным кодом, которая помогает повысить производительность приложений. Один из способов использовать мощь PostgreSQL как аналитического инструмента для геоданных — это PostGIS, который расширяет возможности PostgreSQL как геопространственного сервиса и предоставляет возможность рационального управления геоданными. Сейчас в PostGIS есть более 700 аналитических команд для работы с SQL, и с каждым выпуском добавляются новые. Другими словами, PostGIS — это способ облегчить выполнение команд SQL.
Такие инструменты, как PostGIS, являются мощным бэкендом для геопространственного ПО. Скриншот расширения PostGIS для PostgreSQL
PostGIS и SQL не только извлекают и хранят данные. Они также могут:
  • делать выборки объектов в базе данных;
  • сортировать геоданные;
  • соединять геоданные между собой;
  • считать групповую статистику объектов;
  • импортировать/экспортировать векторные и растровые геоданные;
  • загружать и выгружать в банк данных векторные слои, космоснимки, цифровые модели рельефа;
  • осуществлять расчеты в базе данных: подсчет площади полигонов, длин линейных объектов, определение координат объектов и др.;
  • строить буферные зоны, отсечение, пересечение, слияние, выборки и разделение объектов на основе местоположения.
И все это лишь основные функции PostGIS и SQL, которые не ограничиваются этим списком.

Будущее SQL в ГИС

Реляционная модель эффективно совершает масштабные вычисления для поиска данных и сохраняет аналитикам многие часы работы. Язык SQL существует уже более 40 лет и по-прежнему остается мощным средством для работы с данными, поэтому, вероятно, инструменты на базе SQL просуществуют еще долго.
Так что изучайте SQL и PostGIS – если вы работаете с ГИС, их помощь вам еще не раз пригодится.
Источник:
GIS and SGLMark AltaweelGIS Lounge — October 6, 2020.
Автор: Иван Бакуменко