module Gis.Saga.Data where
import Gis.Saga.Types
import Gis.Saga.Utils
import System.Directory (removeFile)
import qualified Data.Map as M
sIoDB :: SagaIoCmdDB
sIoDB = M.fromList [
("xyzGridToGrid", (
SagaCmd "io_grid" "6" ("FILENAME","GRID")
(M.fromList [
("cs", ("CELLSIZE" , "1"))
,("sep", ("SEPARATOR" , "space"))
])
Nothing Nothing
, ".sgrd"
)
)
,("lasToPtCld", (
SagaCmd "io_shapes_las" "1" ("FILE", "POINTS")
(M.fromList []) Nothing Nothing , ".spc"))
,("ptCldToGrid", (
SagaCmd "pointcloud_tools" "4" ("POINTS","GRID")
(M.fromList [
("cs", ("CELLSIZE" , "1"))
])
Nothing Nothing ,".sgrd"))
,("gridFillGaps", (
SagaCmd "grid_spline" "5" ("GRIDPOINTS","GRID_GRID")
(M.fromList [("grdFlT", ("TARGET", "1"))])
(Just copyGrid) Nothing, "_filled.sgrd"))
,("gridHillshade", (
SagaCmd "ta_lighting" "0" ("ELEVATION","SHADE")
(M.fromList []) Nothing Nothing , "_hillshade.sgrd"))
,("gridContour", (
SagaCmd "shapes_grid" "5" ("INPUT","CONTOUR")
(M.fromList [
("min" , ("ZMIN" , "0"))
,("max" , ("ZMAX" , "10000"))
,("d", ("ZSTEP" , "1"))
]) Nothing Nothing, "_contour.sgrd"))
,("gridPolyClip", (
SagaCmd "shapes_grid" "7" ("INPUT","OUTPUT")
(M.fromList [
("poly" , ("POLYGONS" , "1"))
]) Nothing Nothing, "_polyClip.sgrd"))
,("gridTifHillshade", (
SagaCmd "io_grid_image" "0" ("GRID","FILE")
(M.fromList [
("pal" , ("COL_PALETTE", "2"))
,("colRev",("COL_REVERT" , "1"))
,("min",("STRETCH_MIN" , "0"))
,("max",("STRETCH_MAX" , "1.571"))
]) Nothing Nothing, ".tif"))
,("gridTifTerrain", (
SagaCmd "io_grid_image" "0" ("GRID","FILE")
(M.fromList [
("pal" , ("COL_PALETTE", "23"))
,("min",("STRETCH_MIN" , "0"))
,("max",("STRETCH_MAX" , "100"))
,("col",("COLOURING" , "2"))
]) Nothing Nothing, ".tif"))
,("gridTifGdal", (
SagaCmd "io_gdal" "2" ("GRIDS","FILE")
(M.fromList [
]) Nothing Nothing, ".tif"))
,("gdalGrid", (
SagaCmd "io_gdal" "0" ("FILES", "GRIDS")
(M.fromList [
]) Nothing Nothing, ".sgrd"))
,("gridXyz", (
SagaCmd "io_grid" "5" ("GRIDS","FILENAME")
(M.fromList [
]) Nothing Nothing, ".xyz"))
,("polyDissolve", (
SagaCmd "shapes_polygons" "5" ("POLYGONS","DISSOLVED")
(M.fromList [
("method" ,("DISSOLVE" , "0"))
,("f1",("FIELD_1" , "1"))
,("f2",("FIELD_1" , "-1"))
,("f3",("FIELD_1" , "-1"))
])
Nothing Nothing, "_disollved.shp"))
,("gridSlope", (
SagaCmd "ta_morphometry" "0" ("ELEVATION","SLOPE")
(M.fromList [
("aspect" ,("ASPECT" , "aspect"))
])
Nothing Nothing, "_slope.sgrd"))
,("gridClassifyFlat", (
SagaCmd "grid_tools" "15" ("INPUT","RESULT")
(M.fromList [
("method" ,("METHOD" , "2"))
,("table" ,("RETAB" , "reclassify.txt"))
])
(Just (\_ _ -> writeReclassifyTableFlatSlope "reclassify.txt"))
(Just (\_ _ -> removeFile "reclassify.txt"))
, "_reclassified.sgrd"))
,("gridClassToPoly", (
SagaCmd "shapes_grid" "6" ("GRID","POLYGONS")
(M.fromList [
("id", ("CLASS_ID" , "1"))
,("all", ("CLASS_ALL" , "0"))
,("split", ("SPLIT" , "0"))
])
Nothing Nothing, "_polygons.shp"))
]
sNodes :: NodeMap
sNodes =
M.fromList [
("las", ([], ["lasToPtCld"]))
,("gdal", ([], ["gdalGrid"]))
,("ptc", (["lasToPtCld"], ["ptCldToGrid"]))
,("grid", (["ptCldToGrid", "xyzGridToGrid", "gdalGrid"],
["gridFillGaps", "gridTifGdal", "gridPolyClip"
,"gridSlope", "gridClassToPoly", "gridClassifyFlat"]))
,("xyz-grid", ([], ["xyzGridToGrid"]))
,("grid-filled", (["gridFillGaps"],
["gridHillshade", "gridXyz", "gridContour"]))
,("grid-filled-hillshade", (["gridHillshade"], ["gridTifHillshade"]))
,("grid-filled-hillshade-tif", (["gridTifHillshade"], []))
,("grid-hillshade", (["gridHillshade"], ["gridTifHillshade"]))
,("grid-hillshade-tif", (["gridTifHillshade"], []))
,("grid-filled-xyz", (["gridXyz"], []))
,("grid-filled-contour", (["gridContour"], []))
,("grid-polygonClip", (["gridPolyClip"], []))
]