832 assert ds
is not None
834 assert len(band_range) == 2
836 band_from = band_range[0]
837 band_to = band_range[1]
840 raster_size = ( ds.RasterXSize, ds.RasterYSize )
841 if options.block_size
is not None:
843 read_block_size = ( block_size[0] * level, block_size[1] * level)
846 block_size = raster_size
847 read_block_size = block_size
850 logit(
"MSG: Processing raster=%s using read_block_size=%s block_size=%s of grid=%s in level=%d\n" % \
851 (
str(raster_size),
str(read_block_size),
str(block_size),
str(grid_size), level))
855 if i == 0
and options.create_table:
857 pixel_size = ( gt[1], gt[5] )
862 pixel_size, block_size, extent)
863 options.output.write(sql)
864 gen_table = options.table
871 level_table_name =
'o_' +
str(level) +
'_' + schema_table_names[1]
872 level_table = schema_table_names[0] +
'.' + level_table_name
875 options.output.write(sql)
877 options.output.write(sql)
878 gen_table = level_table
884 for ycell
in range(0, grid_size[1]):
885 for xcell
in range(0, grid_size[0]):
887 xoff = xcell * read_block_size[0]
888 yoff = ycell * read_block_size[1]
890 logit(
"MSG: --------- CELL #%04d\tindex = %d x %d\tdim = (%d x %d)\t(%d x %d) \t---------\n" % \
891 (tile_count, xcell, ycell, xoff, yoff, xoff + read_block_size[0], yoff + read_block_size[1]))
893 if options.block_size
is not None:
896 block_size[0], block_size[1])
900 for b
in range(band_from, band_to):
901 band = ds.GetRasterBand(b)
902 assert band
is not None,
"Missing GDAL raster band %d" % b
903 logit(
"MSG: Band %d\n" % b)
906 hexwkb +=
wkblify_band(options, band, level, xoff, yoff, read_block_size, block_size, infile, b)
911 options.output.write(sql)
913 tile_count = tile_count + 1
915 return (gen_table, tile_count)
def check_hex(hex, bytes_size=None)
def make_sql_create_table(options, table=None, is_overview=False)
def make_sql_insert_raster(table, rast, hexwkb, insert_filename, file)
def wkblify_raster_level(options, ds, level, band_range, infile, i)
def wkblify_raster_header(options, ds, level, ulp, xsize=None, ysize=None)
def parse_block_size(options)
def wkblify_band_header(options, band)
def make_sql_register_overview(options, ov_table, ov_factor)
def get_gdal_geotransform(ds)
def make_sql_addrastercolumn(options, pixeltypes, nodata, pixelsize, blocksize, extent)
def make_sql_schema_table_names(schema_table)
def calculate_bounding_box(ds, gt)
def calculate_grid_size(raster_size, block_size)
def collect_nodata_values(ds, band_from, band_to)
def wkblify_band(options, band, level, xoff, yoff, read_block_size, block_size, infile, bandidx)
def collect_pixel_types(ds, band_from, band_to)