Введение 4
1 Обзор использованного программного обеспечения данных, языковых средств, библиотек 6
1.1 Язык программирования Python 6
1.1.1 Особенности языка Python 7
1.1.2 Архитектура Python 9
1.1.3 Среда исполнения Python 10
1.1.4 Типы данных Python 11
1.2 Геоинформационная система QGIS 12
1.3 Библиотека GDAL 14
1.4 Обзор библиотеки NumPy 15
1.5 Обзор библиотеки Math 16
1.6 Библиотека QT Creator 17
1.7 Выводы обзора использованного программного обеспечения данных, языковых средств, библиотек 17
2 Описание алгоритмов 19
2.1 Совмещение растров 19
2.2 Работа в программе Python 23
2.3 Глобальная, локальная корреляция и классификация зон 25
2.4 Выводы для описания алгоритмов 29
3 Описание элементов программирования 30
3.1 Использование библиотек для чтения и записи данных 30
3.2 Структура программы 31
3.3 Чтение и запись растра из формата GEOTIFF 33
3.4 Расчет глобальной, локальной корреляции и классификации зон 34
3.5 Пользовательский интерфейс 37
3.6 Выводы по описанию элементов программирования 39
4.1 Результаты расчета глобальной корреляции 40
4.2 Результаты расчета локальной корреляции 42
4.3 Классификации зон 45
4.4 Выводы по тестированию разработанных программ 47
Заключение 49
Список использованных источников 50
Для изучения взаимосвязи различных географических явлений, используют методы корреляционного и регрессионного анализа. Корреляционный анализ позволяет измерить тесноту связи, а регрессионный анализ дает возможность выразить взаимосвязь между двумя переменными в виде уравнений. Например, в случае линейной взаимосвязи при помощи методов наименьших квадратов подбираются параметры прямой, которая наилучшим образом опишет выборочные точки.
Для того чтобы изучать в геоинформационных системах взаимосвязь между явлениями, которые показаны в слоях ГИС, также можно использовать корреляционный и регрессионный анализ. Для представления пространственных данных в GIS существуют векторная и растровая модель данных. В данной работе акцент сделан на том, чтобы оценивать связь между растровыми данными, изображениями, данными дистанционного зондирования, дискретными растрами.
В Quantum GIS и ArcGIS есть геостатистические модули, которые позволяют проводить статистический анализ для пространственных данных в слоях. В Quantum GIS существуют богатые возможности для построения трендов и остаточных поверхностей. Но конкретно модулей для расчета корреляции двух изображений в Quantum GIS не обнаружено. Программа Quantum GIS содержит возможности для программирования, для улучшения функциональности, для тонкой настройки ГИС под нужным пользователем, используя различные языки программирования, можно настроить расширение ГИС.
программе - используется среда разработки QT Creator, для статистических расчетов используются библиотеки NumPython, SciPy.
Цель работы: разработка модуля Quantum GIS для корреляционного анализа растровых изображений.
Задачи:
- разработать алгоритмы, для расчета локальных и глобальных коэффициентов корреляции, и с учетом зон для двух растровых изображений;
- реализация этих алгоритмов на языке Python, тестирование разработанных программ;
- тестирование разработанных программ на различных наборах растровых изображений;
- разработка пользовательского интерфейса, для программ расчета пространственной корреляции, при помощи QT Creator.
Для оценки взаимосвязи растровой модели, берется один растр, второй растр, совмещаются между собой, далее идет расчет глобальной корреляции, локальной корреляции и классификация зон.
Цель и задачи, поставленные в работе, выполнены. Разработаны алгоритмы для расчета локальных и глобальных коэффициентов корреляции, с учетом зон для двух растровых изображений, принципы их работы и реализации. Также разработан пользовательский интерфейс, для программ расчета пространственной корреляции, при помощи QT Creator. Проведено исследование возможностей языка Python и его библиотек NumPy, GDAL, Math. Также проведена работа с программой Quantum GIS это - совмещение растров, выбор методов, перепроецировка, изменения размера, размера ячейки, обрезка растров.
Программа Quantum GIS содержит возможность для программирования, для улучшения функциональности, для тонкой настройки ГИС под нужным пользователем. Используя различные языки программирования, можно настроить расширение ГИС. В Quantum GIS - это интерпретатор Python, на котором можно построить разные расширения, это стандартный язык для геообработки. Для того чтобы писать программы - используется Python, чтобы программы работали быстрее - используется язык программирования C. Чтобы нарисовать окна в программе - используется программа QT Creator, для расчетов программы - используется NumPython.
Язык Python является одним из самых популярных и быстрых скриптовых языков программирования. Также Python бесплатный, распространяемый, удобный в использовании, позволяет решать сложные задачи, позволяет управлять геоданными, отображать, редактировать, анализировать их, также создавать макеты карт.