[Git][debian-gis-team/saga][master] 5 commits: New upstream version 9.1.1+dfsg
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Wed Jul 26 16:01:42 BST 2023
Bas Couwenberg pushed to branch master at Debian GIS Project / saga
Commits:
133c0e9c by Bas Couwenberg at 2023-07-26T16:43:31+02:00
New upstream version 9.1.1+dfsg
- - - - -
924772f5 by Bas Couwenberg at 2023-07-26T16:43:45+02:00
Update upstream source from tag 'upstream/9.1.1+dfsg'
Update to upstream version '9.1.1+dfsg'
with Debian dir a13a8b44d2b9b0837bda6e6a94a65a28971c2601
- - - - -
53368171 by Bas Couwenberg at 2023-07-26T16:44:02+02:00
New upstream release.
- - - - -
7a002c03 by Bas Couwenberg at 2023-07-26T16:55:36+02:00
Export DEB_PYTHON_INSTALL_LAYOUT to fix FTBFS with CMake 3.27.0.
- - - - -
abd66f27 by Bas Couwenberg at 2023-07-26T16:55:36+02:00
Set distribution to unstable.
- - - - -
19 changed files:
- debian/changelog
- debian/rules
- saga-gis/src/accessories/helper/doxygen_saga_api_chm
- saga-gis/src/accessories/helper/doxygen_saga_api_html
- saga-gis/src/accessories/helper/make_saga_release.bat
- saga-gis/src/accessories/python/saga_python_example.py
- saga-gis/src/saga_core/saga_api/api_core.cpp
- saga-gis/src/saga_core/saga_api/parameter_data.cpp
- saga-gis/src/saga_core/saga_api/saga_api.h
- saga-gis/src/saga_core/saga_api/saga_api_python/CMakeLists.txt
- saga-gis/src/saga_core/saga_api/tool.cpp
- saga-gis/src/saga_core/saga_cmd/man/saga_cmd.1
- saga-gis/src/saga_core/saga_gui/man/saga_gui.1
- saga-gis/src/tools/climate/climate_tools/treeline.cpp
- saga-gis/src/tools/imagery/imagery_opencv/opencv_canny.cpp
- saga-gis/src/tools/io/io_gdal/gdal_driver.cpp
- saga-gis/src/tools/io/io_grid_image/grid_import.cpp
- saga-gis/version.cmake
- saga_setup_x64.iss
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+saga (9.1.1+dfsg-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream release.
+ * Export DEB_PYTHON_INSTALL_LAYOUT to fix FTBFS with CMake 3.27.0.
+
+ -- Bas Couwenberg <sebastic at debian.org> Wed, 26 Jul 2023 16:44:36 +0200
+
saga (9.1.0+dfsg-1) unstable; urgency=medium
* Team upload.
=====================================
debian/rules
=====================================
@@ -3,6 +3,8 @@
# Enable hardening build flags
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+export DEB_PYTHON_INSTALL_LAYOUT=deb_system
+
CFLAGS += $(CPPFLAGS)
include /usr/share/dpkg/pkg-info.mk
=====================================
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.1.0
+PROJECT_NUMBER = v9.1.1
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,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.1.0_api_doc
+OUTPUT_DIRECTORY = saga-9.1.1_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
@@ -1371,7 +1371,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.1.0_api.chm
+CHM_FILE = ../../saga-9.1.1_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.1.0
+PROJECT_NUMBER = v9.1.1
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,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.1.0_api_doc
+OUTPUT_DIRECTORY = saga-9.1.1_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
@@ -1371,7 +1371,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.1.0_api.chm
+CHM_FILE = ../../saga-9.1.1_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_saga_release.bat
=====================================
@@ -32,9 +32,9 @@ REM Version
REM For all bug-fix-releases!
REM Don't forget to activate the variable
REM - SWITCH_TO_BRANCH -
-REM SET SWITCH_TO_BRANCH=saga-9.1
-SET SAGA_VER_TEXT=9.1.0
-SET SAGA_VER_NEXT=9.2.0
+SET SWITCH_TO_BRANCH=saga-9.1
+SET SAGA_VER_TEXT=9.1.1
+SET SAGA_VER_NEXT=9.1.1
SET SAGA_VERSION=saga-%SAGA_VER_TEXT%
=====================================
saga-gis/src/accessories/python/saga_python_example.py
=====================================
@@ -38,7 +38,7 @@
# Windows: The most convenient way to make PySAGA available to all your
# Python scripts is to copy the PySAGA folder to the 'Lib/site-packages/'
-# folder of your Python installation. If don't want to do this or if you
+# folder of your Python installation. If you don't want to do this or if you
# don't have the rights to do so, you can also copy it to the folder with
# the Python scripts in which you want to use PySAGA, or alternatively
# you can add the path containing the PySAGA folder (e.g. the path to your
@@ -48,14 +48,14 @@
###import sys, os; sys.path.insert(1, os.path.split(os.path.dirname(__file__))[0])
# Import saga_api from PySAGA:
-import PySAGA.saga_api as saga
+from PySAGA import saga_api
#_________________________________________
##########################################
def Run_Random_Terrain():
print('Running: Random Terrain')
- Tool = saga.SG_Get_Tool_Library_Manager().Get_Tool('grid_calculus', '6')
+ Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('grid_calculus', '6')
if not Tool:
print('Failed to request tool: Random Terrain')
import sys; sys.exit()
@@ -80,7 +80,7 @@ def Run_Random_Terrain():
##########################################
def Run_Slope_Aspect_Curvature(DEM):
print('Running: Slope, Aspect, Curvature')
- Tool = saga.SG_Get_Tool_Library_Manager().Get_Tool('ta_morphometry', '0')
+ Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('ta_morphometry', '0')
if not Tool:
print('Failed to request tool: Slope, Aspect, Curvature')
return None, None, None, None
@@ -90,8 +90,8 @@ def Run_Slope_Aspect_Curvature(DEM):
Tool.Set_Parameter('METHOD' , 6) # '9 parameter 2nd order polynom (Zevenbergen & Thorne 1987)'
Tool.Set_Parameter('UNIT_SLOPE' , 0) # 'radians'
Tool.Set_Parameter('UNIT_ASPECT', 1) # 'degree'
- Tool.Set_Parameter('C_LONG' , saga.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it
- Tool.Set_Parameter('C_CROS' , saga.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it
+ Tool.Set_Parameter('C_LONG' , saga_api.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it
+ Tool.Set_Parameter('C_CROS' , saga_api.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it
if not Tool.Execute():
print('failed to execute tool: ' + Tool.Get_Name().c_str())
@@ -116,7 +116,7 @@ def Run_Grid_Difference(A, B, PythonLoop):
# cell by cell, slower than second solution
if PythonLoop:
print('Running: Grid Difference (Cell by Cell)\n')
- C = saga.SG_Create_Grid(A.Get_System())
+ C = saga_api.SG_Create_Grid(A.Get_System())
for y in range(0, C.Get_NY()):
print('\r{:04.1f}%'.format(y * 100. / C.Get_NY()), end='\r', flush=True)
for x in range(0, C.Get_NX()):
@@ -129,7 +129,7 @@ def Run_Grid_Difference(A, B, PythonLoop):
# using built-in CSG_Grid function 'Subtract()'
else:
print('Running: Grid Difference (CSG_Grid::Subtract())')
- C = saga.SG_Create_Grid(A)
+ C = saga_api.SG_Create_Grid(A)
C.Subtract(B)
# ------------------------------------
@@ -142,7 +142,7 @@ def Run_Grid_Difference(A, B, PythonLoop):
##########################################
def Run_Contour_Lines_from_Grid(Grid):
print('Running: Contour Lines from Grid')
- Tool = saga.SG_Get_Tool_Library_Manager().Get_Tool('shapes_grid', '5')
+ Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('shapes_grid', '5')
if not Tool:
print('Failed to request tool: Contour Lines from Grid')
import sys; sys.exit()
@@ -161,7 +161,7 @@ def Run_Contour_Lines_from_Grid(Grid):
##########################################
def Run_Geomorphons(DEM):
print('Running: Geomorphons')
- Tool = saga.SG_Get_Tool_Library_Manager().Get_Tool('ta_lighting', '8')
+ Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('ta_lighting', '8')
if not Tool:
print('Failed to request tool: Geomorphons')
import sys; sys.exit()
@@ -186,7 +186,7 @@ print('This is a simple script to demonstrate the usage of SAGA and its tools th
Verbose = False
if not Verbose:
- saga.SG_UI_ProgressAndMsg_Lock(True)
+ saga_api.SG_UI_ProgressAndMsg_Lock(True)
import os;
output = 'test/'
@@ -195,7 +195,7 @@ if not os.path.exists(output):
#_________________________________________
# load or create a Digital Elevation Model
-DEM = saga.SG_Get_Data_Manager().Add_Grid(output + 'dem.tif')
+DEM = saga_api.SG_Get_Data_Manager().Add_Grid(output + 'dem.tif')
if not DEM:
DEM = Run_Random_Terrain()
DEM.Save(output + 'dem.tif')
@@ -228,10 +228,10 @@ Geomorphons.Save(output + 'geomorphons.tif')
#_________________________________________
# when job is done, free memory resources:
-saga.SG_Get_Data_Manager().Delete_All()
+saga_api.SG_Get_Data_Manager().Delete_All()
if not Verbose:
- saga.SG_UI_ProgressAndMsg_Lock(False)
+ saga_api.SG_UI_ProgressAndMsg_Lock(False)
print('________________\n...the end!')
=====================================
saga-gis/src/saga_core/saga_api/api_core.cpp
=====================================
@@ -372,101 +372,110 @@ bool SG_Initialize_Environment(bool bLibraries, bool bProjections, const SG_Char
g_App_Initialize.Initialize();
}
- SG_UI_ProgressAndMsg_Lock(true);
-
//-----------------------------------------------------
- #ifdef _SAGA_MSW
+ static bool bInitialized = false;
+
+ if( bInitialized == false )
{
- wxString App_Path, Dll_Paths, System_Paths;
+ bInitialized = true;
- if( Directory && SG_Dir_Exists(Directory) )
- {
- App_Path = Directory;
- }
- else
+ SG_UI_ProgressAndMsg_Lock(true);
+
+ #ifdef _SAGA_MSW
{
- App_Path = SG_UI_Get_Application_Path(true).c_str();
- }
+ wxString App_Path, Dll_Paths, System_Paths;
- wxGetEnv("PATH", &System_Paths);
+ if( Directory && SG_Dir_Exists(Directory) )
+ {
+ App_Path = Directory;
+ }
+ else
+ {
+ App_Path = SG_UI_Get_Application_Path(true).c_str();
+ }
- if( SG_Add_Dll_Paths(App_Path + "\\dll", Dll_Paths) )
- {
- Dll_Paths += ';' + App_Path + ';' + System_Paths;
+ wxGetEnv("PATH", &System_Paths);
- wxSetEnv("PATH", Dll_Paths);
- }
+ if( SG_Add_Dll_Paths(App_Path + "\\dll", Dll_Paths) )
+ {
+ Dll_Paths += ';' + App_Path + ';' + System_Paths;
- if( bLibraries )
- {
- SG_Get_Tool_Library_Manager().Add_Directory(SG_File_Make_Path(&App_Path, "tools"), false);
- }
+ wxSetEnv("PATH", Dll_Paths);
+ }
- if( bProjections )
- {
- SG_Get_Projections().Load_Dictionary(SG_File_Make_Path(&App_Path, "saga_prj", "dic"));
- SG_Get_Projections().Load_DB (SG_File_Make_Path(&App_Path, "saga_prj", "srs"));
- }
- }
- #elif defined(__WXMAC__)
- {
- CSG_String App_Path(SG_UI_Get_Application_Path(true));
+ if( bLibraries )
+ {
+ SG_Get_Tool_Library_Manager().Add_Directory(SG_File_Make_Path(&App_Path, "tools"), false);
+ }
- if( bLibraries )
+ if( bProjections )
+ {
+ SG_Get_Projections().Load_Dictionary(SG_File_Make_Path(&App_Path, "saga_prj", "dic"));
+ SG_Get_Projections().Load_DB (SG_File_Make_Path(&App_Path, "saga_prj", "srs"));
+ }
+ }
+ #elif defined(__WXMAC__)
{
- if( SG_Get_Tool_Library_Manager().Add_Directory(App_Path + "/../Tools", false) < 1 )
+ CSG_String App_Path(SG_UI_Get_Application_Path(true));
+
+ if( bLibraries )
{
- #ifdef TOOLS_PATH
- SG_Get_Tool_Library_Manager().Add_Directory(TOOLS_PATH);
- #endif
+ if( SG_Get_Tool_Library_Manager().Add_Directory(App_Path + "/../Tools", false) < 1 )
+ {
+ #ifdef TOOLS_PATH
+ SG_Get_Tool_Library_Manager().Add_Directory(TOOLS_PATH);
+ #endif
- #ifdef SHARE_PATH
- SG_Get_Tool_Library_Manager().Add_Directory(CSG_String(SHARE_PATH) + "/toolchains"); // look for tool chains
- #endif
+ #ifdef SHARE_PATH
+ SG_Get_Tool_Library_Manager().Add_Directory(CSG_String(SHARE_PATH) + "/toolchains"); // look for tool chains
+ #endif
+ }
}
- }
- if( bProjections )
+ if( bProjections )
+ {
+ if( SG_Get_Projections().Load_Dictionary(App_Path + "/saga_prj.dic") == false )
+ {
+ #ifdef SHARE_PATH
+ SG_Get_Projections().Load_Dictionary(CSG_String(SHARE_PATH) + "/saga_prj.dic");
+ #endif
+ }
+
+ if( SG_Get_Projections().Load_DB (App_Path + "/saga_prj.srs") == false )
+ {
+ #ifdef SHARE_PATH
+ SG_Get_Projections().Load_DB (CSG_String(SHARE_PATH) + "/saga_prj.srs");
+ #endif
+ }
+ }
+
+ if( SG_Dir_Exists(App_Path + "/proj-data") ) { wxSetEnv("PROJ_LIB" , wxString::Format("%s/proj-data", App_Path.c_str())); }
+ if( SG_Dir_Exists(App_Path + "/gdal-data") ) { wxSetEnv("GDAL_DATA", wxString::Format("%s/gdal-data", App_Path.c_str())); }
+ }
+ #else // #ifdef _SAGA_LINUX
{
- if( SG_Get_Projections().Load_Dictionary(App_Path + "/saga_prj.dic") == false )
+ if( bLibraries )
{
+ #ifdef TOOLS_PATH
+ SG_Get_Tool_Library_Manager().Add_Directory(TOOLS_PATH);
+ #endif
#ifdef SHARE_PATH
- SG_Get_Projections().Load_Dictionary(CSG_String(SHARE_PATH) + "/saga_prj.dic");
+ SG_Get_Tool_Library_Manager().Add_Directory(SG_File_Make_Path(SHARE_PATH, "toolchains")); // look for tool chains
#endif
}
- if( SG_Get_Projections().Load_DB (App_Path + "/saga_prj.srs") == false )
+ if( bProjections )
{
#ifdef SHARE_PATH
- SG_Get_Projections().Load_DB (CSG_String(SHARE_PATH) + "/saga_prj.srs");
+ SG_Get_Projections().Load_Dictionary(SG_File_Make_Path(SHARE_PATH, "saga_prj", "dic"));
+ SG_Get_Projections().Load_DB (SG_File_Make_Path(SHARE_PATH, "saga_prj", "srs"));
#endif
}
}
+ #endif
- if( SG_Dir_Exists(App_Path + "/proj-data") ) { wxSetEnv("PROJ_LIB" , wxString::Format("%s/proj-data", App_Path.c_str())); }
- if( SG_Dir_Exists(App_Path + "/gdal-data") ) { wxSetEnv("GDAL_DATA", wxString::Format("%s/gdal-data", App_Path.c_str())); }
+ SG_UI_ProgressAndMsg_Lock(false);
}
- #else // #ifdef _SAGA_LINUX
- {
- if( bLibraries )
- {
- #ifdef TOOLS_PATH
- SG_Get_Tool_Library_Manager().Add_Directory(TOOLS_PATH);
- #endif
- #ifdef SHARE_PATH
- SG_Get_Tool_Library_Manager().Add_Directory(SG_File_Make_Path(SHARE_PATH, "toolchains")); // look for tool chains
- #endif
- }
-
- if( bProjections )
- {
- #ifdef SHARE_PATH
- SG_Get_Projections().Load_Dictionary(SG_File_Make_Path(SHARE_PATH, "saga_prj", "dic"));
- SG_Get_Projections().Load_DB (SG_File_Make_Path(SHARE_PATH, "saga_prj", "srs"));
- #endif
- }
- }
- #endif
//-----------------------------------------------------
if( bLibraries )
@@ -475,6 +484,8 @@ bool SG_Initialize_Environment(bool bLibraries, bool bProjections, const SG_Char
if( wxGetEnv("SAGA_TLB", &Path) )
{
+ SG_UI_ProgressAndMsg_Lock(true);
+
#ifdef _SAGA_MSW
CSG_Strings Paths = SG_String_Tokenize(&Path, ";" ); // colon (':') would split drive from paths!
#else // #ifdef _SAGA_LINUX
@@ -485,12 +496,12 @@ bool SG_Initialize_Environment(bool bLibraries, bool bProjections, const SG_Char
{
SG_Get_Tool_Library_Manager().Add_Directory(Paths[i]);
}
+
+ SG_UI_ProgressAndMsg_Lock(false);
}
}
//-----------------------------------------------------
- SG_UI_ProgressAndMsg_Lock(false);
-
return( true );
}
=====================================
saga-gis/src/saga_core/saga_api/parameter_data.cpp
=====================================
@@ -949,11 +949,6 @@ CSG_String CSG_Parameter_Choice::Get_Items(void) const
Items += "|";
}
- if( !m_Data[i].is_Empty() )
- {
- Items += "{" + m_Data[i] + "}";
- }
-
Items += m_Items[i];
}
=====================================
saga-gis/src/saga_core/saga_api/saga_api.h
=====================================
@@ -86,8 +86,8 @@
//---------------------------------------------------------
#define SAGA_MAJOR_VERSION 9
#define SAGA_MINOR_VERSION 1
-#define SAGA_RELEASE_NUMBER 0
-#define SAGA_VERSION SG_T("9.1.0")
+#define SAGA_RELEASE_NUMBER 1
+#define SAGA_VERSION SG_T("9.1.1")
///////////////////////////////////////////////////////////
=====================================
saga-gis/src/saga_core/saga_api/saga_api_python/CMakeLists.txt
=====================================
@@ -63,12 +63,12 @@ if(SWIG_FOUND)
if(EXISTS ${Python_SITELIB})
option(WITH_PYTHON_PKG "PySAGA package installation (if not checked API modules become installed directly in Python's site/dist-packages folder)" ON)
if(WITH_PYTHON_PKG)
- message(STATUS "SAGA-Python-API installed to: ${PYTHON_SITELIB}/PySAGA")
+ message(STATUS "SAGA-Python-API installed to: ${Python_SITELIB}/PySAGA")
install(TARGETS saga_api_python DESTINATION ${Python_SITELIB}/PySAGA)
install(FILES ${CMAKE_BINARY_DIR}/src/saga_core/saga_api/saga_api_python/saga_api.py DESTINATION ${Python_SITELIB}/PySAGA)
install(FILES ${CMAKE_SOURCE_DIR}/src/accessories/python/__init__.py DESTINATION ${Python_SITELIB}/PySAGA)
else()
- message(STATUS "SAGA-Python-API installed to: ${PYTHON_SITELIB}")
+ message(STATUS "SAGA-Python-API installed to: ${Python_SITELIB}")
install(TARGETS saga_api_python DESTINATION ${Python_SITELIB})
install(FILES ${CMAKE_BINARY_DIR}/src/saga_core/saga_api/saga_api_python/saga_api.py DESTINATION ${Python_SITELIB})
endif()
=====================================
saga-gis/src/saga_core/saga_api/tool.cpp
=====================================
@@ -1580,7 +1580,7 @@ CSG_String CSG_Tool::_Get_Script_Python(bool bHeader, bool bAllParameters)
Script += "\n";
#endif // _SAGA_MSW
Script += "# Import saga_api from PySAGA:\n";
- Script += "from PySAGA import saga_api as saga\n";
+ Script += "from PySAGA import saga_api\n";
Script += "\n";
Script += "\n";
Script += "#_________________________________________\n";
@@ -1590,7 +1590,7 @@ CSG_String CSG_Tool::_Get_Script_Python(bool bHeader, bool bAllParameters)
//-----------------------------------------------------
if( bHeader ) Script += " # Get the tool:\n";
- Script += " Tool = saga.SG_Get_Tool_Library_Manager().Get_Tool('" + Get_Library() + "', '" + Get_ID() + "')\n";
+ Script += " Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('" + Get_Library() + "', '" + Get_ID() + "')\n";
Script += " if not Tool:\n";
Script += " print('Failed to request tool: " + Get_Name() + "')\n";
Script += " return False\n";
@@ -1664,7 +1664,7 @@ CSG_String CSG_Tool::_Get_Script_Python(bool bHeader, bool bAllParameters)
if( bHeader )
{
Script += " # job is done, free memory resources:\n";
- Script += " saga.SG_Get_Data_Manager().Delete_All()\n";
+ Script += " saga_api.SG_Get_Data_Manager().Delete_All()\n";
Script += "\n";
Script += " return True\n";
Script += "\n";
@@ -1750,13 +1750,13 @@ void CSG_Tool::_Get_Script_Python(CSG_String &Script, CSG_Parameters *pParameter
break;
case PARAMETER_TYPE_FixedTable :
- Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga.SG_Create_Table('table.txt'))\n", ID.c_str());
+ Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga_api.SG_Create_Table('table.txt'))\n", ID.c_str());
break;
case PARAMETER_TYPE_Grid_System :
if( p->Get_Children_Count() == 0 )
{
- Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga.CSG_Grid_System(%g, %g, %g, %d, %d))\n", ID.c_str(),
+ Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga_api.CSG_Grid_System(%g, %g, %g, %d, %d))\n", ID.c_str(),
p->asGrid_System()->Get_Cellsize(),
p->asGrid_System()->Get_XMin(), p->asGrid_System()->Get_YMin(),
p->asGrid_System()->Get_NX (), p->asGrid_System()->Get_NY ()
@@ -1772,13 +1772,13 @@ void CSG_Tool::_Get_Script_Python(CSG_String &Script, CSG_Parameters *pParameter
case PARAMETER_TYPE_PointCloud :
if( p->is_Input() )
{
- Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga.SG_Get_Data_Manager().Add('%s input file%s'))\n", ID.c_str(),
+ Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga_api.SG_Get_Data_Manager().Add('%s input file%s'))\n", ID.c_str(),
SG_Get_DataObject_Name(p->Get_DataObject_Type()).c_str(), p->is_Optional() ? SG_T(", optional") : SG_T("")
);
}
else if( p->is_Output() && p->is_Optional() )
{
- Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it\n", ID.c_str());
+ Script += CSG_String::Format(" Tool.Set_Parameter('%s', saga_api.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it\n", ID.c_str());
}
break;
=====================================
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.1.0" " "
+.TH SAGA_CMD 1 "2021-07-07" "9.1.1" " "
.\" 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/man/saga_gui.1
=====================================
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "SAGA_GUI 1"
-.TH SAGA_GUI 1 "2021-07-07" "9.1.0" " "
+.TH SAGA_GUI 1 "2021-07-07" "9.1.1" " "
.\" 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/tools/climate/climate_tools/treeline.cpp
=====================================
@@ -309,15 +309,15 @@ CTree_Growth::CTree_Growth(void)
);
//-----------------------------------------------------
- Parameters.Add_Grid_List("", "T" , _TL("Mean Temperature" ), _TL(""), PARAMETER_INPUT);
- Parameters.Add_Grid_List("", "TMIN", _TL("Minimum Temperature"), _TL(""), PARAMETER_INPUT);
- Parameters.Add_Grid_List("", "TMAX", _TL("Maximum Temperature"), _TL(""), PARAMETER_INPUT);
- Parameters.Add_Grid_List("", "P" , _TL("Precipitation" ), _TL(""), PARAMETER_INPUT);
+ Parameters.Add_Grid_List("", "T" , _TL("Mean Temperature" ), _TL("Monthly averages of daily mean temperature (12 grids, January to December) [°C]"), PARAMETER_INPUT);
+ Parameters.Add_Grid_List("", "TMIN", _TL("Minimum Temperature"), _TL("Monthly averages of daily minimum temperature (12 grids, January to December) [°C]"), PARAMETER_INPUT);
+ Parameters.Add_Grid_List("", "TMAX", _TL("Maximum Temperature"), _TL("Monthly averages of daily maximum temperature (12 grids, January to December) [°C]"), PARAMETER_INPUT);
+ Parameters.Add_Grid_List("", "P" , _TL("Precipitation" ), _TL("Monthly sums of precipitation (12 grids, January to December) [mm / m²]"), PARAMETER_INPUT);
//-----------------------------------------------------
Parameters.Add_Grid_or_Const("",
"SWC" , _TL("Soil Water Capacity of Profile"),
- _TL("Total soil water capacity (mm H2O)."),
+ _TL("Total soil water capacity (mm H₂O)."),
220., 0., true
);
=====================================
saga-gis/src/tools/imagery/imagery_opencv/opencv_canny.cpp
=====================================
@@ -102,7 +102,7 @@ bool COpenCV_Canny::On_Execute(void)
}
//-----------------------------------------------------
- CSG_Grid *pGrid = Parameters("GRID")->asGrid();
+ CSG_Grid *pGrid = Parameters("GRID")->asGrid(); pGrid->Set_Max_Samples(pGrid->Get_NCells());
cv::Mat Grid(Get_NY(), Get_NX(), CV_8U);
=====================================
saga-gis/src/tools/io/io_gdal/gdal_driver.cpp
=====================================
@@ -1069,21 +1069,21 @@ bool CSG_GDAL_DataSet::Write(int i, CSG_Grid *pGrid, double noDataValue)
return( false );
}
- GDALRasterBandH pBand = GDALGetRasterBand(m_pDataSet, i + 1);
+ GDALRasterBandH pBand = GDALGetRasterBand(m_pDataSet, i + 1);
//-----------------------------------------------------
- CPLErr Error = CE_None;
+ CPLErr Error = CE_None;
- double *zLine = (double *)SG_Malloc(Get_NX() * sizeof(double));
+ double *zLine = (double *)SG_Malloc(Get_NX() * sizeof(double));
for(int y=0, yy=Get_NY()-1; Error==CE_None && y<Get_NY() && SG_UI_Process_Set_Progress(y, Get_NY()); y++, yy--)
{
for(int x=0; x<Get_NX(); x++)
{
- zLine[x] = pGrid->is_NoData(x, yy) ? noDataValue : pGrid->asDouble(x, yy);
+ zLine[x] = pGrid->is_NoData(x, yy) ? noDataValue : pGrid->asDouble(x, yy, false);
}
- Error = GDALRasterIO(pBand, GF_Write, 0, y, Get_NX(), 1, zLine, Get_NX(), 1, GDT_Float64, 0, 0);
+ Error = GDALRasterIO(pBand, GF_Write, 0, y, Get_NX(), 1, zLine, Get_NX(), 1, GDT_Float64, 0, 0);
}
SG_Free(zLine);
=====================================
saga-gis/src/tools/io/io_grid_image/grid_import.cpp
=====================================
@@ -152,11 +152,11 @@ bool CGrid_Import::On_Execute(void)
//-----------------------------------------------------
CSG_File Stream;
- if ( SG_File_Cmp_Extension(File, "bmp") ) { Stream.Open(SG_File_Make_Path("", File, "bpw"), SG_FILE_R, false); }
- else if( SG_File_Cmp_Extension(File, "jpg") ) { Stream.Open(SG_File_Make_Path("", File, "jgw"), SG_FILE_R, false); }
- else if( SG_File_Cmp_Extension(File, "png") ) { Stream.Open(SG_File_Make_Path("", File, "pgw"), SG_FILE_R, false); }
- else if( SG_File_Cmp_Extension(File, "tif") ) { Stream.Open(SG_File_Make_Path("", File, "tfw"), SG_FILE_R, false); }
- else { Stream.Open(SG_File_Make_Path("", File, "world"), SG_FILE_R, false); }
+ if ( SG_File_Cmp_Extension(File, "bmp") ) { if( !Stream.Open(SG_File_Make_Path("", File, "bpw"), SG_FILE_R, false) ) { Stream.Open(SG_File_Make_Path("", File, "bpwx"), SG_FILE_R, false); } }
+ else if( SG_File_Cmp_Extension(File, "jpg") ) { if( !Stream.Open(SG_File_Make_Path("", File, "jgw"), SG_FILE_R, false) ) { Stream.Open(SG_File_Make_Path("", File, "jgwx"), SG_FILE_R, false); } }
+ else if( SG_File_Cmp_Extension(File, "png") ) { if( !Stream.Open(SG_File_Make_Path("", File, "pgw"), SG_FILE_R, false) ) { Stream.Open(SG_File_Make_Path("", File, "pgwx"), SG_FILE_R, false); } }
+ else if( SG_File_Cmp_Extension(File, "tif") ) { if( !Stream.Open(SG_File_Make_Path("", File, "tfw"), SG_FILE_R, false) ) { Stream.Open(SG_File_Make_Path("", File, "tfwx"), SG_FILE_R, false); } }
+ else { Stream.Open(SG_File_Make_Path("", File, "world"), SG_FILE_R, false); }
bool bTransform = false; double xMin = 0., yMin = 0., Cellsize = 1., m[6];
@@ -174,10 +174,35 @@ bool CGrid_Import::On_Execute(void)
}
}
+ //-----------------------------------------------------
+ CSG_Projection Projection;
+
+ if( SG_File_Exists(File + ".aux.xml") )
+ {
+ CSG_MetaData MD(File + ".aux.xml");
+
+ for(int i=0; i<MD.Get_Children_Count(); i++)
+ {
+ if( MD[i].Cmp_Name("Metadata") && MD[i].Cmp_Property("domain", "xml:ESRI") && MD[i].Cmp_Property("format", "xml")
+ && MD[i]("GeodataXform")
+ && MD[i]["GeodataXform"]("SpatialReference")
+ && MD[i]["GeodataXform"]["SpatialReference"]("WKT") )
+ {
+ Projection.Create(MD[i]["GeodataXform"]["SpatialReference"]["WKT"].Get_Content());
+ break;
+ }
+ }
+ }
+
+ if( !Projection.is_Okay() && SG_File_Exists(SG_File_Make_Path("", File, "prj")) )
+ {
+ Projection.Load(SG_File_Make_Path("", File, "prj"));
+ }
+
//-----------------------------------------------------
#define SET_METADATA(pGrid, Suffix, Output) {\
pGrid->Set_Name(SG_File_Get_Name(File, false) + Suffix);\
- pGrid->Get_Projection().Load(SG_File_Make_Path("", File, "prj"), SG_PROJ_FMT_WKT);\
+ pGrid->Get_Projection().Create(Projection);\
Parameters(Output)->Set_Value(pGrid);\
DataObject_Set_Colors(pGrid, 11, SG_COLORS_BLACK_WHITE);\
}
=====================================
saga-gis/version.cmake
=====================================
@@ -1,7 +1,7 @@
# The version number.
set (SAGA_VERSION_MAJOR 9)
set (SAGA_VERSION_MINOR 1)
-set (SAGA_VERSION_PATCH 0)
+set (SAGA_VERSION_PATCH 1)
# get git commit hash (or dirty if git is not installed)
=====================================
saga_setup_x64.iss
=====================================
@@ -1,5 +1,5 @@
-; To build installer (for example, saga-9.1.0_setup.exe).
-; - Unzip the SAGA binary files in their own folder (for example, saga-9.1.0.zip).
+; To build installer (for example, saga-9.1.1_setup.exe).
+; - Unzip the SAGA binary files in their own folder (for example, saga-9.1.1.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.1.0
+AppVerName=SAGA 9.1.1
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64
@@ -22,9 +22,9 @@ Compression=lzma
SolidCompression=yes
OutputDir=.
-OutputBaseFilename=saga-9.1.0_x64_setup
+OutputBaseFilename=saga-9.1.1_x64_setup
-VersionInfoVersion=9.1.0.0
+VersionInfoVersion=9.1.1.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.1.0"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey
-Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.1.0"; ValueType: string; ValueName: "Version"; ValueData: "9.1.0.0"
+Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.1.1"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}"; Flags: uninsdeletekey
+Root: HKLM; Subkey: "SOFTWARE\SAGA User Group Association\SAGA\9.1.1"; ValueType: string; ValueName: "Version"; ValueData: "9.1.1.0"
View it on GitLab: https://salsa.debian.org/debian-gis-team/saga/-/compare/fa8154591681d7985d01143846f2ca1bf543cc25...abd66f27bc4534b30b70ca44452be299660bceb1
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/saga/-/compare/fa8154591681d7985d01143846f2ca1bf543cc25...abd66f27bc4534b30b70ca44452be299660bceb1
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/20230726/4d4d81a3/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list