Расчет количества пикселей в полигоне IDL

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Ответить
Pilolin
Интересующийся
Сообщения: 15
Зарегистрирован: 16 авг 2016, 07:17
Репутация: 0

Расчет количества пикселей в полигоне IDL

Сообщение Pilolin » 16 авг 2016, 07:25

Доброго времени суток, начал заниматься программированием на IDL, руководителем поставлена простая задача, но не представляю как её выполнить. На вход дан растр и вектор(полигоны), необходимо подсчитать количество пикселей попавших в каждый полигон, ну и неплохо бы записать это значение в те же полигоны, ну или каким то образом запомнить.

URIIT
Участник
Сообщения: 65
Зарегистрирован: 16 апр 2012, 08:33
Репутация: 15

Re: Расчет количества пикселей в полигоне IDL

Сообщение URIIT » 17 авг 2016, 12:50

Вам надо реализовать такой алгоритм:

1. Создать поле в векторном файле формата Integer или Long.
2. Цикл - итерация в массиве полигонов (берём по очереди каждый полигон):
2.1. Вырезать растр по контуру одного полигона.
2.2. Подсчитать количество пикселей не равных NoData в вырезанном куске (или к числу приравненному к NoData, например, 9999).
2.3. Записать число пикселей в поле соответствующего полигона.

Pilolin
Интересующийся
Сообщения: 15
Зарегистрирован: 16 авг 2016, 07:17
Репутация: 0

Re: Расчет количества пикселей в полигоне IDL

Сообщение Pilolin » 18 авг 2016, 09:03

URIIT писал(а): 1. Создать поле в векторном файле формата Integer или Long.
2. Цикл - итерация в массиве полигонов (берём по очереди каждый полигон):
2.1. Вырезать растр по контуру одного полигона.
2.2. Подсчитать количество пикселей не равных NoData в вырезанном куске (или к числу приравненному к NoData, например, 9999).
2.3. Записать число пикселей в поле соответствующего полигона.
Хотелось бы наглядно увидеть как обратиться к полигону и им вырезать растр, в этом я не могу разобраться, поискал в хелпе и чет не дошло. И как хранить растр вырезанный, в двумерном массиве и как тогда размер вычислить не особо понимаю(просто мне с этой областью еще кое-какие манипуляции провести нужно, но она должна сохранить форму)?

alexandr cherepanov
Гуру
Сообщения: 530
Зарегистрирован: 30 ноя 2006, 13:31
Статьи: 3
Проекты: 1
Репутация: 111
Откуда: Moscow

Re: Расчет количества пикселей в полигоне IDL

Сообщение alexandr cherepanov » 18 авг 2016, 14:09

Просто IDL или ENVI+IDL?
Pilolin писал(а):На вход дан растр и вектор(полигоны)
В каком формате растр/вектор? Какие проекции и есть ли вообще?

А так если только просто IDL, то смотрите help\pdf\image.pdf в папке установки IDL, Chapter 6, Image Processing in IDL
начал заниматься программированием на IDL
Может ну его ? C Python по проще будет :mrgreen:

Pilolin
Интересующийся
Сообщения: 15
Зарегистрирован: 16 авг 2016, 07:17
Репутация: 0

Re: Расчет количества пикселей в полигоне IDL

Сообщение Pilolin » 18 авг 2016, 18:06

Просто IDL, надо процедурку сделать, главное чтоб работала :D
Растр - tiff, вектор - shp и все прилагающее к нему файлы (хотя по сути только полигоны то и нужны)
Может ну его ? C Python по проще будет :mrgreen:
Да вроде начал с этим копаться и времени нет особо начинать с другим языком разбираться :( Но если с питоном проще будет, то даже хз что и выбрать :?

Ответить

Вернуться в «Обработка ДДЗ»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость