def create_gpkg(
gpkg_name, proj_string, size=(1, 1), geotransform=[0, 1, 0, 0, 0, -1],
creation_options=None
):
if os.path.exists("%s.gpkg" % gpkg_name):
sys.stderr.write(
"ERROR: SQLite GeoPackage '%s.gpkg' already exists.\n" % gpkg_name
)
sys.exit(1)
gdal.AllRegister()
drv = gdal.GetDriverByName("GPKG")
try:
gpkg = drv.Create(
"%s.gpkg" % gpkg_name, size[0], size[1], 1, gdal.GDT_Byte,
creation_options
)
proj = osr.SpatialReference()
res = proj.SetWellKnownGeogCS(proj_string)
if res != 0:
if proj_string[0:4] == 'EPSG':
proj.ImportFromEPSG(int(proj_string[5:]))
gpkg.SetProjection(proj.ExportToWkt())
gpkg.SetGeoTransform(geotransform)
gpkg = None
except Exception as e:
sys.stderr.write(
"ERROR: Cannot create SQLite GeoPackage '%s.gpkg'. "
"Error message was: '%s'.\n" % (gpkg_name, e.message)
)
sys.exit(1)
评论列表
文章目录