Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка геоприложений на языке Python

Покупка
Артикул: 712481.01.99
Доступ онлайн
849 ₽
В корзину
Написание геопространственных программ предполагает решение таких задач, как группирование данных по географическому положению, хранение и анализ больших массивов информации, выполнение сложных расчетов и построение красочных интерактивных карт. Книга предоставляет обзор главных геопространственных понятий, источников геоданных и наборов инструментов для геообработки. Рассмотрены приемы хранения и доступа к пространственным данным. Показано создание собственного интерфейса со скользящей картой в рамках веб-приложения. Подробно описано создание редактора геоданных на основе географического модуля GeoDjango для веб-платформы Djaogo. Издание адресовано опытным разработчикам на языке Python, которые хотели бы освоить концепции геопрограммирования, методы получения и работы с геоданными, решать пространственные задачи и конструировать сложные картографические приложения.
Вестра, Э. Разработка геоприложений на языке Python / Э. Вестра ; пер. с англ. А.В. Логунова. - Москва : ДМК Пресс, 2017. - 446 с. - ISBN 978-5-97060-437-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/1028127 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Эрик Вестра

Разработка геоприложений  

на языке Python

Erik Westra

Python Geospatial  
Development

Develop sophisticated mapping applications 
from scratch using Python 3 tools  
for geospatial development

Third Edition

 
       BIRMINGHAM – MUMBAI

Эрик Вестра

Разработка геоприложений 
на языке Python

Разработка сложных  
картографических приложений с нуля  
с использованием геоинструментальных 
средств Python 3

Третье издание 

Москва, 2017

УДК 528.92:004.9Python
ББК 26.17с
В38

Вестра Э.
В38
Разработка геоприложений на языке Python / пер. с англ. А. В. Логунова. – 
М.: ДМК Пресс, 2017. – 446 с.: ил.

ISBN 978-5-97060-437-3

Написание геопространственных программ предполагает решение таких задач, как группирование данных по географическому положению, хранение и анализ больших массивов информации, 
выполнение сложных расчетов и построение красочных интерактивных карт.
Книга предоставляет обзор главных геопространственных понятий, источников геоданных и 
наборов инструментов для геообработки. Рассмотрены приемы хранения и доступа к пространственным данным. Показано создание собственного интерфейса со скользящей картой в рамках 
веб-приложения. Подробно описано создание редактора геоданных на основе географического 
модуля GeoDjango для веб-платформы Django.
Издание адресовано опытным разработчикам на языке Python, которые хотели бы освоить 
концепции геопрограммирования, методы получения и работы с геоданными, решать пространственные задачи и конструировать сложные картографические приложения.

УДК 528.92:004.9Python
ББК 26.17с

Copyright © Packt Publishing 2016. First published in the English language under the title 
‘Python Geospatial Development – Third Edition – (9781785288937)’

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

ISBN 978-1-78528-893-7 (анг.)
Copyright © 2016 Packt Publishing
ISBN 978-5-97060-437-3 (рус.)
© Оформление, издание, перевод, ДМК Пресс, 2017

Содержание

Об авторе ...................................................................... 11

О рецензенте ................................................................. 12

Предисловие ................................................................. 13

Глава 1. Разработка геопрограмм на Python ........................ 27
Python ......................................................................................................................................................27

Python 3 ..............................................................................................................................................29

Разработка геопространственных программ ..............................................................................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

 Содержание

Пример использования .................................................................................................................86
Документация по GDAL/OGR ..................................................................................................88

Работа с проекциями ..........................................................................................................................89

Библиотека pyproj ..........................................................................................................................89
Инсталляция библиотеки ............................................................................................................89
Концепция библиотеки ................................................................................................................91
Пример использования .................................................................................................................93
Документация ..................................................................................................................................94

Геоанализ и геообработка  .................................................................................................................95

Библиотека Shapely ........................................................................................................................95
Инсталляция библиотеки ............................................................................................................95
Концепция библиотеки ................................................................................................................97
Пример использования .................................................................................................................99
Документация ...............................................................................................................................100

Визуализация геоданных ...............................................................................................................101

Библиотека Mapnik .....................................................................................................................101
Инсталляция библиотеки .........................................................................................................102
Концепция библиотеки .............................................................................................................103
Пример использования ..............................................................................................................105
Документация ...............................................................................................................................107

Заключение .........................................................................................................................................107

Глава 4. Источники геоданных ......................................... 109
Источники геоданных в векторном формате ..........................................................................110

Геоданные проекта OpenStreetMap .......................................................................................110
База данных TIGER ....................................................................................................................113
Геоданные веб-сайта Natural Earth ........................................................................................117
Географическая база данных GSHHG ..................................................................................119
Набор данных границ стран мира ..........................................................................................121

Источники геоданных в растровом формате ...........................................................................122

Геоданные проекта Landsat .......................................................................................................123
Геоданные веб-сайта Natural Earth ........................................................................................127
Геоданные проекта GLOBE  .....................................................................................................130
Национальный набор данных рельефа ................................................................................132

Источники геоданных других типов ..........................................................................................136

База данных сервера географических названий GEOnet ..............................................136
Данные информационной системы географических названий США.......................138

Выбор источника геоданных .........................................................................................................140
Заключение .........................................................................................................................................140

Глава 5. Решение задач с геоданными на Python ................. 142
Необходимые условия .....................................................................................................................142
Общие задачи с использованием геоданных ...........................................................................143

Содержание  7

Задача: вычисление ограничительной рамки  
для всех стран мира .....................................................................................................................143
Задача: вычисление границы между Таиландом и Мьянмой .......................................145
Задача: анализ высот на основе цифровой карты местности .......................................147

Смена датумов и проекций ............................................................................................................153

Задача: смена проекции для совмещения файлов фигур с географическими 
и UTM-координатами ................................................................................................................153
Задача: перевод из одного датума в другой для совмещения свежих данных  
TIGER со старыми ......................................................................................................................157

Выполнение геопространственных расчетов ..........................................................................160

Задача: идентификация национальных парков внутри и в окрестностях  
городских агломераций..............................................................................................................161

Конвертирование и стандартизация единиц геометрии и расстояния ..........................166

Задача: вычисление длины границы между Тайландом и Мьянмой .........................166
Задача: нахождение точки в 132.7 км к западу от г. Шошоун, шт. Калифорния .......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

Источники данных ......................................................................................................................214
Правила, фильтры и стили .......................................................................................................217
Символизаторы ............................................................................................................................220
Карты и слои ..................................................................................................................................229
Визуализация карты ...................................................................................................................230

Заключение .........................................................................................................................................232

Глава 8. Работа с пространственными данными .................. 234
Описание приложения DISTAL ..................................................................................................234
Проектирование и конструирование базы данных ...............................................................238
Скачивание и импорт данных .......................................................................................................242

Набор данных границ стран мира ..........................................................................................242
Географическая база данных береговых линий GSHHG ...............................................243
Географические названия США .............................................................................................244
Географические названия остальных мест ..........................................................................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

Содержание  9

Стэк «скользящей карты».........................................................................................................305
Геопространственные веб-протоколы ...................................................................................306

Анализ трех конкретных инструментов  ...................................................................................308

Протокол TMS ..............................................................................................................................308
Библиотека OpenLayers .............................................................................................................313
Модуль GeoDjango ......................................................................................................................317

Заключение .........................................................................................................................................325

Глава 11. Собираем все вместе – полнофункциональная  
картографическая система ............................................. 326
О системе ShapeEditor.....................................................................................................................326
Проектирование системы ShapeEditor ......................................................................................330

Импорт файла фигур ..................................................................................................................330
Выбор геообъекта .........................................................................................................................332
Правка геообъекта .......................................................................................................................334
Экспорт файла фигур .................................................................................................................334

Необходимые компоненты ............................................................................................................334
Настройка базы данных ..................................................................................................................335
Настройка проекта ShapeEditor ...................................................................................................335
Определение приложений ShapeEditor ....................................................................................337
Создание общего приложения shared ........................................................................................337
Определение моделей данных ......................................................................................................339

Объект Shapefile ...........................................................................................................................339
Объект Attribute ...........................................................................................................................340
Объект Feature ..............................................................................................................................340
Объект AttributeValue ................................................................................................................341
Файл models.py  ............................................................................................................................341

Знакомство с подсистемой администрирования ...................................................................344
Заключение .........................................................................................................................................350

Глава 12. ShapeEditor – импорт и экспорт файлов фигур ...... 351
Реализация режима просмотра списка файлов фигур ........................................................351
Импорт файлов фигур .....................................................................................................................355

Форма для импорта файлов фигур ........................................................................................355
Извлечение выгруженного файла фигур из архива ........................................................358
Импорт содержимого файла фигур .......................................................................................361
Очистка ...........................................................................................................................................368
Экспорт файлов фигур ..............................................................................................................369

Заключение .........................................................................................................................................376

Глава 13. ShapeEditor – выбор и правка геообъектов  ........... 377
Выбор геообъекта для правки .......................................................................................................378

Реализация сервера сборных цифровых карт ....................................................................378

 Содержание

Отображение карты при помощи библиотеки OpenLayers ..........................................398
Перехват нажатий кнопкой мыши .........................................................................................404
Реализация режима просмотра «Найти геообъект» ........................................................406

Правка геообъектов ..........................................................................................................................412
Добавление геообъектов .................................................................................................................418
Удаление геообъектов ......................................................................................................................421
Удаление файлов фигур ..................................................................................................................423
Использование системы ShapeEditor ........................................................................................424
Дальнейшие усовершенствования и улучшения ...................................................................424
Заключение .........................................................................................................................................425

Глоссарий сокращений и основных терминов  .................... 427
Сокращения ........................................................................................................................................427
Термины ...............................................................................................................................................430

Предметный указатель ................................................... 436

Доступ онлайн
849 ₽
В корзину