MapRules Configuration Schema Specification
{
"name" : "Public Health Campaign" ,
"presets" : [
{
"fields" : [
{
"keyCondition" : 1 ,
"key" : "opening_hours" ,
"label" : "Hours of Operation" ,
"placeholder" : "24/7" ,
"values" : [
{
"valCondition" : 2 ,
"values" : [ "24/7" , "sunrise_sunset" ]
}
]
},
{
"keyCondition" : 1 ,
"key" : "height" ,
"values" : [
{
"valCondition" : 5 ,
"values" : ["0" ]
}
]
}
{
"keyCondition" : 1 ,
"key" : "name" ,
"values" : []
}
],
"geometry" : ["point" , "area" ],
"name" : "Water Tap" ,
"primary" : [
{
"key" : "amenity" ,
"val" : "drinking_water"
},
{
"key" : "man_made" ,
"val" : "water_tap"
}
]
}
],
"disabledFeatures" : [
{
"key" : "amenity" ,
"val" : ["school" , "clinic" ]
}
]
}
{
"project" : "Public Health Campaign" ,
"presets" : [{...}, {...}],
"disabledFeatures" : [{ "key" : "amenity" , "val" : ["school" , "clinic" ] }]
}
key
value
description
name
String
MapRules project name.
presets
Array
Array of MapRules preset/validation rule configuration objects
disabledFeatures
Array
Array of disabled tags (tags not to be mapped)
"disabledFeatures" : [
{
"key" : "amenity" ,
"val" : ["school" , "clinic" ]
}
]
key
value
description
key
String
Tag key not to be mapped
val
Array
Values not to mapped with key
"primary" : [
{
"key" : "amenity" ,
"val" : "drinking_water"
},
{
"key" : "man_made" ,
"val" : "water_tap"
}
]
key
value
description
key
String
primary tag key
val
String
primary tag value
{
"fields" : [{...},{...}],
"geometry" : ["point" ],
"name" : "Water Tap" ,
"primary" : [
{ "key" : "amenity" , "val" : "drinking_water" },
{ "key" : "man_made" , "val" : "water_tap" }
]
}
key
value
description
fields
Array
Array of MapRules preset fields/validaiton selector configuration objects.
geometry
Array
Array of OSM types
name
String
Preset name
primary
Array
MapRules preset/validation rule's primary keys (keys always on a feature)
Geometry Type
value
description
point
String
geometry interpretable as osm node
line
String
geometry interpretable as osm way (open or closed)
area
String
geometry interpretable as osm closed way with area tags
{
"keyCondition" : 1 ,
"key" : "opening_hours" ,
"label" : "Hours of Operation" ,
"placeholder" : "24/7, sunset to sunrise, Mo-Su..." ,
"values" : [
{
"valCondition" : 2 ,
"values: [ " 24 / 7 ", " sunrise_sunset " ]
}
]
}
key
value
description
keyCondition
Number
Numeric representation of validation key condition
key
String
Field key
label
String
Label for user interface
placeholder
String
Placeholder for user interface input
values
Array
field values that drive preset & validation selectors
key
value
description
valCondition
Number
Numeric representation of validation value condition
values
Array
Array of values relevant to value condition
suggestedValues
Array
Optional array used to suggest values when 'must be' value condition present
value
description
validation type
0
A feature must not have this key. When key present, throw an error.
error
1
A feature *must have this key. When key absent, throw error.
error
2
A feature may have, but is not required to have, this key.
warning
value
description
validation type
0
A tag value must not be a value in the values array
error
1
A tag value must be a value in the values array
error
2
A tag value may be a value in the values array
warning
3
A tag value must be less than the validation maximum
error
4
A tag value must be less than or equal to the validation maximum
error
5
A tag value must be greater than the validation minimum
error
6
A tag value must be greater than or equal to the validation minimum
error