-
Notifications
You must be signed in to change notification settings - Fork 2
/
r.extract.greenroofs.html
74 lines (60 loc) · 3.47 KB
/
r.extract.greenroofs.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<h2>DESCRIPTION</h2>
<em>r.extract.greenroofs</em> extracts vegetated roofs from aerial
photographs, an nDSM, a building vector layer and optionally an FNK
(Flaechennutzungskartierung) and tree vector layer. The module generates
two outputs: The buildings outlines that have vegetated roofs
(<em>output_buildings</em>) with an added attribute column containing
the percentage of vegetated roof area with respect to total roof area.
The second output (<em>output_vegetation</em>) contains only the
vegetation objects.
<p>
The module works best when a tree vector layer is used as input via the
<em>trees</em> parameter. If this is not given,
<em>r.extract.greenroofs</em> tries to eliminate false alarms by
overhanging trees via the nDSM difference to the remaining roof area.
<p>
Internally, a normalized difference green-blue ratio is used to
discriminate vegetated from non-vegetated areas (the NDVI is not
sensitive enough for sparse roof vegetation). A threshold for the
green-blue ratio can be defined by the <em>gb_thresh</em> parameter.
Empirical testing showed good results for a value of around
<em>gb_thresh=145</em> (on a scale from 0 to 255). The threshold can
also be automatically estimated from green areas defined in the FNK.
For this, the parameter <b>used_thresh</b> must be set to <b>gb_perc</b> and
the <em>fnk</em>, <em>fnk_column</em>, and <em>gb_perc</em>
parameters must be given. The latter defines the percentile of pixels
in vegetated areas to define as gleen-blue ratio threshold. Empirical
testing yielded good results for <em>gb_perc=25</em> (=1st quartile).
<p>
Optionally, the analysis can be run object-based instead of pixel-based
by using the <em>-s</em> flag. This typically improves the result, but
takes up more processing time. If no appropriate <em>gb_thresh</em>
value is known, it is recommended to run the module a few times without
the <em>-s</em> flag and inspect the result to identify a proper
threshold. The final run should then be performed with the <em>-s</em>
flag.
<p>
The <em>min_veg_size</em> and <em>min_veg_proportion</em> parameters
can be used to eliminate vegetated roof areas by size or proportion of
total roof area.
<h2>EXAMPLES</h2>
<h3>Extract green roofs by a fixed threshold of 145, use object based detection</h3>
<div class="code"><pre>
r.extract.greenroofs ndsm=ndsm_raster ndvi=ndvi_raster red=dop_red green=dop_green blue=dop_blue gb_thresh=145 buildings=buildings_vector trees=trees_vector output_buildings=result_buildings output_vegetation=result_vegetation -s
</pre></div>
<h3>Extract green roofs by an estimated threshold from the FNK using the 25% percentile as threshold, use pixel based detection</h3>
<div class="code"><pre>
r.extract.greenroofs ndsm=ndsm_raster ndvi=ndvi_raster red=dop_red green=dop_green blue=dop_blue gb_perc=25 fnk=fnk_vector fnk_column=fnk_code buildings=buildings_vector trees=trees_vector output_buildings=result_buildings output_vegetation=result_vegetation
</pre></div>
<h2>SEE ALSO</h2>
<em>
<a href="https://grass.osgeo.org/grass-stable/manuals/r.mapcalc.html">r.mapcalc</a>,
<a href="https://grass.osgeo.org/grass-stable/manuals/i.segment.html">i.segment</a>,
<a href="https://grass.osgeo.org/grass-stable/manuals/r.quantile.html">r.quantile</a>
</em>
<h2>AUTHORS</h2>
Julia Haas, <a href="https://www.mundialis.de/">mundialis GmbH & Co. KG</a>
<p>
Guido Riembauer, <a href="https://www.mundialis.de/">mundialis GmbH & Co. KG</a>
<p>
Anika Weinmann, <a href="https://www.mundialis.de/">mundialis GmbH & Co. KG</a>