Questions in topic: "sherbendgeneralizer"
https://knowledge.safe.com/questions/topics/single/1282.html
The latest questions for the topic "sherbendgeneralizer"How would you apply SherbendGeneralizer to *polygon* data?
https://knowledge.safe.com/questions/27750/how-would-you-apply-sherbendgeneralizer-to-polygon.html
sherbendgeneralizerThu, 21 Apr 2016 09:31:22 GMTmikisSherbendGeneralizer Example
https://knowledge.safe.com/articles/1283/sherbendgeneralizer-example.html
<h2>Downloads</h2><ul>
<li><a href="http://cdn.safe.com/community/attachments/ka4a0000000XtAPAA0/SherbendGeneralizerExample1_2015.fmwt">SherbendGeneralizerExample1_2015.fmwt</a></li></ul><h1>Description</h1><p>
SherbendGeneralizer is an FME transformer for 'smarter' generalization, which preserves original topology of the features.<br>
<br>
The goal of the Sherbend algorithm is to reduce unnecessary details on a line based on the analysis of the line’s bends. Sherbend is a constraint based algorithm that preserves topology of the lines and points in the input dataset. The Sherbend algorithm iteratively generalizes bends in a line by using the diameter parameter to select bends for generalization. The generalization process may eliminate, reduce, or combine bends, while resolving conflicts.<br>
<br>
The strategy for generalizing bends in a line looks as follows:<br>
* The parameter "diameter" is used to calculate the area of a reference circle.
* For each line, determine the locations of the bends.
* For each bend, calculate its actual area.
* For each bend, calculate its circumference. Next, construct a circle with the same circumference. Finally, the adjusted area of the bend is taken to be 75% of the area of that circle.
* For each bend, generalize the bend if its adjusted area is below the area of the reference circle and furthermore topological constraints are met.
* Repeat the above steps until there are no more bends to generalize.
</p><h1>Examples</h1><h2>Example 1: Topological Checking</h2><p>
by Dmitri Bagh<br>
<br>
Often it is better to see a simple demo, than to read a long detailed explanation. This is why I took a small dataset and passed it many times through SherbendGeneralizer until I understood exactly how it works.<br>
<br>
Existing generalization algorithms in FME consider neither mutual locations of the features nor possible dangerous changes to each indvidual feature.<br>
<br>
<em><strong>Below</strong>: Screenshots of the contours and elevation points before and after 'old style' generalization</em><br>
<br>
<em><strong>Old Style</strong></em><br>
Before Generalization <br>
<img alt="User-added image" src="https://cdn.safe.com/community/attachments/http_download_1444330008245_6032.png"><br>
After generalization with the Generalizer transformer:<br>
<br>
<img alt="User-added image" src="https://cdn.safe.com/community/attachments/http_download_1444330008451_6032.png"><br>
<br>
We can observe at least three kinds of problems introduced by the generalization algorithm:</p><ol>
<li>One of the contours is now self-intersecting;</li> <li>Contours intersect each other;</li> <li>The new position of the contour with elevation 440 (shown with orange color) goes around the elevation point of 437 from the other side than it did before, which makes the relationship between contours and elevation points invalid:</li></ol><p>
<img alt="User-added image" src="https://cdn.safe.com/community/attachments/http_download_1444330008662_6032.png"><br>
<br>
SherbendGeneralizer is able to deal with all three problems.<br>
<br>
<img alt="User-added image" src="https://cdn.safe.com/community/attachments/http_download_1444330008908_6032.png"><br>
<br>
It can control:<br>
<br>
1) Self-intersections;<br>
<br>
2) Intersections of lines;<br>
<br>
3) Sideness, that is, it checks that lines do not change their relative position to points:<br>
<br>
<br>
Sherbend Style<br>
<br>
<img alt="User-added image" src="https://cdn.safe.com/community/attachments/http_download_1444330009248_6032.png"><br>
<br>
The transformer helps to see where there would be conflicts if the generalization changes were applied. Along with the output port for the lines, it also has CONFLICT port, that outputs bends that would violate one or more constraints if generalized.<br>
<br>
<br>
<strong>Workspace Template</strong></p><ul>
<li><strong>Workspace Template 1. Topological checkings (See attachment: SherbendGeneralizerExample1_2015.fmwt)</strong></li></ul><h2> </h2>gistopologygeneralizesherbendgeneralizerThu, 08 Oct 2015 19:15:59 GMTMitaAtSafe