Constraints
In der Konfiguration der Objektarten im Feature-Provider können Schema-Einschränkungen dokumentiert werden. Diese werden z.B. bei der Erzeugung von JSON-Schema-Dokumenten verwendet.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
codelist | Identifiziert eine Codelist, die für die Eigenschaft gilt. Nur bei String- oder Integer-Eigenschaften sinnvoll. | string | v2.0 | |
enum | Liste von erlaubten Werten für die Eigenschaft. Nur bei String- oder Integer-Eigenschaften sinnvoll. | array | v2.0 | |
regex | Ein regulärer Ausdruck, der von allen Werten erfüllt werden muss. Nur bei String-Eigenschaften sinnvoll. | string | v2.0 | |
required | Eine Eigenschaft kann als Pflichteigenschaft, die in allen Instanzen gesetzt sein muss, qualifiziert werden. | boolean | v2.0 | |
min | Mindestwert für alle Instanzen. Nur bei numerischen Eigenschaften sinnvoll. | number | v2.0 | |
max | Maximalwert für alle Instanzen. Nur bei numerischen Eigenschaften sinnvoll. | number | v2.0 | |
minOccurrence | Mindestanzahl von Werten für alle Instanzen. Nur bei Array-Eigenschaften sinnvoll. | number | v2.0 | |
maxOccurrence | Maximalanzahl von Werten für alle Instanzen. Nur bei Array-Eigenschaften sinnvoll. | number | v2.0 | |
composite | Indikator, dass alle Einzelgeometrien zusammenhängen. Nur bei MultiLineString- und MultiPolygon-Eigenschaften sinnvoll. | boolean | v2.0 | |
closed | Indikator, dass die Geometrie geschlossen ist. Nur bei Geometrie-Eigenschaften sinnvoll. | boolean | v2.0 |
Als Beispiel hier die Eigenschaften der Abschnitte/Äste-Features in der API Straßennetz und Unfälle in NRW mit Constraints:
types:
abschnitteaeste:
label: Abschnitte und Äste
sourcePath: /abschnitteaeste
type: OBJECT
properties:
kennung:
label: Kennung
description: 16-stellige Kennung des Abschnittes oder Astes
sourcePath: abs
type: STRING
role: ID
constraints:
regex: '^[0-9]{7}[A-Z][0-9]{7}[A-Z]$'
strasse:
label: Straße
type: OBJECT
objectType: Strasse
properties:
bez:
label: Straßenbezeichnung
sourcePath: strbez
type: STRING
klasse:
label: Straßenklasse
sourcePath: strkl
type: STRING
constraints:
enum:
- A
- B
- L
- K
nummer:
label: Straßennummer
sourcePath: strnr
type: INTEGER
constraints:
min: 1
max: 9999
zusatz:
label: Buchstabenzusatz
description: Buchstabenzusatz zur Straßennummer
sourcePath: strzus
type: STRING
constraints:
regex: '^[A-Z]$'
...
absast:
label: Art
description: Art des Abschnittes oder Astes
sourcePath: absast
type: STRING
constraints:
enum:
- Abschnitt
- Ast
...
laenge_m:
label: Länge [m]
description: Länge des Abschnittes oder Astes (m)
sourcePath: laenge
type: INTEGER
constraints:
min: 0