摘要: GRASS GIS 8.4.0RC1 版本相对于 8.3.2 版本提供了超过 515 项改进和修复。请支持测试此候选版本。 亮点 位置变为项目:Python API、命令行和图形用户界面现在使用项目而不是位置作为数据层次结构的主要组件,同时保持向后兼容性。...
GRASS GIS 8.4.0RC1 版本相对于 8.3.2 版本提供了超过 515 项改进和修复。请支持测试此候选版本。
亮点
- 位置变为项目:Python API、命令行和图形用户界面现在使用项目而不是位置作为数据层次结构的主要组件,同时保持向后兼容性。
- v.fill.holes:删除内部孤岛并仅保留外部边界的新工具
- i.svm:新的支持向量机图像分类(SVM)
- r.horizon:输出多个点、距离和许多其他改进
- 这项工作由NSF 奖项 #2322073资助,授予Natrx, Inc.
- r.univar:并行计算扩展统计
format="json"
多种工具(例如 r.report、r.info、v.db.select、t.rast.list 等)支持 JSON 输出格式( )- 新的 grass.jupyter.SeriesMap 类用于为一系列矢量或栅格制作动画
- ipyleaflet 与 grass.jupyter 集成, 在 ipyleaflet 中创建地图并在一行中添加 GRASS 数据
- 大大简化了用 Python 创建新项目的流程(不再存在先有鸡还是先有蛋的问题), 在Jupyter笔记本 中同样如此
- 这项工作由NSF 奖项 #2322073资助,授予Natrx, Inc.
- GUI:通过历史浏览器面板浏览器面板进行新的简便命令历史导航(详细信息:https://grass.osgeo.org/news/2024_06_06_result_student_grant_linda_karlovska/)
- 图形用户界面 (GUI):进一步改进新的单窗口 GUI, 具有可脱离的地图显示窗口,可提供更流畅的用户体验
- 新的 GRASS GIS 编程风格指南(https://github.com/OSGeo/grass/blob/main/doc/development/style_guide.md)
新的附加工具
- i.eodag(https://grass.osgeo.org/grass83/manuals/addons/i.eodag.html):通过 EODAG API 从各种提供商下载图像数据集。
- r.flowaccumulation(https://grass.osgeo.org/grass83/manuals/addons/r.flowaccumulation.html):使用 Cho (2023) 的内存高效流量累积 (MEFA) 并行算法根据流向栅格图计算流量累积。
- r.fusion(https://grass.osgeo.org/grass83/manuals/addons/r.fusion.html):图像融合,广义全色锐化。
- 这项工作由mundialis GmbH & Co. KG(https://www.mundialis.de/)资助
- r.windfetch:用于计算风力提取的插件。
- r.maxent.train(https://grass.osgeo.org/grass83/manuals/addons/r.maxent.train.html)& r.maxent.predict(https://grass.osgeo.org/grass83/manuals/addons/r.maxent.predict.html):训练并预测 Maxent 模型以创建适用性分布层。
月度财务支持者
OpenPlains Inc.,Luis Bojórquez
变化内容
以下显示的是其中部分变化内容,更多详情请参阅:https://github.com/OSGeo/grass/releases/tag/8.4.0RC1。
工具
- d.legend.vect:初始化标题大小@wenzeslaus在#3095
- d.mon:由@HuidaeCho在#3500中委托渲染到wx监视器
- d.rast.arrow:通过@HuidaeCho在#2987中支持Terraflow方向
- d.rast.num:通过以下方式限制在 wx 监视器的当前显示范围内渲染@HuidaeCho在#3489
- d.redraw:用 C 语言重写@HuidaeCho在#3727
- d.vect.thematic:不显示整数的小数位@wenzeslaus在#3096
- d.vect:标签垂直对齐解决方法@marisn在#2857
- db.connect:通过以下方式更新文档中的 GRASS 版本默认值@pesekon2在#3385
- db.dropcolumn:通过以下方式绕过 sqlite3 SQL STDIN 字符串的长度限制@mmacata在#3273
- db.execute:修复文档中的重复单词@pesekon2在#3370
- g.extension:修复在 MS Windows 操作系统上安装附加组件的问题@tmszi在#3166
- g.extension:修复模块名称以 2 个字符 db. 、 ps.、 r3. 、 wx. 开头的注册插件@tmszi在#3168
- g.extension:如果复制的文件存在则不打印警告信息@tmszi在#3053
- g.extension:稀疏检出,带有历史记录,可快速访问提交日志@ninsbl在#3051
- g.gui.example:修复损坏的模块@pesekon2在#3233
- g.gui.gmodeler:通过修复与历史窗格的关系@pesekon2在#3337
- g.mapsets:添加 JSON 输出@cwhite911在#2542
- g.mapsets:添加缺少声明或定义的参数类型@nilason在#3599
- g.message:不需要完整的 gisinit@wenzeslaus在#3686
- g.mkfontcap:将 -o 替换为 --overwrite;通过以下方式添加重命名标志警告@HuidaeCho在#3649
- g.proj:修复 Windows 上的 wkt 输出@petrasovaa在#3306
- g.proj:通过以下方式将位置参数重命名为项目@petrasovaa在#3573
- g.region:通过以下方式修复平面标志@HuidaeCho在#3216
- g.setproj:修复 get_stp.c 中未初始化的变量问题@ShubhamDesai在#3777
- i.albedo:修复反照率直方图的越界访问问题@ymdatta在#3247
展示更多
- i.atcorr:添加 AVIRIS 支持@YannChemin在#3229
- i.atcorr:为 Hyperion 高光谱图像(VNIR 和 SWIR 部分)添加大气校正支持@YannChemin在#3272
- i.evapo.time:将示例图像添加到手册中@YannChemin在#3281
- i.ortho.target:将位置和地图集选项重命名为目标@wenzeslaus在#3131
- i.pca:通过以下方式为模块添加了测试@HamedElgizery在#3550
- i.signatures:添加图像分类器签名管理模块@marisn在#3008
- i.svm:添加基于 libsvm 的图像分类@marisn在#2189
- m.nviz.image:修复检查颜色栅格图是否存在(如果 color_map 参数被使用)@tmszi在#3139
- 模块:修复并行化光栅模块的缓冲区大小@metzm在#3070
- r.blend:在文档中添加屏幕截图@baharmon在#3045
- r.colors.stddev:在文档中添加屏幕截图@baharmon在#3044
- r.contour:删除损坏的测试@petrasovaa在#3333
- r.cross:修复过时的文档(最大 10 层更改为 30 层)@petrasovaa在#3294
- r.drain:修复完全限定地图名称@petrasovaa在#3092
- r.fillnulls:如果不存在漏洞,则继续(RST 方法)@neteler在#3122
- r.flow:重命名与 MSYS2 冲突的 io.h 文件@nilason在#3708
- r.horizon:将距离添加到输出中@petrasovaa在#3565
- r.horizon:添加 json 输出@petrasovaa在#3534
- r.horizon:添加对多个点的支持@petrasovaa在#3543
- r.horizon:解决覆盖率扫描“空指针取消引用”@petrasovaa在#3620
- r.horizon:解决由以下人员创建的栅格数量不正确的问题:@petrasovaa在#3411
- r.horizon:将缓冲区调整为分辨率的倍数@petrasovaa在#3384
- r.horizon:始终在 JSON 输出中包含距离输出@petrasovaa在#3768
- r.horizon:修复点模式计算中的错误@petrasovaa在#3288
- r.horizon:修复 test_low_res() 中的计算@petrasovaa在#3298
- r.horizon:修复距离输出@petrasovaa在#3589
- r.horizon:摆脱全局变量和其他重构@petrasovaa在#3346
- r.horizon:使用角度绝对值<GRASS_EPSILON@nilason在#3403
- r.horizon:需要通过以下方式重置点模式的变量@petrasovaa在#3441
- r.in.aster:删除了对 OSX arch 的依赖,并增加了对 ASTER L1T 数据产品的支持@afrigeri在#3258
- r.in.gdal:重命名为项目后使用 CRS 而不是投影@petrasovaa在#3578
- r.in.gdal:修复并启用测试@petrasovaa在#3339
- r.in.gdal:将选项位置重命名为项目@petrasovaa在#3575
- r.in.pdal:对 PDAL > 2.7.0 使用 NoFileWriter 类(修复#3552)@marisn在#3567
- r.in.wms:如果位置是“XY 位置(未投影)”,则修复获取 WMS 查询的区域范围@tmszi在#853
- r.info:将输出中的位置重命名为项目@wenzeslaus在#3134
- r.mapcalc:通过以下方式添加对 mapcalc.tab.h 的显式依赖@bmwiedemann在#3415
- r.mapcalc:将数据类型信息添加到手册中@pesekon2在#3579
- r.mapcalc:简化 Makefile 规则@nilason在#3425
- r.patch:确保相关测试中的 r.in.ascii 始终通过以下方式创建 CELL@petrasovaa在#3037
- r.proj:通过以下方式阐明 -n 标志用例@mankoff在#3758
- r.resamp.bspline:修复内存泄漏@metzm在#3069
- r.semantic.label:修复打印栅格地图语义标签@tmszi在#3595
- r.sim:修复之前忽略的 infil_value@petrasovaa在#3111
- r.stats:使用 long total_count 来避免 int 溢出@HuidaeCho在#3203
- r.surf.gauss:添加了种子选项和标志@cwhite911在#2931
- r.surf.random:通过以下方式向模块添加种子选项和标志@cwhite911在#2930
- r.terraflow:通过以下方式将流向编码信息添加到手册中@HuidaeCho在#2988
- r.topidx:更新手册,提供有关不受支持的纬度/经度位置的信息@HuidaeCho在#3488
- r.univar:添加注释,如果掩码设置为,则并行化将被禁用@ecodiv在#3562
- r.univar:通过最小可能值初始化最大值@nilason在#3512
- r.univar:扩展统计数据的并行化@aaronsms在#2683
- r.unpack:将文件夹重命名
test_suite
为testsuite
发现测试@echoix在#3358 - r.walk:在文档中添加屏幕截图@baharmon在#3025
- r.watershed:处理单元格中大于 INT32_MAX 的大型数据集@HuidaeCho在#2884
- r.watershed:修复溪流和盆地@metzm在#3140
- r.what:添加 JSON 输出@kritibirda26在#3528
- t.rast.algebra/testsuite:将文件 test_raster_algebra.py 拆分为@neteler在#2974
- t.rast.univar:添加 region_relation 选项,用于按计算区域进行空间过滤 STDS@ninsbl在#2793
- t.rast.univar:添加对百分位数的支持@ninsbl在#3039
- t.vect.import:将位置参数重命名为项目@petrasovaa在#3610
- 时间:通过以下方式从 DB 更新 STDS 元数据@ninsbl在#3350
- 时间:处理 SQLite < 3.33@ninsbl在#3723
- 时间:当覆盖为真时,从文件 DB 更新栅格地图元数据@ninsbl在#3374
- 时间:使用 UPDATE-FROM 语法更新元数据表@ninsbl在#3359
- 工具:修复 renamed_options 中 t.* 模块的解析器键值对@HuidaeCho在#3260
- v.clean:更改阈值描述以明确地图单位@neteler在#2950
- v.clip:添加无表格的测试@landam在#3423
- v.clip:当剪辑图没有连接的表时不会失败@landam在#3416
- v.db.addcolumn:修复使用 SQL 标准双引号括住列名的问题@tmszi在#3633
- v.db.connect:将 -o 标志替换为标准 --overwrite@HuidaeCho在#3214
- v.db.dropcolumn:修复使用 SQL 标准双引号括住列名的问题@tmszi在#3632
- v.db.join:通过添加 exclude_columns= 选项@HuidaeCho在#3174
- v.db.join:通过以下方式正确处理现有列@ninsbl在#3765
- v.db.join:通过使用更少的 db.execute 命令来加快处理速度@griembauer在#3286
- v.db.renamecolumn:修复使用 SQL 标准双引号括住列名的问题@tmszi在#3631
- v.db.select:通过以下方式将列名和类型添加到 JSON 中@wenzeslaus在#3090
- v.dissolve:允许所有类型的特征被溶解@ecodiv在#3433
- v.dissolve:通过以下方式计算属性聚合统计数据@wenzeslaus在#2388
- v.dissolve:修复拼写错误并改进聚合方法描述@ecodiv在#3429
- v.fill.holes:添加新工具以移除内部岛屿,保留外部边界@wenzeslaus在#2486
- v.in.ogr:添加对未闭合环的修复@metzm在#3282
- v.in.ogr:修复 PR #3282中的错误@metzm在#3391
- v.in.ogr:修复创建表时转义表列名称的问题@tmszi在#3605
- v.in.ogr:通过以下方式将选项位置重命名为项目@petrasovaa在#3576
- v.in.wfs:添加不同 WFS 版本的支持,仅导入指定的图层并通过定义感兴趣的区域@VeronicaKoess在#3311
- v.info:通过以下方式将输出中的位置重命名为项目@wenzeslaus在#3133
- v.out.ogr:修复附加+覆盖模式@metzm在#3283
- v.patch:使用 -e 进行连续 cat@HuidaeCho在#3508
- v.proj/r.proj:继续将位置重命名为项目@petrasovaa在#3574
- v.to.db:添加 h-flag 来写入 header@ninsbl在#3401
- v.to.rast:将 use=val 改为 use=value@wenzeslaus在#3110
- v.vol.rst:通过以下方式更新示例中的参数名称@lbartoletti在#3073
- v.what.rast3:重命名测试文件夹并修复测试执行@echoix在#3362
图形用户界面
- GUI:不要尝试从未编译的模块加载元数据,并通过以下方式引发菜单数据错误@HuidaeCho在#3628
- GUI:通过 g.parser 同步 GConsole skipInterface 处理@landam在#3375
- gui:将南北限制为 90/-90,将西/东限制为 -180/180@HuidaeCho在#1881
- wxGUI/animation:修复导出自定义图像叠加的动画@tmszi在#3137
- wxGUI/dbmgr:如果设置没有改变,则不要修改图层设置@tmszi在#3143
- wxGUI/dbmgr:不要将新的重复表 col 添加到表 desc TableListCtrl 小部件中@tmszi在#2437
- wxGUI/dbmgr:修复使用 SQL 标准双引号括住列名的问题@tmszi在#3634
- wxGUI/dbmgr:修复删除地图表格层和图层相关的浏览数据和管理表格页面(选项卡)的问题@tmszi在#2422
- wxGUI/dbmgr:修复显示来自另一个地图集的矢量地图的属性表@tmszi在#3081
- wxGUI/dbmgr:修复显示属性列菜单@petrasovaa在#3098
- wxGUI/dbmgr:修复按新添加的列值进行排序的问题@tmszi在#2436
- wxGUI/dbmgr:更新浏览数据页面简单 SQL 查询 WHERE ComboBox 小部件列名称选择@tmszi在#2438
- wxGUI/digitizer:修复数字化器 - VDigitToolbar.OnTool 方法未被调用@petrasovaa在#3027
- wxGUI/gmodeler:在暗模式下以白色显示 ModelRelation@landam在#2997
- wxGUI/gmodeler:支持 actinia 导出@pesekon2在#3005
- wxGUI/gmodeler:修复 r.what 模块查询地图坐标@tmszi在#3593
- wxGUI/gmodeler:修复如果模型包含 ModelData 项则脚本导出中断的问题@pesekon2在#3209
- wxGUI/gmodeler:修复通过以下方式将当前模型设置存储到模型文件@tmszi在#3188
- wxGUI/gmodeler:通过更新示例模型@pesekon2在#3043
- wxGUI/gui_core:修复导入 Rasterlite DB 栅格的问题@tmszi在#2513
- wxGUI/history:通过以下方式将时间段分支添加到历史浏览器树中@lindakarlovska在#3622
- wxGUI/history:通过以下方式在浏览器节点前添加时间/状态图标@lindakarlovska在#3679
- wxGUI/history:创建面板显示有关命令的信息@lindakarlovska在#3365
- wxGUI/history:通过以下方式修复日期格式@lindakarlovska在#3732
- wxGUI/history:将“导出历史记录”按钮移动到历史记录窗格@lindakarlovska在#3402
- wxGUI/history:新按钮用于根据执行的命令设置当前计算区域@lindakarlovska在#3421
展示更多
- wxGUI/history:添加 SearchCtrl 小部件,可以通过以下方式搜索历史树@tmszi在#3309
- wxGUI/history:添加弹出命令菜单,其中包含用于从历史记录中删除命令的项 + 历史树重构- @lindakarlovska在#3342
- wxGUI/history:允许运行特殊命令 egdrast、d.vect 等,以及通过 wxGUI 控制台运行@tmszi在#3302
- wxGUI/history:修复执行 r/r3.mapcalc 模块命令@tmszi在#3305
- wxGUI/history:修复 wxGUI 控制台中打印模块 GUI stderr 的问题@tmszi在#3300
- wxGUI/history:通过以下方式更新到当前区域后,将十字标记更新为绿色勾号:@lindakarlovska在#3714
- wxGUI/iclass:修复激活散点图窗格工具栏工具的问题@tmszi在#3182
- wxGUI/iclass:修复通过 x 按钮关闭散点图窗格的问题@tmszi在#3172
- wxGUI/iclass:修复显示散点图@tmszi在#3169
- wxGUI/iclass:修复散点图缩放至扩展@tmszi在#3184
- wxGUI/image2target:修复显示地面控制点设置对话框@tmszi在#3189
- wxGUI/lmgr:允许通过以下方式更改组图层不透明度级别@tmszi在#3583
- wxGUI/lmgr:修复将 Web 服务层保存为栅格地图的问题@tmszi在#3101
- wxGUI/lmgr:修复未聚焦的图层窗格 wx.ListCtrl 小部件行背景颜色@tmszi在#3264
- wxGUI/main_window:通过添加并使用自定义 SingleWindowAuiManager 类@tmszi在#3177
- wxGUI/main_window:修复渲染图层窗格地图显示工具栏小部件@tmszi在#3262
- wxGUI/mapdisp:保存/加载地图显示用于会话的输出图像大小@tmszi在#3315
- wxGUI/mapswipe:修复通过以下方式保存显示到文件@tmszi在#3185
- wxGUI/nviz:修复在数据、外观、分析页面(选项卡)上显示滚动条的问题@tmszi在#3250
- wxGUI/nviz:使工具面板在单窗口模式下可垂直和水平滚动@tmszi在#3089
- wxGUI/preferences:允许用户通过以下方式保存/加载单窗口模式窗格布局@tmszi在#3312
- wxGUI/preferences:允许用户设置模块使用的最大内存@tmszi在#3307
- wxGUI/preferences:允许用户通过以下方式更改手册页的字体大小/字体@tmszi在#3291
- wxGUI/preferences:修复
PreferencesDialog
类OnSave
方法@landam在#3368 - wxGUI/preferences:修复设置命令输出字体@tmszi在#3187
- wxGUI/psmap:修复点击“确定”按钮后关闭矢量地图属性对话框的问题@tmszi在#3085
- wxGUI/psmap:如果在 OS MS Windows 平台上未安装 Ghostscript(渲染输出 PDF 文件所需),则修复显示正确的错误消息@tmszi在#2420
- wxGUI/psmap:修复显示图像地图元素预览的问题@tmszi在#3193
- wxGUI/psmap:修复简单点图形重新计算位置@tmszi在#3164
- wxGUI/psmap:修复矢量线地图道具对话框 PenStyleComboBox 小部件绘制项目@tmszi在#3162
- wxGUI/psmap:修复矢量地图属性对话框,通过以下方式正确输入矢量地图的名称@tmszi在#3087
- wxGUI/query:设置与查询的每个栅格匹配的区域@petrasovaa在#2992
- wxGUI/timeline:为 Matplotlib 版本 >= 3.4 添加 _change_geometry() 方法@tmszi在#3094
- wxGUI/vdidit:修复在编辑矢量地图时打开矢量数字化仪设置对话框的问题@tmszi在#3142
- wxGUI/vdigit:如果矢量数字化仪作为独立应用程序 g.gui.vdigit 运行,则修复关闭框架@tmszi在#2456
- wxGUI/vselect:修复 BoxSizer 小部件添加方法比例参数类型@tmszi在#2984
- wxGUI/wxplot:修复剖面图分割点位置@tmszi在#3601
- wxGUI:通过为图形建模器添加对 grass.pygrass API 的支持@landam在#3369
- wxGUI:避免图形建模器中的模块参数重叠@landam在#2991
- wxGUI:启动 GUI 时检查所需的最低 wx 版本@landam在#2990
- wxGUI:默认单窗口大小太小@lindakarlovska在#3024
- wxGUI:通过图形建模器将变量导出到 Python@landam在#3702
- wxGUI:修复图形建模器中“添加工具”对话框中的命令解析@landam在#3022
- wxGUI:修复通过以下方式添加项目时向右滚动图层树的问题@lindakarlovska在#3017
- wxGUI:忽略 GUI 的 stderr@wenzeslaus在#3049
- wxGUI:改进图形建模器中的渲染(GetNewShapePos)@landam在#3371
- wxGUI:将 Grapical Modeler 集成到单一窗口布局中@landam在#3003
- wxGUI:通过以下方式将位置重命名为项目@wenzeslaus在#2993
- wxGUI:新的历史记录窗格,用于从历史记录中启动命令@lindakarlovska在#3234
- wxGUI:从 Makefile 中删除不存在的脚本文件夹@echoix在#3529
- wxGUI:图形建模器对时空数据集的 Sdd 支持@landam在#3400
- wxGUI:在图形建模器中搜索时,还显示第一个匹配的模块描述@landam在#3372
- wxGUI:使用不同的消息在数据目录中移动和复制@ninsbl在#3752
- wxGUI:通过以下方式将一个用于取消停靠 AuiNotebook 选项卡的按钮添加到 wx.Frame(单窗口 GUI)@lindakarlovska在#2667
- wxGUI:切换到地图集时线程中出现异常@lindakarlovska在#2994
- wxGUI:修复了皮埃蒙特(意大利)数据集的 URL@neteler在#3443
- wxGUI:修复动画/nviz 动画工具播放/录制动画@tmszi在#3586
- wxGUI:修复如果 mask 由以下人员创建,则显示 MASK 状态栏按钮小部件@tmszi在#2520
- wxGUI:修复 wx.ListItemAttr 弃用警告@petrasovaa在#3054
- wxGUI:通过以下方式创建新的地图集时初始化数据库连接@petrasovaa在#3086
- wxGUI:通过以下方式将位置重命名为新项目向导的项目@petrasovaa在#3520
- wxGUI:重写并记录 core.utils.ListOfMapsets,以便在某些情况下不会导致 GUI 崩溃@petrasovaa在#3226
Python
- Python:删除 Python 2 的代码@a-detiste在#3076
- Python:删除 Python 2 的代码,从要求中删除六个@a-detiste在#3079
- binder: 通过更新依赖项@neteler在#3063
- grass.gunittest:添加精度测试检查@wenzeslaus在#2818
- grass.gunittest:修复了从 Python 3.12 中删除的 assertEquals() 用法@pesekon2在#3009
- grass.gunittest:修复了从 Python 3.12 中删除的 assertNotRegexMatches() 用法@pesekon2在#3011
- grass.jupyter:将 SeriesMap 示例添加到 jupyter_tutorial.ipynb@chaedri在#3472
- grass.jupyter:添加 SeriesMap 并进行测试@chaedri在#3036
- grass.jupyter:添加 ipyleaflet 后端@petrasovaa在#3330
- grass.jupyter:修复重新初始化会话@petrasovaa在#3563
- grass.jupyter:更新 r.proj 调用以使用项目而不是位置@petrasovaa在#3766
- grass.pygrass:修复参数范围错误报告@wenzeslaus在#2817
- grass.pygrass:模块快捷方式的延迟加载命令列表@wenzeslaus在#3688
- grass.pygrass:用 open by 替换 io.OpenWrapper@pesekon2在#3018
- grass.pygrass:支持缩短参数值@wenzeslaus在#3275
- grass.script:添加 MapsetSession 以便在其他地图集中运行@wenzeslaus在#2367
- grass.script:添加单独的函数来设置位置描述@wenzeslaus在#3431
- grass.script:始终在 create_project 中使用完整的环境@wenzeslaus在#3685
- grass.script:通过 parse_command 自动解析 JSON 和 CSV@petrasovaa在#3687
- grass.script:将不安全的 mktemp 更改为 NamedTemporaryFile@Ntp9413在#3444
- grass.script:通过以下方式创建没有会话的新位置@wenzeslaus在#3432
- grass.script:修复缺少 env 参数传递的问题@wenzeslaus在#3684
- grass.script:在 get_commands 中自动获取 GISBASE@wenzeslaus在#3683
- grass.script:在 init 中仅使 grass_path 关键字@wenzeslaus在#3689
- grass.script:通过 g.message API 提供 env 参数@wenzeslaus在#3439
- grass.script:通过以下方式减少 create_location 中的 env 的使用@wenzeslaus在#3428
展示更多
- grass.script:从测试中删除复制粘贴的代码@wenzeslaus在#3674
- grass.script:在 win32 平台上使用类似 shell 的语法拆分命令字符串,与 POSIX 兼容平台上的语法相同@tmszi在#1908
- grass.script:添加 create_project(),其功能与 create_location() 相同@chaedri在#3513
- grass.script:确保在写入栅格之前刷新 memmap 内容@petrasovaa在#3206
- grass.unittest:修复了从 Python 3.12 中删除的 assertRegexpMatches() 用法@pesekon2在#3010
- libpython/temporal:修复 t.rast.import 模块导入输入 tarball 文件@tmszi在#3591
- libpython:修复创建新项目(位置)@tmszi在#3588
- python:为 tarfile.extractall 添加提取过滤器@echoix在#3340
- python:针对 Python 3.12 的更多
SyntaxWarning: invalid escape sequence
修复@echoix在#3331 - python:
-t
通过以下方式删除 makefile 中仅支持 Python 2 的 CLI 标志@echoix在#3377 - python:删除 pygrass 消息中的缩短消息@echoix在#3324
- python:将 Python2 专用用法替换
import __builtin__
为兼容 Python 3 的等效用法@echoix在#3329 - python: 将 black 更新至 24.4.0@echoix在#3545
- python:grassTask.get_param():对于字符串也完全匹配@landam在#3582
- python:在 makefile 中从 temporary 和 python/grass/exceptions 中删除未使用的 doxygen@echoix在#3471
- python:删除另外六个碎屑@a-detiste在#3675
- python:在 pygrass 中将弃用的 np.int0 替换为 np.intp@pesekon2在#3228
- python:script.core.Popen:不在 MS Windows 上显示新窗口@landam在#3460
文档和消息
- doc:解析器中列出的文档必须以 NULL 结尾@marisn在#3029
- doc:GRASS 编程风格指南@petrasovaa在#3569
- doc:通过以下方式将文档中数据库图像中的位置重命名为项目@veroandreo在#3772
- doc:同步 Grass 包和 wxGUI Sphinx conf@wenzeslaus在#2968
- doc:另一轮项目重命名@petrasovaa在#3665
- doc:继续在文档中将位置重命名为项目@petrasovaa在#3570
- doc:将位置重命名为项目继续@petrasovaa在#3627
- docs:CITATION.cff,许可证条目 SPDX 符合@neteler在#3115
- docs:将 GRASS docker 部分添加到 Infrastructure.md@neteler在#3277
- docs:将 OpenSSF 记分卡和最佳实践徽章添加到 README.md 中@gregorywaynepower在#3338
- docs:将 Zenodo.org 链接添加到 Infrastructure.md@neteler在#3404
- docs:将 coverity 徽章添加到 README.md 中@jadenabrams100在#3630
- docs:添加关于并行化的笔记本教程@petrasovaa在#3080
- docs:GRASS jupyter 默认启用覆盖的文档@marisn在#3516
- docs:修复 security.md linting 错误@nilason在#3678
- docs:修复 CITATION.cff 文件的语法@neteler在#3123
- docs:r.texture 手动纹理测量说明@neteler在#3458
- docs:删除 Python 示例中不存在的 raw_input() 函数调用@pesekon2在#3124
- docs:更新和清理基础设施.md@neteler在#3157
- docs:更新 r.walk.html 的摩擦图信息@cmbarton在#3279
- docs:更新 howto_release.md (main)@neteler在#3176
- 手册:正确的 v.surf.rst 示例@neteler在#3743
- 手册:修复示例中的 r.texture 输出参数@neteler在#3108
- 手册:i.ortho.* 更新损坏的模块引用@neteler在#3175
- 手册:r.sunmask 和 i.topo.corr 改进@neteler在#3159
- 手册:在 g.gui.tplot 中指定大小选项单位@veroandreo在#3643
展示更多
- 手册:更新损坏的 URL@neteler在#3742
- 手册:更新 r.in.gdal.html 以删除过时的示例@ecodiv在#3511
- 手册:更新 v.reclass.html,以便指定“规则”或“列”选项@agiudiceandrea在#3067
- 手册:通过以下方式更新 howto_release.md 中的 wingrass 注释@landam在#3061
- mkhtml:通过以下方式检查 addon_path@mmacata在#3571
库和常规功能
- lib/bitmap:修复潜在的内存泄漏@lbartoletti在#3004
- lib/cdhc:将 statlib cdh fortran 代码添加到 lib 文档中@nilason在#2642
- lib/db:通过以下方式捕获并处理在 odbc 驱动程序中设置 MySQL SQL ANSI 模式的返回值@tmszi在#3637
- lib/db:修复 mysql 驱动程序中的 MySQL 驱动程序编译警告@nilason在#3344
- lib/db:打印用于在 mysql 驱动程序中设置 MySQL ANSI SQL 模式的调试信息@tmszi在#3638
- lib/db:在 odbc 驱动程序中设置 ODBC MySQL DB 后端 SQL ANSI_QUOTES MODE@tmszi在#3635
- lib/db:在 mysql 驱动程序中设置 SQL ANSI_QUOTES MODE@tmszi在#3612
- lib/db:在 mysql 驱动程序中使用 mysql_real_connect 整数端口参数@fweimer-rh在#3325
- lib/diglib:计算 topo 文件的总大小,以获得正确的 off_t_size@HuidaeCho在#3351
- lib/external:添加 JSON 的 parson 库@cwhite911在#3028
- lib/gmath:仅包含一个 FFTW 标头@HuidaeCho在#3641
- lib/parser:添加 Markdown 描述生成器@landam在#3230
- lib/parser:支持重命名标志(flags/options 到 options/flags)@HuidaeCho在#3256
- lib/parser:使用 G_OPT_M_LOCATION 项目@wenzeslaus在#3130
- lib/proj:通过以下方式改变管道选择标准@metzm在#3347
- lib/raster3d:修复 -Wdeprecated-non-prototype 编译器警告@nilason在#2901
- lib/raster:修复了安全漏洞和弱点@jadenabrams100在#3549
- lib/vector/Vlib:修复了移除悬垂线的数量@metzm在#3348
- lib/vector:从技术上讲,使用“struct Map_info*”对象读取文件不是 const。@nilason在#2894
- lib:添加 JSON 格式的标准解析器选项@kritibirda26在#3704
- lib:仅定义(读取|写入)_png #ifdef HAVE_PNG_H@HuidaeCho在#3647
- libgis:将 ap_copy 重命名为 aq,用于 G_aprintf@HuidaeCho在#3651
- libgis:允许绕过兼容性测试@metzm在#3378
- libvector/diglib:修复内存泄漏@nilason在#3617
- libvector:通过以下方式向 struct field_info 添加析构函数@nilason在#3602
- 光栅:当 MASK 激活时禁用并行化@petrasovaa在#3561
展示更多
- vector:使用 db.describe 的完整数据库连接设置@metzm在#3462
启动、初始化和环境
- init:不报告为 tmp mapset 创建新的地图集@wenzeslaus在#2972
- 初始化:将 Grass.py 初始化脚本的位置重命名为项目@petrasovaa在#3670
翻译、国际化和本地化
- i18n:从 C++ 文件中提取可翻译信息@marisn在#3015
- i18n:通过以下方式更新 POT 和 PO 文件@HuidaeCho在#3414
- i18n:通过以下方式更新 POT 和 PO 文件@HuidaeCho在#3729
- i18n:添加重复数据删除以使 update-po@neteler在#3735
- i18n:删除了 grasswxpy_de.po 中的重复项@neteler在#3733
新贡献者
- Luís de Sousa ( @ldesousa ) 在#3006中首次做出贡献
- Alexandre Detiste ( @a-detiste ) 在#3076中做出了第一笔贡献
- Michael Barton ( @cmbarton ) 在#3279中首次做出贡献
- Alessandro Frigeri ( @afrigeri ) 在#3258中做出了第一笔贡献
- Florian Weimer ( @fweimer-rh ) 在#3325中做出了第一笔贡献
- Gregory Power ( @gregorywaynepower ) 在#3338中首次做出贡献
- Sharan Jamanani ( @Sharansrj567 ) 在#3356中首次做出贡献
- @ymdatta在#3247中做出了他们的第一个贡献
- @Ntp9413在#3444中做出了第一笔贡献
- Jaden Abrams ( @jadenabrams100 ) 在#3451中首次做出贡献
- @VeronicaKoess在#3311中做出了第一笔贡献
- @naidneelttil在#3469中做出了他们的第一个贡献
- Makiko Shukunobe ( @mshukuno ) 在#3535中首次做出贡献
- Hamed Elgizery ( @HamedElgizery ) 在#3550中首次做出贡献
- @kpolchow在#3544中做出了他们的第一个贡献
- Christoph Reiter ( @lazka ) 在#3709中做出了第一笔贡献
- @ShubhamDesai在#3777中做出了第一笔贡献
此版本包含 10 个资产。请访问发布页面(https://github.com/OSGeo/grass/releases/tag/8.4.0RC1)进行下载。