diff --git a/api/app/core/viewshed.py b/api/app/core/viewshed.py index 6bcbd21..7e7eff9 100644 --- a/api/app/core/viewshed.py +++ b/api/app/core/viewshed.py @@ -98,6 +98,7 @@ def _run_gdal_viewshed( observer_y: float, observer_height: float, target_height: float, + max_distance: float, output_path: Path, gdal_bin: str, ) -> None: @@ -111,6 +112,8 @@ def _run_gdal_viewshed( str(observer_height), "-tz", str(target_height), + "-md", + str(max_distance), "-vv", "255", "-iv", @@ -199,19 +202,13 @@ def compute_viewshed( request.radius_m, metric_dem, ) - with rasterio.open(source_tile) as source_dataset: - observer_elevation = _sample_dataset( - source_dataset, - observer.lat, - observer.lon, - ) - observer_abs = float(observer_elevation or 0.0) + request.observer.height_agl _run_gdal_viewshed( metric_path, observer_x, observer_y, - observer_abs, + request.observer.height_agl, request.target_height_agl, + request.radius_m, viewshed_raster, gdal_viewshed_bin, )