2016-10-24 144 views
0

所以我正在寻找一种方法来估计一个区域的面积,只使用地图的图像。我这样做的原因是我想计算在海平面上有一定增加时会丢失的区域,我无法找到任何只有地图(图像格式)的元数据。这里是链接到这样的地图:使用R中的图像进行面积估算

所以,我心目中是使用EBimage包到该图像转换为灰度图像,然后使用像素强度作为标准来算的数代表可能威胁区域的像素。

我的问题可能吗?我们如何才能将像素强度作为标准?如果还有其他方法可以解决这个问题?

此外,如果有方法可以访问元数据用于绘制这样的地图,我不知道请告诉我。

谢谢大家。

编辑:

感谢到hrbrmstr我能够读取使用rgdal包格栅数据INT R。所以为了计算我尝试使用rgeos包的区域,但CRESIS的数据集没有形状文件。那么我们如何定义多边形并计算面积呢? 很抱歉,如果这个问题看起来很愚蠢。这是第一次,我曾经处理空间数据和分析

+0

你为什么不使用[ESRI网格文件](https://www.cresis.ku.edu/content/research/maps)? – hrbrmstr

+0

我不知道如何处理ESRI文件。我尝试了一些GIS阅读器,但没有运气。我确实尝试了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

因此,如果我阅读正确的话,当有内置的方法来执行有效的统计和科学计算,可能需要几天的学习才能掌握时,您想要执行有损耗的哈希图像处理与猜测相结合?如果是这样,可悲的是,是的。 – hrbrmstr