671 """Writes WKT Raster header based on given GDAL into HEX-encoded WKB."""
672 assert ds
is not None,
"Error: Missing GDAL dataset"
674 assert len(ulp) == 2,
"Error: invalid upper-left corner"
676 if xsize
is None or ysize
is None:
677 assert xsize
is None and ysize
is None
678 xsize = ds.RasterXSize
679 ysize = ds.RasterYSize
684 rt_ip = ( ul[0], ul[1] )
685 rt_skew = ( gt[2], gt[4] )
686 rt_scale = ( gt[1] * level, gt[5] * level )
695 hexwkb +=
wkblify(
'B', options.endian)
697 hexwkb +=
wkblify(
'H', options.version)
699 if options.band
is not None and options.band > 0:
702 hexwkb +=
wkblify(
'H', ds.RasterCount)
705 hexwkb +=
wkblify(
'd', rt_scale[0])
706 hexwkb +=
wkblify(
'd', rt_scale[1])
707 hexwkb +=
wkblify(
'd', rt_ip[0])
708 hexwkb +=
wkblify(
'd', rt_ip[1])
709 hexwkb +=
wkblify(
'd', rt_skew[0])
710 hexwkb +=
wkblify(
'd', rt_skew[1])
711 hexwkb +=
wkblify(
'i', options.srid)
718 logit(
"MSG: Georeference: px = %s -> ul = %s \tresolution = %s \trotation = %s\n" \
def check_hex(hex, bytes_size=None)
def wkblify_raster_header(options, ds, level, ulp, xsize=None, ysize=None)
def calculate_geoxy(gt, xy)
def get_gdal_geotransform(ds)