-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathtaginfo-project-schema.json
More file actions
131 lines (131 loc) · 3.83 KB
/
taginfo-project-schema.json
File metadata and controls
131 lines (131 loc) · 3.83 KB
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
{
"$schema": "http://json-schema.org/draft-06/schema#",
"$ref": "#/definitions/Taginfo",
"definitions": {
"Taginfo": {
"title": "Taginfo",
"type": "object",
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"format": "uri",
"description": "a url to the JSON schema used to validating this file"
},
"data_format": {
"type": "integer",
"description": "data format version, currently always 1, will get updated if there are incompatible changes to the format"
},
"data_url": {
"type": "string",
"format": "uri",
"description": "the URL under which this project file can be accessed"
},
"data_updated": {
"type": "string",
"pattern": "20\\d{2}\\d{2}\\d{2}T\\d{2}\\d{2}\\d{2}Z",
"description": "yyyymmddThhmmssZ timestamp when project file was updated"
},
"project": {
"$ref": "#/definitions/Project"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
}
},
"required": ["data_format", "project", "tags"]
},
"Project": {
"title": "Project",
"type": "object",
"description": "meta information about the project",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "name of the project"
},
"description": {
"type": "string",
"description": "short description of the project"
},
"project_url": {
"type": "string",
"format": "uri",
"description": "homepage of the project with general information"
},
"doc_url": {
"type": "string",
"format": "uri",
"description": "documentation of the project and especially the tags used"
},
"icon_url": {
"type": "string",
"format": "uri",
"description": "project logo, should work in 16x16 pixels on white and light gray backgrounds"
},
"contact_name": {
"type": "string",
"description": "contact name (needed for taginfo maintainer)"
},
"contact_email": {
"type": "string",
"format": "email",
"description": "contact email (needed for taginfo maintainer)"
}
},
"required": [
"name",
"description",
"project_url",
"contact_name",
"contact_email"
]
},
"Tag": {
"title": "Tag",
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"type": "string",
"description": "OSM tag key"
},
"value": {
"type": "string",
"description": "OSM tag value (if not supplied it means 'all values')"
},
"object_types": {
"type": "array",
"description": "OSM object types this key/tag can be used for",
"items": {
"$ref": "#/definitions/ObjectType"
}
},
"description": {
"type": "string",
"description": "how the key/tag is used in this project"
},
"doc_url": {
"type": "string",
"format": "uri",
"description": "link to further documentation of the project about this specific key/tag"
},
"icon_url": {
"type": "string",
"format": "uri",
"description": "URL of an icon, should work in 16x16 pixels on white and light gray backgrounds"
}
},
"required": ["key"]
},
"ObjectType": {
"title": "ObjectType",
"type": "string",
"enum": ["node", "way", "relation", "area"]
}
}
}