XML Codierung von Multigeometrien

Hallo Zusammen

Ich habe mich etwas mit der XML/XTF Codierung von Geometrien beschäftigt. Dabei ist mir die Codierung von einfachen Punkten, Flächen und Linien (hoffentlich) klar.

Beispiel Punkt:

<geom:coord><geom:c1>2588907.504</geom:c1><geom:c2>1226449.595</geom:c2></geom:coord>

Im Referenzhandbuch habe ich nun gesehen, dass es auch eine Codierung Für Multigeometrien wie z.B. Multipoint gibt INTERLIS 2.4 Referenzhandbuch

In allen Beispielen die ich kenne oder gefunden habe wird die Multigeometrie über eine STRUCT und BAG OF definiert. Also meines Wissens nach nicht über eine echte Multigeometrie.

Beispielausschnitt LWB_Nutzungsflaechen_V3_0.ili (https://models.geo.admin.ch/BLW/LWB_Nutzungsflaechen_V3_0.ili)

    STRUCTURE PolygonStructure =
      Polygon : Surface;
    END PolygonStructure;

    STRUCTURE MultiPolygon =
      Polygons : BAG {1..*} OF PolygonStructure;
    END MultiPolygon;

    /** Für dieses Jahr haben die Daten in diesem Modell Gültigkeit
     */
    CLASS Bezugsjahr =
      Bezugsjahr : MANDATORY INTERLIS.GregorianYear;
    END Bezugsjahr;

    /** Landwirtschaftliche Nutzung (geometrisch zwingend als Fläche erfasst)
     */
    CLASS LNF_Nutzung =
      Flaeche : MANDATORY MultiPolygon;
      /** Sprechender Identifikator, mit Hilfe welchem verschiedene involvierte     Personen über diese Fläche sprechen können. Enthält die eindeutige kantonale ID der Fläche / Kultur. Die ID muss mit der «cultureId» in den Strukturdaten (AGIS) identisch sein.
       */
  • Wie würde nun eine Multigeometrie (z.B. Multipoint) in einem entsprechenden XTF codiert sein. Mir ist die Erklärung im Referenzhandbuch nicht klar MultiCoordValue = <geom:multicoord> (* CoordValue *) </geom:multicoord>.

  • Wäre der Datentyp im Interlismodell dann MultiPoint (https://models.geo.admin.ch/CH/CHBase_Part1_GEOMETRY_V2.ili)

Sali Kilian

Du siehst das schon richtig. Im Gegensatz zu den Vorgängerversionen unterstützt INTERLIS 2.4 “neu” (seit 8 Jahren oder so :sweat_smile: ) native Multipart-Geometrien und ist nicht mehr auf die Hilfs-STRUCTURE angewiesen. Das entsprechende CHBase-Modell existiert weiterhin, wurde aber diesem Umstand angepasst (die von dir verlinkte Version ist die für 2.4). Sieht dann bei Multipoints ungefähr so aus.

<Beispielmodell:Beispielklasse ili:tid="1">
  <Beispielgeometrieattribut>
    <geom:multicoord>
      <geom:coord><geom:c1>123</geom:c1><geom:c2>456</geom:c2></geom:coord>
      <geom:coord><geom:c1>234</geom:c1><geom:c2>567</geom:c2></geom:coord>
      <geom:coord><geom:c1>345</geom:c1><geom:c2>678</geom:c2></geom:coord>
    </geom:multicoord>
  </Beispielgeometrieattribut>
</Beispielklasse>

Hoi Lukas

Danke für die Antwort.