Skip to content

Commit

Permalink
Remove duplicate code
Browse files Browse the repository at this point in the history
  • Loading branch information
breki committed Jun 3, 2024
1 parent 1b85716 commit 62a7042
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 50 deletions.
50 changes: 1 addition & 49 deletions Demeton.Tests/Aw3d/AW3D experiments.fs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,10 @@

open Demeton.Commands
open Demeton.Geometry.Common
open Demeton.Dem.Funcs
open Demeton.Projections.PROJParsing
open Demeton.Shaders
open Demeton.Aw3d.Types
open Demeton.Aw3d.Funcs
open FsUnit
open Png
open Raster
open Tests.Shaders
open Xunit
open TestHelp
Expand Down Expand Up @@ -44,50 +40,6 @@ let options: ShadeCommand.Options =
IgnoredParameters = [] } }


// todo 10: move this to the command module?
let fetchAw3dHeightsArray _ _ =
let tileDownloadingResult = ensureAw3dTiles CacheDir area

match tileDownloadingResult with
| Ok tilesIds ->
let tilesHeightsArrays =
tilesIds |> Seq.map (readAw3dTile CacheDir) |> Seq.toList

// calculate mergedArrayBounds for the given area
let projectedCoveragePoints =
coveragePoints
|> List.map (fun (lon, lat) ->
mapProjection.Proj (lon |> degToRad) (lat |> degToRad))
|> List.choose id

let deprojectedCoveragePoints =
projectedCoveragePoints
|> List.map (fun (x, y) -> mapProjection.Invert x y)
|> List.choose id

let cellsPerDegree = Aw3dTileSize

// now convert lon, lat to DEM coordinates
let coveragePointsInDemCoords =
deprojectedCoveragePoints
|> List.map (fun (lon, lat) ->
let cellX = lon |> radToDeg |> longitudeToCellX cellsPerDegree
let cellY = lat |> radToDeg |> latitudeToCellY cellsPerDegree
(cellX, cellY))

let demMbr = Demeton.Geometry.Bounds.mbrOf coveragePointsInDemCoords

let mergedArrayBounds =
Rect.asMinMax
((demMbr.MinX |> floor |> int) - 1)
((demMbr.MinY |> floor |> int) - 1)
((demMbr.MaxX |> ceil |> int) + 1)
((demMbr.MaxY |> ceil |> int) + 1)

merge mergedArrayBounds tilesHeightsArrays |> Result.Ok
| Error message -> Result.Error message


[<Fact(Skip = "downloads the tile so it takes too long")>]
let ``Generate hillshading from AW3D`` () =
let pixelShader =
Expand All @@ -102,7 +54,7 @@ let ``Generate hillshading from AW3D`` () =

let generateTile =
ShadeCommand.generateShadedRasterTile
[| fetchAw3dHeightsArray |]
[| TileShadeCommand.fetchAw3dHeightsArray mapProjection CacheDir |]
createShaderFunction

let saveTile =
Expand Down
2 changes: 1 addition & 1 deletion Demeton.Tests/WorldCover/WorldCover experiments.fs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ let ``Render hillshading with WorldCover water bodies`` () =
waterBodiesHeightsArray |> Some |> Result.Ok

let heightsArraysFetchers =
[| Tests.Aw3d.``AW3D experiments``.fetchAw3dHeightsArray
[| TileShadeCommand.fetchAw3dHeightsArray mapProjection cacheDir
fetchWorldCoverHeightsArray |]

let createShaderFunction shaderFunctionName =
Expand Down

0 comments on commit 62a7042

Please sign in to comment.