-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.schema.yaml
251 lines (250 loc) · 7.57 KB
/
config.schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
title: schema du fichier de config de igngp
$id: https://igngp.geoapi.fr/config.schema.yaml
$schema: http://json-schema.org/schema#
definitions:
geometryType:
description: |
liste des types géométriques élémentaires construite à partir du type GeoJSON de géométrie en y ajoutant
éventuellement 2D/3D ainsi que le type none indiquant qu'un objet n'a pas de géométrie.
type: string
enum:
- Point
- Point2D
- Point3D
- MultiPoint
- MultiPoint2D
- MultiPoint3D
- LineString
- LineString2D
- LineString3D
- MultiLineString
- MultiLineString2D
- MultiLineString3D
- Polygon
- Polygon2D
- Polygon3D
- MultiPolygon
- MultiPolygon2D
- MultiPolygon3D
- GeometryCollection
- none
collection:
description: |
description d'une collection d'un jeu de données.
Le concept de collection est défini par le standard OGC API Features.
type: object
additionalProperties: false
required: [title, geometryType]
properties:
title:
description: titre de la collection destiné à un humain
type: string
description:
description: |
description plus détaillée, comprend la définition, les critères de sélection, ...
Possibilité d'utiliser du markdown.
type: string
geometryType:
description: |
Type(s) de géométrie des objets de la classe.
Construit à partir du type GeoJSON en y ajoutant éventuellement 2D/3D ainsi que le type none
indiquant que les objets n'ont pas de géométrie.
Peut être soit un type ou une liste de types possibles.
oneOf:
- $ref: '#/definitions/geometryType'
- type: array
items:
$ref: '#/definitions/geometryType'
enum:
- Point
- Point2D
- Point3D
- MultiPoint
- MultiPoint2D
- MultiPoint3D
- LineString
- LineString2D
- LineString3D
- MultiLineString
- MultiLineString2D
- MultiLineString3D
- Polygon
- Polygon2D
- Polygon3D
- MultiPolygon
- MultiPolygon2D
- MultiPolygon3D
- GeometryCollection
- none
specification:
description: définition d'une spécification
type: object
required: [title]
properties:
title:
description: titre de la spécification
type: string
abstract:
description: résumé de la spécification
type: string
identifier:
description: identifiant de la spécification
type: string
doc:
description: lien http éventuel vers une doc complémentaire
type: string
collections:
description: dictionnaire des collections indexé sur l'id de la collection, qui est celui du WFS IGN
type: object
additionalProperties: false
patternProperties:
^[-a-zA-Z0-9_+:.]+$:
description: définition d'une collection
$ref: '#/definitions/collection'
theme:
description: définition d'un thème
type: object
required: [title, abstract]
properties:
title:
description: titre du thème
type: string
abstract:
description: résumé du thème
type: string
doc:
description: lien http éventuel vers une doc complémentaire
type: string
conformsTo:
description: URI vers la spécification du jeu de données
type: string
format: uri
layer:
description: définition d'une couche de tuiles
type: object
required: [title, server, gpname, format]
properties:
title:
description: titre de la couche
type: string
abstract:
description: texte de résumé de la couche
type: string
doc:
description: URL d'infos complémentaires
type: string
server:
description: identifiant du serveur contenant la couche
type: string
gpname:
description: nom de la couche dans le Géoportail
type: string
style:
description: style à utiliser si <> normal
type: string
gpkey:
description: clé générique spécifique à la couche si existe
type: string
format:
description: format des imagettes
type: string
enum: [png, jpg]
minZoom:
description: zoom minimum
type: integer
maxZoom:
description: zoom maximum
type: integer
attribution:
description: informations sur la propriété intellectuelle sauf si IGN, utilisable par Leaflet
type: string
detectRetina:
description: |
si présent et false alors instruction pour Leaflet de positionner le champ detectRetina à false
pour cette couche
type: boolean
enum: [false]
type: object
properties:
title:
description: titre du document
type: string
abstract:
description: résumé du document
type: string
journal:
description: journal des principales modifications indexé par la date sous la forme JJ/MM/DDDD
type: object
additionalProperties: false
patternProperties:
^\d+(-\d+)?/\d+/\d+:
description: texte pour cette date
type: string
$schema:
description: schema JSON du document
oneOf:
- description: schema in-line
$ref: http://json-schema.org/schema#
- description: référence vers un fichier séparé
type: string
gpkeys:
description: dictionnaire des clés persos indéxés par la valeur de la clé
additionalProperties: false
patternProperties:
^[a-z0-9]+$:
type: object
properties:
expires:
description: date d'expiration de la clé
type: string
format: date
referers:
description: si la clé est définie avec un referer alors la valeur définie sinon absent
type: string
specifications:
description: dictionnaire des spécifications d'une base vectorielle.
type: object
additionalProperties: false
patternProperties:
^[-a-zA-Z0-9_+.]+$:
description: définition d'une spécification
$ref: '#/definitions/specification'
themes:
description: |
dictionnaire des thèmes, chacun correspondant à une clé d'un serveur WFS du Géoportail.
De plus chaque couche de tuiles appartient à un thème.
type: object
additionalProperties: false
patternProperties:
^[-a-zA-Z0-9_+]+$:
description: définition d'un thème
$ref: '#/definitions/theme'
servers:
description: dictionnaire des serveurs indexé par un identifiant
type: object
additionalProperties: false
patternProperties:
^(WMSR|WMSV|WMTS|WFS)$:
description: description du serveur
type: object
required: [protocol, url]
properties:
title:
description: titre du serveur
type: string
protocol:
type: string
enum: [WMTS, WMS, WFS]
url:
description: URL du serveur avec paramètres entre {}
type: string
layers:
description: dictionnaire des couches indexé par l'identifiant de la couche
type: object
additionalProperties: false
patternProperties:
^[-a-zA-Z0-9_+]+$:
description: définition d'une couche de tuiles
$ref: '#/definitions/layer'
eof:
type: 'null'