Построение буферных зон
Для Алексея: проект Анализ транспортной доступности на мап2
В данной главе мы рассмотрим пример геоинформационного анализа – оценим число жителей, проживающих в километровой буферной зоне от станций метрополитена в городе Казань. Для анализа будут импортированы два источника данных: данные о численности населения Казани в формате ESRI Shapefile, а также данные о местоположении станций метрополитена Казани в формате CSV. Итоговый результат: будет рассчитано численность населения города, а также доля от общего населения города, проживающая на расстоянии не более километра от станций метрополитена. В рамках примера будут рассмотрены следующие действия в системе:
- Создание папки и карты для анализа
- Импорт данных в формате ESRI Shapefile
- Импорт данных в формате CSV
- Оформление данных
- Создание буферных зон вокруг станций метрополитена
- Расчет статистики населения, проживающего внутри буферной зоны
В прошлом примере мы подробно рассмотрели процесс импорта данных в формате ESRI Shapefile, в этом примере мы кратко повторим действия, необходимые для импорта данного типа файлов в системе.
После успешной авторизации в системе вы увидите окно базовой карты:

Исходные данные
Ссылка для загрузки данных
Набор пространственных данных можно скачать по ссылке
Описание и формат данных:
- Набор пространственных данных о численности населения Казани, распределенный по сетке H3 8 уровня в формате ESRI Shapefile
- Набор пространственных данных о расположении станций метро в формате CSV, разделитель — запятая
ESRI Shapefile (Численность населения Казани)
| h3_index (Python: int) | population (Python: float) | geometry: ESRI White Paper – July 1998 |
|---|---|---|
| 8810a81237fffff | 2997.579531452387982 | бинарное представление |
| 8810a8c48bfffff | 0.0 | бинарное представление |
| 8810a88d13fffff | 255.962693604307020 | бинарное представление |
| … | … | … |
CSV (Станции метрополитена)
| X (Python: float) | Y (Python: float) | name: (Python: string) |
|---|---|---|
| 49.2190008 | 55.7437416 | Дубравная |
| 49.0825977 | 55.8281421 | Яшьлек |
| 49.1909651 | 55.7601813 | Горки |
| … | … | … |
Создание папки и карты
Создание папки
Мы рекомендуем создать рабочую директорию в каталоге и сохранить в неё файл карты. Если Вы сделаете это, то при импорте или создании слоев путь до нужной папки будет подставляться автоматически
В этом тестовом примере мы создадим папку, в которой будет храниться файл карты и все используемые в ней данные. Для создания папки перейдите в Каталог в главном меню.

Внутри каталога вы увидите все доступные для вас файлы и папки. Для создания папки в верхнем уровне Каталога перейдите на вкладку Только мои. Для этого нажмите на кнопку с надписью Все доступные со стрелкой вниз. Откроется выпадающее меню и там нажмите Только мои.

После перехода к этому разделу вы увидите все карты, слои, данные, подключения и инструменты созданные Вами. Для создания папки, которую будете видеть только вы нажмите на кнопку Создать папку в выпадающем меню кнопки Добавить.

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

Зачем создавать карту?
Для начала работы мы рекомендуем создать карту – текущую рабочую область, в которой сохранены данные о видимости слоев, открытых в системе источниках данных, созданных инструментах. Некоторые возможности системы, например, инструменты разработчика, доступны только после создания и сохранения карты
При входе в систему по умолчанию создается временная карта, которую необходимо сохранить в каталоге. Для того, чтобы сделать это, откройте главное меню и нажмите на кнопку Сохранить.

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

Импорт данных
Системное имя
ЭверГИС может автоматически назначить системное имя для загружаемого файла. Однако иногда имеет смысл ввести его самостоятельно. Это очень сильно упростит работу с SQL-подобными запросами и работу в инструментах разработчика. Старайтесь давать понятные названия системному имени, чтобы Вы могли понять какая информация сохранена в этих данных
Символы в системном имени
В отличие от названия файла или папки системное имя может иметь только буквы английского алфавита, цифры и нижнее подчеркивание
Импорт ESRI Shapefile
Следующим шагом после создания папки и сохранения карты будет загрузка двух наборов пространственных данных. Первый набор в формате ESRI Shapefile содержит в себе данные о численности населения Казани, распределённое по ячейкам H3 8 уровня. Для его загрузки зайдите в окно импорта данных, которое расположено в главном меню и выберите опцию С компьютера.
Импорт ESRI Shapefile
Информация в этом формате хранится в нескольких файлах. Для импорта в систему необходимо создать архив в формате .zip. Поместите в него файлы с расширениями .shp, .shx, .dbf. Остальные файлы являются необязательными. Импортируемые данные должны быть спроецированы в EPSG:4326
Далее настройте структуру файла. На первом этапе импорта необходимо выбрать, какие атрибуты будут импортированы, а также задать их имена и типы данных. Имя атрибута должно состоять из символов латиницы без пробелов и специальных символов. Система автоматически определяет типы данных для каждого атрибута, но вы можете изменить их вручную. Всего доступно несколько видов данных:
- Текст
- Целое число
- Дробное число
- Дата и время
На второй странице импорта вам необходимо задать имя слоя, которое будет отображаться в каталоге, а также системное имя и расположение слоя в каталоге. Имя слоя может содержать латинские и кириллические символы, нижние подчеркивания и пробелы. Системное имя задается автоматически, однако вы можете поменять его для удобства задания названий слоев в SQL-подобных запросах и работе с инструментами разработчика. Системное имя должно содержать только цифры, символы латиницы и нижнее подчеркивание. Для того, чтобы выбрать папку, в которой будет размещен слой, нажмите на кнопку в виде папки и зайдите в нужную папку в каталоге и нажмите на кнопку Сохранить. Более подробно процесс загрузки ESRI Shapefile описан в предыдущем примере.
Импорт CSV
Стандарт геометрии
Геометрия для точечных объектов может быть представлена либо в виде двух столбцов, в которых записаны координаты (X и Y или широта и долгота), либо в формате WKT. Для линейных и полигональных объектов она может быть записана только в формате WKT
После загрузки данных о численности населения мы загрузим данные о станциях метрополитена. Они представлены в формате CSV, геометрия в них спроецирована в EPSG:4326. Координаты X и Y имеют собственные колонки, десятичный разделитель - точка, если разделителем будет запятая, то данные не импортируются. Разделителем столбцов могут быть как запятая, так и точка с запятой (;). В отличие от ESRI Shapefile файлы в формате CSV не нужно архивировать перед импортом в систему. Для начала импорта перейдите в главное меню и нажмите на кнопку Импорт. В открывшемся меню нажмите на кнопку С компьютера и выберите импортируемый CSV файл в файловом менеджере. После того, как система распознает CSV файл и загрузит его в каталог у вас откроется настройка структуры файла.

В этом меню вы увидите окно выбора разделителя, кодировки, заголовка и данных. В поле Разделитель укажите разделитель столбцов в Вашем CSV файле. Обычно ими являются либо запятая, либо точка с запятой (;). Кодировка CSV файла зависит от параметров используемой локали операционной системы и приложения, в котором был создан CSV файл. Для пользователей операционных систем на основе Linux, а также macOS, кодировкой по умолчанию при создании CSV файлов является UTF-8. Для пользователей Windows кодировкой для создания CSV файлов по умолчанию является CP1251/Windows1251. Если у в Вашем CSV файле при импорте неправильно отображаются символы, то попробуйте поменять UTF-8 на CP1251/Windows1251 или наоборот. В остальных случаях уточняйте используемую кодировку у провайдера CSV файла. Параметр Заголовок необходим для пропуска первой строки, в случае если в Вашем файле есть заголовки у столбцов. Параметр Данные содержит первую строку, с которой находятся валидные значения. Система автоматически распознает заголовки столбцов и строку начала данных. Если вы видите, что данные отображаются неправильно, то измените значения в соответствии со следующей таблицей:
Таблица 1. Крупнейшие города Республики Татарстан по численности населения (X, Y)
| city_name | city_population | X | Y |
|---|---|---|---|
| Казань | 1300000 | 55.79 | 49.11 |
| Набережные Челны | 548000 | 55.73 | 52.37 |
| Нижнекамск | 240000 | 55.63 | 51.81 |
В таком случае укажите в поле Заголовок 1, а в поле Данные 2. Если вы хотите пропустить несколько строк при импорте, укажите в поле Данные номер строки, с которой начнется импорт. Например, если вы укажите цифру 2 в поле Данные, то значения из Таблицы 1 начнут импортироваться со второй строки. Строка с данными о Казани не будет импортирована.
Внизу окна импорта вы увидите данные о проекции и названии столбцов с широтой и долготой. Для того, чтобы ваш CSV файл импортировался вместе с геометрией, поставьте галочку рядом с полем Проекция и укажите 4326 в качестве проекции (соответствует EPSG:4326). В полях Долгота (X) и Широта (Y) укажите название столбцов, соответствующих широте и долготе. Для таблицы 1 это будут X и Y. Столбцы координат могут иметь и другие названия, например:
Таблица 2. Крупнейшие города Республики Татарстан по численности населения (широта, долгота)
| city_name | city_population | latitude | longitude |
|---|---|---|---|
| Казань | 1300000 | 55.79 | 49.11 |
| Набережные Челны | 548000 | 55.73 | 52.37 |
| Нижнекамск | 240000 | 55.63 | 51.81 |
В таком случае в поле Долгота (X) укажите longitude, а в поле Широта (Y) latitude. Не перепутайте широту и долготу, если вы видите, что ваши данные развернуты на 90 градусов относительного того положения, в котором они должны были бы находиться, то импортируйте данные повторно и поменяйте значения в полях Долгота (X) и Широта (Y) местами. После настройки всех параметров импорта нажмите на кнопку Далее.
Стобцы в исходном файле разделены запятой (,), кодировку UTF-8, первая строка содержит заголовки столбцов, а данные начинаются со второй строки. Мы вносим эту информацию в соответствующие поля. Итоговый вид будет таким:

Следующий этап импорта CSV файла похож на этап с импортом ESRI Shapefile – вам нужно выбрать атрибуты, которые будут импортированы из файла. Если на предыдущем этапе вы поставили галочку для импорта координат, то геометрия импортируется автоматически. вы можете включать или отключать импорт определенных атрибутов, а также настраивать их имена. Название атрибута в таблице слоя должно состоять из латинских символов, цифр и нижних подчеркиваний. Также вы можете настроить типы данных у каждого атрибута. По умолчанию система подбирает наиболее подходящий, однако в случае ошибки вы можете выбрать его самостоятельно списка ниже:
- Текст
- Целое число
- Дробное число
- Дата и время

После настройки атрибутов нажмите на кнопку Далее.
На последнем этапе импорта вам нужно будет настроить название слоя, указать его расположение в каталоге, задать системное имя и дополнительно можно будет задать ему описание и тэги. Эта часть импорта также аналогична тому, что мы уже делали при импорте данных в формате ESRI Shapefile:

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

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

Выберите классификацию по атрибуту population, алгоритм классификации Квантиль и количество классов, равное 5. После этого нажмите на кнопку рассчитать. Мы сохраним стандартный цветовой градиент, но изменим параметры прозрачности. Для этого нажмите на цветной квадрат:

У вас откроется окно настройки цвета и прозрачности. Цвет можно задать либо при помощи цветового поля, либо при помощи настройки численных значений координат RGBA (Red, Green, Blue, Alpha – красный, зеленый, синий, альфа-канал). Мы не будем изменять цвет (первые три числа), но изменим значение прозрачности. Значения прозрачности задаются альфа-каналом, и изменяются от 0 (слой полностью прозрачный) до 1 (слой полностью непрозрачный). По умолчанию у всех градиентов цвета не являются прозрачными, значения альфа-канала равно единице. Мы установим значение прозрачности в 0.4, это сделает цвета различимыми, но точка станции метро будет выглядеть отчетливо на фоне заливки. Это действие нужно повторить для всех элементов классификации.

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

Размер пунсона измеряется в пикселях, для его изменения в поле Размер и цвет нужно задать численное значение с клавиатуры, либо изменить его при помощи стрелок между цифрой и обозначением px. Для лучшей читаемости пунсона на фоне цветных полигонов мы увеличим размер пунсона с 4 до 6 пикселей. Для изменения цвета для всех объектов нужно нажать на цветной квадрат справа от поля изменения размера пунсона. Для наибольшей контрастности зададим пунсонам черный цвет, для этого при помощи цветового поля выберем точку в левом нижнем углу, которая соответствует координатам 1, 1, 1, 1 в пространстве RGBA.

Для применения изменений к цвету и размеру нужно нажать на галочку в настройках RGBA и дискету в настройках оформления. Итоговое оформление позволяет однозначно разделить станции метрополитена, а также территории с различной плотностью населения.

Буферные зоны
Создание буферных зон
Буферные зоны можно создавать вокруг точек, линий, полигонов и маршрутов
Для проведения геоинформационного анализа необходимо использовать инструменты выборки и построение буферных зон. Инструменты выборки находятся в верхней части рабочего окна карты. По умолчанию доступен инструмент Динамический выбор. Он позволяет выбирать объекты на карте и просматривать карточку объекта. Для создания буферных зон вокруг точек необходимо поменять его на инструмент Точка. Этот инструмент находится вторым в списке инструментов выборки и обозначен иконкой точки с плюсом.

Этот инструмент позволяет выбирать объекты и строить буферные зоны заданного радиуса вокруг точки. У выбора точкой есть следующие настройки (слева направо):
- Создание новой выборки. При выборе этой опции каждая последующая выборка будет отменять предыдущую. Будут выбираться новые объекты, а выделение со старых – сниматься
- Добавление в текущую выборку. При выборе этой опции последующая выборка будет объединяться с предыдущей, выделение со старых объектов сниматься не будет
- Создание буферной зоны. Нажатие на эту кнопку раскроет инструменты создания буферных зон
- Радиус буферной зоны
- Единицы измерения буферной зоны
- Предыдущий выбор
- Следующий выбор
- Настройки области выборки. В случае, если стоит значение Внутри области, то будут выбираться все объекты, попадающие в буферную зону. При выборе опции Снаружи области будут выбраны все объекты, не попадающие в буферную зону
Для проведения анализа численности населения, попадающего в километровую зону вокруг станций метро, нам необходимо выставить следующие параметры:
- Добавление в текущую выборку
- Радиус 1 км
- Область выборки: Внутри области
Следующий шаг после настройки параметров – создание самих буферных зон. В данном примере вам необходимо будет нажимать с активированным инструментом по пунсонам станций метрополитена. После того, как вы создадите буферные зоны вокруг всех станций вы увидите следующую картину:

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

Расчет статистики
В системе доступно четыре функции статистики для числовых атрибутов:
- Минимальное значение
- Максимальное значение
- Сумма
- Среднее значение
И один (количество уникальных значений) – для строковых. Так как поле population является числовым, у нас есть возможность рассчитать сумму всех значений, попавших в буферную зону. Для выбора функции необходимо нажать на кнопку настроек снизу от контекстного меню в карточке объекта.

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

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

Анализируя статистику по всему городу, вы можете заметить, что всего в слое есть 816 объектов, в сумма по атрибуту population равна 1557286 человек. Разделив численность населения внутри буферных зон на численность населения во всех ячейках, получается, что в Казани примерно 23,1% населения проживает в радиусе одного километра вокруг станций метрополитена. В дальнейшем мы рассмотрим похожую задачу, но с построением пешеходных зон доступности при помощи Python в инструментах разработчика.