def extent(dimension, transform):
return [transform[0], transform[0] + dimension[0] * transform[1],
transform[3] + dimension[1] * transform[5], transform[3]]
def bbox(dimension, transform):
return [transform[0], transform[3] + dimension[1] * transform[5],
transform[0] + dimension[0] * transform[1], transform[3]]
def geobox_dsn(dsn, dimension = None, crs = None):
ds = gdal.Open(dsn)
## let user set this (or resolution)
if dimension is None:
dimension = [ds.RasterXSize,ds.RasterYSize]
dsn_crs = ds.GetSpatialRef().ExportToWkt()
bbox_src = bbox([ds.RasterXSize,ds.RasterYSize], ds.GetGeoTransform())
## allow user override (not transform)
if crs is None:
crs = dsn_crs
ds = None
return GeoBox.from_bbox(bbox_src, shape = dimension, crs = crs)
from odc.geo.geobox import GeoBox
from osgeo import gdal
dsn = "/vsicurl/https://gebco2023.s3.valeria.science/gebco_2023_land_cog.tif"
geobox_dsn(dsn)
geobox_dsn("/vsicurl/https://raw.githubusercontent.com/mdsumner/rema-ovr/main/REMA-2m_dem_ovr.vrt", dimension = [2725, 2921])
Created
April 19, 2024 00:32
-
-
Save mdsumner/0027a8b71f66f9d707e3a101b37c0089 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment