Analyse BML 3.0.1: Attribut BoreholeSegment.azimuth
Die Taskforce 1 Optimierung - BML 3.1 hat bei ihrer Analyse des bestehenden Schemas BoreholeML 3.0.1 einen Befund zu folgendem Element (Klasse.Attributname) - einen "Nachzügler-Befund" sozusagen:
BoreholeSegment.azimuth
Das Attribut hat den Datenyp gml:AngleType.
Es enthält Angaben zum Azimut eines Bohrloch-Segments, also der Himmelsrichtung in Grad bezogen auf geographisch Nord (= 0°), in die ein Segment eines Bohrloches läuft (zeigt).
Das Attribut ist verpflichtend anzugeben, es hat die Multiplizität [1] und ist nicht nillable.
Daraus ergibt sich tatsächlich ein fachliches bzw. geometrisches Problem:
Solange ein Bohrloch-Segment lotrecht verläuft, zeigt es in keine Himmelsrichtung - es hat also keinen Azimut!
Dabei ist es egal, ob ein Bohrloch-Segment real gemessen wurde (Log mit Geometriedaten vorhanden), oder ob die Geometrie nur angenommen wird (bei Bohrungen ohne Informationen zur Bohrlochgeometrie).
Das heißt, wenn im "benachbarten" Attribut BoreholeSegment.inclination, das die Inklination des Bohrlochsegmentes = Abweichung von der Lotrechten (= 0°) enthält, der Wert "0" angeben ist, dass müsste das Attribut BoreholeSegment.azimuth eigentlich leer bleiben - denn das Segment verläuft lotrecht und zeigt in keine Himmelsrichtung.
Das ist vom Datenmodell her aber nicht möglich, da das Attribut BoreholeSegment.azimuth verpflichtend einen Inhalt haben muss.
In der Regel wird hier "0" angegeben, was aber nicht stimmt.
Empfehlung der Taskforce 1:
In BML 3.1.0 wird das Attribut BoreholeSegment.azimuth künftig mit der Eigenschaft nillable modelliert.
Damit können bei lotrechten Segmenten korrekte Angaben zur Geometrie geschrieben werden.
Ein entsprechender, noch einzufügender Constraint in der Klasse BoreholeSegment könnte/würde festlegen, dass:
- das Attribut BoreholeSegment.azimuth dann verpflichtend zu befüllen ist, wenn das Attribut BoreholeSegment.inclination einen Wert größer "0" enthält (eine Abweichung aus der lotrechten hat zwingend eine Richtung),
- das Attribut BoreholeSegment.azimuth leer bleiben sollte (in Datei/WFS: xsi:nil="true"), wenn das Attribut BoreholeSegment.inclination den Wert "0" enthält (ein lotrechtes Segment zeigt in keine Richtung).
Der Due Date wird auf 15.04.2024 gesetzt.