Расчет количества пикселей в полигоне IDL
- 
				Pilolin
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 16 авг 2016, 07:17
- Репутация: 0
							 Расчет количества пикселей в полигоне IDL
						Расчет количества пикселей в полигоне IDL
		
													
							
						
			
			
			
			
			Доброго времени суток, начал заниматься программированием на IDL, руководителем поставлена простая задача, но не представляю как её выполнить. На вход дан растр и вектор(полигоны), необходимо подсчитать количество пикселей попавших в каждый полигон, ну и неплохо бы записать это значение в те же полигоны, ну или каким то образом запомнить.
			
			
									
						
										
						- 
				URIIT
- Участник
- Сообщения: 70
- Зарегистрирован: 16 апр 2012, 08:33
- Репутация: 16
Re: Расчет количества пикселей в полигоне IDL
Вам надо реализовать такой алгоритм:
1. Создать поле в векторном файле формата Integer или Long.
2. Цикл - итерация в массиве полигонов (берём по очереди каждый полигон):
2.1. Вырезать растр по контуру одного полигона.
2.2. Подсчитать количество пикселей не равных NoData в вырезанном куске (или к числу приравненному к NoData, например, 9999).
2.3. Записать число пикселей в поле соответствующего полигона.
			
			
									
						
										
						1. Создать поле в векторном файле формата Integer или Long.
2. Цикл - итерация в массиве полигонов (берём по очереди каждый полигон):
2.1. Вырезать растр по контуру одного полигона.
2.2. Подсчитать количество пикселей не равных NoData в вырезанном куске (или к числу приравненному к NoData, например, 9999).
2.3. Записать число пикселей в поле соответствующего полигона.
- 
				Pilolin
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 16 авг 2016, 07:17
- Репутация: 0
Re: Расчет количества пикселей в полигоне IDL
Хотелось бы наглядно увидеть как обратиться к полигону и им вырезать растр, в этом я не могу разобраться, поискал в хелпе и чет не дошло. И как хранить растр вырезанный, в двумерном массиве и как тогда размер вычислить не особо понимаю(просто мне с этой областью еще кое-какие манипуляции провести нужно, но она должна сохранить форму)?URIIT писал(а): 1. Создать поле в векторном файле формата Integer или Long.
2. Цикл - итерация в массиве полигонов (берём по очереди каждый полигон):
2.1. Вырезать растр по контуру одного полигона.
2.2. Подсчитать количество пикселей не равных NoData в вырезанном куске (или к числу приравненному к NoData, например, 9999).
2.3. Записать число пикселей в поле соответствующего полигона.
- 
				alexandr cherepanov
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Расчет количества пикселей в полигоне IDL
Просто IDL или ENVI+IDL?
А так если только просто IDL, то смотрите help\pdf\image.pdf в папке установки IDL, Chapter 6, Image Processing in IDL

			
			
									
						
										
						В каком формате растр/вектор? Какие проекции и есть ли вообще?Pilolin писал(а):На вход дан растр и вектор(полигоны)
А так если только просто IDL, то смотрите help\pdf\image.pdf в папке установки IDL, Chapter 6, Image Processing in IDL
Может ну его ? C Python по проще будетначал заниматься программированием на IDL

- 
				Pilolin
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 16 авг 2016, 07:17
- Репутация: 0
Re: Расчет количества пикселей в полигоне IDL
Просто IDL, надо процедурку сделать, главное чтоб работала   
 
Растр - tiff, вектор - shp и все прилагающее к нему файлы (хотя по сути только полигоны то и нужны) Но если с питоном проще будет, то даже хз что и выбрать
 Но если с питоном проще будет, то даже хз что и выбрать 
			
			
									
						
										
						 
 Растр - tiff, вектор - shp и все прилагающее к нему файлы (хотя по сути только полигоны то и нужны)
Да вроде начал с этим копаться и времени нет особо начинать с другим языком разбиратьсяМожет ну его ? C Python по проще будет
 Но если с питоном проще будет, то даже хз что и выбрать
 Но если с питоном проще будет, то даже хз что и выбрать 
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя