Как подсчитать количество пикселей в полигоне?

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
li_sasha
Интересующийся
Сообщения: 34
Зарегистрирован: 14 сен 2012, 11:37
Репутация: 2

Как подсчитать количество пикселей в полигоне?

Сообщение li_sasha » 09 сен 2013, 14:14

Здравствуйте.

имеется shape файл в виде полигона и растр.
Задача, подсчитать количество пикселей в каждом полигоне, но при этом не учитывать те пиксели, которые частично входят в данный полигон. Другими словами, подсчитать только те пиксели, которые полностью находятся в полигоне.
Как это сделать в ERDAS 2010 или ArcGIS 10.

Заранее благодарю за ответ

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Как подсчитать количество пикселей в полигоне?

Сообщение lam » 09 сен 2013, 15:05

ArcGIS 10 - зональная статистика вам в помощь.

li_sasha
Интересующийся
Сообщения: 34
Зарегистрирован: 14 сен 2012, 11:37
Репутация: 2

Re: Как подсчитать количество пикселей в полигоне?

Сообщение li_sasha » 09 сен 2013, 15:11

lam писал(а):ArcGIS 10 - зональная статистика вам в помощь.
Спасибо за ответ.
в ArcGIS зональной статистики в расчет берутся частичные полигоны, мне же нужно, чтобы в расчет брались только те пиксели, которые полностью находятся в данном полигоне. С утилитой Zonal Atributs из ERDASa то же самое.
Есть еще какие либо идеи?

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Как подсчитать количество пикселей в полигоне?

Сообщение gamm » 09 сен 2013, 18:48

li_sasha писал(а):
lam писал(а):Есть еще какие либо идеи?
план а) брутфорсим, но нужно много места. Создаем (руками) табличку с углами ячеек, и ID - номером ячейки. Делаем point_in_poly, и считаем, сколько углов попало в полигон, если 4, то ячейка ваша.

план в) тоже брутфорсим, но менее тупо. Скорее всего, арка проверяет вхождение центра ячейки (нужно смотреть инструкцию). Если так, то создаем 4 растра, сдвинутых так, чтобы углы стали центрами, и делаем план (а) на растре

делать все это удобнее не в Арке, а в том же R или любой знакомой среде типа Матлаба.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Как подсчитать количество пикселей в полигоне?

Сообщение lam » 10 сен 2013, 09:08

li_sasha писал(а):
lam писал(а):ArcGIS 10 - зональная статистика вам в помощь.
Спасибо за ответ.
в ArcGIS зональной статистики в расчет берутся частичные полигоны, мне же нужно, чтобы в расчет брались только те пиксели, которые полностью находятся в данном полигоне. С утилитой Zonal Atributs из ERDASa то же самое.
Есть еще какие либо идеи?
1. Конвертировать грид в Integer
2. Конвертировать грид в точки
3. Построить прямоугольный буфер по точкам заданного размера, т.е. размера пикселя -
viewtopic.php?f=15&t=12791&p=81755&hili ... %80#p81755
4. Сделать выборку (Select By Location) тех прямоугольных буферов, которые полностью содержаться в полигонах и записать в новый слой.
5. Используя инструмент из тулбокса Spatial Join, присоединить к слою прямоугольных буферов информацию из слоя полигонов, а именно поле идентификации полигонов.
6. Посчитать количество прямоугольных буферов, т.е. пикселей, которые полностью содержаться в соответствующих полигонах, для этого открыть таблицу слоя прямоугольных буферов, указать поле идентификации полигонов и затем правая кнопка мыши - Summarize..., в результате будет создана таблица с количеством прямоугольных буферов, т.е. пикселей, которые полностью содержаться в соответствующих полигонах.

Ответить

Вернуться в «Я новичок!»

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

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