Line 531: |
Line 531: |
| | | |
| == <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 Menge von Solids beschrieben, für die gilt: | + | Ein CompositeSolid wird durch eine nichtleere Menge <math>C = \{S_1,..., S_n\}</math> von '''[[#Solid|Solids]]''' (vgl. 12.) beschrieben, für die gilt: |
| | | |
− | # die Solids dürfen sich nur an Flächen berühren | + | # 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 oder Punkten |
− | # die Vereinigungsmenge der Solids ohne (das Innere der) Schnittmenge muss ein Solid sein. | + | # 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. |
| | | |
| + | In CityGML werden bei CompositeSolids ebenso wie bei Solids innere Einschlüsse (Hohlräume) nicht betrachtet. |
| | | |
− |
| |
− | Ein CompositeSolid setzt sich intern aus mehreren (disjunkten) '''[[#Solid|Solids]]''' zusammen, hat aber nach Außen (ohne Berücksichtigung der Flächen, die zu zwei Solids gehören) die Form eines einzelnen Solids. Formal wird eine Menge <math>C = \{S_1,..., S_n\}</math> von Solids (vgl. 10.) als CompositeSolid bezeichnet, wenn die folgenden beiden Bedingungen gelten:
| |
− |
| |
− | # Für alle Paare <math>S_i</math>, <math>S_j</math>, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j, gilt: Der Schnitt von <math>S_i</math> und <math>S_j</math> ist entweder leer, oder <math>S_i</math> und <math>S_j</math> berühren sich ausschließlich in einer oder mehreren Flächen und/ oder einem oder mehreren Punkten. Der Schnitt der Inneren von <math>S_i</math> und <math>S_j</math> ist leer.
| |
− | # Sei die Menge B von Polygonen durch das folgende Verfahren definiert:
| |
− | B = Menge aller Polygone in den Oberflächen der Solids <math>S_i</math>, 1 ≤ i ≤ n
| |
− | für alle Paare <math>S_i</math>, <math>S_j</math>, 1 ≤ i ≤ n, 1 ≤ j ≤ n, i ≠ j tue folgendes:
| |
− | wenn <math>S_i</math> ein Polygon <math>P_i</math> und <math>S_j</math> ein Polygon <math>P_j</math>
| |
− | in seiner Oberfläche hat, so dass <math>P_i</math> und <math>P_j</math> entgegen gesetzte Orientierung haben:
| |
− | entferne <math>P_i</math> und <math>P_j</math> aus B.
| |
− | Wenn B die Oberfläche eines Solid ist (10.), dann ist C ein CompositeSolid.
| |
− |
| |
− | In CityGML werden bei CompositeSolids ebenso wie bei Solids innere Einschlüsse nicht betrachtet.
| |
− |
| |
− |
| |
− | Sollen innenliegende Löcher oder Hohlräume erlaubt sein?
| |
| | | |
| '''Beispiele:''' | | '''Beispiele:''' |