矢量数据(shp)转栅格数据(tiff)

在ArcMap中完成遥感影像的地物标签勾绘并保存为shp文件后,为了制作数据集,可以使用arcgis的转换工具,具体是通过‘转为栅格’->‘要素转栅格’功能,将shp文件转换为tiff影像格式,以便于后续处理和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遥感影响数据集制作之shp转tiff

【目的:在用arcmap勾绘好遥感影像对应的地物标签后,是以shp文件形式存在的。要想进一步制作成数据集的话,就需要将其转换为tiff影像,便于对标签影像数据进行后续操作】

步骤:

用arcgis直接转:

打开工具箱【转换工具--转为栅格--要素转栅格】

输入shp即可:

over:

在Python中进行栅格shp并添加多个字段可以使用GDAL和OGR库来完成。首先需要加载需要使用的库,然后使用GDAL库中的Open函数打开需要进行换的栅格文件,这个文件可能是一个tiff、img等格式的影像文件。 接着使用GDAL中的Rasterize函数将栅格文件换成为矢量Shapfile文件,并通过OGR库打开需要进行添加字段的Shapefile文件,使用AddField函数向打开的Shapefile文件中添加需要的多个字段。 例如以下代码段可以实现一个300*300像素的随机栅格生成,经过换并添加"ID","value","type"三个字段的Shapefile文件: ``` from osgeo import gdal, ogr import random cols = 300 rows = 300 driver = gdal.GetDriverByName('GTiff') outRaster = driver.Create("random_raster.tif", cols, rows, 1, gdal.GDT_Byte) outRaster.SetProjection('WGS84') outRaster.SetGeoTransform((-75.8145, 0.01, 0, 39.5501, 0, -0.01)) for i in range(rows): for j in range(cols): outBand.WriteArray(random.randint(0, 255), j, i) outRaster.FlushCache() del outRaster inRaster = gdal.Open("random_raster.tif") outShapefile = "random_shp.shp" driver = ogr.GetDriverByName("ESRI Shapefile") outDatasource = driver.CreateDataSource(outShapefile) outLayer = outDatasource.CreateLayer("random", geom_type=ogr.wkbPoint) # 添加字段 outLayer.CreateField(ogr.FieldDefn("ID", ogr.OFTInteger)) outLayer.CreateField(ogr.FieldDefn("value", ogr.OFTReal)) outLayer.CreateField(ogr.FieldDefn("type", ogr.OFTString)) gdal.RasterizeLayer(outLayer, [1], inRaster, burn_values=[0], options=["ATTRIBUTE=ID"]) outDatasource.FlushCache() del outDatasource ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都是被迫学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值