<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Geometrie transformieren</title><link>https://sourceforge.net/p/manuela/wiki/Geometrie%2520transformieren/</link><description>Recent changes to Geometrie transformieren</description><atom:link href="https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 12 Jun 2017 10:58:52 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/feed" rel="self" type="application/rss+xml"/><item><title>Geometrie transformieren modified by Gismo</title><link>https://sourceforge.net/p/manuela/wiki/Geometrie%2520transformieren/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -97,7 +97,7 @@

 ![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/difference.png)

-##Differenz##
+##Symmetrische Differenz##

 Symmetrische Differenz |
 ---------- |
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gismo</dc:creator><pubDate>Mon, 12 Jun 2017 10:58:52 -0000</pubDate><guid>https://sourceforge.net320c7ab6a41a70b7bca412f93271d96f3aa28c49</guid></item><item><title>Geometrie transformieren modified by Gismo</title><link>https://sourceforge.net/p/manuela/wiki/Geometrie%2520transformieren/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1 +1,106 @@
 #Geometrie transformieren#
+##Umriss##
+
+Java |
+---------- |
+.getGeometry().getBoundary()
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/geom_boundary.png)
+
+##Rahmen##
+
+Java |
+---------- |
+.getGeometry().getEnvelope()
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/geom_envelope.png)
+
+##Konvexe Hülle##
+
+Java |
+---------- |
+.getGeometry().norm()
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/geom_convex_hull.png)
+
+##Norm##
+
+Java |
+---------- |
+.getGeometry().getBoundary()
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/geom_norm.png)
+
+##Eingeschlossene Flächen eines Polygons füllen##
+Wenn wir uns für eine (oder mehrere) Flächen/Polygone interessieren, die keine „Ausstanzungen“ enthalten, können wir eine bestimmte Funktion eines Polygons benutzen. Dazu müssen wir die Geometry zuerst zum Polygon casten und dann diese Funktion ausführen:
+
+Java |
+---------- |
+.getGeometry().getExteriorRing()
+
+Daraus erhalten wir eine geschlossene Linie, die wir mit Hilfe des Polygonizers ausfüllen können.
+(Siehe Beispiel unten.)
+
+Alternativ zur OpenJump-Funktion ‚getExteriorRing() ‘ kann der Linestring bereits von der Datenbank erhalten werden, indem 'SELECT geom' einfach um die PostgreSQL-Funktion ergänzt wird:
+
+SQL |
+---------- |
+--SELECT geom, ...
+SELECT ST_ExteriorRing(geom), …
+
+SQL, Beispiel |
+---------- |
+BasicFeature currentBasicFeature = iter.next();
+            Set&amp;lt;Geometry&amp;gt; currentBasicFeatureList = new HashSet&amp;lt;Geometry&amp;gt;();
+            currentBasicFeatureList.add(((Polygon)currentBasicFeature.getGeometry()).
+   getExteriorRing());
+            Polygonizer polygonizer = new Polygonizer();
+            polygonizer.add(currentBasicFeatureList);
+            Collection&amp;lt;Polygon&amp;gt; results = new java.util.ArrayList();
+            results = polygonizer.getPolygons();
+            BasicFeature newBasicFeature = (BasicFeature) 
+           currentBasicFeature.clone(true);
+            if (results.size() &amp;gt; 0) { 
+                Polygon newPolygon = null;
+                for (Polygon result : results) {
+                    if (newPolygon == null) {
+                        newPolygon = (Polygon) result;
+                    } else {
+                        newPolygon = (Polygon) newPolygon.union(result);
+                    }
+                    newBasicFeature.setGeometry(newPolygon);
+                }
+            }
+            newCollection.add(newBasicFeature);
+
+* Der Polygonizer kann nur mit Listen arbeiten, deshalb das Hinzufügen zu einer Liste.
+* Wir müssen zu Polygon casten, um die Linie um die äußeren Grenzen zu erhalten.
+* Das Ergebnis des neuen gefüllten Polygons kann ebenfalls eine Liste mit mehreren Polygonen sein.
+* Wir wollen das Ergebnis in einem neuen BasicFeature mit veränderter Geometrie speichern.
+* Wir müssen eine Fallunterscheidung vornehmen, da manche Geometrien mit ‚getExteriorRing‘ keine geschlossenen Linien zum Ausfüllen zurückliefern. (ein Bug?) In diesem Fall übernehmen wir die alte Geometrie.
+* Da das Ergebnis au mehreren Geometrien bestehen kann, vereinigen wir diese, bevor wir die neue Geometrie hinzufügen.
+
+Beim „Biodiversitäts-Calc-Tool“ wird auf die FeatureCollection zusätzlich die Methode ‚eliminateEachOtherContainingParts()‘ ausgeführt, die dafür sorgt, dass die „Ausstanzungen“ wieder vorgenommen werden, die für andere Nutzflächen gemacht wurden. Denn wir wollen nur die Aussatanzungen rückgängig machen, die durch Landschaftselemente entstanden sind, nicht durch andere Nutzflächen. (Ja, es werden dabei „Löcher“ in den Nutzflächen wie „Löcher“ von Landschaftselementen behandelt, da davon ausgegangen wird, dass diese nicht vorkommen.)
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/geom_exterior_ring.png)
+
+##Punkt zu Kreis und Linie zu Fläche##
+Wollen wir einem Element, das nur als Punkt gespeichert ist, als Fläche auffassen, so benötigen wir nur den Durchmesser und puffern den Punkt mit dem halben Durchmesser. Das ist z.B. bei Bäumen günstig.
+
+Wollen wir einer Linie eine Breite hinzufügen und kennen die durchschnittliche Breite, so können wir dies ebenfalls durch Puffern umsetzen. Dies kann z.B. für Flüsse genutzt werden.
+
+##Differenz##
+
+Java |
+---------- |
+geomResult = geom1.difference(geom2);
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/difference.png)
+
+##Differenz##
+
+Symmetrische Differenz |
+---------- |
+geomResult = geom1.symDifference(geom2);
+
+![](https://sourceforge.net/p/manuela/wiki/Geometrie%20transformieren/attachment/difference_sym.png)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gismo</dc:creator><pubDate>Mon, 12 Jun 2017 10:58:04 -0000</pubDate><guid>https://sourceforge.net4ffb35b41c694bd10765580cb01db7861a0d5388</guid></item><item><title>Geometrie transformieren modified by Gismo</title><link>https://sourceforge.net/p/manuela/wiki/Geometrie%2520transformieren/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="geometrie-transformieren"&gt;Geometrie transformieren&lt;/h1&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gismo</dc:creator><pubDate>Mon, 12 Jun 2017 10:47:53 -0000</pubDate><guid>https://sourceforge.net8d2e9810f32d3904b26b02a00dd2726775235ad4</guid></item></channel></rss>