[Git][debian-gis-team/saga][upstream] New upstream version 9.6.2+dfsg

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Tue Dec 3 06:52:51 GMT 2024



Bas Couwenberg pushed to branch upstream at Debian GIS Project / saga


Commits:
557b32a7 by Bas Couwenberg at 2024-12-03T07:17:27+01:00
New upstream version 9.6.2+dfsg
- - - - -


29 changed files:

- saga-gis/src/accessories/helper/doxygen_saga_api_chm
- saga-gis/src/accessories/helper/doxygen_saga_api_html
- saga-gis/src/accessories/helper/make_python_api_all.bat
- saga-gis/src/accessories/helper/make_saga_release.bat
- saga-gis/src/accessories/helper/saga_setup_x64.iss
- saga-gis/src/accessories/python/data/chelsa.py
- saga-gis/src/accessories/python/helper.py
- saga-gis/src/accessories/python/tools/climate_tools.py
- saga-gis/src/accessories/python/tools/ta_hydrology.py
- saga-gis/src/accessories/python/tools/ta_lighting.py
- saga-gis/src/saga_core/saga_api/saga_api.h
- saga-gis/src/saga_core/saga_api/shape_polygon.cpp
- saga-gis/src/saga_core/saga_api/shapes_clipper.cpp
- saga-gis/src/saga_core/saga_cmd/man/saga_cmd.1
- saga-gis/src/saga_core/saga_cmd/saga_cmd.cpp
- saga-gis/src/saga_core/saga_gui/man/saga_gui.1
- saga-gis/src/saga_core/saga_gui/res/CMakeLists.txt
- saga-gis/src/saga_core/saga_gui/res/org.saga-gis.saga-gui.appdata.xml → saga-gis/src/saga_core/saga_gui/res/org.saga_gis.saga_gui.appdata.xml
- saga-gis/src/saga_core/saga_gui/res/saga.desktop → saga-gis/src/saga_core/saga_gui/res/org.saga_gis.saga_gui.desktop
- saga-gis/src/tools/grid/grid_visualisation/Grid_Color_Blend.cpp
- saga-gis/src/tools/grid/grid_visualisation/Grid_Color_Blend.h
- saga-gis/src/tools/imagery/imagery_opencv/opencv_ml.cpp
- saga-gis/src/tools/io/io_grid_image/grid_import.cpp
- saga-gis/src/tools/io/io_shapes/pointcloud_from_text_file.cpp
- saga-gis/src/tools/projection/pj_georeference/direct_georeferencing.cpp
- saga-gis/src/tools/table/table_tools/field_formatted_string.cpp
- saga-gis/src/tools/terrain_analysis/ta_hydrology/Flow_Parallel.cpp
- saga-gis/src/tools/terrain_analysis/ta_lighting/SolarRadiation.cpp
- saga-gis/version.cmake


Changes:

=====================================
saga-gis/src/accessories/helper/doxygen_saga_api_chm
=====================================
@@ -38,7 +38,7 @@ PROJECT_NAME           = "SAGA API"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-#PROJECT_NUMBER        = v9.6.1 # omit patch number
+#PROJECT_NUMBER        = v9.6.2 # omit patch number
 PROJECT_NUMBER         = v9.6
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
@@ -59,7 +59,7 @@ PROJECT_LOGO           = ../../../saga_core/saga_gui/res/saga_icon_64.png
 # entered, it will be relative to the location where doxygen was started. If
 # left blank the current directory will be used.
 
-OUTPUT_DIRECTORY       = saga-9.6.1_api_doc
+OUTPUT_DIRECTORY       = saga-9.6.2_api_doc
 
 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
 # directories (in 2 levels) under the output directory of each output format and
@@ -1372,7 +1372,7 @@ GENERATE_HTMLHELP      = YES
 # written to the html output directory.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
-CHM_FILE               = ../../saga-9.6.1_api.chm
+CHM_FILE               = ../../saga-9.6.2_api.chm
 
 # The HHC_LOCATION tag can be used to specify the location (absolute path
 # including file name) of the HTML help compiler (hhc.exe). If non-empty,


=====================================
saga-gis/src/accessories/helper/doxygen_saga_api_html
=====================================
@@ -38,7 +38,7 @@ PROJECT_NAME           = "SAGA API"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-#PROJECT_NUMBER        = v9.6.1 # omit patch number
+#PROJECT_NUMBER        = v9.6.2 # omit patch number
 PROJECT_NUMBER         = v9.6
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
@@ -59,7 +59,7 @@ PROJECT_LOGO           = ../../../saga_core/saga_gui/res/saga_icon_64.png
 # entered, it will be relative to the location where doxygen was started. If
 # left blank the current directory will be used.
 
-OUTPUT_DIRECTORY       = saga-9.6.1_api_doc
+OUTPUT_DIRECTORY       = saga-9.6.2_api_doc
 
 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
 # directories (in 2 levels) under the output directory of each output format and
@@ -1372,7 +1372,7 @@ GENERATE_HTMLHELP      = NO
 # written to the html output directory.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
-CHM_FILE               = ../../saga-9.6.1_api.chm
+CHM_FILE               = ../../saga-9.6.2_api.chm
 
 # The HHC_LOCATION tag can be used to specify the location (absolute path
 # including file name) of the HTML help compiler (hhc.exe). If non-empty,


=====================================
saga-gis/src/accessories/helper/make_python_api_all.bat
=====================================
@@ -32,6 +32,7 @@ CMD /C CALL make_python_api.bat %OUTPUT% false 3.8  %PYTHONS%\Python-3.8
 CMD /C CALL make_python_api.bat %OUTPUT% false 3.9  %PYTHONS%\Python-3.9
 CMD /C CALL make_python_api.bat %OUTPUT% false 3.10 %PYTHONS%\Python-3.10
 CMD /C CALL make_python_api.bat %OUTPUT% false 3.11 %PYTHONS%\Python-3.11
-CMD /C CALL make_python_api.bat %OUTPUT% true  3.12 %PYTHONS%\Python-3.12
+CMD /C CALL make_python_api.bat %OUTPUT% false 3.12 %PYTHONS%\Python-3.12
+CMD /C CALL make_python_api.bat %OUTPUT% true  3.13 %PYTHONS%\Python-3.13
 
 PAUSE


=====================================
saga-gis/src/accessories/helper/make_saga_release.bat
=====================================
@@ -30,9 +30,9 @@ REM ___________________________________
 REM Version
 
 SET SAGA_VERSION=9.6
-SET SAGA_RELEASE=9.6.1
+SET SAGA_RELEASE=9.6.2
 SET SAGA_VERSION_NEXT=9.6
-SET SAGA_RELEASE_NEXT=9.6.2
+SET SAGA_RELEASE_NEXT=9.6.3
 SET SAGA_RELEASE_NAME=saga-%SAGA_RELEASE%
 
 REM !!! For all bug-fix-releases !!!
@@ -98,7 +98,7 @@ POPD
 
 REM ___________________________________
 REM Include the Python Toolboxes
-%PYTHON% ..\create_python_toolboxes.py "%SAGA_RELEASE_NAME%\saga-gis\src\accessories\python\tools"
+"%SAGA_BIN%\saga_cmd" dev_tools 9 -TARGET=1 -LOADDEFS=1 -NAMING=0 -CLEAN=1 -FOLDER="%SAGA_RELEASE_NAME%\saga-gis\src\accessories\python\tools"
 
 REM ___________________________________
 REM Zip Source Code
@@ -137,7 +137,8 @@ CMD /C CALL ..\make_python_api.bat install false 3.8  F:\develop\libs\Python\Pyt
 CMD /C CALL ..\make_python_api.bat install false 3.9  F:\develop\libs\Python\Python-3.9
 CMD /C CALL ..\make_python_api.bat install false 3.10 F:\develop\libs\Python\Python-3.10
 CMD /C CALL ..\make_python_api.bat install false 3.11 F:\develop\libs\Python\Python-3.11
-CMD /C CALL ..\make_python_api.bat install true  3.12 F:\develop\libs\Python\Python-3.12
+CMD /C CALL ..\make_python_api.bat install false 3.12 F:\develop\libs\Python\Python-3.12
+CMD /C CALL ..\make_python_api.bat install true  3.13 F:\develop\libs\Python\Python-3.13
 
 
 REM ___________________________________
@@ -145,9 +146,7 @@ REM ###################################
 REM PySAGA Toolboxes
 REM ###################################
 
-%PYTHON% ..\create_python_toolboxes.py
-
-RMDIR /S/Q "%SAGA_BIN%\PySAGA\__pycache__"
+"%SAGA_BIN%\saga_cmd" dev_tools 9 -TARGET=1 -LOADDEFS=1 -NAMING=0 -CLEAN=1 -FOLDER="%SAGA_BIN%\PySAGA\tools"
 
 
 REM ___________________________________


=====================================
saga-gis/src/accessories/helper/saga_setup_x64.iss
=====================================
@@ -1,5 +1,5 @@
-; To build installer (for example, saga-9.6.1_setup.exe).
-; - Unzip the SAGA binary files in their own folder (for example, saga-9.6.1.zip).
+; To build installer (for example, saga-9.6.2_setup.exe).
+; - Unzip the SAGA binary files in their own folder (for example, saga-9.6.2.zip).
 ; - Place saga.iss and saga_readme.rtf in the SAGA folder (contains saga_gui.exe, etc.).
 ; - Open saga.iss in Inno Setup.
 ; - Choose Build | Compile.
@@ -7,7 +7,7 @@
 
 [Setup]
 AppName=SAGA - System for Automated Geoscientific Analyses
-AppVerName=SAGA 9.6.1
+AppVerName=SAGA 9.6.2
 
 ArchitecturesAllowed=x64
 ArchitecturesInstallIn64BitMode=x64
@@ -22,9 +22,9 @@ Compression=lzma
 SolidCompression=yes
 
 OutputDir=.
-OutputBaseFilename=saga-9.6.1_x64_setup
+OutputBaseFilename=saga-9.6.2_x64_setup
 
-VersionInfoVersion=9.6.1.0
+VersionInfoVersion=9.6.2.0
 VersionInfoCompany=SAGA User Group Association
 VersionInfoCopyright=(c) 2005-2023 by O. Conrad
 VersionInfoDescription=SAGA single-file installer
@@ -51,5 +51,5 @@ Name: "{commondesktop}\SAGA"; Filename: "{app}\saga_gui.exe"; WorkingDir: "{app}
 Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\saga_gui.exe"; ValueType: string; ValueName: ""; ValueData: "{app}\saga_gui.exe"; Flags: uninsdeletekey
 Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\saga_gui.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app}"
 
-Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.6.1"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey
-Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.6.1"; ValueType: string; ValueName: "Version"; ValueData: "9.6.1.0"
+Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.6.2"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey
+Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.6.2"; ValueType: string; ValueName: "Version"; ValueData: "9.6.2.0"


=====================================
saga-gis/src/accessories/python/data/chelsa.py
=====================================
@@ -69,7 +69,7 @@ Dir_Global = os.getcwd() + '/global'
 Dir_Target = os.getcwd() + '/aoi'
 Ext_Target = 'sg-grd-z'
 
-Download_Root = 'https://os.zhdk.cloud.switch.ch/envicloud/chelsa'
+Download_Root = 'https://os.zhdk.cloud.switch.ch'
 Download_Retries = 4
 
 
@@ -134,7 +134,7 @@ def Get_Global_Climatology_Month(Variable, Month):
 
     File       = 'CHELSA_{:s}{:s}_{:02d}_1981-2010_V.2.1.tif'.format(Variable, _Variable_File_Suffix(Variable), Month)
     Local_Dir  = '{:s}/{:s}'.format(Dir_Global, Variable)
-    Remote_Dir = 'chelsa_V2/GLOBAL/climatologies/1981-2010/{:s}'.format(Variable)
+    Remote_Dir = 'chelsav2/GLOBAL/climatologies/1981-2010/{:s}'.format(Variable)
 
     return PySAGA.data.helper.Get_File(File, Local_Dir, Download_Root + '/' + Remote_Dir, Download_Retries)
 
@@ -193,7 +193,7 @@ def Get_Global_Projection(Variable, Month, Period = '2041-2070', Model = 'MPI-ES
 
     File       = 'CHELSA_{:s}_r1i1p1f1_w5e5_ssp{:s}_{:s}_{:02d}_{:s}_norm.tif'.format(Model.lower(), SSP, Variable, Month, Period.replace('-', '_'))
     Local_Dir  = '{:s}/{:s}'.format(Dir_Global, Variable)
-    Remote_Dir = 'chelsa_V2/GLOBAL/climatologies/{:s}/{:s}/ssp{:s}/{:s}'.format(Period, Model.upper(), SSP, Variable)
+    Remote_Dir = 'chelsav2/GLOBAL/climatologies/{:s}/{:s}/ssp{:s}/{:s}'.format(Period, Model.upper(), SSP, Variable)
 
     return PySAGA.data.helper.Get_File(File, Local_Dir, Download_Root + '/' + Remote_Dir, Download_Retries)
 
@@ -252,7 +252,7 @@ def Get_Global_Monthly(Variable, Year, Month):
 
     File       = 'CHELSA_{:s}{:s}_{:02d}_{:04d}_V.2.1.tif'.format(Variable, _Variable_File_Suffix(Variable), Month, Year)
     Local_Dir  = '{:s}/{:s}'.format(Dir_Global, Variable)
-    Remote_Dir = 'chelsa_V2/GLOBAL/monthly/{:s}'.format(Variable)
+    Remote_Dir = 'chelsav2/GLOBAL/monthly/{:s}'.format(Variable)
 
     return PySAGA.data.helper.Get_File(File, Local_Dir, Download_Root + '/' + Remote_Dir, Download_Retries)
 


=====================================
saga-gis/src/accessories/python/helper.py
=====================================
@@ -418,6 +418,7 @@ class Tool_Wrapper:
                     elif Parameter.is_DataObject_List():
                         for Item in Data[1]:
                             Parameter.asList().Add_Item(Item)
+                        Parameter.has_Changed()
 
             for Option in self.Options: # 2nd pass -> set options that are dependent of input data (-> table fields)
                 self.Tool.Set_Parameter(Option[0], Option[1])


=====================================
saga-gis/src/accessories/python/tools/climate_tools.py
=====================================
@@ -617,8 +617,8 @@ def Evapotranspiration_Grid(T=None, T_MIN=None, T_MAX=None, RH=None, SR=None, WS
     - SR_EST [`boolean`] : Estimate Solar Radiation. Default: 0 Estimate solar radiation from date, latitudinal position and sunshine duration as percentage of its potential maximum.
     - SUNSHINE [`floating point number`] : Sunshine Duration. Minimum: 0.000000 Maximum: 100.000000 Default: 50.000000 Daily sunshine duration as percentage of its potential maximum.
     - TIME [`choice`] : Time. Available Choices: [0] day [1] month Default: 0
-    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 9
-    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 23
+    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 11
+    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 2
     - LAT [`floating point number`] : Latitude. Minimum: -90.000000 Maximum: 90.000000 Default: 53.000000 [Degree]
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
@@ -680,8 +680,8 @@ def run_tool_climate_tools_8(T=None, T_MIN=None, T_MAX=None, RH=None, SR=None, W
     - SR_EST [`boolean`] : Estimate Solar Radiation. Default: 0 Estimate solar radiation from date, latitudinal position and sunshine duration as percentage of its potential maximum.
     - SUNSHINE [`floating point number`] : Sunshine Duration. Minimum: 0.000000 Maximum: 100.000000 Default: 50.000000 Daily sunshine duration as percentage of its potential maximum.
     - TIME [`choice`] : Time. Available Choices: [0] day [1] month Default: 0
-    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 9
-    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 23
+    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 11
+    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 2
     - LAT [`floating point number`] : Latitude. Minimum: -90.000000 Maximum: 90.000000 Default: 53.000000 [Degree]
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
@@ -728,7 +728,7 @@ def Sunrise_and_Sunset(TARGET=None, SUNRISE=None, SUNSET=None, LENGTH=None, DAY=
     - SUNRISE [`output grid`] : Sunrise
     - SUNSET [`output grid`] : Sunset
     - LENGTH [`output grid`] : Day Length
-    - DAY [`date`] : Day of Month. Default: 2024-10-23
+    - DAY [`date`] : Day of Month. Default: 2024-12-03
     - TIME [`choice`] : Time. Available Choices: [0] local [1] world Default: 0
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
@@ -759,7 +759,7 @@ def run_tool_climate_tools_9(TARGET=None, SUNRISE=None, SUNSET=None, LENGTH=None
     - SUNRISE [`output grid`] : Sunrise
     - SUNSET [`output grid`] : Sunset
     - LENGTH [`output grid`] : Day Length
-    - DAY [`date`] : Day of Month. Default: 2024-10-23
+    - DAY [`date`] : Day of Month. Default: 2024-12-03
     - TIME [`choice`] : Time. Available Choices: [0] local [1] world Default: 0
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
@@ -1911,7 +1911,7 @@ def PhenIps_Grids_Days(ATMEAN=None, ATMAX=None, SIREL=None, LAT_GRID=None, GENER
     - YD_END_ONSET [`date`] : End of Breeding. Default: 2024-08-31
     - YD_END [`date`] : End of Development. Default: 2024-10-31
     - RESET [`boolean`] : Reset. Default: 1
-    - DAY [`date`] : Start Day. Default: 2024-10-23
+    - DAY [`date`] : Start Day. Default: 2024-12-03
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
     Returns
@@ -1998,7 +1998,7 @@ def run_tool_climate_tools_23(ATMEAN=None, ATMAX=None, SIREL=None, LAT_GRID=None
     - YD_END_ONSET [`date`] : End of Breeding. Default: 2024-08-31
     - YD_END [`date`] : End of Development. Default: 2024-10-31
     - RESET [`boolean`] : Reset. Default: 1
-    - DAY [`date`] : Start Day. Default: 2024-10-23
+    - DAY [`date`] : Start Day. Default: 2024-12-03
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
     Returns
@@ -2066,7 +2066,7 @@ def Soil_Water_Balance_Days(TAVG=None, TMIN=None, TMAX=None, PSUM=None, LAT_GRID
     - SWC_SURFACE [`floating point number`] : Top Soil Water Capacity. Minimum: 0.000000 Default: 30.000000
     - SWT_RESIST [`floating point number`] : Transpiration Resistance. Minimum: 0.010000 Default: 0.500000
     - RESET [`boolean`] : Reset. Default: 1
-    - DAY [`date`] : Start Day. Default: 2024-10-23
+    - DAY [`date`] : Start Day. Default: 2024-12-03
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
     Returns
@@ -2115,7 +2115,7 @@ def run_tool_climate_tools_24(TAVG=None, TMIN=None, TMAX=None, PSUM=None, LAT_GR
     - SWC_SURFACE [`floating point number`] : Top Soil Water Capacity. Minimum: 0.000000 Default: 30.000000
     - SWT_RESIST [`floating point number`] : Transpiration Resistance. Minimum: 0.010000 Default: 0.500000
     - RESET [`boolean`] : Reset. Default: 1
-    - DAY [`date`] : Start Day. Default: 2024-10-23
+    - DAY [`date`] : Start Day. Default: 2024-12-03
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
     Returns
@@ -2701,8 +2701,8 @@ def Daily_Solar_Radiation(LATITUDE=None, SOLARRAD=None, MONTH=None, DAY=None, SU
     ----------
     - LATITUDE [`input grid`] : Latitude. [Degree]
     - SOLARRAD [`output grid`] : Solar Radiation. [J/cm²]
-    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 9
-    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 23
+    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 11
+    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 2
     - SUNSHINE [`floating point number`] : Sunshine Duration. Minimum: 0.000000 Maximum: 100.000000 Default: 50.000000 Daily sunshine duration as percentage of its potential maximum.
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n
@@ -2731,8 +2731,8 @@ def run_tool_climate_tools_31(LATITUDE=None, SOLARRAD=None, MONTH=None, DAY=None
     ----------
     - LATITUDE [`input grid`] : Latitude. [Degree]
     - SOLARRAD [`output grid`] : Solar Radiation. [J/cm²]
-    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 9
-    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 23
+    - MONTH [`choice`] : Month. Available Choices: [0] January [1] February [2] March [3] April [4] May [5] June [6] July [7] August [8] September [9] October [10] November [11] December Default: 11
+    - DAY [`integer number`] : Day of Month. Minimum: 1 Maximum: 31 Default: 2
     - SUNSHINE [`floating point number`] : Sunshine Duration. Minimum: 0.000000 Maximum: 100.000000 Default: 50.000000 Daily sunshine duration as percentage of its potential maximum.
 
     - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\n


=====================================
saga-gis/src/accessories/python/tools/ta_hydrology.py
=====================================
@@ -47,11 +47,11 @@ def Flow_Accumulation_TopDown(ELEVATION=None, ACCU_TARGET=None, SINKROUTE=None,
     - WEIGHT_LOSS [`output grid`] : Loss through Negative Weights. when using weights without support for negative flow: output of the absolute amount of negative flow that occurred
     - STEP [`integer number`] : Step. Minimum: 1 Default: 1 For testing purposes. Only generate flow at cells with step distance (each step row/column).
     - FLOW_UNIT [`choice`] : Flow Accumulation Unit. Available Choices: [0] number of cells [1] cell area Default: 1
-    - METHOD [`choice`] : Method. Available Choices: [0] Deterministic 8 [1] Rho 8 [2] Braunschweiger Reliefmodell [3] Deterministic Infinity [4] Multiple Flow Direction [5] Multiple Triangular Flow Directon [6] Multiple Maximum Downslope Gradient Based Flow Directon Default: 4
+    - METHOD [`choice`] : Method. Available Choices: [0] Deterministic 8 [1] Rho 8 [2] Braunschweiger Reliefmodell [3] Deterministic Infinity [4] Multiple Flow Direction [5] Multiple Triangular Flow Direction [6] Multiple Maximum Downslope Gradient Based Flow Direction Default: 4
     - LINEAR_DO [`boolean`] : Thresholded Linear Flow. Default: 0 apply linear flow routing (D8) to all cells, having a flow accumulation greater than the specified threshold
     - LINEAR_MIN [`integer number`] : Linear Flow Threshold. Minimum: 0 Default: 500 flow accumulation threshold (cells) for linear flow routing
     - CONVERGENCE [`floating point number`] : Convergence. Minimum: 0.001000 Default: 1.100000 Convergence factor for Multiple Flow Direction Algorithm (Freeman 1991).
-Applies also to the Multiple Triangular Flow Directon Algorithm.
+Applies also to the Multiple Triangular Flow Direction Algorithm.
     - MFD_CONTOUR [`boolean`] : Contour Length. Default: 0 Include (pseudo) contour length as additional weighting factor in multiple flow direction routing, reduces flow to diagonal neighbour cells by a factor of 0.71 (s. Quinn et al. 1991 for details).
     - NO_NEGATIVES [`boolean`] : Prevent Negative Flow Accumulation. Default: 1 when using weights: do not transport negative flow, set it to zero instead; useful e.g. when accumulating measures of water balance.
 
@@ -121,11 +121,11 @@ def run_tool_ta_hydrology_0(ELEVATION=None, ACCU_TARGET=None, SINKROUTE=None, WE
     - WEIGHT_LOSS [`output grid`] : Loss through Negative Weights. when using weights without support for negative flow: output of the absolute amount of negative flow that occurred
     - STEP [`integer number`] : Step. Minimum: 1 Default: 1 For testing purposes. Only generate flow at cells with step distance (each step row/column).
     - FLOW_UNIT [`choice`] : Flow Accumulation Unit. Available Choices: [0] number of cells [1] cell area Default: 1
-    - METHOD [`choice`] : Method. Available Choices: [0] Deterministic 8 [1] Rho 8 [2] Braunschweiger Reliefmodell [3] Deterministic Infinity [4] Multiple Flow Direction [5] Multiple Triangular Flow Directon [6] Multiple Maximum Downslope Gradient Based Flow Directon Default: 4
+    - METHOD [`choice`] : Method. Available Choices: [0] Deterministic 8 [1] Rho 8 [2] Braunschweiger Reliefmodell [3] Deterministic Infinity [4] Multiple Flow Direction [5] Multiple Triangular Flow Direction [6] Multiple Maximum Downslope Gradient Based Flow Direction Default: 4
     - LINEAR_DO [`boolean`] : Thresholded Linear Flow. Default: 0 apply linear flow routing (D8) to all cells, having a flow accumulation greater than the specified threshold
     - LINEAR_MIN [`integer number`] : Linear Flow Threshold. Minimum: 0 Default: 500 flow accumulation threshold (cells) for linear flow routing
     - CONVERGENCE [`floating point number`] : Convergence. Minimum: 0.001000 Default: 1.100000 Convergence factor for Multiple Flow Direction Algorithm (Freeman 1991).
-Applies also to the Multiple Triangular Flow Directon Algorithm.
+Applies also to the Multiple Triangular Flow Direction Algorithm.
     - MFD_CONTOUR [`boolean`] : Contour Length. Default: 0 Include (pseudo) contour length as additional weighting factor in multiple flow direction routing, reduces flow to diagonal neighbour cells by a factor of 0.71 (s. Quinn et al. 1991 for details).
     - NO_NEGATIVES [`boolean`] : Prevent Negative Flow Accumulation. Default: 1 when using weights: do not transport negative flow, set it to zero instead; useful e.g. when accumulating measures of water balance.
 


=====================================
saga-gis/src/accessories/python/tools/ta_lighting.py
=====================================
@@ -28,7 +28,7 @@ def Analytical_Hillshading(ELEVATION=None, SHADE=None, METHOD=None, POSITION=Non
     - POSITION [`choice`] : Sun's Position. Available Choices: [0] azimuth and height [1] date and time Default: 0
     - AZIMUTH [`floating point number`] : Azimuth. Minimum: 0.000000 Maximum: 360.000000 Default: 315.000000 Direction of the light source, measured in degree clockwise from the North direction.
     - DECLINATION [`floating point number`] : Height. Minimum: 0.000000 Maximum: 90.000000 Default: 45.000000 Height of the light source, measured in degree above the horizon.
-    - DATE [`date`] : Day. Default: 2024-10-23
+    - DATE [`date`] : Day. Default: 2024-12-03
     - TIME [`floating point number`] : Hour. Minimum: 0.000000 Maximum: 24.000000 Default: 12.000000
     - EXAGGERATION [`floating point number`] : Exaggeration. Default: 1.000000 The terrain exaggeration factor allows one to increase the shading contrasts in flat areas.
     - UNIT [`choice`] : Unit. Available Choices: [0] radians [1] degree Default: 0
@@ -73,7 +73,7 @@ def run_tool_ta_lighting_0(ELEVATION=None, SHADE=None, METHOD=None, POSITION=Non
     - POSITION [`choice`] : Sun's Position. Available Choices: [0] azimuth and height [1] date and time Default: 0
     - AZIMUTH [`floating point number`] : Azimuth. Minimum: 0.000000 Maximum: 360.000000 Default: 315.000000 Direction of the light source, measured in degree clockwise from the North direction.
     - DECLINATION [`floating point number`] : Height. Minimum: 0.000000 Maximum: 90.000000 Default: 45.000000 Height of the light source, measured in degree above the horizon.
-    - DATE [`date`] : Day. Default: 2024-10-23
+    - DATE [`date`] : Day. Default: 2024-12-03
     - TIME [`floating point number`] : Hour. Minimum: 0.000000 Maximum: 24.000000 Default: 12.000000
     - EXAGGERATION [`floating point number`] : Exaggeration. Default: 1.000000 The terrain exaggeration factor allows one to increase the shading contrasts in flat areas.
     - UNIT [`choice`] : Unit. Available Choices: [0] radians [1] degree Default: 0
@@ -129,13 +129,13 @@ def Potential_Incoming_Solar_Radiation(GRD_DEM=None, GRD_SVF=None, GRD_VAPOUR=No
     - GRD_LINKE_DEFAULT [`floating point number`] : Default. Minimum: 0.000000 Default: 3.000000 default value if no grid has been selected
     - SOLARCONST [`floating point number`] : Solar Constant [W/m²]. Minimum: 0.000000 Default: 1367.000000
     - LOCALSVF [`boolean`] : Local Sky View Factor. Default: 1 Use sky view factor based on local slope (after Oke 1988), if no sky viev factor grid is given.
-    - UNITS [`choice`] : Units. Available Choices: [0] kWh/m² [1] kJ/m² [2] J/cm² Default: 0 Units for output radiation values.
+    - UNITS [`choice`] : Units. Available Choices: [0] kWh/m² [1] kJ/m² [2] J/cm² Default: 0 Units for output radiation values.
     - SHADOW [`choice`] : Shadow. Available Choices: [0] slim [1] fat [2] none Default: 1 Choose 'slim' to trace grid node's shadow, 'fat' to trace the whole cell's shadow, or ignore shadowing effects. The first is slightly faster but might show some artifacts.
     - LOCATION [`choice`] : Location. Available Choices: [0] constant latitude [1] calculate from grid system Default: 0
     - LATITUDE [`degree`] : Latitude. Minimum: -90.000000 Maximum: 90.000000 Default: 53.000000
     - PERIOD [`choice`] : Time Period. Available Choices: [0] moment [1] day [2] range of days Default: 1 Momentum output will be in units of power [W/m²], time span will be in units of energy, either [kWh/m²], [kJ/m²], or [J/cm²].
-    - DAY [`date`] : Day. Default: 2024-10-23
-    - DAY_STOP [`date`] : Last Day. Default: 2024-10-23
+    - DAY [`date`] : Day. Default: 2024-12-03
+    - DAY_STOP [`date`] : Last Day. Default: 2024-12-03
     - DAYS_STEP [`integer number`] : Resolution [d]. Minimum: 1 Default: 5 Time step size for a range of days calculation given in days.
     - MOMENT [`floating point number`] : Moment [h]. Minimum: 0.000000 Maximum: 24.000000 Default: 12.000000
     - HOUR_RANGE [`value range`] : Time Span [h]. Time span used for the calculation of daily radiation sums.
@@ -215,13 +215,13 @@ def run_tool_ta_lighting_2(GRD_DEM=None, GRD_SVF=None, GRD_VAPOUR=None, GRD_LINK
     - GRD_LINKE_DEFAULT [`floating point number`] : Default. Minimum: 0.000000 Default: 3.000000 default value if no grid has been selected
     - SOLARCONST [`floating point number`] : Solar Constant [W/m²]. Minimum: 0.000000 Default: 1367.000000
     - LOCALSVF [`boolean`] : Local Sky View Factor. Default: 1 Use sky view factor based on local slope (after Oke 1988), if no sky viev factor grid is given.
-    - UNITS [`choice`] : Units. Available Choices: [0] kWh/m² [1] kJ/m² [2] J/cm² Default: 0 Units for output radiation values.
+    - UNITS [`choice`] : Units. Available Choices: [0] kWh/m² [1] kJ/m² [2] J/cm² Default: 0 Units for output radiation values.
     - SHADOW [`choice`] : Shadow. Available Choices: [0] slim [1] fat [2] none Default: 1 Choose 'slim' to trace grid node's shadow, 'fat' to trace the whole cell's shadow, or ignore shadowing effects. The first is slightly faster but might show some artifacts.
     - LOCATION [`choice`] : Location. Available Choices: [0] constant latitude [1] calculate from grid system Default: 0
     - LATITUDE [`degree`] : Latitude. Minimum: -90.000000 Maximum: 90.000000 Default: 53.000000
     - PERIOD [`choice`] : Time Period. Available Choices: [0] moment [1] day [2] range of days Default: 1 Momentum output will be in units of power [W/m²], time span will be in units of energy, either [kWh/m²], [kJ/m²], or [J/cm²].
-    - DAY [`date`] : Day. Default: 2024-10-23
-    - DAY_STOP [`date`] : Last Day. Default: 2024-10-23
+    - DAY [`date`] : Day. Default: 2024-12-03
+    - DAY_STOP [`date`] : Last Day. Default: 2024-12-03
     - DAYS_STEP [`integer number`] : Resolution [d]. Minimum: 1 Default: 5 Time step size for a range of days calculation given in days.
     - MOMENT [`floating point number`] : Moment [h]. Minimum: 0.000000 Maximum: 24.000000 Default: 12.000000
     - HOUR_RANGE [`value range`] : Time Span [h]. Time span used for the calculation of daily radiation sums.


=====================================
saga-gis/src/saga_core/saga_api/saga_api.h
=====================================
@@ -86,8 +86,8 @@
 //---------------------------------------------------------
 #define SAGA_MAJOR_VERSION		9
 #define SAGA_MINOR_VERSION		6
-#define SAGA_RELEASE_NUMBER		1
-#define SAGA_VERSION			SG_T("9.6.1")
+#define SAGA_RELEASE_NUMBER		2
+#define SAGA_VERSION			SG_T("9.6.2")
 
 
 ///////////////////////////////////////////////////////////


=====================================
saga-gis/src/saga_core/saga_api/shape_polygon.cpp
=====================================
@@ -158,99 +158,54 @@ TSG_Polygon_Point_Relation CSG_Shape_Polygon_Part::Get_Point_Relation(double x,
 {
 	if(	m_nPoints > 2 && Get_Extent().Contains(x, y) )
 	{
-		TSG_Point	*pA	= m_Points;
-		TSG_Point	*pB	= m_Points + m_nPoints - 1;
+		TSG_Point *pB = m_Points + m_nPoints - 1;
 
-		if( x == pB->x && y == pB->y )	// for performance reason check vertex first
+		if( x == pB->x && y == pB->y ) // check identity
 		{
 			return( SG_POLYGON_POINT_Vertex );
 		}
 
-		double	dy	= pB->y - pA->y;	// indicates the direction that we come from
+		TSG_Point *pA = m_Points; bool bInterior = false;
 
-		if( dy == 0.0 )
+		for(int iPoint=0; iPoint<m_nPoints; iPoint++, pB=pA++)
 		{
-			for(int iPoint=m_nPoints-2; dy==0.0 && iPoint>0; iPoint--)
+			if( pA->x == pB->x && pA->y == pB->y ) // ignore duplicates
 			{
-				dy	= m_Points[iPoint].y - pA->y;
+				continue;
 			}
-		}
 
-		int	nCrossings	= 0;
-
-		for(int iPoint=0; iPoint<m_nPoints; iPoint++, pB=pA++)
-		{
-			if( x == pA->x && y == pA->y )	// for performance reason check vertex first
+			if( x == pA->x && y == pA->y ) // check identity (previous vertex has already been checked)
 			{
 				return( SG_POLYGON_POINT_Vertex );
 			}
 
-			if( pA->x == pB->x && pA->y == pB->y )	// ignore doubles
+			if( pA->y == pB->y && y == pA->y && SG_IS_BETWEEN(pA->x, x, pB->x) )
 			{
-				continue;
+				return( SG_POLYGON_POINT_Edge );
 			}
 
-			if( y < pA->y )			// pA above y
+			if( SG_IS_BETWEEN(pA->y, y, pB->y) )
 			{
-				if( y > pB->y )		// pB below y
-				{
-					double	cx	= pB->x + (y - pB->y) * (pA->x - pB->x) / (pA->y - pB->y);
-
-					if( cx == x )
-					{
-						return( SG_POLYGON_POINT_Edge );
-					}
-
-					if( cx < x )
-					{
-						nCrossings++;
-					}
-				}
-				else if( y == pB->y && pB->x < x && dy < 0.0 )
+				if( (y == pA->y && pB->y >= pA->y) || (y == pB->y && pA->y >= pB->y) ) // filter out "ray pass vertex" problem by treating the line a little lower
 				{
-					nCrossings++;
+					continue;
 				}
-			}
-			else if( y > pA->y )	// pA below y
-			{
-				if( y < pB->y )		// pB above y
-				{
-					double	cx	= pB->x + (y - pB->y) * (pA->x - pB->x) / (pA->y - pB->y);
 
-					if( cx == x )
-					{
-						return( SG_POLYGON_POINT_Edge );
-					}
+				double c = (pB->x - x) * (pA->y - y) - (pA->x - x) * (pB->y - y); // cross product PA X PB, P(x, y) is on left side of AB if c > 0.
 
-					if( cx < x )
-					{
-						nCrossings++;
-					}
-				}
-				else if( y == pB->y && pB->x < x && dy > 0.0 )
+				if( c == 0. )
 				{
-					nCrossings++;
+					return( SG_POLYGON_POINT_Edge );
 				}
-			}
-			else					// pA on line y
-			{
-				if( y == pB->y )	// pB on line y
+
+				if( (pB->y < pA->y) == (c > 0.) )
 				{
-					if( (pA->x < x && x < pB->x)
-					||  (pA->x > x && x > pB->x) )
-					{
-						return( SG_POLYGON_POINT_Edge );
-					}
+					bInterior = !bInterior;
 				}
 			}
-
-			if( pA->y != pB->y )
-			{
-				dy	= pB->y - pA->y;
-			}
 		}
 
-		if( nCrossings % 2 != 0 )
+		if( bInterior )
 		{
 			return( SG_POLYGON_POINT_Interior );
 		}


=====================================
saga-gis/src/saga_core/saga_api/shapes_clipper.cpp
=====================================
@@ -240,8 +240,6 @@ public:
 
 			if( pShape->Get_Type() != SHAPE_TYPE_Polygon )
 			{
-				Delta *= 2.;
-
 				EndType = Clipper2Lib::EndType::Round;
 			}
 			else


=====================================
saga-gis/src/saga_core/saga_cmd/man/saga_cmd.1
=====================================
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SAGA_CMD 1"
-.TH SAGA_CMD 1 "2021-07-07" "9.6.1" " "
+.TH SAGA_CMD 1 "2021-07-07" "9.6.2" " "
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l


=====================================
saga-gis/src/saga_core/saga_cmd/saga_cmd.cpp
=====================================
@@ -659,11 +659,14 @@ void		Print_Execution	(CSG_Tool *pTool)
 		}
 		else
 		{
+			CSG_Tool_Library *pLibrary = SG_Get_Tool_Library_Manager().Get_Library(pTool->Get_Library(), true,
+				pTool->Get_Type() != TOOL_TYPE_Chain ? ESG_Library_Type::Library : ESG_Library_Type::Chain
+			);
+
 			CMD_Print("____________________________");
-			CMD_Print(CSG_String::Format("%s: %s", _TL("library path"), SG_File_Get_Path(pTool->Get_File_Name()       ).c_str()));
-			CMD_Print(CSG_String::Format("%s: %s", _TL("library path"), SG_File_Get_Path(pTool->Get_File_Name()       ).c_str()));
-			CMD_Print(CSG_String::Format("%s: %s", _TL("library name"), SG_File_Get_Name(pTool->Get_File_Name(), false).c_str()));
-			CMD_Print(CSG_String::Format("%s: %s", _TL("library     "), pTool->Get_Library().c_str()));
+			CMD_Print(CSG_String::Format("%s: %s", _TL("library path"), SG_File_Get_Path(pLibrary->Get_File_Name()       ).c_str()));
+			CMD_Print(CSG_String::Format("%s: %s", _TL("library name"), SG_File_Get_Name(pLibrary->Get_File_Name(), false).c_str()));
+			CMD_Print(CSG_String::Format("%s: %s", _TL("library     "), pLibrary->Get_Name().c_str()));
 			CMD_Print(CSG_String::Format("%s: %s", _TL("tool        "), pTool->Get_Name   ().c_str()));
 			CMD_Print(CSG_String::Format("%s: %s", _TL("identifier  "), pTool->Get_ID     ().c_str()));
 			CMD_Print(CSG_String::Format("%s: %s", _TL("author      "), pTool->Get_Author ().c_str()));


=====================================
saga-gis/src/saga_core/saga_gui/man/saga_gui.1
=====================================
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SAGA_GUI 1"
-.TH SAGA_GUI 1 "2021-07-07" "9.6.1" " "
+.TH SAGA_GUI 1 "2021-07-07" "9.6.2" " "
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l


=====================================
saga-gis/src/saga_core/saga_gui/res/CMakeLists.txt
=====================================
@@ -1,7 +1,7 @@
 message(STATUS "subfolder: ${PROJECT_NAME}/res")
 
 # desktop file
-install(FILES saga.desktop DESTINATION share/applications)
+install(FILES org.saga_gis.saga_gui.desktop DESTINATION share/applications)
 
 # pixmaps file
 install(FILES saga.png DESTINATION share/pixmaps)
@@ -30,7 +30,7 @@ set(_icon_source)
 set(_icon_target)
 
 # appdata
-install(FILES org.saga-gis.saga-gui.appdata.xml DESTINATION share/metainfo)
+install(FILES org.saga_gis.saga_gui.appdata.xml DESTINATION share/metainfo)
 
 # tip-of-the-day and srs
 install(FILES saga_tip.txt DESTINATION share/saga)
@@ -39,8 +39,8 @@ install(FILES saga_srs_preferences.txt DESTINATION share/saga RENAME saga_prefer
 
 # cosmetic: add to custom target to show up in IDE
 add_custom_target(saga-gui-res-otherfiles SOURCES
-	saga.desktop
-	org.saga-gis.saga-gui.appdata.xml
+	org.saga_gis.saga_gui.desktop
+	org.saga_gis.saga_gui.appdata.xml
 	saga_tip.txt
 	saga_srs.txt
 	saga_srs_preferences.txt


=====================================
saga-gis/src/saga_core/saga_gui/res/org.saga-gis.saga-gui.appdata.xml → saga-gis/src/saga_core/saga_gui/res/org.saga_gis.saga_gui.appdata.xml
=====================================
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Copyright 2018 SAGA Development Team -->
 <component type="desktop">
-  <id>org.saga_gis.saga.desktop</id>
+  <id>org.saga_gis.saga_gui.desktop</id>
   <metadata_license>CC0-1.0</metadata_license>
   <name>SAGA</name>
   <summary>System for Automated Geoscientific Analyses</summary>
   <icon type="remote" width="192" height="192">https://sourceforge.net/p/saga-gis/code/ci/master/tree/saga-gis/src/saga_core/saga_gui/res/saga_icon_192.png</icon>
   <description>
     <p>
-        SAGA is a Geographic Information System (GIS) software with 
-        immense capabilities for geodata processing and analysis. 
-        Due to the modular organization of the geoprocessing tools, they can 
-        be accessed either through the graphical user interface or 
+        SAGA is a Geographic Information System (GIS) software with
+        immense capabilities for geodata processing and analysis.
+        Due to the modular organization of the geoprocessing tools, they can
+        be accessed either through the graphical user interface or
         via the command line application.
     </p>
     <p>
-        Furthermore, SAGA provides an effective Application Programming Interface 
+        Furthermore, SAGA provides an effective Application Programming Interface
         (API) which makes it easy to implement new tools and functionality.
     </p>
   </description>
@@ -24,22 +24,24 @@
     <category>Science</category>
     <category>Geoscience</category>
   </categories>
-  <url type="homepage">http://www.saga-gis.org</url>
+  <url type="homepage">https://www.saga-gis.org</url>
   <url type="bugtracker">https://sourceforge.net/p/saga-gis/bugs/</url>
-  <url type="help">http://www.saga-gis.org/saga_tool_doc/index.html</url>
-  <launchable type="desktop-id">org.saga_gis.saga.desktop</launchable>
+  <url type="help">https://www.saga-gis.org/saga_tool_doc/index.html</url>
+  <launchable type="desktop-id">org.saga_gis.saga_gui.desktop</launchable>
   <provides>
     <binary>saga_gui</binary>
     <binary>saga_cmd</binary>
   </provides>
   <project_license>GPL-2.0-or-later and LGPL-2.1-or-later</project_license>
-  <developer_name>SAGA Development Team</developer_name>
+  <developer id="org.saga_gis">
+    <name>SAGA Development Team</name>
+  </developer>
   <screenshots>
     <screenshot type="default">
       <caption>The SAGA GUI main window</caption>
-      <image type="source" width="1280" height="720">http://sourceforge.net/projects/saga-gis/files/SAGA%20-%20Documentation/Other/AppData/screenshot_SAGA_GUI.png</image>
+      <image type="source" width="1280" height="720">https://sourceforge.net/projects/saga-gis/files/SAGA%20-%20Documentation/Other/AppData/screenshot_SAGA_GUI.png</image>
     </screenshot>
   </screenshots>
+  <content_rating type="oars-1.1" />
   <update_contact>https://sourceforge.net/p/saga-gis/feature-requests/</update_contact>
 </component>
-


=====================================
saga-gis/src/saga_core/saga_gui/res/saga.desktop → saga-gis/src/saga_core/saga_gui/res/org.saga_gis.saga_gui.desktop
=====================================
@@ -1,6 +1,6 @@
 [Desktop Entry]
 Name=SAGA GIS
-GenericName=System for Automated Geoscientific Analyses 
+GenericName=System for Automated Geoscientific Analyses
 Comment=Geodata Processing and Analysis
 Type=Application
 Exec=saga_gui


=====================================
saga-gis/src/tools/grid/grid_visualisation/Grid_Color_Blend.cpp
=====================================
@@ -375,7 +375,7 @@ void CGrid_Color_Blend::Blend(int iGrid, bool bLoop)
 			}
 		}
 
-		Set_Progress(iGrid + d, bLoop ? m_pGrids->Get_Grid_Count() : m_pGrids->Get_Grid_Count() - 1);
+		_Set_Progress(iGrid + d, bLoop ? m_pGrids->Get_Grid_Count() : m_pGrids->Get_Grid_Count() - 1);
 
 		Save_Frame();
 	}
@@ -387,7 +387,7 @@ void CGrid_Color_Blend::Blend(int iGrid, bool bLoop)
 ///////////////////////////////////////////////////////////
 
 //---------------------------------------------------------
-bool CGrid_Color_Blend::Set_Progress(double Position, double Range)
+bool CGrid_Color_Blend::_Set_Progress(double Position, double Range)
 {
 	bool bResult = CSG_Tool_Grid::Set_Progress(Position, Range);
 


=====================================
saga-gis/src/tools/grid/grid_visualisation/Grid_Color_Blend.h
=====================================
@@ -84,8 +84,6 @@ protected:
 
 	virtual bool			On_Execute				(void);
 
-	virtual bool			Set_Progress			(double Position, double Range);
-
 
 private:
 
@@ -100,6 +98,8 @@ private:
 	CSG_Parameter_Grid_List	*m_pGrids;
 
 
+	bool					_Set_Progress			(double Position, double Range);
+
 	void					Blend					(int iGrid, bool bLoop);
 
 	bool					Save_Frame				(void);


=====================================
saga-gis/src/tools/imagery/imagery_opencv/opencv_ml.cpp
=====================================
@@ -491,7 +491,7 @@ bool COpenCV_ML::_Get_Training(CSG_Matrix &Data)
 	m_Classes.Add_Field("BLUE" , SG_DATATYPE_Double);	// CLASS_B
 
 	//-----------------------------------------------------
-	if( Parameters("TRAIN_SAMPLES")->asTable() )
+	if( Parameters("MODEL_TRAIN")->asInt() == 1 && Parameters("TRAIN_SAMPLES")->asTable() )
 	{
 		CSG_Table *pSamples = Parameters("TRAIN_SAMPLES")->asTable();
 
@@ -526,7 +526,7 @@ bool COpenCV_ML::_Get_Training(CSG_Matrix &Data)
 	}
 
 	//-----------------------------------------------------
-	else if( Parameters("TRAIN_AREAS")->asShapes() )
+	else if( Parameters("MODEL_TRAIN")->asInt() == 0 && Parameters("TRAIN_AREAS")->asShapes() )
 	{
 		CSG_Shapes Polygons, *pPolygons = Parameters("TRAIN_AREAS")->asShapes();
 


=====================================
saga-gis/src/tools/io/io_grid_image/grid_import.cpp
=====================================
@@ -216,21 +216,21 @@ bool CGrid_Import::On_Execute(void)
 		DataObject_Set_Colors(pGrid, 11, SG_COLORS_BLACK_WHITE);\
 	}
 
-	wxImageHistogram	Histogram;
+	wxImageHistogram Histogram;
 
 	//-----------------------------------------------------
 	// look-up color table...
 
 	if( Parameters("METHOD")->asInt() == 0 && Image.ComputeHistogram(Histogram) <= 256 )
 	{
-		CSG_Colors	Colors((int)Histogram.size());
+		CSG_Colors Colors((int)Histogram.size());
 
 		for(wxImageHistogram::iterator i=Histogram.begin(); i!=Histogram.end(); ++i)
 		{
 			Colors.Set_Color(i->second.index, SG_GET_R(i->first), SG_GET_G(i->first), SG_GET_B(i->first));
 		}
 
-		CSG_Grid *pRGB = Parameters("OUT_GRID")->asGrid(); if( !pRGB ) { Parameters("OUT_GRID")->Set_Value(pRGB = SG_Create_Grid()); }
+		CSG_Grid *pRGB = Parameters("OUT_GRID")->asGrid(); if( !pRGB ) { pRGB = SG_Create_Grid(); }
 		
 		pRGB->Create(Histogram.size() <= 2 ? SG_DATATYPE_Bit : SG_DATATYPE_Byte, Image.GetWidth(), Image.GetHeight(), Cellsize, xMin, yMin);
 
@@ -249,6 +249,8 @@ bool CGrid_Import::On_Execute(void)
 			Set_Transformation(&pRGB, m[4], m[5], m[0], m[3], m[2], m[1]);
 		}
 
+		Parameters("OUT_GRID")->Set_Value(pRGB);
+
 		SET_METADATA(pRGB, "", "OUT_GRID");
 
 		DataObject_Set_Colors(pRGB, Colors);
@@ -260,7 +262,7 @@ bool CGrid_Import::On_Execute(void)
 
 	else if( Parameters("METHOD")->asInt() != 1 ) // true color...
 	{
-		CSG_Grid *pRGB = Parameters("OUT_GRID")->asGrid(); if( !pRGB ) { Parameters("OUT_GRID")->Set_Value(pRGB = SG_Create_Grid()); }
+		CSG_Grid *pRGB = Parameters("OUT_GRID")->asGrid(); if( !pRGB ) { pRGB = SG_Create_Grid(); }
 
 		pRGB->Create(SG_DATATYPE_Int, Image.GetWidth(), Image.GetHeight(), Cellsize, xMin, yMin);
 
@@ -279,6 +281,8 @@ bool CGrid_Import::On_Execute(void)
 			Set_Transformation(&pRGB, m[4], m[5], m[0], m[3], m[2], m[1]);
 		}
 
+		Parameters("OUT_GRID")->Set_Value(pRGB);
+
 		SET_METADATA(pRGB, "", "OUT_GRID");
 
 		DataObject_Set_Parameter(pRGB, "COLORS_TYPE", 5);	// Color Classification Type: RGB Coded Values


=====================================
saga-gis/src/tools/io/io_shapes/pointcloud_from_text_file.cpp
=====================================
@@ -328,7 +328,7 @@ bool CPointCloud_From_Text_File::On_Execute(void)
 		for(int i=0; i<nFields; i++)
 		{
 			Names += CSG_String::Format("%s;", Fields(GET_ID_NAME(i))->asString());
-			Types += CSG_String::Format("%d;", Fields(GET_ID_TYPE(i))->asString());
+			Types += CSG_String::Format("%d;", Fields(GET_ID_TYPE(i))->asInt   ());
 		}
 
 		Parameters("FIELDNAMES")->Set_Value(Names);


=====================================
saga-gis/src/tools/projection/pj_georeference/direct_georeferencing.cpp
=====================================
@@ -539,7 +539,7 @@ CDirect_Georeferencing_WorldFile::CDirect_Georeferencing_WorldFile(void)
 	Parameters.Add_FilePath("",
 		"FILE"		, _TL("World File"),
 		_TL(""),
-		CSG_String::Format("%s|*.*|", _TL("All Files")), NULL, true
+		CSG_String::Format("%s|*.tfw;*.pgw;*.jgw;*.bpw|%s|*.*", _TL("Recognized Files"), _TL("All Files")), NULL, true
 	);
 
 	Parameters.Add_Node("",


=====================================
saga-gis/src/tools/table/table_tools/field_formatted_string.cpp
=====================================
@@ -177,8 +177,8 @@ int CField_Formatted_String::On_Parameters_Enable(CSG_Parameters *pParameters, C
 	}
 	else
 	{
-		pParameters->Set_Enabled("RESULT_TABLE" , pTable->asShapes() == NULL);
-		pParameters->Set_Enabled("RESULT_SHAPES", pTable->asShapes() != NULL);
+		pParameters->Set_Enabled("RESULT_TABLE" , false);
+		pParameters->Set_Enabled("RESULT_SHAPES", false);
 		pParameters->Set_Enabled("FIELD"        , false);
 		pParameters->Set_Enabled("NAME"         , false);
 	}


=====================================
saga-gis/src/tools/terrain_analysis/ta_hydrology/Flow_Parallel.cpp
=====================================
@@ -162,8 +162,8 @@ CFlow_Parallel::CFlow_Parallel(void)
 			_TL("Braunschweiger Reliefmodell"),
 			_TL("Deterministic Infinity"),
 			_TL("Multiple Flow Direction"),
-			_TL("Multiple Triangular Flow Directon"),
-			_TL("Multiple Maximum Downslope Gradient Based Flow Directon")
+			_TL("Multiple Triangular Flow Direction"),
+			_TL("Multiple Maximum Downslope Gradient Based Flow Direction")
 		), 4
 	);
 
@@ -182,7 +182,7 @@ CFlow_Parallel::CFlow_Parallel(void)
 
 	Parameters.Add_Double("",
 		"CONVERGENCE"	, _TL("Convergence"),
-		_TL("Convergence factor for Multiple Flow Direction Algorithm (Freeman 1991).\nApplies also to the Multiple Triangular Flow Directon Algorithm."),
+		_TL("Convergence factor for Multiple Flow Direction Algorithm (Freeman 1991).\nApplies also to the Multiple Triangular Flow Direction Algorithm."),
 		1.1, 0.001, true
 	);
 
@@ -507,7 +507,7 @@ void CFlow_Parallel::Set_Rho8(int x, int y)
 
 		Add_Fraction(x, y, Direction);
 	}
-}/**/
+}*/
 
 
 ///////////////////////////////////////////////////////////
@@ -582,7 +582,7 @@ void CFlow_Parallel::Set_MFD(int x, int y)
 
 ///////////////////////////////////////////////////////////
 //														 //
-//	Multiple Maximum Downslope Gradient Flow Directon	 //
+//	Multiple Maximum Downslope Gradient Flow Direction	 //
 //														 //
 ///////////////////////////////////////////////////////////
 


=====================================
saga-gis/src/tools/terrain_analysis/ta_lighting/SolarRadiation.cpp
=====================================
@@ -121,8 +121,8 @@ CSolarRadiation::CSolarRadiation(void)
 	Parameters.Add_Choice("",
 		"UNITS"			, _TL("Units"),
 		_TL("Units for output radiation values."),
-		"kWh/m²|kJ/m²|J/cm²"    // time span  => energy (sum)
-	//	"kW/m²|kJ/s/m²|J/s/cm²" // for moment => power
+		SG_T("kWh/m²|kJ/m²|J/cm²")    // time span  => energy (sum)
+	//	SG_T("kW/m²|kJ/s/m²|J/s/cm²") // for moment => power
 	);
 
 	Parameters.Add_Choice("",
@@ -462,9 +462,9 @@ bool CSolarRadiation::Finalize(void)
 	}
 	else switch( Parameters("UNITS")->asInt() )
 	{
-	default: dUnit =    1.; Unit = "kWh/m²"; break; // [kWh/m²]
-	case  1: dUnit = 3600.; Unit = "kJ/m²" ; break; // [kJ/m²]
-	case  2: dUnit =  360.; Unit = "J/cm²" ; break; // [Ws/cm²] = [J/cm²]
+	default: dUnit =    1.; Unit = SG_T("kWh/m²"); break; // [kWh/m²]
+	case  1: dUnit = 3600.; Unit = SG_T("kJ/m²" ); break; // [kJ/m²]
+	case  2: dUnit =  360.; Unit = SG_T("J/cm²" ); break; // [Ws/cm²] = [J/cm²]
 	}
 
 	m_pDirect->Multiply(dUnit); m_pDirect->Set_Unit(Unit);


=====================================
saga-gis/version.cmake
=====================================
@@ -1,7 +1,7 @@
 # The version number.
 set (SAGA_VERSION_MAJOR 9)
 set (SAGA_VERSION_MINOR 6)
-set (SAGA_VERSION_PATCH 1)
+set (SAGA_VERSION_PATCH 2)
 
 # get git commit hash (or dirty if git is not installed)
 



View it on GitLab: https://salsa.debian.org/debian-gis-team/saga/-/commit/557b32a7da03840710ced7c9071e9a54fc57642c

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/saga/-/commit/557b32a7da03840710ced7c9071e9a54fc57642c
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20241203/1aa3de42/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list