使用QGIS将矢量层转换为栅格?


27

在栅格菜单的qgis中,有一个“ 将向量转换为栅格 ”项。

这表现得很奇怪-我不明白它应该如何工作。

我可以选择一个矢量文件,一个属性和一个输出栅格。但是,由于某种原因,只有存在的情况下才接受输出文件,即使我选择了现有的栅格,也似乎什么也没有发生。

我也不明白程序如何知道要创建哪种栅格,像元大小,投影等。

如何将向量转换为栅格?

Answers:


14

将Vector转换为Raster会包装GDAL的gdal_rasterize,直到版本1.8.0才创建输出栅格。因此,像元大小,投影等由栅格而不是命令行选项确定。

这肯定是Catch-22,因为GDAL没有创建空图像的简便方法。您可以尝试在绘画程序中为左上角和右下角创建两个单像素图像,对它们运行gdal_translate以对其进行地理配准,然后从这些图像创建VRT,最后使用gdal_translate将VRT转换为GeoTIFF或类似图像,但可以肯定的很痛苦!

更好的选择是升级到GDAL> = 1.8.0并使用gdal_rasterize 的new -tr-te参数。


1
谢谢,这有效。我将ubuntu 11.10(oneiric)上的gdal更新为1.9版“不稳定”。不太容易,请参阅launchpad.net/~ubuntugis/+archive/ubuntugis-unstable。然后我可以从qgis raster-menu-> convert-> rasterize获得正确的命令行语法。在linux命令行上,我添加了-tr和-te并得到了栅格,而没有先创建“空的”。
stn 2012年

6

您还可以使用SAGA GIS(也像QGIS这样的开源软件)-在Modules / Grid / Gridding / Shapes中有一个工具可以进行网格化。我对GRASS并不熟悉,而栅格工具对我来说QGIS还远远不够,因此我将QGIS与SAGA一起使用,并且效果很好。


1
立即查看saga-gis。在ubuntu saga上,可以从源代码(sourceforge.net/projects/saga-gis/files)编译2.0.8 版,也可以从PPA(sourceforge.net/apps/trac/saga-gis/ wiki / Binary%20Packages)。显然,大多数GIS文件类型都必须导入(请参见saga-gis-wiki)。在这方面,QGIS更好一些,因为它无需进行转换即可直接打开大多数gis文件。但是,如果saga-gis的工具更好,那无疑是saga-gis的一个很好的论据。
stn 2012年

1
第一印象:tools-collection巨大:-)
stn 2012年

2
这东西很难在Mac上安装
boulder_ruby 2014年

1
您也可以通过qgis处理工具箱访问此模块。只需搜索形状即可。
user55937 '02

5

这里有很好的答案,我知道这个问题有点老了,但这只是为了帮助完整性,这是另一种方法。您也可以使用v.to.rast。* GRASS模块,这些模块可通过QGIS中的“处理”工具箱获得。它使您可以设置栅格分辨率和范围。 在此处输入图片说明


1
GRASS GIS 7.0.5不允许我在v.to.rast中选择像元大小。我的第一次不起眼的尝试使我总共得到了10个像素,用于面积为5平方公里的矢量轮廓线。我猜我必须在某个地方创建栅格分辨率?
亚历克斯(Alex)

1
当您说它不允许您选择像元大小时,gui是否不允许您输入数字,还是只是忽略了您输入的分辨率?另外,您是长期工作还是预期的crs?
user55937'4

-1

如果您是arcgis用户,则可以使用“ 要素转栅格”工具执行此操作。

ArcToolbox>转换工具>到栅格>要素到栅格

从对话框中,按照以下说明进行操作。

The vector dataset
The field to assign values to features
The output raster name and location
The cell size for the output raster dataset

希望对您有帮助


1
是的我知道。不幸的是,这里没有可用的arcgi,对我来说太昂贵了:-) GRASS也具有这些功能,但是我发现QGIS非常容易处理。
stn 2012年
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.