2016-10-24 15 views
0

Так что я ищу способ оценить область области, используя только изображение карты. Причина, по которой я делаю это, - это вычислить область, которая будет потеряна при определенном повышении уровня моря, и я не могу найти какие-либо метаданные для этого только для карт (в форматах изображений). Вот ссылка на такой карте:Оценка области с использованием изображения в R

Так что я имею в виду, чтобы преобразовать это изображение в полутоновое изображение с использованием пакета EBimage, а затем с помощью интенсивности пикселей, в качестве критерия для подсчета числа пикселей, которые представляют потенциально угрожающую область.

Мой вопрос: возможно ли это? Как мы можем оценить интенсивность пикселей в качестве критерия? И если есть какой-либо другой подход к решению этой проблемы?

Также, если есть способ получить доступ к метаданным, используемым для построения такой карты, о которой я не знаю, скажите мне.

Спасибо всем.

Edit:

Благодаря hrbrmstr я смог прочитать сетки данных INT R с помощью rgdal пакетов. Поэтому, чтобы вычислить область, я попытался использовать пакет rgeos, но набор данных из CRESIS не имеет файла формы. Итак, как мы можем определить многоугольник и вычислить площадь? Извините, если этот вопрос кажется глупым. Это первый раз, когда я занимался с пространственными данными и анализа

+0

Почему вы не используете [ESRI файлы сетки] (https://www.cresis.ku.edu/content/research/maps)? – hrbrmstr

+0

Я понятия не имею, как бороться с файлами ESRI. Я пробую некоторый ГИС-читатель, но не повезло. Я попытался RArcinfo, но произошла ошибка. – Mathnoob

ответ

0

Данные в файлах ESRI:

library(rgdal) 

grid_file_1m <- new("GDALReadOnlyDataset", "/full/path/to/inund1/w001001.adf") 
grid_1m <- asSGDF_GROD(grid_file_1m, output.dim=c(1000, 1000)) 

plot(grid_1m, bg="black") 

enter image description here

grid_1m_df <- as.data.frame(grid_1m) 

str(grid_1m_df) 
## 'data.frame': 2081 obs. of 3 variables: 
## $ band1: int 1 1 1 1 1 1 1 1 1 1 ... 
## $ x : num -77.2 -76.9 -76.5 -76.1 -75.8 ... 
## $ y : num 83.1 83.1 83.1 83.1 83.1 ... 
+0

Спасибо. Это было бы намного лучше. – Mathnoob

+0

Также просто из любопытства есть способ решить эту проблему, используя мой предложенный подход? – Mathnoob

+0

Итак, если я прочитал это право, вы хотите выполнить потерю, хакерское манипулирование изображениями в сочетании с guesstimation, когда есть встроенные способы выполнения действительных статистических и научных вычислений, которые могут потребовать пару дней обучения для освоения? если да, то, к сожалению, да. – hrbrmstr