Questions tagged «raster»

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

3
有条件地将值分配给相邻的栅格像元吗?
我有一个值栅格: m <- matrix(c(2,4,5,5,2,8,7,3,1,6, 5,7,5,7,1,6,7,2,6,3, 4,7,3,4,5,3,7,9,3,8, 9,3,6,8,3,4,7,3,7,8, 3,3,7,7,5,3,2,8,9,8, 7,6,2,6,5,2,2,7,7,7, 4,7,2,5,7,7,7,3,3,5, 7,6,7,5,9,6,5,2,3,2, 4,9,2,5,5,8,3,3,1,2, 5,2,6,5,1,5,3,7,7,2),nrow=10, ncol=10, byrow = T) r <- raster(m) extent(r) <- matrix(c(0, 0, 10, 10), nrow=2) plot(r) text(r) 从该栅格中,如何根据此插图为当前像元的8个相邻像元分配值(或更改值)?我从此代码行在当前单元格中放置了一个红点: points(xFromCol(r, col=5), yFromRow(r, row=5),col="red",pch=16) 在这里,预期结果将是: 其中当前像元的值(即值栅格中的5)被替换为0。 总体而言,必须按以下方式计算8个相邻像元的新值: 新值=红色矩形中包含的单元格值的平均值*当前单元格(红色点)与相邻单元格之间的距离(即,对角线相邻单元格的sqrt(2)或其他情况下的1) 更新资料 当相邻像元的边界超出栅格限制时,我需要计算尊重条件的相邻像元的新值。不遵守条件的相邻单元将等于“ NA”。 例如,如果使用[row,col]表示法的参考位置是c(1,1)而不是c(5,5),则只能计算右下角的新值。因此,预期结果将是: [,1] [,2] [,3] [1,] NA NA NA [2,] …
12 raster  r  adjacency 

1
为什么RasterLayer的@ data @ values插槽仅包含逻辑(0)而不包含实际值?
试图弄清楚为什么,当我在读取NDVI栅格时,@ data @ values插槽不包含实际值,除非手动设置它们。例如: NDVI <- raster("./filename.tif", crs="+proj=longlat +datum=WGS84") NDVI@data@values ## returns: logical(0) 使用相同方法加载的其他栅格并没有发生这种情况,因此感到困惑。我希望我可以更具体一些,但我不记得之前做过任何不同的事情。使用以下命令手动获取值很容易: NDVI1@data@values <- getValues(NDVI19east) 但是,对于每个文件都必须这样做。因此,分为两部分: 为什么首先发生这种情况?我知道这可能与栅格文件的存储方式有关(即是否存储在内存中),但是我真的不明白这将如何改变我应该使用的访问数据的方法... 是否有一种方法可以自动执行此过程(也许使用类似于lapply的方法)以将文件读取为RasterLayers并访问这些文件的值?我目前的项目涉及一次读取6-10个文件以获取NDVI,降雨和其他环境变量,以将它们组合并执行一些加权叠加。自动化导入数据的过程将很有帮助。
12 raster  r  memory 

1
ArcGIS Raster Mosaic数据集和GDAL VRT,何时使用?
ArcGIS Desktop具有一个Raster Mosaic数据集,QGIS和朋友具有Virtual Raster Tables。 该文档的摘要显示了很多相似之处。它们都可以创建或启用位于其他位置的数据的替代表示,而无需实际创建新映像。示例包括从许多图块创建单个无缝图像而没有实际创建单个图像,或者混合匹配通道或从结果中选择性删除值范围,等等。 这种相似性延伸到多远?RMD是否启用了VRT无法实现的功能?这些是什么?用RMD无法做到的VRT有什么用? 简而言之,假设使用两个工具链都能获得平等的使用权和舒适度,那么一个人何时应该使用栅格镶嵌数据集,什么时候虚拟栅格表才是日常事务?

1
地理配准时有关GCP数量的一些理论是什么?
只是想知道,拥有三个以上的GCP总是更好吗?GCP是否应平均分布?在哪里可以找到有关该理论的一般资源?除了试用错误外,它只是教会我当时什么时候起作用,而不是在给定情况下应该起作用。并不重要,但只是感兴趣。

3
GDAL和Python:如何获取具有特定值的所有单元格的坐标?
我有一个Arc / Info Binary Grid(具体地说,是ArcGIS流累积栅格),并且我想识别所有具有特定值(或值范围)的像元。最终,我想要一个表示这些单元的点的shapefile。 我可以使用QGIS打开hdr.adf并获得此结果,工作流程为: QGIS>栅格菜单>栅格计算器(用目标值标记所有点) QGIS>栅格菜单>多边形 QGIS>矢量菜单>几何子菜单>多边形形心 编辑质心以删除不需要的多质心(这些质心= 0) 这种方法“完成了任务”,但是对我来说并不有吸引力,因为它创建了两个我必须删除的文件,然后我必须从形心的shapefile中删除不需要的记录(即那些= 0)。 一个现有的问题可以解决这个问题,但是它是针对ArcGIS / ArcPy量身定制的,我想留在FOSS领域。 是否有人拥有可查询栅格像元值的现有GDAL / Python配方/脚本,并且在找到目标值(或目标范围内的值)时,将记录添加到shapefile中?这样不仅可以避免与UI的交互,而且还可以通过一次创建干净的结果。 我通过与Chris Garrard的一个演示文稿进行对比而对此进行了射击,但是光栅工作不在我的操盘手,并且我不想用我的弱代码使问题变得混乱。 如果有人希望使用确切的数据集,我将它作为.zip放在这里。 [编辑注释]留给后代保留。请参阅与om_henners的评论交流。基本上,x / y(行/列)值被翻转。最初的答案是这样的: (y_index, x_index) = np.nonzero(a == 1000) 倒像这样: (x_index, y_index) = np.nonzero(a == 1000) 当我第一次遇到屏幕快照中说明的问题时,我想知道我是否正确地实现了几何图形,并通过在此行中翻转x / y坐标值进行了实验: point.SetPoint(0, x, y) ..如.. point.SetPoint(0, y, x) 但是那没有用。而且我不认为尝试翻转om_henners的Numpy表达式中的值,是错误地认为在任一行上翻转它们都是等效的。我认为真正的问题分别与x_size和y_size值有关,当行和列索引用于计算单元格的点坐标时,将应用和。30-30 [原始编辑] …
12 python  raster  gdal 

1
GDAL RasterizeLayer不会将所有多边形刻录到Raster吗?
我正在尝试使用GDAL的RasterizeLayer将shapefile刻录到栅格。给定特定的像素大小,我从另一个shapefile中预先创建了一个感兴趣的区域栅格。然后,此AOI将用作所有后续栅格化(相同数量的列和行,相同的投影和地理转换)的基础。 但是,当我基于相同的像素大小和投影将形状刻录到自己的栅格时,会发生问题。下面的链接(没有足够的代表来发布图像),以棕褐色显示原始shapefile,以及RasterizeLayer刻录数据的深粉红色。浅粉红色是深粉红色栅格数据的nodata值。灰色是完成形状文件刻录的AOI。 给定shapefile多边形的范围,我希望看到底部两个角处的刻录值,以及显示的数据下方的两个像素。但是,显然不是这种情况。 以下是我用来生成这些代码的代码。所有形状都是使用QGIS创建的,并且都在同一投影中创建。(应该注意的是,所示图片中的网格只是用来说明我所使用的像素大小。) from osgeo import ogr from osgeo import gdal aoi_uri = 'AOI_Raster.tif' aoi_raster = gdal.Open(aoi_uri) def new_raster_from_base(base, outputURI, format, nodata, datatype): cols = base.RasterXSize rows = base.RasterYSize projection = base.GetProjection() geotransform = base.GetGeoTransform() bands = base.RasterCount driver = gdal.GetDriverByName(format) new_raster = driver.Create(str(outputURI), cols, rows, bands, datatype) new_raster.SetProjection(projection) …

1
将栅格数据转换为面数据
我正在尝试将栅格数据转换为面数据。以前,我使用shapefile.py在栅格上的各个纬度/经度上创建点数据。但这将创建大量数据,而对其进行查询将是一个大问题。 因此,如果能够将栅格数据转换为多边形数据会更好。我能够找到SAGA,但似乎它只能转换.grd文件。有没有一种方法可以将GeoTIFF格式或栅格数据集一般转换为Polygon? 更新:使用gdal_polygonize.py 我正在执行以下代码行, gdal_polygonize.py ~/development/Biodiversity/biodiversity/GeoTIFF/bio11.tif -f "ESRI Shapefile" bio11.shp 但是我收到以下错误。我的gdal版本是1.9.0。 Traceback (most recent call last): File "/usr/bin/gdal_polygonize.py", line 34, in <module> import gdal, ogr, osr File "/usr/lib/python2.7/dist-packages/gdal.py", line 2, in <module> from osgeo.gdal import deprecation_warn File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 21, in <module> _gdal = swig_import_helper() File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 17, in …

1
了解QGIS栅格地形分析的曲率滤波器?
我已经阅读了几个QGis-1.7.4栅格滤波器的源代码,这些栅格滤波器计算斜率,纵横比和曲率。 过滤器中有一个计算总曲率的公式令我困惑。 源文件位于QGis的当前版本中,具有以下路径: qgis-1.7.4 / src / analysis / raster / qgstotalcurvaturefilter.cpp 该过滤器的目的是在九单元格窗口中计算表面的总曲率。功能代码如下: float QgsTotalCurvatureFilter::processNineCellWindow( float* x11, float* x21, float* x31, float* x12, float* x22, float* x32, float* x13, float* x23, float* x33 ) { ... some code deleted ... double dxx = ( *x32 - 2 * *x22 + …

4
将接触角的多边形合并为一个要素
我已经从栅格创建了一个多边形图层,并且每个多边形只有一个分类ID(和计算的英亩数)。我想将所有接触的特征“溶解”为较大的单个多边形。以红色圈出的3个区域(如下)包含仅接触正方形点的绿色多边形/像素。直观地(从最终用户的角度来看),应该将圆圈区域内的所有绿色多边形连接起来并视为一个多边形,因为在要素/单元格不接触的地方没有“中断”。 使用ArcGIS完成“合并”或“溶解”所有这些功能的最佳方法是什么?我有ArcInfo和Spatial Analyst扩展。如果在Spatial Analyst中有更好的方法可以做到这一点,我也可以用这种方式预处理多边形。

1
随机改变栖息地类型的栅格图?
我有一个苏格兰特定地区的栖息地类型栅格。我需要通过改变栖息地来创建未来的栖息地场景,以评估鸟类的种群生存力。 例如,将来该地区的林业可能会增加10%。我想通过以一定大小的块随机添加林业来更改当前地图。到目前为止,我正在沿着从栅格中选择随机点的思路进行思考,以识别可能发生林业的区域,并使用某种细胞自动机来生长正确大小的块。 这似乎是解决此问题的最佳方法吗?有没有更好的方法? 如果这是最好的方法,那么我该如何在R中做到这一点呢?(我目前正在与CellularAutomata包一起查看“ spatstat”中的rpoints函数) 如果它们中有更简单的方法,我也可以访问GRASS,QGis和ArcMap 10。
12 raster  r 

5
如何在不使用大幅面扫描仪的情况下扫描大型纸质地图?
人们有没有一种方法可以在不使用大幅面扫描仪的情况下将纸质地图作为栅格导入。我不想剪地图。我想知道人们使用像普通数码相机这样的东西取得了多少成功,以及他们使用了什么软件来处理图像到我可以对其进行地理参考的程度。我什至可以尝试使用诸如Microsoft的photoynth软件或佳能拼接软件之类的工具。
12 raster 

4
比较LAS文件中的两个数字高程模型(DEM)?
我有两个LiDAR文件(.las),其中一个是原始的X点。另一个是第一个.las文件的副本,但是具有Y点,其中Y小于X。 现在,我想比较这两个.las文件的数字高程模型(DEM),并可视化它们之间的差异。 我想获取诸如RMSE,标准偏差之类的信息,以及其他类型的比较。 如果有人能告诉我什么软件以及获取比较信息的方式,我将不胜感激。


6
由于没有数据像素,无法对栅格求和
我有一组包含每日土壤湿度数据的栅格(.vrt)。我想对所有栅格的像素求和,以便按月进行度量。但是,每天都没有覆盖整个世界,这导致在前几天存在度量的地方没有数据值。 我想做的是对每个栅格的值求和。但是,似乎每当无数据像素合计时,结果像素就被直接分类为无数据。我想相反:忽略所有nodata值并求和其余值。 我想到了两种解决问题的方法: 汇总栅格而忽略nodata值 将无数据像素转换为值0,然后将所有栅格相加 不幸的是,我找不到任何工具可以做到这一点。 谁能帮我?
12 raster  gdal  qgis-2 

3
相当于gdalbuildvrt的Python
有没有一种方法可以使用GDAL Python绑定执行与gdalbuildvrt实用程序相同的任务?到目前为止,除了创建单个数据集的vrt和手动编辑xml之外,我没有找到任何其他方法。我想从多个栅格创建vrt(本质上是执行镶嵌)。使用纯Python是否可能?我的另一个选择是使用子进程简单地调用gdalbuildvrt。

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.