Посчитать площадь растра
- Prince660
- Активный участник
- Сообщения: 164
- Зарегистрирован: 25 мар 2011, 20:12
- Репутация: 15
- Ваше звание: Питоновод
- Откуда: г. Симферорполь
- Контактная информация:
Посчитать площадь растра
Есть растр со значениями ячеек "1" и "0" нужно посчитать площадь всех ячеек со значением "1", как это сделать?
Я так понял что нужно посчитать количество ячеек с нужным значением и умножить на площадь одной ячейки. Вот только как посчитать количество нужных ячеек?
Я так понял что нужно посчитать количество ячеек с нужным значением и умножить на площадь одной ячейки. Вот только как посчитать количество нужных ячеек?
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Посчитать площадь растра
r.stats сразу считает площадь.
Последний раз редактировалось rhot 28 май 2018, 14:51, всего редактировалось 1 раз.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 5278
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1014
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
- Prince660
- Активный участник
- Сообщения: 164
- Зарегистрирован: 25 мар 2011, 20:12
- Репутация: 15
- Ваше звание: Питоновод
- Откуда: г. Симферорполь
- Контактная информация:
Re: Посчитать площадь растра
Спасибо! Подскажите ещё как этим пользоваться. Никогда с GRASS не работал..((
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Посчитать площадь растра
По-английски тоже не читаете?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Посчитать площадь растра
Через "Processing" в QGIS находим модуль <r.stats>, выбираем нужный растр, указываем опцию "Print area totals in square meters", ждём результата в виде списка.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: Посчитать площадь растра
... в R попробовал через библиотеку raster:
Код: Выделить всё
library("raster")
#генерируем "подопытный" растр r
r <- raster(nrow=seq(from = -90, to = 90, by = 1),
ncol=seq(from = -180, to = 180, by = 2))
#0 или 1 присваиваем значениям ячееек "случайным образом": либо "0", либо "1"
values(r) <- sample(c(0,1), replace=TRUE, size=ncell(r))
#"подопытный" растр r готов
str(r)
#значения ячеек с "0" "для удобоваримости" в NA "обращаем"
values(r)[values(r)==0] <- NA
str(r)
#получаем количество ячеек со значением "1"
countCells1 <- cellStats(r, stat='sum', na.rm=TRUE)
str(countCells1)
#получаем растр a с площадями ячеек растра r (NA-значения - они же "0" - " игнорируем")
a <- area(r, na.rm = TRUE)
str(a)
#вот так, получаем собственно, общую площадь ячеек растра r со значением "1"
AreaCellsWith1 <- cellStats(a, stat='sum', na.rm=TRUE)
str(AreaCellsWith1)
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Посчитать площадь растра
Что-то муторно... И потом, функция raster::area считает приблизительно.
Проще так:
Проще так:
Код: Выделить всё
library(dplyr)
df <- as.data.frame(freq(r))
df <- mutate(df, area=count*30/1e4) # площадь в га, если пространственное разрешение растра 30 м
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Посчитать площадь растра
Забыл добавить как включить поддержку R в QGIS.
https://docs.qgis.org/2.18/en/docs/trai ... intro.html
https://docs.qgis.org/2.18/en/docs/trai ... intro.html
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Эдуард Казаков
- Гуру
- Сообщения: 546
- Зарегистрирован: 23 апр 2014, 17:11
- Репутация: 532
- Откуда: Planet Earth
- Контактная информация:
Re: Посчитать площадь растра
Ещё вариант в QGIS:
Processing - Processing Toolbox - Scripts - Tools - Get scripts from on-line scripts collection - Uninstalled - Unique values count
Установить, он появится там же в Scripts - Raster.
Посчитает, сколько каких пикселей.
Processing - Processing Toolbox - Scripts - Tools - Get scripts from on-line scripts collection - Uninstalled - Unique values count
Установить, он появится там же в Scripts - Raster.
Посчитает, сколько каких пикселей.
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей