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" ("GRID","TARGET_OUT_GRID")
(M.fromList [
("grdFlT", ("TARGET_DEFINITION", "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"))
,("gridEsriAsc", (
SagaCmd "io_grid" "0" ("GRID","FILE")
(M.fromList [
]) Nothing Nothing, ".asc"))
,("ascGrd", (
SagaCmd "io_grid" "1" ("FILE","GRID")
(M.fromList [
]) Nothing Nothing, ".sgrd"))
,("gdalGrid", (
SagaCmd "io_gdal" "0" ("FILES", "GRIDS")
(M.fromList [
]) Nothing Nothing, ".sgrd"))
,("gridXyz", (
SagaCmd "io_grid" "5" ("GRIDS","FILENAME")
(M.fromList [
("header",("CAPTION" , "0"))
,("na",("EX_NODATA" , "1"))
]) 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","ascGrd"]
,["gridFillGaps"
,"gridTifGdal"
,"gridPolyClip"
,"gridSlope"
,"gridClassToPoly"
,"gridClassifyFlat"
,"gridEsriAsc"
,"gridTifTerrain"
,"gridXyz"
,"gridHillshade"]))
,("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"],[]))
,("grid-terrain-tif",(["gridTifTerrain"],[]))
,("grid-esri-asc",(["gridEsriAsc"],[]))
,("esri-asc",([],["ascGrd"]))]