ngageoint / sarpy

A basic Python library to demonstrate reading, writing, display, and simple processing of complex SAR data using the NGA SICD standard.
MIT License
262 stars 87 forks source link

Handle partial DEM data. #527

Closed kjurka closed 4 months ago

kjurka commented 4 months ago

When creating a DTEDInterpolator where we only have DEM tiles for part of the area covered by the lat_lon_box, sarpy has problems geolocating points without DEM tiles. Handle this by falling back to the reference geoid as we would if we didn't have any DEM at all.

File "/share/home/kjurka@emagsys.com/git/kjurka/sarpy/sarpy/geometry/point_projection.py", line 1248, in image_to_ground return image_to_ground_dem( File "/share/home/kjurka@emagsys.com/git/kjurka/sarpy/sarpy/geometry/point_projection.py", line 1949, in image_to_ground_dem coords[mask, :] = _image_to_ground_dem_block( File "/share/home/kjurka@emagsys.com/git/kjurka/sarpy/sarpy/geometry/point_projection.py", line 1784, in _image_to_ground_dem_block min_dem = dem_interpolator.get_min_hae(padded_box) - 10 File "/share/home/kjurka@emagsys.com/git/kjurka/sarpy/sarpy/io/DEM/DTED.py", line 786, in get_min_hae return self.get_min_geoid(lat_lon_box=lat_lon_box) + self._get_ref_geoid(lat_lon_box) File "/share/home/kjurka@emagsys.com/git/kjurka/sarpy/sarpy/io/DEM/DTED.py", line 800, in get_min_geoid return float(min(value for value in obs_mins if value is not None)) ValueError: min() arg is an empty sequence

pressler-vsc commented 4 months ago

Good find @kjurka. Closing this PR in deference to the revised approach in #531