Changes

Jump to navigation Jump to search
no edit summary
Line 157: Line 157:  
     </td>   
 
     </td>   
 
     <td>
 
     <td>
not public
+
public
 
     </td>   
 
     </td>   
 
     <td>
 
     <td>
first English Version    </td>  
+
English Version   </td>
 +
  </tr>
 +
  <tr align="left" valign="top">
 +
    <td>
 +
0.7.1 EN
 +
    </td>
 +
    <td width="220">
 +
November 2014
 +
    </td>
 +
    <td>
 +
Egbert Casper
 +
    </td> 
 +
    <td>
 +
public
 +
    </td> 
 +
    <td>
 +
Derived PDF Version    </td>
 +
  </tr>
 +
  <tr align="left" valign="top">
 +
    <td>
 +
0.7.2 EN
 +
    </td>
 +
    <td width="220">
 +
November 2017
 +
    </td>
 +
    <td>
 +
Egbert Casper
 +
    </td> 
 +
    <td>
 +
public
 +
    </td> 
 +
    <td>
 +
Minor editorial changes and completions, License change to Creative Commons BY-NC-SA-4.0   </td>  
 
   </tr>
 
   </tr>
 +
    
   </table>
 
   </table>
 +
 +
{| width="100%" cellspacing="6" border="0"
 +
|- valign="top" align="left"
 +
| width="80%" | <div style="margin: 10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">{{Copyright-BY-NC-SA-4.0}}</div>
 +
|}
    
== References ==
 
== References ==
Line 243: Line 281:  
<math>\forall E_{ijk} \forall P_a = dist (P_a,E_{ijk})\le \epsilon</math>
 
<math>\forall E_{ijk} \forall P_a = dist (P_a,E_{ijk})\le \epsilon</math>
   −
+
<!--
 
  Für die Überprüfung der Planarität wäre es wünschenswert, eine Vorgabe für die Schranke <math>\epsilon</math> zu haben.<br> Da die Eigenschaft der Planarität invariant gegenüber Skalierungen sein sollte,<br /> sollte in den Wert von <math>\epsilon</math> die Ausdehnung bzw. Größe (Flächeninhalt, max. Punktabstand) des Linearen Ringes eingehen.<br /> Dazu sollte die Punktgenauigkeit bekannt/festgelegt sein.
 
  Für die Überprüfung der Planarität wäre es wünschenswert, eine Vorgabe für die Schranke <math>\epsilon</math> zu haben.<br> Da die Eigenschaft der Planarität invariant gegenüber Skalierungen sein sollte,<br /> sollte in den Wert von <math>\epsilon</math> die Ausdehnung bzw. Größe (Flächeninhalt, max. Punktabstand) des Linearen Ringes eingehen.<br /> Dazu sollte die Punktgenauigkeit bekannt/festgelegt sein.
 +
-->
    
== <span id="posList">[http://www.schemacentral.com/sc/niem21/e-gml32_posList.html gml:posList]</span> ==
 
== <span id="posList">[http://www.schemacentral.com/sc/niem21/e-gml32_posList.html gml:posList]</span> ==
Line 398: Line 437:     
== <span id="Polygon">[http://www.schemacentral.com/sc/niem21/e-gml32_Polygon.html gml:Polygon]</span> ==
 
== <span id="Polygon">[http://www.schemacentral.com/sc/niem21/e-gml32_Polygon.html gml:Polygon]</span> ==
* Ein planarer linearer Ring <math>R_s</math> definiert den Rand eines Polygons <math>S</math> (äußerer Ring).
+
* A Polygon <math>S</math> is defined by a planar Linear Ring  <math>R_s</math> (exterior ring).
* Ein Polygon ist durch genau einen solchen äußeren Ring und <math>n\ge0</math> innere Ringe definiert. Jeder innere lineare Ring muss ebenfalls planar sein, und der äußere und alle inneren linearen Ringe müssen in derselben Ebene (im Rahmen einer gegebenen Toleranz) liegen.
+
* A polygon has exactly one exterior ring. In addition, a polygon can have <math>n\ge0</math> interior rings. These interior rings a planar Linear Rings as well. All interior rings and the exterior ring must be on the same plane (within the given tolerance).  
* Jeder '''innere''' lineare Ring '''muss innerhalb des Gebiets''' der Ebene liegen, das der '''äußere''' Ring begrenzt.
+
* As interior rings define holes in the polygon, they have to be completely included in the area defined by the exterior ring.
 
<table width="900px"  border="0" cellspacing="0">
 
<table width="900px"  border="0" cellspacing="0">
 
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
Line 410: Line 449:  
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
     <td colspan="1">
 
     <td colspan="1">
'''Figure 7:''' Polygon mit <span style="color:#008000">korrektem inneren Ring (links)</span> und <span style="color:#FF0000">nicht korrektem inneren Ring (rechts)</span> </td>
+
'''Figure 7:''' Polygon with <span style="color:#008000">correct interior ring (left)</span> and <span style="color:#FF0000">incorrect inner ring (right)</span> </td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
* Die inneren linearen Ringe dürfen nicht verschachtelt sein, d.h. kein innerer Ring liegt in dem Gebiet der Ebene, das ein anderer innerer Ring definiert.
+
* Interior rings must not overlap other Linear Rings or be included in another Linear Ring (except the exterior Linear Ring).
 
  <table width="900px"  border="0" cellspacing="0">
 
  <table width="900px"  border="0" cellspacing="0">
 
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
Line 423: Line 462:  
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
     <td colspan="1">
 
     <td colspan="1">
'''Figure 8:''' Polygon mit <span style="color:#008000">zwei korrekten inneren Ringen (links)</span> und zwei verschachtelten, <span style="color:#FF0000">nicht korrekten inneren Ringen (rechts)</span> </td>
+
'''Figure 8:''' Polygon with <span style="color:#008000">two correct interior Rings (left)</span> and two interlaced, <span style="color:#FF0000">not correct interior Rings (right)</span> </td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
* Die inneren Ringe und der äußere Ring dürfen sich paarweise in '''endlich !!!!! (evtl. nur einer)''' vielen Punkten berühren. Dabei muss das Innere des Polygons zusammenhängend sein.
+
* Interior rings and the exterior ring may touch each other in a finite number of points. The inner area of the polygon has to be connected.
 
  <table width="900px"  border="0" cellspacing="0">
 
  <table width="900px"  border="0" cellspacing="0">
 
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
Line 436: Line 475:  
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
     <td colspan="1">
 
     <td colspan="1">
'''Figure 9:''' Polygon mit <span style="color:#008000">korrektem, innerem Ring, der den außeren Ring an einem Punkt berührt (links)</span> und <span style="color:#FF0000">nicht korrektem innerem Ring, der den äußeren Ring an zwei Punkten berührt und damit dass Polygon spaltet (rechts)</span> </td>
+
'''Figure 9:''' Polygon with <span style="color:#008000">correct, interior ring touching the outer ring at exactly one point (left)</span> and <span style="color:#FF0000">incorrect interior Ring touching the outer ring at two points and splitting the polygon (right) </span> </td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
* Die Reihenfolge der Punkte des äußeren Linear Rings definiert die '''Orientierung''' des Polygons. In  <math>R</math> existieren mindestens drei nicht ko-lineare Punkte  <math>P_i</math>, <math>P_j</math> und  <math>P_k</math>, die eine Ebene <math>E(P_i,P_j,P_k)</math> aufspannen. Der Vektor <math>\vec n</math> , der sich aus dem normalisieren Kreuzprodukt der beiden Vektoren <math>\vec{P_iP_j}</math>  und <math>\vec{P_jP_k}</math> ergibt, wird als Flächennormale des Polygons bezeichnet:  
+
* • The order of points of the exterior ring defines the orientation of the polygon. The non co-linear points <math>P_i</math>, <math>P_j</math> und  <math>P_k</math>define the plane <math>E(P_i,P_j,P_k)</math>. The normal vector <math>\vec n</math> is given by the cross product of the two vectors <math>\vec{P_iP_j}</math>  and <math>\vec{P_jP_k}</math>:  
    
<math>\vec n = \frac {\vec{P_iP_j}\times\vec{P_jP_k}}{\| {\vec{P_iP_j}\times\vec{P_jP_k}}\|}</math>
 
<math>\vec n = \frac {\vec{P_iP_j}\times\vec{P_jP_k}}{\| {\vec{P_iP_j}\times\vec{P_jP_k}}\|}</math>
 
 
 
 
Bemerkung:  
+
'''Please note:''' that due to the tolerance of planar Linear Rings, the normal vector can be ambiguous.  
Aufgrund der Toleranz planarer linearer Ringe ist die Flächennormale des Polygons nicht eindeutig bestimmt.  
     −
Hinweis:  
+
'''Remark:'''
Die beiden von den linearen Ringen <math>R_1=(P_0,P_1,P_2,P_3,P_0)</math> und <math>R_2=(P_0,P_3,P_2,P_1,P_0)</math> definierten Polygone haben dieselbe geometrische Ausprägung, unterscheiden sich aber hinsichtlich der Orientierung.
+
The two Linear Rings <math>R_1=(P_0,P_1,P_2,P_3,P_0)</math> and <math>R_2=(P_0,P_3,P_2,P_1,P_0)</math> define polygons with the same geometric extend but different orientation.
    
<table width="900px"  border="0" cellspacing="0">
 
<table width="900px"  border="0" cellspacing="0">
Line 458: Line 496:  
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
     <td colspan="1">
 
     <td colspan="1">
'''Figure 10:''' Polygon mit Flächennormale n </td>
+
'''Figure 10:''' Polygon with normal vector n</td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
Line 467: Line 505:     
== <span id="MultiSurface">[http://www.schemacentral.com/sc/niem21/e-gml32_MultiSurface.html gml:MultiSurface]</span> ==
 
== <span id="MultiSurface">[http://www.schemacentral.com/sc/niem21/e-gml32_MultiSurface.html gml:MultiSurface]</span> ==
Eine Menge <math>M=\lbrace S_1,S_2,...S_n\rbrace</math>  von Polygonen wird als '''MultiSurface''' bezeichnet. Es gelten keinerlei Bedingungen für die Struktur der in  <math>S</math> enthaltenen Polygone. Sie können sich beispielsweise überlappen oder durchdringen. Es ist auch nicht notwendig, dass die Polygone in <math>S</math>  eine zusammenhängende Oberfläche beschreiben. Die Polygone können beliebig orientiert sein.
+
A MultiSurface is an unstructured set <math>M=\lbrace S_1,S_2,...S_n\rbrace</math>  of polygons. No further constraints are defined for a MultiSurface element. It is not necessary that <math>M</math> is a connected surface. Orientation of the polygons is arbitrary. By a MultiSurface any existing polygonal boundary representation of a rigid body can be described. Unfortunately, also objects that do not exist in real space can be modeled.
   −
Das MultiSurface-Element ist daher sehr einfach zu nutzen.
+
Due to the missing constraints it is recommended that MultiSurface elements should only be used to model non-volumetric parts of the building model as shown in Figure 11. Volumetric parts should be modeled as solids (see gml:Solid)
   −
Allerdings sind die häufigsten Fehler, die in einem Modell enthalten sind, auf die Verwendung von MultiSurface-Elemente zurückzuführen, da keinerlei strukturgebende Randbedingungen vorhanden sind.
+
<table width="700px"  border="0" cellspacing="0">
   −
In der Computergraphik wird eine solche Menge von Polygonen ohne explizite Struktur auch „Polygon-Suppe“ genannt.
  −
  −
Problematisch ist bei der Verwendung von MultiSurface Elementen, dass mit diesem Geometrieelement Objekte dargestellt werden können, die keine Festkörper sind. Dies ist zwar ein sehr flexibler Ansatz, sollte aber nur verwendet werden, wenn explizit keine Festkörper modelliert werden sollen.
     −
<table width="900px"  border="0" cellspacing="0">
   
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
<td width="50%">
 
<td width="50%">
[[image:Teil1-ABB8a.png|450px]]
+
[[image:MultiSurface-01a.png|300px]]
 +
</td>
 +
    <td width="50%">
 +
[[image:MultiSurface-01a.png|300px]]
 +
    </td>
 +
  </tr>
 +
  <tr align="left" valign="top">
 +
<td width="50%">
 +
[[image:MultiSurface-Explode-01a.png|300px]]
 
</td>
 
</td>
 
     <td width="50%">
 
     <td width="50%">
[[image:Teil1-ABB8b.png|450px]]
+
[[image:MultiSurface-Explode-01b.png|300px]]
 
     </td>  
 
     </td>  
 
   </tr>
 
   </tr>
 +
 +
 +
 
   <tr align="left" valign="top">
 
   <tr align="left" valign="top">
 
     <td colspan="2">
 
     <td colspan="2">
'''Figure 11:''' Modellierung von Dachüberständen als einfache Polygone. Im linken Modell wird das Gebäude mit einer MultiSurface-Geometrie beschrieben, die aus 7 Polygonen besteht. Eine Volumenberechnung ist nicht möglich, da es sich um keinen geschlossen Körper handelt. Die rechte Abbildung zeigt dasselbe Modell, nun durch eine Solid (Gebäude) und eine zusätzliche MultiSurface-Geometrie (2 Polygone für Dachüberstand) beschrieben (vgl. CityGML Standard v1.0, S.61). Diese Variante ist zu empfehlen.
+
'''Figure 11:''' Modeling overlapping roof parts ('''above:''' complete models, polygons outlined; '''below:''' roof polygons exploded)
 +
 
 +
'''Please note:''' the left model in Figure 11 is created with a MultiSurface element containing 7 polygons. However, the polygons do not represent a valid boundary of a rigid body. Calculating a volume is not possible. The right model is the same building geometry but modeled with 1 Solid element (7 polygons) and 1 MultiSurface element (2 polygons F6 and F8) as recommended (see CityGML Standard v1.0,p.61)
 +
 
 
     </td>
 
     </td>
 
   </tr>
 
   </tr>
Line 495: Line 543:  
== <span id="CompositeSurface"> [http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSurface.html gml:CompositeSurface]</span>==
 
== <span id="CompositeSurface"> [http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSurface.html gml:CompositeSurface]</span>==
   −
Eine CompositeSurface ist eine Menge <math>C=\lbrace S_1,S_2,...,S_n \rbrace</math> von Polygonen, für die
+
A set <math>C=\lbrace S_1,S_2,...,S_n \rbrace</math> of polygons is a CompositeSurface for which
folgendes gilt:
     −
# Die Schnittmenge zweier Polygone <math>S_k</math>  und <math>S_l</math>  aus <math>C</math>  ist entweder leer oder besteht nur aus Punkten und/oder Kanten, die auch in den beiden linearen Ringen vorkommen. Bezeichne <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math> den planaren linearen Ring, der das Polygon <math>S</math> definiert. Dann gilt:<br><math>S_i \cap S_k= \begin{cases}\emptyset\\ \lbrace Q_0,Q_1,...,Q_m\rbrace,Q_j=P_k^i\\ \lbrace e_0,e_1,...,e_m\rbrace,e_j=\overline{P_i^kP_{i+1}^k} \end{cases}</math>
+
# The intersection of two polygons <math>S_k</math>  and <math>S_l</math>  of <math>C</math>  is either empty or contains only points <math>P</math> and/or edges <math>e</math>that are part of both Linear Rings.  
# Jede Kante <math>e_k=\overline{P_i^kP_{i+1}^k}</math> eines linearen Rings <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math> , der ein Polygon <math>S_k \in C</math> definiert, wird höchstens  einmal als Kante <math>e_l=\overline{P_j^lP_{j+1}^l}</math>  in einem linearen Ring <math>R_l=(P_0^l,P_1^l,...,P_m^l)</math>  genutzt, der ein anderes Polygon <math>S_l \in C</math> definiert.<br>Es gilt <math>P_i^k=P_{j+1}^l</math>  und <math>P_{i+1}=P_j^l</math>.
+
The polygon <math>S</math> is defined by the planar Linear Ring <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math>.
# Die Polygone aus <math>C</math> sind so orientiert, dass die Flächennormale benachbarte Polygone in dieselbe Richtung zeigen.
+
The intersection of <math>S_i</math> and <math>S_k</math> equals<br>
# Die Vereinigung aller Polygone aus <math>C</math> ohne die Kanten oder Punkte, in denen sich die Polygone berühren, ist isomorph zu einem Polygon.  
+
<math>S_i \cap S_k= \begin{cases}\emptyset\\ \lbrace Q_0,Q_1,...,Q_m\rbrace,Q_j=P_k^i\\ \lbrace e_0,e_1,...,e_m\rbrace,e_j=\overline{P_i^kP_{i+1}^k} \end{cases}</math>
 +
# Every edge <math>e_k=\overline{P_i^kP_{i+1}^k}</math> of a Linear Ring <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math> , defining a polygon <math>S_k \in C</math> is used exactly once as an edge <math>e_l=\overline{P_j^lP_{j+1}^l}</math>  in a Linear Ring <math>R_l=(P_0^l,P_1^l,...,P_m^l)</math>  defining another polygon <math>S_l \in C</math> with <math>P_i^k=P_{j+1}^l</math>  and  <math>P_{i+1}=P_j^l</math>.
 +
# All polygons in <math>C</math> are oriented such that the normal vectors of neighbouring polygons point to the same direction.
 +
# The union of all polygons in <math>C</math> without the edges or points where the polygons touch, is isomorphic to a polygon.  
   −
Aus (1) und (2) ergibt sich, dass die Oberfläche, die durch  <math>C</math> beschrieben wird, keine sich gegenseitig überlappenden oder durchdringenden Polygone enthalten darf (Polygone berühren sich höchstens in Punkten oder Kanten).
+
It follows from (i) and (ii) that the surface defined by <math>C</math> , must not contain any overlapping or penetrating polygons, that is, polygons touch at most at points or edges.
    
== <span id="Solid"> [http://www.schemacentral.com/sc/niem21/e-gml32_Solid.html gml:Solid]</span>==
 
== <span id="Solid"> [http://www.schemacentral.com/sc/niem21/e-gml32_Solid.html gml:Solid]</span>==
   −
Ein Solid modelliert einen beliebigen Festkörper. Die Oberfläche des Solid wird über eine Menge von Polygonen beschrieben, die bestimmte strukturgebende Eigenschaften erfüllen müssen.
+
A solid geometry represents a rigid body. The surface of the solid is defined by a set of polygons with the following properties.  
Die Menge <math>C=\lbrace S_1,S_2,...,S_n \rbrace</math> von Polygonen beschreibt die Oberfläche eines Solid genau dann, wenn gilt:
+
The set <math>C=\lbrace S_1,S_2,...,S_n \rbrace</math> of polygons bounds a solid if:
   −
# Die Schnittmenge zweier Polygone <math>S_k</math>  und <math>S_l</math>  aus <math>C</math>  ist entweder leer oder besteht nur aus Punkten und Kanten, die auch in den beiden linearen Ringen vorkommen. Bezeichne <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math>  den planaren linearen Ring, der das Polygon <math>S</math> definiert. Dann gilt:<br><math>S_i \cap S_k= \begin{cases}\emptyset\\ \lbrace Q_0,Q_1,...,Q_m\rbrace,Q_j=P_k^i\\ \lbrace e_0,e_1,...,e_m\rbrace,e_j=\overline{P_i^kP_{i+1}^k} \end{cases}</math>
+
# The intersection of two polygons <math>S_k</math>  and <math>S_l</math>  of <math>C</math>  is either empty or contains only points <math>P</math> and edges <math>e</math> that are part of both Linear Rings. The polygon <math>S</math> is defined by the Linear Ring <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math>. The intersection of <math>S_k</math>  and <math>S_l</math> equals: <br><math>S_i \cap S_k= \begin{cases}\emptyset\\ \lbrace Q_0,Q_1,...,Q_m\rbrace,Q_j=P_k^i\\ \lbrace e_0,e_1,...,e_m\rbrace,e_j=\overline{P_i^kP_{i+1}^k} \end{cases}</math>
# Jede Kante <math>e_k=\overline{P_i^kP_{i+1}^k}</math> eines linearen Rings <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math> , der ein Polygon <math>S_k \in C</math> definiert, wird genau einmal als Kante <math>e_l=\overline{P_j^lP_{j+1}^l}</math>  in einem linearen Ring <math>R_l=(P_0^l,P_1^l,...,P_m^l)</math> genutzt, der ein anderes Polygon <math>S_l \in C</math> definiert.<br>Es gilt <math>P_i^k=P_{j+1}^l</math>  und <math>P_{i+1}=P_j^l</math>.
+
# Every Edge <math>e_k=\overline{P_i^kP_{i+1}^k}</math> of a Linear Ring <math>R_k=(P_0^k,P_1^k,...,P_n^k)</math> , defining a polygon <math>S_k \in C</math>, is used exactly once as an edge <math>e_l=\overline{P_j^lP_{j+1}^l}</math>  in a Linear Ring <math>R_l=(P_0^l,P_1^l,...,P_m^l)</math>, defining another polygon <math>S_l \in C</math> with <math>P_i^k=P_{j+1}^l</math>  and <math>P_{i+1}=P_j^l</math>.
# Die Polygone aus <math>C</math> sind so orientiert, dass die Flächennormalen nicht ins Innere des Festkörpers zeigen, sondern nach außen.
+
# All polygons in <math>C</math> are oriented such that the normal vector of each polygon points to the outside of the solid.
# Die Polygone aus <math>C</math> sind zusammenhängend, d.h. in dem dualen Graphen von  <math>C</math> gibt es einen Weg, der alle Knoten umfasst. Der duale Graph G<sub>C</sub> =(V<sub>C</sub>, E<sub>C</sub>) von <math>C</math>  besteht aus einer Menge V<sub>C</sub> von Knoten und einer Menge E<sub>C</sub> von Kanten. Jeder Knoten v aus V<sub>C</sub> repräsentiert genau ein Polygon aus <math>C</math> . Eine Kante zweier Polygone <math>S_k</math>  und <math>S_l</math>  aus <math>C</math> wird in G<sub>C</sub> durch eine Kante <math>e=(v_{s_k},v_{s_l})</math> in E<sub>C</sub> dargestellt.
+
# All polygons in <math>C</math> are connected, that is the dual graph of <math>C</math> has a path containing all nodes. The dual graph  G<sub>C</sub> =(V<sub>C</sub>, E<sub>C</sub>) of <math>C</math>  consists of a set V<sub>C</sub> of nodes and a set E<sub>C</sub> of edges. Every node v of V<sub>C</sub> represents exactly one polygon of <math>C</math>. An edge shared by two polygons <math>S_k</math>  and <math>S_l</math>  of <math>C</math> is represented by an edge <math>e=(v_{s_k},v_{s_l})</math> in E<sub>C</sub>.
# Für jeden Punkt <math>P</math>, der in einem linearen Ring eines Polygons aus <math>C </math> vorkommt, gilt: Der Graph <math>G_P =(V_P, E_P)</math>, der aus Polygonen und Kanten gebildet wird, die <math>P</math> berühren, ist zusammenhängend. Dabei repräsentiert jeder Knoten <math>v</math> aus <math>V_P</math> genau ein Polygon, dessen linearer Ring <math>P</math> enthält. Zwei Knoten sind genau dann mit einer Kante <math>e</math> aus <math>E_P</math> verbunden, wenn die Polygone, die durch die Knoten repräsentiert werden, eine gemeinsame Kante haben, die <math>P</math> berührt .
+
# For every point <math>P</math> of a Linear Ring of a polygon of <math>C </math> applies: The graph <math>G_P =(V_P, E_P)</math>, that is only build by polygons and edges that touch<math>P</math> is connected. Each node <math>v</math> of <math>V_P</math> represents a polygon which Linear Ring contains <math>P</math>. Two nodes are connected by an edge <math>e</math> of <math>E_P</math> if  the two polygons represented by the nodes have a common edge that touches <math>P</math>.
   −
Aus (1) und (2) ergibt sich, dass die Oberfläche, die durch  <math>C</math>  beschrieben wird, keine Löcher enthalten darf. Mit den weiteren Bedingungen (4) und (5) ergibt sich, dass das Innere des durch <math>C</math>   beschriebenen Festkörpers zusammenhängend sein muss.
+
It follows from (i) and (ii) that the surface defined by <math>C</math> has no holes. Together with conditions (4) and (5) it follows that the inner of the solid defined by <math>C</math> is connected
<math>S</math> wird auch als geschlossene [http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSurface.html '''CompositeSurface'''] bezeichnet.
+
<math>S</math> is denoted as  closed [http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSurface.html '''CompositeSurface'''].
      −
'''Beispiele:'''
+
'''Examples:'''
    
<table width="1200px"  border="1" cellspacing="0" style="border:thin">
 
<table width="1200px"  border="1" cellspacing="0" style="border:thin">
Line 543: Line 593:  
   <tr align="middle">
 
   <tr align="middle">
 
   <td width="300px" valign="top">
 
   <td width="300px" valign="top">
Korrekt: 6 Flächen, geschlossen, Flächenorientierung korrekt
+
correct: 6 surfaces, closed, correct surface orientation
 
     </td>
 
     </td>
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Korrekt: 11 Flächen, geschlossen, Flächenorientierung korrekt
+
correct: 11 surfaces, closed, correct surface orientation
 
     </td>
 
     </td>
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Korrekt: 10 Flächen, geschlossen, Flächenorientierung korrekt
+
correct: 10 surfaces, closed, correct surface orientation
 
     </td>   
 
     </td>   
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Korrekt: 30 Flächen, geschlossen, Flächenorientierung korrekt
+
correct: 30 surfaces, closed, correct surface orientation
 
     </td>   
 
     </td>   
 
</tr>
 
</tr>
Line 579: Line 629:  
   <tr align="middle">
 
   <tr align="middle">
 
   <td width="300px" valign="top">
 
   <td width="300px" valign="top">
Nicht Korrekt: 5 Flächen, nicht geschlossen, Flächenorientierung korrekt
+
incorrect: 5 surfaces, not closed, correct surface orientation
 
     </td>
 
     </td>
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Nicht Korrekt: 6 Flächen, geschlossen, Flächenorientierung nicht korrekt
+
incorrect: 6 surfaces, closed, incorrect surface orientation
 
     </td>
 
     </td>
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Nicht Korrekt: 12 Flächen, nicht geschlossen (zwei Außenhüllen), Flächenorientierung korrekt
+
incorrect: 12 surfaces, no closed (two outer hulls), correct surface orientation
 
     </td>   
 
     </td>   
 
     <td width="300px" valign="top">
 
     <td width="300px" valign="top">
Nicht Korrekt: 12 Flächen, nicht geschlossen (innere und äußere Hülle), Flächenorientierung korrekt
+
incorrect: 12 surfaces, not closed (inner and outer hull), correct surface orientation
 
     </td>   
 
     </td>   
 
</tr>
 
</tr>
Line 594: Line 644:     
== <span id="CompositeSolid">[http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSolid.html gml:CompositeSolid]</span>==
 
== <span id="CompositeSolid">[http://www.schemacentral.com/sc/niem21/e-gml32_CompositeSolid.html gml:CompositeSolid]</span>==
Ein CompositeSolid wird durch eine nichtleere Menge  <math>C = \{S_1,..., S_n\}</math> von '''[[#Solid|Solids]]''' (vgl. 12.) beschrieben, für die gilt:
+
A CompositeSolid is represented by a nonempty set <math>C = \{S_1,..., S_n\}</math> of '''[[#Solid|Solids]]''' (see 10.) with the following properties:
   −
# Der Schnitt der Inneren zweier Solids <math>S_i</math>, <math>S_j</math>, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, ist leer, d.h. entweder sind beide Solids <math>S_i</math>, <math>S_j</math> disjunkt oder beide berühren sich nur in Flächen, Linien oder Punkten
+
# The intersection of the inner of two solids <math>S_i</math>, <math>S_j</math>, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j of <math>C</math> is empty, that is either both solids <math>S_i</math>, <math>S_j</math> are disjoint or both solids are connected only by surfaces, lines or points.
# Sei <math>C'</math> die Vereinigung aller Solids aus <math>C</math>. Dann ist die Begrenzung von <math>C'</math> (die Oberfläche von <math>C'</math> ohne die Flächen oder Punkte, in denen sich die Solids berühren) die Begrenzung eines Solid.  
+
# Let <math>C'</math> be the union of all solids from <math>C</math>. Then the boundary of <math>C'</math> (the surface of <math>C'</math> without the surfaces or points where the solids touch each other) is the boundary of a solid.  
   −
In CityGML werden bei CompositeSolids ebenso wie bei Solids innere Einschlüsse (Hohlräume) nicht betrachtet.  
+
In CityGML inner inclusions ( hollow spaces ) are not considered in CompositeSolids, as in solids.  
      Line 625: Line 675:  
   <tr align="middle">
 
   <tr align="middle">
 
   <td width="300px" valign="bottom">
 
   <td width="300px" valign="bottom">
Korrekt; Flächenberührung
+
correct; surface contact
 
     </td>
 
     </td>
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Korrekt; Flächenberührung
+
correct; surface contact
 
     </td>
 
     </td>
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Korrekt; Flächenberührung
+
correct; surface contact
 
     </td>   
 
     </td>   
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Korrekt; Flächenberührung
+
correct; surface contact
 
     </td>   
 
     </td>   
 
   
 
   
Line 666: Line 716:  
   
 
   
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Falsch; Linienberührung
+
not correct; line contact
 
     </td>  
 
     </td>  
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Falsch; Punktberührung
+
not correct; point contact
 
     </td>  
 
     </td>  
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Falsch; keine Berührung
+
not correct; no contact at all
 
     </td>  
 
     </td>  
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
Falsch; Durchdringung
+
not correct; intersection
 
     </td>  
 
     </td>  
   Line 703: Line 753:  
   <tr align="middle">
 
   <tr align="middle">
 
   <td width="300px" valign="bottom">
 
   <td width="300px" valign="bottom">
Falsch; 26 Quader mit Flächenberührung
+
not correct; 26 boxes with surface contact
 
     </td>
 
     </td>
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
aber mit Hohlraum
+
but with internal hollow space
 
     </td>
 
     </td>
 
     <td width="300px" valign="bottom">
 
     <td width="300px" valign="bottom">
nicht korrekt; Innere Begrenzung
+
not correct; interior boundaries
 
     </td>   
 
     </td>   
 
    
 
    
Line 735: Line 785:  
# Areas of the surface where the data is not sufficiently dense to assure reasonable calculations shall be removed by adding a retention criterion for triangles based on the length of their sides. For any triangle sides exceeding maximum length, the adjacent triangles to that triangle side shall be removed from the surface. # The number of control points is at least three.  
 
# Areas of the surface where the data is not sufficiently dense to assure reasonable calculations shall be removed by adding a retention criterion for triangles based on the length of their sides. For any triangle sides exceeding maximum length, the adjacent triangles to that triangle side shall be removed from the surface. # The number of control points is at least three.  
 
# The surface is not affected by the order in which the control points are given. Application schemas may add information based on the ordering of the control points to facilitate the reconstruction of the TIN from the control points.
 
# The surface is not affected by the order in which the control points are given. Application schemas may add information based on the ordering of the control points to facilitate the reconstruction of the TIN from the control points.
 +
 +
{| width="100%" cellspacing="6" border="0"
 +
|- valign="top" align="left"
 +
| width="80%" | <div style="margin: 10px; border: 2px solid #dfdfdf; background-color:#f8f8ff;">{{Copyright-BY-NC-SA-4.0}}</div>
 +
|}

Navigation menu