PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ wkblify_raster()

raster2pgsql.wkblify_raster (   options,
  infile,
  i,
  previous_gt = None 
)
Writes given raster dataset using GDAL features into HEX-encoded of
WKB for WKT Raster output.

Definition at line 924 of file raster2pgsql.py.

924def wkblify_raster(options, infile, i, previous_gt = None):
925 """Writes given raster dataset using GDAL features into HEX-encoded of
926 WKB for WKT Raster output."""
927
928 assert infile is not None, "Input file is none, expected file name"
929 assert options.version == g_rt_version, "Error: invalid WKT Raster protocol version"
930 assert options.endian == NDR, "Error: invalid endianness, use little-endian (NDR) only"
931 assert options.srid >= -1, "Error: do you really want to specify SRID = %d" % options.srid
932
933 # Open source raster file
934 ds = gdal.Open(infile, gdalc.GA_ReadOnly);
935 if ds is None:
936 sys.exit('Error: Cannot open input file: ' + str(infile))
937
938 # By default, translate all raster bands
939
940 # Calculate range for single-band request
941 if options.band is not None and options.band > 0:
942 band_range = ( options.band, options.band + 1 )
943 else:
944 band_range = ( 1, ds.RasterCount + 1 )
945
946 # Compare this px size with previous one
947 current_gt = get_gdal_geotransform(ds)
948 if previous_gt is not None:
949 if previous_gt[1] != current_gt[1] or previous_gt[5] != current_gt[5]:
950 sys.exit('Error: Cannot load raster with different pixel size in the same raster table')
951
952 # Generate requested overview level (base raster if level = 1)
953 summary = wkblify_raster_level(options, ds, options.overview_level, band_range, infile, i)
954 SUMMARY.append( summary )
955
956 # Cleanup
957 ds = None
958
959 return current_gt
960
#define str(s)