Введение 4
1 Обзор используемого программного обеспечения, языка программирования, библиотек, спутниковых данных и алгоритмов 6
1.1 Геоинформационная система QGIS 6
1.2 Язык программирования Python 8
1.3 Библиотеки Python 9
1.3.1 Библиотека GDAL 9
1.3.2 Библиотека NumPy 9
1.3.3 Библиотека PIL 10
1.4 Спутниковые данные 11
1.4.1 Постобработка космических данных 14
1.4.2 Спутники семейств Landsat и Sentinel 16
1.5 Алгоритмы классификации 18
1.5.1 Классификация с использованием сигнатур 18
1.5.2 Классификация методом k-ближайших соседей 19
1.5.3 Байесовский классификатор 21
1.5.4 Классификация методом расстояния Махаланобиса 23
2 Реализация и тестирование алгоритмов классификации 25
2.1 Подготовка исходных данных 25
2.2 Реализация алгоритма классификации методом k-ближайших соседей .... 31
2.3 Реализация классификатора Байеса 34
2.4 Классификация с использованием расстояния Махаланобиса 38
2.5 Классификация с использованием плагина SACP 40
2.6 Общая схема действия реализованных алгоритмов 43
2.7 Оценка алгоритмов классификации 44
3 Создание цифровой карты 46
3.1 Создание тематической карты на основе кадастра отходов 47
3.2 Анализ тематической карты 49
Заключение 54
Список использованных источников 55
Приложение А Код алгоритмов классификации объектов
В настоящее время является актуальной проблема несанкционированных свалок в окрестностях населённых пунктов. Человеческая деятельность оказывает глобальное влияние на биосферу по сравнению с началом XX века: вырубка леса, осушение рек и озёр, распашка степей, опустынивание земли, строительство зданий, дорог, плотин, загрязнение свалками и т. д. Отсутствие специально отведённых территорий под различные виды отходов ведёт к образованию несанкционированных свалок. Вследствие этого возникает необходимость определения этих территорий на картах. Для решения данной проблемы необходимо объехать все дороги близлежащие к населённым пунктам, для проверки и нанесения на карту несанкционированных свалок, либо использовать какие-либо воздушные суда или аппараты для облёта больших территорий близ населённых пунктов. К сожалению, и то, и другое занимает немалое количество времени, а также требуют определённых затрат ресурсов. В качестве решения данной проблемы было решено написать программный модуль, который позволяет, используя космические данные, полученные со спутников дистанционного зондирования Земли (ДЗЗ), идентифицировать территории с несанкционированными свалками. На основе полученных результатов работы программного модуля составляется цифровая тематическая карта объектов распределения отходов производства и потребления.
Для решения данной проблемы используется Геоинформационная система Quantum GIS, с встроенным в неё языком программирования Python
Цель работы: создание цифровой карты объектов размещения отходов производства и потребления.
Задачи:
- произвести загрузку и предварительную обработку космических данных;
- разработать алгоритмы, классифицирующие объекты на территории города Красноярска на космических изображениях;
- реализовать эти алгоритмы на языке Python, а также протестировать разработанные программы на различных наборах космических изображений;
- оценить эффективность алгоритмов классификации;
- создать цифровую карту отходов производства и потребления.
В результате выполнения данной работы были реализованы три алгоритма классификации на языке python в Quantum GIS. Была произведена оценка эффективности действия алгоритмов и выбран наиболее оптимальный. На основе результатов классификации была создана цифровая карта объектов размещения отходов производства и потребления. В процессе выполнения работы была изучена предметная область, в пределах которой и создаются цифровые карты отходов.
По окончанию разработки была создана на основе кадастровой карты отходов тематическая карта размещения этих отходов, а также выполнен её анализ. Полученная карта представляет собой обобщённый вариант уже имеющегося кадастра.
Карты, полученные в результате такой работы, могут оказаться полезными для решения проблем несанкционированных свалок вблизи населённых пунктов. Посредством них можно найти места с несанкционированными свалками, не затрачивая при этом большого количества времени и денег. Таким образом, меры по устранению несанкционированных свалок будут предприниматься наиболее оперативно.
Задача по загрузке и предварительной обработке космических снимков к работе выполнена. Задача по разработке алгоритмов классификации выполнена, но возможно доработка для большей эффективности. Задача по реализации алгоритмов на языке Python и их тестирование выполнены, но возможно изменение кода для улучшения эффективности. Задача по оценке эффективности алгоритмов классификации выполнена. Задача по созданию цифровой карты объектов размещения отходов производства и потребления Красноярской агломерации выполнена частично, создана лишь цифровая карта объектов размещения отходов производства и потребления города Красноярска.