python 矢量数据转栅格数据

python 矢量数据转栅格数据,第1张

概述from osgeo import gdal,osr,ogr#定义投影sr = osr.SpatialReference(‘LOCAL_CS["arbitrary"]‘)#在内存中创建一个shape文件的图层,含有两个多边形source_ds = ogr.GetDriverByName(‘Memory‘).CreateDataSource( ‘shapefile‘ )source_lyr = so
from osgeo import gdal,osr,ogr#定义投影sr = osr.SpatialReference(‘LOCAL_CS["arbitrary"]‘)#在内存中创建一个shape文件的图层,含有两个多边形source_ds = ogr.GetDriverByname(‘Memory‘).CreateDataSource( ‘shapefile‘ )source_lyr = source_ds.CreateLayer(‘poly‘,srs=sr,geom_type=ogr.wkbpolygon )source_lyr.CreateFIEld(ogr.FIEldDefn(‘TCODE‘,ogr.OFTReal))wkt_geom = [‘polyGON((1020 1030 40,1020 1045 30,1050 1045 20,1050 1030 35,1020 1030 40))‘,‘polyGON((1010 1046 85,1015 1055 35,1055 1060 26,1054 1048 35,1010 1046 85))‘]#栅格值celsius_fIEld_values = [50,200]for i in range(len(wkt_geom)):    feat = ogr.Feature(source_lyr.GetLayerDefn())    feat.SetGeometryDirectly(ogr.Geometry(wkt=wkt_geom[i]))    feat.SetFIEld(‘TCODE‘,celsius_fIEld_values[i])    source_lyr.CreateFeature(feat)#在内存中,创建一个 100*100 大小的1波段的空白图像#‘’代表不往磁盘上写的话,文件名可以是空target_ds = gdal.GetDriverByname(‘MEM‘).Create(‘‘,100,1,gdal.GDT_Byte )target_ds.SetGeotransform( (1000,1100,-1) )target_ds.SetProjection( sr.ExportToWkt())#调用栅格化函数。RasterizeLayer函数有四个参数,分别有栅格对象,波段,矢量对象,TCODE的属性值将为栅格值err = gdal.RasterizeLayer( target_ds,[1],source_lyr,options= ["ATTRIBUTE=TCODE"])#将内存中的图像,存储到硬盘文件上gdal.GetDriverByname(‘GTiff‘).Createcopy(‘rasterized_poly.tif‘,target_ds)del target_dsdel source_ds
总结

以上是内存溢出为你收集整理的python 矢量数据栅格数据全部内容,希望文章能够帮你解决python 矢量数据转栅格数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1190878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存