Line-based building (Water Overlay): Difference between revisions
(Created page with "Line based buildings are constructions for which their geometry is interpreted as a 2 dimensional line with two end points. Examples of line based buildings are the following hydraulic structures: {| {{STDT|overlay sortable}} |- ! style="width:50px" | Icon !! style="width:100px; text-align:left;" | Name !! style="text-align:left;" | Name |- |style="text-align:center;"|25px |Culvert |Flow in...") |
No edit summary |
||
Line 1: | Line 1: | ||
Line based [[Building|buildings]] are | Line based [[Building|buildings]] are Buildings for which their geometry is interpreted as a 2 dimensional line with two end points. | ||
Examples of line based buildings are the following hydraulic structures: | Examples of line based buildings are the following hydraulic structures: | ||
Line 22: | Line 22: | ||
==Polygon skeleton== | ==Polygon skeleton== | ||
A method to obtain a line geometries from a polygonal geometry is called topological skeletonization. The method used by {{software}} is described in: [[Polygon skeleton]]. | A method to obtain a line geometries from a polygonal geometry is called topological skeletonization. The method used by {{software}} is described in: [[Polygon skeleton]]. | ||
In the case of Line-based | In the case of Line-based buildings, we want to obtain only a single line segment. | ||
Currently only a simple implementation is used: | Currently only a simple implementation is used: | ||
#Skeletonize a | #Skeletonize a building's polygon. This potentially produces a multi-line geometry. | ||
#Take the first point and the last point of this line geometry. These two points will form the line segment used for the line-based | #Take the first point and the last point of this line geometry. These two points will form the line segment used for the line-based building. | ||
[[File:skeleton_polygon1.png|thumb|left|x150px|Simple rectangle polygon.]] | [[File:skeleton_polygon1.png|thumb|left|x150px|Simple rectangle polygon.]] | ||
Line 42: | Line 42: | ||
More complex but common situation: | More complex but common situation: | ||
<div><ul> | <div><ul> | ||
<li style="display: inline-block;">[[File:roof_polygon1.png|thumb|150px|top|left|Skeleton of semi-complex | <li style="display: inline-block;">[[File:roof_polygon1.png|thumb|150px|top|left|Skeleton of semi-complex building polygon.]]</li> | ||
<li style="display: inline-block;">[[File:slanted_roof1.png|thumb|150px|top|left|Resulting roof from | <li style="display: inline-block;">[[File:slanted_roof1.png|thumb|150px|top|left|Resulting roof from building polygon and skeleton.]]</li> | ||
</ul></div> | </ul></div> | ||
Generally, this kind of polygon is undesirable for a line-based | Generally, this kind of polygon is undesirable for a line-based building, since it will generate a skeleton with many end points. | ||
==General advice== | ==General advice== |
Latest revision as of 11:34, 5 October 2022
Line based buildings are Buildings for which their geometry is interpreted as a 2 dimensional line with two end points.
Examples of line based buildings are the following hydraulic structures:
Icon | Name | Name |
---|---|---|
Culvert | Flow in both directions possible. | |
Weir | Conditional flow, based on the weir's height. Flow possible in both ways. | |
Pump | Pumps water from the entry with the lowest water level to the entry with the highest water level. |
Polygon skeleton
A method to obtain a line geometries from a polygonal geometry is called topological skeletonization. The method used by Tygron Platform is described in: Polygon skeleton. In the case of Line-based buildings, we want to obtain only a single line segment. Currently only a simple implementation is used:
- Skeletonize a building's polygon. This potentially produces a multi-line geometry.
- Take the first point and the last point of this line geometry. These two points will form the line segment used for the line-based building.
The method above is simple, but not robust in all cases. See the following images:
In case one, the resulting skeleton lines have 3 different end points. Which of these points will be the first and last end point is dependent on the sequence of coordinates in the polygon.
In case two, the polygon is a perfect circle, resulting in no skeleton line.
In case three, the skeleton line is very small, for example 1 centimeter. This may not be desirable when the end points need to be separated more than a certain amount.
More complex but common situation:
Generally, this kind of polygon is undesirable for a line-based building, since it will generate a skeleton with many end points.
General advice
- The line-based buildings should be supplied as rectangles or line-buffered polygons.
- The length of the polygon along the line should be longer than the width of the polygon perpendicular to the line.
See also