Геоприложения на Python

Практическое руководство для разработчика.

Вестра Э. «Разработка геоприложений на языке Python» ДМК Пресс, 2017 год, 446 стр., пер. с англ. А. Логунова (18,9 мб. pdf)

В книге представлена методика разработки геоприложения на Python. Затронуты основные принципы использования разработок геопространственных приложений в современных условиях. Изучаются базовые понятия, используемые в процессе разработки: картографические проекции, форматы геоданных, единицы измерения, геоданные и др. Рассмотрены основные библиотеки Python используемые для геопрограммирования, их функционал и способы установки. Автор знакомит с понятием пространственных данных и базами данных, подробно рассматривает расширение Post-GIS для СУБД PostgreSQL и его использование в Python.

Показана разработка интерфейса на JavaScript со скользящей картой в рамках полнофункционального картографического веб-приложения, с использованием расширения PostGIS, библиотеки Mapnik и географического модуля GeoDjango. Это издание книги доработано с целью поддержки Python 3 и адресовано опытным разработчикам, достаточно знакомым с языком Python, чтобы освоить представленную методику создания геопространственных приложений или их интеграции в существующие проекты на Python. ISBN 978-5-97060-437-3

Оглавление книги

Глава 1 . Разработка геопрограмм на Python 27
Python 27
Python 329
Разработка геопространственных программ 30
Сферы применения геоприложений 33
Анализ геоданных 33
Визуализация геоданных 35
Создание геопространственных мэшапов 37
Последние достижения 38
Заключение 41

Глава 2 . Геоинформационные системы 42
Ключевые понятия ГИС 42
Географическое положение 42
Расстояние 46
Единицы измерения 48
Картографические проекции 50
Системы координат 56
Геодезические датумы 59
Географические фигуры 60
Форматы данных ГИС 62
Работа с данными ГИС вручную 64
Получение данных 65
Инсталляция библиотеки GDAL 65
Заключение 74

Глава 3 . Библиотеки Python для геопрограммирования 75
Чтение и запись геоданных 75
Пакет GDAL/OGR 75
Инсталляция пакета GDAL /OGR 76
Концепция библиотеки GDAL 76
Пример использования 82
Концепция библиотеки OGR 85
6 ? Содержание
Пример использования 86
Документация по GDAL /OGR 88
Работа с проекциями 89
Библиотека pyproj 89
Инсталляция библиотеки 89
Концепция библиотеки 91
Пример использования 93
Документация 9 4
Геоанализ и геообработка 95
Библиотека Shapely 95
Инсталляция библиотеки 95
Концепция библиотеки 97
Пример использования 99
Документация 100
Визуализация геоданных 101
Библиотека Mapnik 101
Инсталляция библиотеки 102
Концепция библиотеки 103
Пример использования 105
Документация 107
Заключение 107

Глава 4 . Источники геоданных 109
Источники геоданных в векторном формате 110
Геоданные проекта OpenStreetM ap 110
База данных TIGER 113
Геоданные веб-сайта Natural Earth 117
Географическая база данных GSHHG 119
Набор данных границ стран мира 121
Источники геоданных в растровом формате 122
Геоданные проекта Landsat 123
Геоданные веб-сайта Natural Earth 127
Геоданные проекта GLOBE 130
Национальный набор данных рельефа 132
Источники геоданных других типов 136
База данных сервера географических названий GEO net 136
Данные информационной системы географических названий США 138
Выбор источника геоданных 140
Заключение 140

Глава 5 . Решение задач с геоданными на Python 142
Необходимые условия 142
Общие задачи с использованием геоданных 143
Задача: вычисление ограничительной рамки для всех стран мира 143
Задача: вычисление границы между Таиландом и Мьянмой 145
Задача: анализ высот на основе цифровой карты местности 147
Смена датумов и проекций 153
Задача: смена проекции для совмещения файлов фигур с географическими и UTM -координатами 153
Задача: перевод из одного датума в другой для совмещения свежих данных TIGER со старыми 157
Выполнение геопространственных расчетов 160
Задача: идентификация национальных парков внутри и в окрестностях городских агломераций 161
Конвертирование и стандартизация единиц геометрии и расстояния 166
Задача: вычисление длины границы между Тайландом и Мьянмой 166
Задача: нахождение точки в 1327 км к западу от г. Шошоун, шт. Калифорния 173
Упражнения 174
Заключение 176

Глава 6 . Пространственные базы данных 177
СУБД с поддержкой пространственных данных 177
Пространственные индексы 178
Знакомство с PostGIS 181
Инсталляция СУБД PostgreSQL 183
Инсталляция расширения PostGIS 184
Установка адаптера psycopg2 185
Настройка СУБД 186
Создание учетной записи пользователя Postgres 186
Создание базы данных 187
Разрешение доступа к базе данных 187
Включить поддержку пространственных данны х 187
Использование расширения PostGIS 187
Документация но PostGIS 191
Продвинутый функционал PostGIS 191
Наиболее успешные практические приемы 192
Рекомендуем: используйте базу данных для отслеживания пространственных привязок 192
Рекомендуем: используйте для данных приемлемую пространственную привязку 194
Рекомендуем: избегайте динамических трансформаций внутри запроса 196
Рекомендуем: не создавайте геометрии внутри запроса 197
Рекомендуем: грамотно используйте пространственные индексы 198
Рекомендуем: учитывайте пределы оптимизатора запросов своей СУБД 198
Заключение 201

Глава 7 . Генерирование карт при помощи Python и библиотеки Mapnik 202
Введение в библиотеку Mapnik 202
Создание образца карты 209
Понятия библиотеки Mapnik 214
Источники данных 21 4
Правила, фильтры и стили 217
Символизаторы 220
Карты и слои 229
Визуализация карты 230
Заключение 232

Глава 8. Работа с пространственными данными 234
Описание приложения DISTAL 234
Проектирование и конструирование базы данных 238
Скачивание и импорт данных 242
Набор данных границ стран мира 242
Географическая база данных береговых линий GSHHG 243
Географические названия США 2 4 4
Географические названия остальных мест 246
Реализация приложения DISTAL 249
Сценарий «выбрать страну» 251
Сценарий «выбрать область» 253
Сценарий «показать результаты» 263
Использование приложения DISTAL 268
Заключение 269

Глава 9. Совершенствование приложения DISTAL 270
Обработка линии антимеридиана 270
Решение проблемы масштабирования 276
Производительность 280
Поиск проблемы 280
Улучшение производительности 282
Использование сегментов береговых линий 291
Анализ повышения производительности 292
Заключение 293

Глава 10. Инструменты для разработки геопространственных веб-приложений 294
Инструментарий и методика для геопространственных веб-приложений 294
Веб-приложения 295
Веб-службы 300
Стэк «скользящей карты» 305
Геопространственные веб-протоколы 306
Анализ трех конкретных инструментов 308
Протокол TMS 308
Библиотека OpenLayers 313
Модуль GeoDjango 317
Заключение 325

Глава 11. Собираем все вместе — полнофункциональная ка ртографическая система 326
О системе ShapeEditor 326
Проектирование системы ShapeEditor 33 0
Импорт файла фигур 330
Выбор геообъекта 332
Правка геообъекта 334
Экспорт файла фигур 334
Необходимые компоненты 334
Настройка базы данных 335
Настройка проекта ShapeEditor 335
Определение приложений ShapeEditor 337
Создание общего приложения shared 337
Определение моделей данных 339
Объект Shapefile 339
Объект Attribute 340
Объект Feature 340
Объект Attribute Value 341
Файл m odels.py 341
Знакомство с подсистемой администрирования 344
Заключение 350

Глава 12. Shape Editor — импорт и экспорт файлов фигур 351
Реализация режима просмотра списка файлов фигур 351
Импорт файлов фигур 355
Форма для импорта файлов фигур 355
Извлечение выгруженного файла фигур из архива 358
Импорт содержимого файла фигур 361
Очистка 368
Экспорт файлов ф игур 369
Заключение 376

Глава 13. Shape Editor — выбор и правкагео объектов 377
Выбор геообъекта для правки 378
Реализация сервера сборных цифровых карт 378
Отображение карты при помощи библиотеки OpenLayers 398
Перехват нажатий кнопкой мыши 404
Реализация режима просмотра «Найти геообъект» 406
Правка геообъектов 412
Добавление геообъектов 418
Удаление геообъектов 421
Удаление файлов фигур 423
Использование системы ShapeEditor 424
Дальнейшие усовершенствования и улучшения 424
Заключение 425
Глоссарий сокращений и основных терминов 427
Сокращения 427
Термины 430
Предметный указатель 436

Скачать техническую литературу бесплатно18,9 мб. pdf

Похожая литература