У меня есть файл .shp, и я хотел бы преобразовать его в GEOTIFF. Мой шейп-файл состоит из большого многоугольника с множеством многоугольников внутри. Я использую следующий код, но выходной TIF состоит только из большого многоугольника.
from osgeo import ogr, gdal
import subprocess
InputVector = Shapefile
OutputImage = OutputfileName
gdalformat = 'GTiff'
datatype = gdal.GDT_Byte
burnVal = 1
Shapefile = ogr.Open(InputVector)
Shapefile_layer = Shapefile.GetLayer()
Output = gdal.GetDriverByName(gdalformat).Create(OutputImage, RasterXSize, RasterYSize, 1, datatype, options=['COMPRESS=DEFLATE'])
Output.SetProjection(Projection)
Output.SetGeoTransform(GeoTransform)
Band = Output.GetRasterBand(1)
Band.SetNoDataValue(0)
gdal.RasterizeLayer(Output, [1], Shapefile_layer, burn_values=[burnVal])
subprocess.call("gdaladdo --config COMPRESS_OVERVIEW DEFLATE "+OutputImage+" 2 4 8 16 32 64", shell=True)
Я не уверен, что делаю здесь неправильно.
Спасибо