python 矢量转栅格

本文介绍了一种避免使用arcpy缓慢转换的Python方法,通过优化和修改现有代码,封装成函数来将矢量文件高效地转化为栅格。作者分享了经过测试的优化代码,适用于经常用Python处理数据的用户。
摘要由CSDN通过智能技术生成

    虽然利用arcpy.PolygonToRaster_conversion可以将矢量文件转为栅格,但是arcpy的速度令人堪忧,有没有更快更好的办法呢?对于经常用python处理数据的人来说,会优先考虑用python来解决。百度一下“python 将矢量转栅格”,会有别人分享的一些代码,但是有些代码我自己使用后,发现一些bug。于是在他们的基础上,我对代码进行了优化和修改,封装成一个函数,经过自己数据的测试没问题,分享给大家。

import gdal
import ogr
import gdalconst

def Rasterize(input_shp,input_tif,output_tif,field,filed_type,NoValue=-9999):
    """
    input_shp:需要转为栅格的矢量文件(矢量文件路径)
    input_tif:模板栅格,用于读取地理变换信息、栅格大小,将其应用于新的栅格上
    output_tif:输出栅格文件(栅格文件路径)
    field:字符串,栅格值的字段
    filed_type:栅格值类型,一般选择gdal.GDT_Int16,gdal.GDT_Int32,gdal.GDT_Float32,gdal.GDT_Float64等几种类型
    NoValue:整型或浮点型,矢量空白区转换后的值
    """
    data = gdal.Open(input_tif, gdalconst.GA_ReadOnly)
    geo_transform = data.GetGeoTransform()
    proj=data.GetProjection()
    
    open_shp = ogr.Open(input_shp)
    shp_ly = ope
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值