[Git][debian-gis-team/grass][upstream] New upstream version 8.3.2
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Thu Mar 7 17:31:50 GMT 2024
Bas Couwenberg pushed to branch upstream at Debian GIS Project / grass
Commits:
ce41c2f8 by Bas Couwenberg at 2024-03-07T18:12:28+01:00
New upstream version 8.3.2
- - - - -
16 changed files:
- .github/workflows/additional_checks.yml
- .github/workflows/clang-format-check.yml
- .github/workflows/create_release_draft.yml
- .github/workflows/docker.yml
- .github/workflows/gcc.yml
- .github/workflows/osgeo4w.yml
- .github/workflows/pytest.yml
- .github/workflows/ubuntu.yml
- gui/wxpython/startup/locdownload.py
- include/VERSION
- raster/r.horizon/main.c
- raster/r.horizon/testsuite/test_r_horizon.py
- raster/r.texture/r.texture.html
- scripts/db.dropcolumn/db.dropcolumn.py
- scripts/db.in.ogr/db.in.ogr.py
- scripts/v.db.renamecolumn/v.db.renamecolumn.py
Changes:
=====================================
.github/workflows/additional_checks.yml
=====================================
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout repository contents
- uses: actions/checkout at v3
+ uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 31
@@ -38,7 +38,7 @@ jobs:
exclude: mswindows .*\.bat .*/testsuite/data/.*
- name: Set up Python
- uses: actions/setup-python at v4
+ uses: actions/setup-python at v5
with:
python-version: '3.10'
=====================================
.github/workflows/clang-format-check.yml
=====================================
@@ -17,7 +17,7 @@ jobs:
name: Formatting Check
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout at v3
+ - uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Run clang-format style check for C/C++/Protobuf programs.
uses: jidicula/clang-format-action at v4.11.0
with:
=====================================
.github/workflows/create_release_draft.yml
=====================================
@@ -22,12 +22,12 @@ jobs:
steps:
- name: Checks-out repository
- uses: actions/checkout at v3
+ uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 0
- name: Set up Python
- uses: actions/setup-python at v4
+ uses: actions/setup-python at v5
with:
python-version: '3.10'
@@ -93,7 +93,7 @@ jobs:
asset_content_type: application/gzip
- name: Make the created files available
- uses: actions/upload-artifact at v3
+ uses: actions/upload-artifact at v4
if: always()
with:
name: artifacts
=====================================
.github/workflows/docker.yml
=====================================
@@ -49,12 +49,12 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout at v3
+ uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 0
- name: Docker meta
id: meta
- uses: docker/metadata-action at v4
+ uses: docker/metadata-action at v5
with:
images: osgeo/grass-gis
tags: |
@@ -66,17 +66,17 @@ jobs:
latest=false
suffix=-${{ matrix.os }}
- name: Set up QEMU
- uses: docker/setup-qemu-action at v2
+ uses: docker/setup-qemu-action at v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action at v2
+ uses: docker/setup-buildx-action at v3
- name: Login to DockerHub
- uses: docker/login-action at v2
+ uses: docker/login-action at v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
- uses: docker/build-push-action at v4
+ uses: docker/build-push-action at v5
with:
push: true
pull: true
=====================================
.github/workflows/gcc.yml
=====================================
@@ -35,7 +35,7 @@ jobs:
fail-fast: false
steps:
- - uses: actions/checkout at v3
+ - uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Get dependencies
run: |
sudo apt-get update -y
=====================================
.github/workflows/osgeo4w.yml
=====================================
@@ -32,7 +32,7 @@ jobs:
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- - uses: actions/checkout at v3
+ - uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- uses: msys2/setup-msys2 at v2
with:
path-type: inherit
=====================================
.github/workflows/pytest.yml
=====================================
@@ -30,10 +30,10 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout at v3
+ - uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Set up Python
- uses: actions/setup-python at v4
+ uses: actions/setup-python at v5
with:
python-version: ${{ matrix.python-version }}
=====================================
.github/workflows/ubuntu.yml
=====================================
@@ -26,7 +26,7 @@ jobs:
strategy:
matrix:
include:
- - name: '22.04'
+ - name: "22.04"
os: ubuntu-22.04
config: ubuntu-22.04
# This is without optional things but it still keeps things useful,
@@ -38,7 +38,7 @@ jobs:
fail-fast: false
steps:
- - uses: actions/checkout at v3
+ - uses: actions/checkout at b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Get dependencies
run: |
@@ -86,7 +86,7 @@ jobs:
- name: Make HTML test report available
if: ${{ always() }}
- uses: actions/upload-artifact at v3
+ uses: actions/upload-artifact at v4
with:
name: testreport-${{ matrix.config }}
path: testreport
=====================================
gui/wxpython/startup/locdownload.py
=====================================
@@ -59,7 +59,7 @@ LOCATIONS = [
},
{
"label": "Piemonte, Italy data set",
- "url": "http://geodati.fmach.it/gfoss_geodata/libro_gfoss/grassdata_piemonte_utm32n_wgs84_grass7.tar.gz",
+ "url": "https://grass.osgeo.org/sampledata/grassdata_piemonte_utm32n_wgs84_grass7.tar.gz",
},
{
"label": "Slovakia 3D precipitation voxel data set",
=====================================
include/VERSION
=====================================
@@ -1,4 +1,4 @@
8
3
-2RC1
+2
2024
=====================================
raster/r.horizon/main.c
=====================================
@@ -757,6 +757,7 @@ double horizon_height(void)
tanh0 = 0.;
length = 0;
+ zp = z_orig;
height = searching();
=====================================
raster/r.horizon/testsuite/test_r_horizon.py
=====================================
@@ -144,6 +144,12 @@ class TestHorizon(TestCase):
stdout = module.outputs.stdout
self.assertMultiLineEqual(first=ref2, second=stdout)
+ # include nulls along the edge
+ self.runModule("g.region", raster="elevation", w="w-100")
+ self.assertModule(module)
+ stdout = module.outputs.stdout
+ self.assertMultiLineEqual(first=ref2, second=stdout)
+
def test_point_mode_multiple_direction_artificial(self):
"""Test mode with 1 point and multiple directions with artificial surface"""
module = SimpleModule(
=====================================
raster/r.texture/r.texture.html
=====================================
@@ -52,8 +52,8 @@ It can be used in supervised classification algorithms such as
or for the identification of objects in <a href="i.segment.html">i.segment</a>,
and/or for the characterization of these objects and thus, for example, as one
of the raster inputs of the
-<a href="https://grass.osgeo.org/grass8/manuals/addons/i.segment.stats.html">
- i.segment.stats</a> addon.
+<a href="https://grass.osgeo.org/grass-stable/manuals/addons/i.segment.stats.html">i.segment.stats</a>
+addon.
<p>
In general, several variables constitute texture: differences in grey level values,
@@ -68,7 +68,15 @@ level co-occurrence matrix as described by Haralick et al (1973). This matrix
is a two-dimensional histogram of grey levels for a pair of pixels which are
separated by a fixed spatial relationship. The matrix approximates the joint
probability distribution of a pair of pixels. Several texture measures are
-directly computed from the grey level co-occurrence matrix.
+directly computed from the Grey Level Co-occurrence Matrix (GLCM).
+
+The provided measures can be categorized under first-order and
+second-order statistics, with each playing a unique role in texture
+analysis. First-order statistics consider the distribution of
+individual pixel values without regard to spatial relationships, while
+second-order statistics, particularly those derived from the Grey Level
+Co-occurrence Matrix (GLCM), consider the spatial relationship of
+pixels.
<p>
The following part offers brief explanations of the Haralick et al texture
@@ -76,24 +84,45 @@ measures (after Jensen 1996).
<h3>First-order statistics in the spatial domain</h3>
<ul>
-<li> Sum Average (SA)</li>
+<li> Sum Average (SA):
+ Sum Average measures the average gray level intensity of the sum of
+ pixel pairs within the moving window. It reflects the average intensity
+ of pixel pairs at specific distances and orientations, highlighting the
+ overall brightness level within the area.</li>
<li> Entropy (ENT):
This measure analyses the randomness. It is high when the values of the
moving window have similar values. It is low when the values are close
- to either 0 or 1 (i.e. when the pixels in the local window are uniform).</li>
+ to either 0 or 1 (i.e. when the pixels in the local window are
+ uniform).</li>
-<li> Difference Entropy (DE)</li>
+<li> Difference Entropy (DE):
+ This metric quantifies the randomness or unpredictability in the
+ distribution of differences between the grey levels of pixel pairs. It
+ is a measure of the entropy of the pixel-pair difference histogram,
+ capturing texture granularity.</li>
-<li> Sum Entropy (SE)</li>
+<li> Sum Entropy (SE): Similar to Difference Entropy, Sum Entropy measures
+ the randomness or unpredictability, but in the context of the sum of the
+ grey levels of pixel pairs. It evaluates the entropy of the pixel-pair
+ sum distribution, providing insight into the complexity of texture in
+ terms of intensity variation.</li>
<li> Variance (VAR):
- A measure of gray tone variance within the moving window (second-order
-moment about the mean)</li>
-
-<li> Difference Variance (DV)</li>
-
-<li> Sum Variance (SV)</li>
+ A measure of gray tone variance within the moving window (second-order
+ moment about the mean)</li>
+
+<li> Difference Variance (DV):
+ This is a measure of the variance or spread of the differences in grey
+ levels between pairs of pixels within the moving window. It quantifies
+ the contrast variability between pixels, indicating texture smoothness
+ or roughness.</li>
+
+<li> Sum Variance (SV):
+ In contrast to Difference Variance, Sum Variance measures the variance
+ of the sum of grey levels of pixel pairs. It assesses the variability
+ in the intensity levels of pairs of pixels, contributing to an
+ understanding of texture brightness or intensity variation.</li>
</ul>
Note that measures "mean", "kurtosis", "range", "skewness", and "standard
@@ -128,9 +157,19 @@ level co-occurrence matrices (GLCM; after Haralick 1979).
pixels. Typically high, when the scale of local texture is larger than the
<em>distance</em>.</li>
-<li> Information Measures of Correlation (MOC)</li>
-
-<li> Maximal Correlation Coefficient (MCC)</li>
+<li> Information Measures of Correlation (MOC):
+ These measures evaluate the complexity of the texture in terms of the
+ mutual dependence between the grey levels of pixel pairs. They
+ quantify how one pixel value informs or correlates with another,
+ offering insight into pattern predictability and structure regularity.</li>
+
+<li> Maximal Correlation Coefficient (MCC):
+ This statistic measures the highest correlation between any two
+ features of the texture, providing a single value that summarizes the
+ degree of linear dependency between grey levels in the texture. It's
+ often used to assess the overall correlation in the image, indicating
+ how predictable the texture patterns are from one pixel to the
+ next.</li>
</ul>
<p>
=====================================
scripts/db.dropcolumn/db.dropcolumn.py
=====================================
@@ -35,6 +35,13 @@
# % required : yes
# %end
+# %option G_OPT_DB_DATABASE
+# %end
+
+# %option G_OPT_DB_DRIVER
+# % options: dbf,odbc,ogr,sqlite,pg
+# %end
+
import sys
import string
@@ -45,14 +52,19 @@ import grass.script as gscript
def main():
table = options["table"]
column = options["column"]
+ database = options["database"]
+ driver = options["driver"]
force = flags["f"]
# check if DB parameters are set, and if not set them.
gscript.run_command("db.connect", flags="c")
- kv = gscript.db_connection()
- database = kv["database"]
- driver = kv["driver"]
+ if not database or not driver:
+ kv = gscript.db_connection()
+ if not database:
+ database = kv["database"]
+ if not driver:
+ driver = kv["driver"]
# schema needed for PG?
if force:
@@ -67,7 +79,10 @@ def main():
% column
)
- cols = [f[0] for f in gscript.db_describe(table)["cols"]]
+ cols = [
+ f[0]
+ for f in gscript.db_describe(table, database=database, driver=driver)["cols"]
+ ]
if column not in cols:
gscript.fatal(_("Column <%s> not found in table") % column)
=====================================
scripts/db.in.ogr/db.in.ogr.py
=====================================
@@ -143,6 +143,13 @@ def main():
else:
grass.fatal(_("Input DSN <%s> not found or not readable") % input)
+ # save db connection settings of the output
+ f = grass.vector_layer_db(output, "1")
+
+ table = f["table"]
+ database = f["database"]
+ driver = f["driver"]
+
# rename ID col if requested from cat to new name
if key:
grass.write_command(
@@ -173,14 +180,16 @@ def main():
"db.dropcolumn",
quiet=True,
flags="f",
- table=output,
+ table=table,
+ database=database,
+ driver=driver,
column="cat",
stdout=nuldev,
stderr=nuldev,
)
nuldev.close()
- records = grass.db_describe(output)["nrows"]
+ records = grass.db_describe(table, database=database, driver=driver)["nrows"]
grass.message(_("Imported table <%s> with %d rows") % (output, records))
=====================================
scripts/v.db.renamecolumn/v.db.renamecolumn.py
=====================================
@@ -90,7 +90,7 @@ def main():
# describe old col
oldcoltype = None
- for f in grass.db_describe(table)["cols"]:
+ for f in grass.db_describe(table, database=database, driver=driver)["cols"]:
if f[0] != oldcol:
continue
oldcoltype = f[1]
View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/ce41c2f8cbafdeae8d4c5a5bae1c29a7106c44d9
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/grass/-/commit/ce41c2f8cbafdeae8d4c5a5bae1c29a7106c44d9
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/20240307/4aa707d0/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list