Questions tagged «raster»

栅格是一种由规则的值网格组成的数据格式,通常以类似图像的格式存储。

2
如何从R中点位置的栅格中提取值?
我的问题是关于从点位置的栅格中提取值。通过函数提取,这非常容易,并且函数为我提供了一个数据帧,其中包含点中所有变量的值。我想在该数据框中具有每个点的坐标。我该如何实现?可以对R说,从栅格中提取值时还要添加位置点的列。 这是我的程序: presencias=read.table("c:/SDM_R/presencias/P_lentiscus_pres.csv",header=TRUE,sep=";") lista_variables <-list.files(path="Variables_modelizacion/solo_ascii",pattern='*.asc',full.names=TRUE) variables <- stack(lista_variables) variables_presencia<-extract(variables, presencias) 结果是这样的: > bio1 bio12 bio18 bio2 bio4 > 90 875 165 95 4886 > 115 1085 158 83 4075 > 135 1153 153 67 3402 > 85 1026 137 99 5203 > 96 667 128 108 5823 > 98 531 …
13 raster  r 

2
使用arcpy.RasterToNumPyArray保持空间参考?
我正在使用ArcGIS 10.1,并想基于两个现有的栅格创建一个新栅格。该RasterToNumPyArray有,我要适应一个很好的例子。 import arcpy import numpy myArray = arcpy.RasterToNumPyArray('C:/data/inRaster') myArraySum = myArray.sum(1) myArraySum.shape = (myArray.shape[0],1) myArrayPerc = (myArray * 1.0)/ myArraySum newRaster = arcpy.NumPyArrayToRaster(myArrayPerc) newRaster.save("C:/output/fgdb.gdb/PercentRaster") 问题在于它会剥夺空间参考以及像元大小。我认为它必须做arcpy.env,但是如何根据输入栅格设置它们呢?我想不明白。 接受卢克的回答,这是我的解决方案。 Luke的两种解决方案都可以正确设置空间参考,范围和像元大小。但是第一种方法不能正确地在数组中传送数据,并且输出栅格到处都填充有nodata。他的第二种方法大多数情况下都有效,但是在我的无数据区域很大的地方,它填充有块状零和255。这可能与我处理nodata单元的方式有关,而且我不太确定自己的操作方式(尽管应该是另一个Q)。我包括了我正在谈论的图像。 #Setting the raster properties directly import arcpy import numpy inRaster0='C:/workspace/test0.tif' inRaster1='C:/workspace/test1.tif' outRaster='C:/workspace/test2.tif' dsc=arcpy.Describe(inRaster0) sr=dsc.SpatialReference ext=dsc.Extent ll=arcpy.Point(ext.XMin,ext.YMin) # sorry that i modify calculation …



2
使用R?随机采样栅格
是否有一种直接采样栅格的简单方法,以便过程的输出是栅格? 我使用的是我在r-sig-geo 列表中找到的示例,并且我还尝试sampleRandom了raster软件包中的功能。这两种方法都产生输出,我不确定如何转换成栅格。搜索“ SpatialPointsDataFrame栅格”的几种组合后,我找不到方法。 library(raster) # read in raster rasterSource <- 'landsat.TIF' r <- raster(rasterSource) # convert to spatial points data frame r.spgrd<-as(r,"SpatialPointsDataFrame") # elminate NA values r.spgrd = r.spgrd[!is.na(r.spgrd[[1]]),] # sample points selectedPoints = sample(1:length(r.spgrd[[1]]), 1000) r.sampled = r.spgrd[selectedPoints,] # try to make spgrd into a raster r.test <- …
13 raster  r 

3
纬度/经度点的PostGIS栅格值
我的PostGIS 2.0数据库中有一个tiff栅格。我想获取指定纬度/经度点的栅格值。 我有: PostgreSQL的9.1 具有栅格支持的postgis-2.0-svn 导入PostGIS的栅格,其SRID为3035
13 postgis  raster  point 


3
有哪些实践可用于模拟土地适宜性?
我目前使用基于“经典”栅格的方法将研究区域划分为像元。所有输入图层都将以相同的像元分辨率转换为栅格,并给出适用性等级。 每个单元的最终适用性等级是通过将每个层的等级与权重相结合来计算的,以反映因素的重要性。 使用最后的遮罩以排除不适合拟议土地用途的任何区域,例如水体。 这种方法的问题包括: 选择一个较大的像元分辨率以提供有意义的结果,或者选择一个高分辨率以提供错误的准确性。 查找每个输入参数的权重。 制作土地适宜性地图是否还有其他问题或替代方法?

1
在R中创建给定栅格的范围和边界的多边形
我想创建两个多边形。 一是我的栅格的矩形范围。我知道我可以使用来获得栅格的范围 r <- raster("band5.tif") e <- extent(r) plot(e): 如何创建栅格边界的一个多边形,如下所示? 这是我的栅格的样子:
13 raster  r  rgdal 

1
将栅格从纬度/经度重新投影到R中的UTM?
我必须将其转换为UTM才能使缓冲区正常工作。 wets<-readOGR(dsn=".",layer="shapefile") r.raster <- raster() extent(r.raster) <- extent(wets) res(r.raster) <- 100 wets.r <- rasterize(wet,r.raster) plot(wets.r) wetsbuf<-buffer(wets.r,width=500) 在缓冲区创建过程中(这是代码的最后一行),它给出以下警告: Warning message: In couldBeLonLat(x) : raster has a longitude/latitude CRS, but coordinates do not match that 这是信息 summary(wets.r) layer Min. 1 1st Qu. 1 Median 2 3rd Qu. 9 Max. 11 NA's 52629 …

1
使用核密度计算R中的道路密度?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我有一个很大的道路图形文件(约70MB),并希望将其转换为每个单元格中具有道路密度的栅格。理想情况下,如有必要,我想在R中与GDAL命令行工具一起使用。 我最初的方法是按照此线程直接计算每个单元格中线段的长度。这样可以产生所需的结果,但是即使对于比我的小得多的shapefile也非常慢。这是一个非常简单的示例,其正确的单元格值显而易见: require(sp) require(raster) require(rgeos) require(RColorBrewer) # Create some sample lines l1 <- Lines(Line(cbind(c(0,1),c(.25,0.25))), ID="a") l2 <- Lines(Line(cbind(c(0.25,0.25),c(0,1))), ID="b") sl <- SpatialLines(list(l1,l2)) # Function to calculate lengths of lines in given raster cell lengthInCell <- function(i, r, l) { r[i] <- 1 rpoly <- rasterToPolygons(r, na.rm=T) lc …

3
使用R中的Polygon shapefile从栅格中提取栅格
我是R的新手,正在使用raster包。我从现有栅格文件中提取多边形时遇到问题。如果我用 extract(raster, poly_shape) 栅格上的函数始终会创建包含数据的列表。我真正想要的是提取另一个可以再次使用ArcGIS加载的栅格文件。阅读更多内容后,我认为裁剪功能才是我真正需要的。但是当我尝试使用此功能时 crop(raster, poly_shape) 我收到此错误: Error in .local(x, y, ...) : extents do not overlap In addition: Warning message: In intersect(extent(x), extent(y)) : Objects do not overlap 这两个函数的文件raster和poly_shape相同。你能告诉我这里有什么问题吗?裁剪功能创建另一个栅格而不是列表是否正确? 编辑:range()函数不适用于我。我仍然遇到相同的错误。但是我确信这两个数据集会重叠!随着 extract(raster, poly_shape) 我从中得到正确的数据。只是列表而不是像我想要的栅格一样。我之前只是将数据集加载到ArcGIS中,它们非常吻合,所以我没有检查投影。现在我尝试 projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs" projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m …
13 raster  shapefile  r  line 

4
在QGIS中,如何从栅格中删除波段?
当我在QGIS中处理栅格时,它将创建第二个波段。频段似乎没有有用的数据。我喜欢使用“栅格颜色”工具,该工具不会接受带上以外的任何其他栅格。 如何删除多余的乐队?
13 raster  qgis 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.