You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -77,11 +78,11 @@ Please note that the examples based on this data serves as an illustration, and
77
78
78
79
Availability of greenness (reflecting the presence and amount of vegetation) will be assessed using four functions:
79
80
80
-
1.[Green Cover Streets](#green_cover_streets)
81
-
2.[Calc NDVI](#calc-ndvi)
82
-
3.[Land Cover](#land-cover)
83
-
4.[Canopy coverage](#canopy-coverage)
84
-
5.[Park percentage](#park-percentage)
81
+
1.[Calc NDVI](#calc-ndvi)
82
+
2.[Land Cover](#land-cover)
83
+
3.[Canopy coverage](#canopy-coverage)
84
+
4.[Park percentage](#park-percentage)
85
+
5.[Green Cover Streets](#green_cover_streets)
85
86
86
87
Each function provide opportunity to measure greenness presence and amount in varying ways.
87
88
@@ -90,37 +91,6 @@ The following subsections will briefly describe each availability function and e
90
91
91
92
---
92
93
93
-
### Green Cover Streets
94
-
**[Global Coverage]** <br />
95
-
The `green_cover_streets` function measure available greenery along streets in any city. Here we can use OSM street network for any city and connecting with European Space Agency's Worldcover map at 10m spatial resolution (https://esa-worldcover.org/en), we can measure how much trees, grass or shrubs are present around each street segment. We are going to use a buffer distance or a buffer zone of analysis around each street segment to estimate the percentage of tree, grass and shrubs and sum the total of these vegetation type to obtain total green coverage around each street segment. For that we are going to use the green_cover_streets() function.
96
-
Here is an example for Amsterdam. To find the name of the place you are interested in try to use OSM address finder at exact place name using this link: https://nominatim.openstreetmap.org/ui/search.html
97
-
98
-
```r
99
-
100
-
#Measuring the green coverage around each street for the city, for a buffer distance of 30 m;
101
-
# can try small area for fast implementation, try "Harmelen, Utrecht"
#can also be saved as shapefile, use GreenStcoverSt.shp
116
-
117
-
118
-
```
119
-
In the Figure below, we can find the Output after running the green_cover_streets function and a plot corresponding to the results.Here 0 values indicates no greenery within the buffer around the street, 100 indicates 100% presence of greenery within the given buffer zone around the street segment. We can change the background map to explore why some streets has high green coverage where others do not. Also on the interactive map we can click of each line to see what land cover type (i.e., tree, grass, shrub) contributes to overall green coverage. It also shows the presence of other land cover such as Cropland, which has not been considered for overall green coverage calculation.
@@ -313,6 +283,41 @@ The following figure shows the greenspace percentage value within 300m at each r
313
283
314
284
---
315
285
286
+
### Green Cover Streets
287
+
**[Global Coverage]** <br />
288
+
The `green_cover_streets` function measure available greenery along streets in any city. Here we can use OSM street network for any city and connecting with European Space Agency's Worldcover map at 10m spatial resolution (https://esa-worldcover.org/en), we can measure how much trees, grass or shrubs are present around each street segment. We are going to use a buffer distance or a buffer zone of analysis around each street segment to estimate the percentage of tree, grass and shrubs and sum the total of these vegetation type to obtain total green coverage around each street segment. For that we are going to use the green_cover_streets() function.
289
+
Here is an example for Amsterdam. To find the name of the place you are interested in try to use OSM address finder at exact place name using this link: https://nominatim.openstreetmap.org/ui/search.html
290
+
291
+
```r
292
+
293
+
#Measuring the green coverage around each street for the city, for a buffer distance of 30 m;
294
+
# can try small area for fast implementation, try "Harmelen, Utrecht"; "City of Melbourne", "Bogura, Bangladesh",
295
+
# Large cities will take substential amount of time and computational power!
#can also be saved as shapefile, use GreenStcoverSt.shp
310
+
311
+
312
+
```
313
+
In the Figure below, we can find the Output after running the green_cover_streets function and a plot corresponding to the results.Here 0 values indicates no greenery within the buffer around the street, 100 indicates 100% presence of greenery within the given buffer zone around the street segment. We can change the background map to explore why some streets has high green coverage where others do not. Also on the interactive map we can click of each line to see what land cover type (i.e., tree, grass, shrub) contributes to overall green coverage. It also shows the presence of other land cover such as Cropland, which has not been considered for overall green coverage calculation.
The results of these two accessibility approaches are considerably different. In particular, the network approach indicates longer median and mean distance compared to Euclidean distance. This is logical, considering the fact that street notwork distance are usually longer than crow-fly (Euclidean) distance. The functions provide different ways of measuring accessibility to ensure, access to greenspace has been estimated as with reasonable manner.
421
425
422
426
423
427
## Visibility
424
428
**[Local Coverage- Dependent on availability of input data]** <br />
429
+
In GreenExp, we have functions to estimate visibility using Viewshed Greenness Visibility Index (VGVI) developed in [Labib et al., (2021)](https://doi.org/10.1016/j.scitotenv.2020.143050). The VGVI is a model that estimate potential greenness visibility using digital elevation data. Where presence of buildings or other obstacles can prevent the visible contact with greenery. The conceptual model of the VGVI index presented in figure below. The model details can be found at: [Labib et al., (2021)](https://doi.org/10.1016/j.scitotenv.2020.143050)
The visibility functions are made by the[GVI](https://github.com/STBrinkmann/GVI) package with some adaptations.
432
+
Initially the VGVI was developed in python, later [Brinkmann & Labib, (2022)](https://github.com/STBrinkmann/GVI) created an R package [GVI](https://github.com/STBrinkmann/GVI) for fast calculation of the VGVI model. The visibility functions available in GreenExp package are from[GVI](https://github.com/STBrinkmann/GVI) package with some adaptations.
427
433
428
-
---
434
+
**Note:** VGVI model needs LiDAR driven Digital Surface data, along with digital terrain data, which are usually unavailable for most places around the world. So the the model is only applicable in places where all three input data are available. The examples provided here are based on Dutch AHN dataset, which is freely available at national scale.
435
+
436
+
The fist function is simple viewshed analysis, which woks as a basis for VGVI modeling.
429
437
430
438
### Viewshed
431
439
432
-
The viewshed function computes a binary viewshed of a single point on a Digital Surface Model (DSM) raster. A radial buffer is applied on the observer position, and visibility is being calculated usig a C++ implementation of Bresenham’s line algorithm [Bresenham 1965](https://ieeexplore.ieee.org/document/5388473) & [Bresenham 1977](https://doi.org/10.1145/359423.359432) and simple geometry. The
440
+
The viewshed function computes a binary viewshed of a single point on a Digital Surface Model (DSM) raster. A radial buffer is applied on the observer position, and visibility is being calculated using a C++ implementation of Bresenham’s line algorithm [Bresenham 1965](https://ieeexplore.ieee.org/document/5388473) & [Bresenham 1977](https://doi.org/10.1145/359423.359432) and simple geometry. The
433
441
result of the `viewshed` function is a radial raster where 0 =
434
442
no-visible and 1 = visible area.
443
+
The code section below allow to use example data to run the viewshed and VGVI analysis
435
444
436
-
For a better explanation, go to the [GVI](https://github.com/STBrinkmann/GVI) package.
445
+
```r
437
446
447
+
#For this example, we first need to download the DSM, DTM and Green space layer from the following url (where we already uploaded the data)
The left plot represents the Digital Elevation Model (DEM), whereas the right plot represents the viewshed, where green is the visible area and gray is not visible.
464
+
#make sure the oberver location has same projection as the DSM/DTM/GS file. They all need to be in same projection
The result of viewshed model shows the visible and invisible cells from observer location.
457
475
458
-
The Viewshed Greenness Visibility Index (VGVI) represents the proportion of visible greenness to the total visible area based on the `viewshed`. The estimated VGVI values range between 0 and 1, where = no green cells and 1= all of the visible cells are green.
Based on a viewshed and a binary greenspace raster, all visible points are classified as visible green and visible no-green. All values are summarised using a decay function, to account for the reducing visual prominence of an object in space with increasing distance from the observer. Currently two options are supported, a logistic and an exponential function.
478
+
The left plot represents the Digital Elevation Model (DEM), whereas the right plot represents the viewshed, where green is the visible area and gray is not visible.
461
479
462
-
For more information about the VGVI please go to the [GVI](https://github.com/STBrinkmann/GVI) package. For more information about the algorithms look at the paper by [Brinkmann, 2022](https://doi.org/10.5194/agile-giss-3-27-2022) and [Labib et al., 2021](https://doi.org/10.1016/j.scitotenv.2020.143050)
480
+
### vgvi from sf
481
+
Estimating visible greenery at point, line and polygon geometries using 'vgvi_from_sf' function. This function allows the user to provide multiple points, lines or polygons and then use those to create observer locations and estimate VGVI.
463
482
464
483
**Example:**
465
484
466
-
The figure below provides an overview of the data used for calculating the VGVI. In the figure, you will find various elements that contribute to the analysis.
485
+
There are 3 main elements of VGVI modeling. These include:
467
486
468
487
1. Observer Points: The dots depicted in the figure represent the observer points. These points correspond to the addresses used in the examples discussed thus far. Each observer point serves as a starting location for measuring the VGVI.
469
488
470
-
2. Address ID Numbers: The numbers assigned to the addresses in the plot correspond to the ID numbers used in the code chunk below the figure. These ID numbers uniquely identify each address and allow for easy referencing and analysis in the code.
489
+
3. Green Space: The green here represent the a binary layer of greenery (in this case we are using a tree raster, 0= no tree, 1 = possibly a tree present in that raster cell), which represents the extent of green space. It indicates the areas covered by vegetation, such as trees or parks, and is a crucial factor in determining the VGVI.
471
490
472
-
3. Green Space: The green shades in the plot represent the tree raster, which represents the extent of green space. It indicates the areas covered by vegetation, such as trees or parks, and is a crucial factor in determining the VGVI.
473
-
474
-
4. DEM and DSM: The figure also includes the Digital Elevation Model (DEM) and Digital Surface Model (DSM). These models provide information about the elevation of the terrain and structures present in the area. The combination of DEM and DSM helps in understanding the topography of the region.
491
+
4. DEM and DSM: The Digital Elevation Model (DEM) and Digital Surface Model (DSM). These models provide information about the elevation of the terrain and structures present in the area. The combination of DEM and DSM helps in understanding the topography and viewing obstacles of the region.
475
492
476
493
By utilizing this information and the corresponding code, the VGVI can be calculated, providing insights into the vegetation-ground view characteristics at each observer point.
The result of the above function shows below. Here 0 indicates no tree visibility, 1 indicates 100% tree visibility within 200m viewing distance from each over location. Note these these points can be also joined back to street again for obtaining aggregated tree visibility on each road segment.
@@ -495,19 +539,44 @@ GVI from address function: In contrast, the VGVI from address function employs a
495
539
496
540
The VGVI from sf function analyzes the VGVI at a specific observer point, while the VGVI from address function expands the analysis by sampling multiple points around the address location. The latter approach captures the GVI within a defined buffer and provides a more averaged assessment of the VGVI.
497
541
542
+
For an example for some random locations in Amsterdam we can estimate the VGVI based on samples around them
GreenExp is in still development phase, and have ongoing issues that we are progressing. So the package has some performance issues and limitations. Here are some common limitations and errors might happen when you are testing the package. You can help improving it in future!
575
+
- Running Speed: Some large areas extracted from OSM, might take a long time to run different metrics. Such as the street green cover function takes a long time for very large area. We suggest you can test it in small areas.
0 commit comments