Python gdal将GeoTIFF文件转化为ESRI Polygon shape文件

# !/user/bin/env python
# -*- coding: utf-8 -*-
"""
++++++++++++++++++++++++++++++++++++++++++++++
基于Python的GDAL库将GeoTIFF文件转化为ESRI Polygon shape文件
 # 注:脚本当前仅能转化单个波段的GeoTIFF file

author: ding xiaosong       time:2021-04-22
+++++++++++++++++++++++++++++++++++++++++++++++\n
"""
from osgeo import gdal, osr, ogr
import os

def polygon_response(raster, poligonized_shp):
    """
    将GeoTIFF转化为polygon shape file
    """
    src_ds = gdal.Open(raster)  # Open GeoTIFF object
    srcband = src_ds.GetRasterBand(1)  # 读取 GeoTIFF band array
    #  create output datasource
    dst_layername = poligonized_shp
    drv = ogr.GetDriverByName("ESRI Shapefile")
    dst_ds = drv.CreateDataSource(dst_layername + ".shp")
    dst_layer = dst_ds.CreateLayer(dst_layername, srs=None)

    gdal.Polygonize(srcband, None, dst_layer, -1, [], callback=None)
    dst_ds.Destroy()


if __name__ == '__main__':
    print(__doc__)
    
    # 函数输入参数
    raster = './Raster.tif' # 读取当前文件家内的tif文件
    poligonized_shp = './Polygon_result'  #保存的shape文件名,保存到当前文件夹内
    # 将文件保存为 Polygon shape file
    polygon_response(raster, poligonized_shp)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值