Questions tagged «rasterization»


2
使用GDAL在Python中按功能分割shapefile?
是否有可能在python中按功能分割一个shapefile?(最好是将临时生成的矢量对象临时保存到内存而不是磁盘的解决方案)。 原因:我想将gdal rasterizeLayer函数与shapefile的几个不同子集一起使用。该函数需要一个osgeo.ogr.Layer对象。 mkay,我尝试了一下,它可能如下工作。您可以按以下方式获取每个要素的gdal图层对象的几何形状。 # Load shape into gdal shapefile=str(vectorPath) layer_source = ogr.Open(shapefile) lyr = layer_source.GetLayer(0) for i in range(0,lyr.GetFeatureCount()): feat = lyr.GetFeature(i) ge = feat.geometry() 现在,我只需要知道如何基于此几何形状创建osgeo.ogr.layer对象。 为了澄清。我需要使用纯Ogr / gdal代码编写的函数!这似乎也引起了其他人的兴趣,我仍然希望没有任何辅助模块的解决方案(尽管来自此处的任何解决方案都将在免费的可用qgis插件中使用)。

6
将线shapefile转换为栅格,值=像元中线的总长度
我有一个代表道路网络的shapefile文件。我希望对该数据进行栅格化,栅格中的结果值显示了落入栅格像元内的线的总长度。 数据在英国国家网格投影中,因此单位将是米。 理想情况下,我想使用来执行此操作R,并且我猜测程序包中的rasterize功能raster将在实现此功能中起作用,我只是无法弄清楚应应用的功能。
14 raster  r  line  rasterization 

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) …

5
在每个像元记录着大海距离的地方创建栅格?
我想创建一个分辨率为25米×25米的栅格,其中每个像元包含到最近的海岸线的距离,该距离是根据像元的中心计算的。为此,我所拥有的只是新西兰海岸线的形状文件。 我已经尝试按照Dominic Roye的教程在R中完成此工作,这有点...。可以将分辨率降低到大约1 km×1 km,但是如果我尝试将RAM调高一点,它的需求将远远超出PC上的可用内存(需要约70 gb的RAM)或其他我也可以访问的内存。这么说,我认为这是R的局限性,我怀疑QGIS可能具有创建此栅格的计算效率更高的方式,但我对此并不陌生,我还不太清楚如何做到这一点。 我已尝试使用QGIS在创建具有一定距离的要素之后进行栅格化?在QGIS中创建它,但返回此错误: _core.QgsProcessingException:无法为INPUT加载源层:C:/..../ Coastline / nz-coastlines-and-islands-polygons-topo-150k.shp未找到 我不知道为什么。 是否有人对可能出什么问题或采取其他替代方法有任何建议? 编辑: 我希望生成的栅格大约有59684行和40827列,以便与LINZ 的年度缺水栅格重叠。如果生成的栅格大于年度缺水栅格,我可以在R中进行剪裁... 我认为可能是一个潜在的问题是,新西兰海岸线的形状文件在各岛之间有大量海洋,因此我对计算这些单元到海岸的距离不感兴趣。我真的只想计算包含某些区域的单元格的值。我不确定如何执行此操作,或者是否确实存在问题。

1
使用R处理向量以更快地栅格化
我正在将向量转换为R中的栅格。但是,过程太长了。是否可以将脚本放入多线程或GPU处理中以使其更快地执行? 我的脚本栅格化矢量。 r.raster = raster() extent(r.raster) = extent(setor) #definindo o extent do raster res(r.raster) = 10 #definindo o tamanho do pixel setor.r = rasterize(setor, r.raster, 'dens_imov') 光栅 类:RasterLayer尺寸:9636、11476、110582736(nrow,ncol,ncell)分辨率:10、10(x,y)范围:505755、620515、8555542、8651792(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = longlat + datum = WGS84 + ellps = WGS84 + towgs84 = 0,0,0 设定者 类:SpatialPolygonsDataFrame功能:5419范围:505755,620515.4,8555429,8651792(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = utm …

2
将几个SpatialPointsDataFrames转换为栅格
我的工作区中有100个SpatialPointsDataFrames。我以这种方式加载它们: filenames <- list.files(path="", pattern="XYhectareTravelTimes_ez+.*shp") for(i in filenames){ filepath <- file.path("/",i) assign(i, readShapePoints(filepath)) 他们这样称呼: XYhectareTravelTimes_ez10.*shp XYhectareTravelTimes_ez11.*shp XYhectareTravelTimes_ez12.*shp 等等 如何将它们转换为在工作区中循环的栅格? 我是R用户的新手,希望能找到一些帮助。非常感谢。
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.