-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Postprocess shade map to obtain shade at street level #8
Comments
We could use OSM features (https://wiki.openstreetmap.org/wiki/Map_features) obtained with osmdata package to filter pixels that are streets, squares, cycleways, etc (ie open spaces where people can walk). That's where we want to calculate amount of shade by now |
As rayshader gives shading on top of tree canopies, not below, we will probably have to assume that all pixels below high structures (trees, etc) are also shaded. That is, if the illuminated pixel is > 2m high, assume it will be shaded at ground level. (this would not be true if the structure is high above the ground and the sun elevation is low, so that rays pass below the structure. So not to worrying at first) Regarding the amount of shading assigned to pixels below high structures (trees, etc), we could assign the higher shade value in the pixels just nearby the focal pixel. |
Use |
Ok now we can detect when there's some object above the surface projecting some shade onto the ground. But how much to decrease light intensity in that pixel, ie to simulate shade at the ground level below the tree canopy? Two quick ideas by now:
|
Illumination below vegetation has been fixed to 5% by now (see CityShadeMapper/R/make_shademap.R Line 180 in bf145e2
|
Remove pixels occupied by buildings. Probably water too
That is, leave pixels that are outdoors (streets, open spaces), either vegetated or not, to calculate shade statistics across districts, etc
We can do this using lidar points classes (see #2 (comment))
Vegetation <1m should probably be discarded
The text was updated successfully, but these errors were encountered: