science

Учебник ГИС и геопространственные данные для начинающих

28 уроков · 8 разделов · бесплатно, без регистрации

Курс уровня технического университета о том, как компьютер хранит, считает и показывает географию. Мы начинаем с базы — что такое ГИС и зачем она логистике, экологии, урбанистике и навигации, — и разбираем фундаментальное деление данных на векторные (точки, линии, полигоны) и растровые (сетки пикселей). Дальше идёт самое важное и самое недооценённое: системы координат (широта и долгота, геоид, эллипсоид, WGS84) и проекции — почему сферу нельзя развернуть на плоскость без искажений и как с этим живут. Затем — геометрия на стандартной библиотеке Python: расстояние на сфере по формуле гаверсинуса, проверка «точка внутри полигона» методом трассировки луча, площадь полигона по формуле шнуровки, центроид, bounding box, проекция Меркатора. Все эти алгоритмы вы запустите прямо в браузере. После геометрии — пространственные отношения и анализ (ближайший объект, объекты в радиусе, overlay, spatial join), растровый анализ (рельеф, уклон, индекс NDVI), геокодирование, плотность и тепловые карты, маршрутизация на графе дорог, визуализация карт, открытые данные (OpenStreetMap, Sentinel/Landsat, Росреестр), дистанционное зондирование и пространственная база PostGIS. Промышленный стек (geopandas, shapely, folium, rasterio, QGIS) мы показываем как код для чтения, а ядро каждой темы — исполнимым на чистом Python. Формулы даны в математической записи, реализации проверены.

Курс «ГИС и геопространственные данные» состоит из 8 разделов и 28 уроков: Что такое ГИС и геоданные, Системы координат и проекции, Форматы геоданных, Расстояния и геометрия, Пространственные отношения и анализ, Растровый анализ и спутники, Геокодирование, маршруты и карты и PostGIS, стек и реальные задачи. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Что такое ГИС и геоданные

    1. Что такое ГИС и где она работает

      ГИС — система для хранения, анализа и визуализации данных, привязанных к месту на Земле. Где это применяется и почему карта — это база данных.

    2. Векторные и растровые данные

      Два фундаментальных способа описать мир в ГИС: вектор (точки, линии, полигоны) и растр (сетка пикселей). Когда и что выбирать.

    3. Геометрия + атрибуты: модель данных

      Почему каждый геообъект — это пара «геометрия и таблица свойств», и как этот принцип связывает ГИС с обычными базами данных.

  2. 2 Системы координат и проекции

    1. Широта, долгота и форма Земли

      Как координаты описывают точку на сфере, чем геоид отличается от эллипсоида и что такое WGS84 — общая система координат GPS и всего мира.

    2. Проекции: почему сферу нельзя развернуть

      Любая плоская карта искажает реальность. Почему апельсиновую корку нельзя расправить и какие искажения выбирают картографы.

    3. Проекция Меркатора: формула и код

      Выводим и реализуем прямую проекцию Меркатора: перевод широты-долготы в метры на плоскости. Формула, граница применимости, проверка на Москве.

    4. UTM и выбор проекции под задачу

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

  3. 3 Форматы геоданных

    1. GeoJSON: геоданные в виде JSON

      GeoJSON — текстовый формат на основе JSON для векторных данных. Разбираем структуру Feature и FeatureCollection и читаем файл исполнимым кодом.

    2. Shapefile и другие векторные форматы

      Shapefile — ветеран ГИС из нескольких файлов. Чем он хорош, чем неудобен, и какие современные форматы (GeoPackage) идут на смену.

    3. GeoTIFF и растровые форматы

      GeoTIFF — это картинка TIFF с геопривязкой. Что такое каналы, геотрансформ и почему спутниковые снимки приходят именно в этом формате.

  4. 4 Расстояния и геометрия

    1. Гаверсинус: расстояние на сфере

      Почему расстояние между городами нельзя считать по теореме Пифагора и как формула гаверсинуса даёт правильный ответ по большому кругу.

    2. Точка в полигоне: метод трассировки луча

      Как проверить, попала ли точка внутрь района, методом ray casting: считаем пересечения луча с границей. Реализация на чистом Python.

    3. Площадь полигона: формула шнуровки

      Формула шнуровки (Гаусса) считает площадь любого простого многоугольника по координатам вершин. Реализуем и проверяем на квадрате и треугольнике.

    4. Центроид и bounding box

      Две базовые операции: центроид (геометрический центр полигона) для подписи на карте и bounding box — быстрый прямоугольный фильтр для ускорения запросов.

  5. 5 Пространственные отношения и анализ

    1. Пространственные отношения: содержит, пересекает

      Пространственные предикаты описывают, как две геометрии связаны: содержит, пересекает, касается, не пересекается. Модель DE-9IM и буферы.

    2. Ближайший объект и объекты в радиусе

      Два самых частых запроса: найти ближайший объект и все объекты в радиусе. Реализуем на гаверсинусе и обсуждаем, как ускорить пространственным индексом.

    3. Overlay: пересечение слоёв и буферы

      Overlay-анализ накладывает слои друг на друга: пересечение, объединение, разность. Буферные зоны и реальные сценарии вроде «дома в зоне шума».

    4. Spatial join: соединение по положению

      Spatial join присоединяет атрибуты одного слоя к другому по их пространственному отношению — например, какому району принадлежит каждая точка-инцидент.

  6. 6 Растровый анализ и спутники

    1. DEM: цифровая модель рельефа

      DEM — это растр высот. Как из него получить профиль, найти минимум и максимум высоты и почему рельеф удобно хранить именно сеткой.

    2. Уклон: производная рельефа

      Уклон показывает крутизну склона. Считаем его из DEM как градиент высоты и переводим в градусы. Зачем уклон нужен для дорог, стока и эрозии.

    3. NDVI: индекс растительности

      NDVI измеряет «зелёность» по спутниковым каналам Red и NIR. Формула, диапазон значений и расчёт по растру — как со спутника видят здоровье растений.

    4. Плотность и тепловые карты

      Как из россыпи точек получить карту плотности: сетка-подсчёт и ядерная оценка (KDE). Считаем плотность точек по ячейкам на чистом Python.

  7. 7 Геокодирование, маршруты и карты

    1. Геокодирование: адрес в координаты

      Геокодирование переводит «ул. Тверская, 1» в широту и долготу, обратное — наоборот. Как это работает, зачем нормализация адреса и где грабли.

    2. Маршрутизация: кратчайший путь по дорогам

      Дорожная сеть — это граф: перекрёстки-вершины, улицы-рёбра с весом. Алгоритм Дейкстры находит кратчайший путь. Реализация на чистом Python.

    3. Визуализация карт: тайлы, matplotlib, folium

      Как геоданные показывают на экране: тайловые карты, статичные карты в matplotlib и интерактивные в folium. Обзор инструментов и принципов.

    4. Открытые геоданные: OSM, спутники, Росреестр

      Где брать геоданные бесплатно: OpenStreetMap для векторных слоёв, Sentinel и Landsat для спутниковых снимков, Росреестр для кадастра.

  8. 8 PostGIS, стек и реальные задачи

    1. PostGIS: пространственная база данных

      PostGIS превращает PostgreSQL в полноценную ГИС-базу: геометрический тип, пространственные функции и индексы. Связь с обычным SQL.

    2. Реальные задачи и стек инструментов

      Сквозной практикум: расстояние между городами, точки в районе, площадь региона и план простой карты. Обзор стека: QGIS, geopandas, rasterio.

py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →