Geographic Information Systems Asked by user169441 on January 7, 2021
My goal is to create a wind map for an area about 300 km² in QGIS.
For this i have the data of only one weather station. The idea is to estimate the wind speed by the roughness lenght and the elevation. With a DEM i extract a homogeneous point layer with the elevation as attributes (the roughness i got from a land cover layer).
Now i want to transfer the wind speed, starting from the point from which i got the wind data, to the eight surrounding points (as shown in the second picture). With this given attribute every point shall perform an internal calculation (logarithmic profile calculation) and pass the result (their wind speed) to the next points until all points in the layer contain the value. If a point gets more than one different value from the surrounding points, it should do the calculation with the mean value (the structure, which is shown in the second picture, is just an example; in this case there are no overlays) . Unfortunately, I don’t know how to transfer the attribute to the neighbors. How can I do that?
The logarithmic profile calculation is :
v=wind speed, h=height and z=roughness
or an approach in QGIS:
case
when "VALUE_2" > 0 then round("Windgeschw" * (log(2.7183, ((10 + "VALUE" - "VALUE_2")/"Rauhigkeit"))/log(2.7183, (10/"Rauhigkeit"))), 1)
else ''
end
where
"VALUE"
is height at the point
"VALUE_2"
is the given height from point 1
"Rauhigkeit"
is roughness
"Windgeschw"
is the given wind speed from point1
After that the result should be given to the next points.
IMHO you are making things a bit complicated, I think that there is no need in the gradual point calculus because all new values are comming from one point
Let's assume there is a layer "pois"
with its corresponding attribute table accordingly, see image below.
Note: On the image above there is only one point with the wind data, i.e. a point with "id" = 1
.
In the Attribute Table apply the following expression
attribute(get_feature('pois','id',1),'v')*ln("h"/1)/ln(attribute(get_feature('pois','id',1),'h')/1)
click 'Update All' and get the output for other points, see image below
Note: As a roughness parameter I have used 1.
References:
Answered by Taras on January 7, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP