r.object.geometry
Calculates geometry parameters for raster objects.
r.object.geometry [-m] input=name [output=name] [separator=character] format=name [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.object.geometry input=name format=plain
grass.script.parse_command("r.object.geometry", input, output=None, separator="pipe", format="plain", flags=None, overwrite=False, verbose=False, quiet=False, superquiet=False)
Example:
gs.parse_command("r.object.geometry", input="name", format="json")
Parameters
input=name [required]
Name of input raster map
output=name
Name for output file
separator=character
Field separator
Special characters: pipe, comma, space, tab, newline
Default: pipe
format=name [required]
Output format
Allowed values: plain, json
Default: plain
plain: Plain text output
json: JSON (JavaScript Object Notation)
-m
Use meters as units instead of cells
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of input raster map
Used as: input, raster, name
output : str, optional
Name for output file
Used as: output, file, name
separator : str, optional
Field separator
Special characters: pipe, comma, space, tab, newline
Used as: input, separator, character
Default: pipe
format : str, required
Output format
Used as: name
Allowed values: plain, json
plain: Plain text output
json: JSON (JavaScript Object Notation)
Default: plain
flags : str, optional
Allowed values: m
m
Use meters as units instead of cells
overwrite: bool, optional
Allow output files to overwrite existing files
Default: False
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
DESCRIPTION
r.object.geometry calculates form statistics of raster objects in the input map and writes it to the output text file (or standard output if no output filename or '-' is given), with fields separated by the chosen separator. Objects are defined as clumps of adjacent cells with the same category value (e.g. output of r.clump or i.segment).
By default, values are in pixels. If values in meters is desired, the user can set the -m flag. If the current working region is in lat-long or has non-square pixels, using meters is recommended.
Statistics currently calculated are exactly the same as in v.to.db (except for compact_square and mean coordinates):
- area
- perimeter
- compact_square (compactness compared to a square:
compact_square = 4 * sqrt(area) / perimeter
) - compact_circle (compactness compared to a circle:
compact_circle = perimeter / ( 2 * sqrt(PI * area) )
) - fractal dimension (
fd = 2 * ( log(perimeter) / log(area + 0.001) )
) - mean x coordinate of object (in map units)
- mean y coordinate of object (in map units)
EXAMPLE
g.region raster=soilsID
r.object.geometry input=soilsID output=soils_geom.txt
The format=json option can be used to change the output format to JSON:
r.object.geometry input=zipcodes format=json
[
{
"category": 1,
"area": 106,
"perimeter": 62,
"compact_circle": 1.6987670351864215,
"compact_square": 0.66423420264432265,
"fd": 1.7699924681225903,
"mean_x": 631382.07547169807,
"mean_y": 222764.15094339623
},
{
"category": 2,
"area": 57,
"perimeter": 36,
"compact_circle": 1.3451172460704992,
"compact_square": 0.83887049280786108,
"fd": 1.772672742164326,
"mean_x": 643460.52631578944,
"mean_y": 217232.45614035087
},
{
"category": 3,
"area": 10,
"perimeter": 16,
"compact_circle": 1.4272992929222168,
"compact_square": 0.79056941504209488,
"fd": 2.4081353865496951,
"mean_x": 631300,
"mean_y": 215450
},
{
"category": 4,
"area": 63,
"perimeter": 60,
"compact_circle": 2.1324361862292305,
"compact_square": 0.52915026221291817,
"fd": 1.9764401337147652,
"mean_x": 642345.23809523811,
"mean_y": 226599.20634920636
},
{
"category": 5,
"area": 491,
"perimeter": 156,
"compact_circle": 1.9859985189304281,
"compact_square": 0.56816717451693177,
"fd": 1.6299200778082998,
"mean_x": 637912.93279022397,
"mean_y": 220636.96537678209
},
{
"category": 6,
"area": 83,
"perimeter": 60,
"compact_circle": 1.8578355639603314,
"compact_square": 0.60736223860961991,
"fd": 1.8531256328449071,
"mean_x": 635846.38554216863,
"mean_y": 227219.8795180723
}
]
SEE ALSO
AUTHORS
Moritz Lennert
Markus Metz (diagonal clump tracing)
SOURCE CODE
Available at: r.object.geometry source code
(history)
Latest change: Wednesday Feb 12 13:18:24 2025 in commit b624fc2