Merge branch 'develop' into waste-theme
This commit is contained in:
commit
9b7a47136c
89 changed files with 2775 additions and 1151 deletions
|
@ -426,6 +426,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_2"
|
"$ref": "#/definitions/default_2"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"syncSelection": {
|
||||||
|
"description": "If set, synchronizes wether or not this layer is selected.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes",
|
||||||
|
"enum": [
|
||||||
|
"global",
|
||||||
|
"local",
|
||||||
|
"no",
|
||||||
|
"theme-only"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -602,11 +612,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -426,6 +426,16 @@ export default {
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_2"
|
"$ref": "#/definitions/default_2"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"syncSelection": {
|
||||||
|
"description": "If set, synchronizes wether or not this layer is selected.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes",
|
||||||
|
"enum": [
|
||||||
|
"global",
|
||||||
|
"local",
|
||||||
|
"no",
|
||||||
|
"theme-only"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -600,11 +610,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -456,11 +456,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
@ -1314,6 +1335,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_2"
|
"$ref": "#/definitions/default_2"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"syncSelection": {
|
||||||
|
"description": "If set, synchronizes wether or not this layer is selected.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes",
|
||||||
|
"enum": [
|
||||||
|
"global",
|
||||||
|
"local",
|
||||||
|
"no",
|
||||||
|
"theme-only"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
|
@ -454,11 +454,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
@ -1304,6 +1325,16 @@ export default {
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_2"
|
"$ref": "#/definitions/default_2"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"syncSelection": {
|
||||||
|
"description": "If set, synchronizes wether or not this layer is selected.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes",
|
||||||
|
"enum": [
|
||||||
|
"global",
|
||||||
|
"local",
|
||||||
|
"no",
|
||||||
|
"theme-only"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
|
@ -256,11 +256,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -254,11 +254,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -260,11 +260,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -258,11 +258,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -96,11 +96,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -96,11 +96,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -204,11 +204,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -202,11 +202,32 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
|
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered"
|
||||||
},
|
},
|
||||||
"icon": {
|
"icon": {
|
||||||
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
|
||||||
"type": "string"
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"hideInAnswer": {
|
"hideInAnswer": {
|
||||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}",
|
||||||
|
|
|
@ -2,7 +2,7 @@ import {Utils} from "../Utils";
|
||||||
|
|
||||||
export default class Constants {
|
export default class Constants {
|
||||||
|
|
||||||
public static vNumber = "0.16.0";
|
public static vNumber = "0.16.1";
|
||||||
|
|
||||||
public static ImgurApiKey = '7070e7167f0a25a'
|
public static ImgurApiKey = '7070e7167f0a25a'
|
||||||
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
|
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
|
||||||
|
|
|
@ -6,51 +6,70 @@ import * as tagrenderingmetapaths from "../../../assets/tagrenderingconfigmeta.j
|
||||||
|
|
||||||
export class ExtractImages extends Conversion<LayoutConfigJson, string[]> {
|
export class ExtractImages extends Conversion<LayoutConfigJson, string[]> {
|
||||||
private _isOfficial: boolean;
|
private _isOfficial: boolean;
|
||||||
constructor(isOfficial: boolean) {
|
private _sharedTagRenderings: Map<string, any>;
|
||||||
|
|
||||||
|
private static readonly layoutMetaPaths = (metapaths["default"] ?? metapaths).filter(mp => mp.typeHint !== undefined && (mp.typeHint === "image" || mp.typeHint === "icon"))
|
||||||
|
private static readonly tagRenderingMetaPaths = (tagrenderingmetapaths["default"] ?? tagrenderingmetapaths).filter(trpath => trpath.typeHint === "rendered")
|
||||||
|
|
||||||
|
|
||||||
|
constructor(isOfficial: boolean, sharedTagRenderings: Map<string, any>) {
|
||||||
super("Extract all images from a layoutConfig using the meta paths",[],"ExctractImages");
|
super("Extract all images from a layoutConfig using the meta paths",[],"ExctractImages");
|
||||||
this._isOfficial = isOfficial;
|
this._isOfficial = isOfficial;
|
||||||
|
this._sharedTagRenderings = sharedTagRenderings;
|
||||||
}
|
}
|
||||||
|
|
||||||
convert(json: LayoutConfigJson, context: string): { result: string[], errors: string[], warnings: string[] } {
|
convert(json: LayoutConfigJson, context: string): { result: string[], errors: string[], warnings: string[] } {
|
||||||
const paths = metapaths["default"] ?? metapaths
|
const allFoundImages : string[] = []
|
||||||
const trpaths = tagrenderingmetapaths["default"] ?? tagrenderingmetapaths
|
|
||||||
const allFoundImages = []
|
|
||||||
const errors = []
|
const errors = []
|
||||||
const warnings = []
|
const warnings = []
|
||||||
for (const metapath of paths) {
|
for (const metapath of ExtractImages.layoutMetaPaths) {
|
||||||
if (metapath.typeHint === undefined) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
|
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
|
||||||
const found = Utils.CollectPath(metapath.path, json)
|
const found = Utils.CollectPath(metapath.path, json)
|
||||||
if (mightBeTr) {
|
if (mightBeTr) {
|
||||||
// We might have tagRenderingConfigs containing icons here
|
// We might have tagRenderingConfigs containing icons here
|
||||||
for (const foundImage of found) {
|
for (const el of found) {
|
||||||
|
const path = el.path
|
||||||
|
const foundImage = el.leaf;
|
||||||
if (typeof foundImage === "string") {
|
if (typeof foundImage === "string") {
|
||||||
|
|
||||||
|
if(foundImage == ""){
|
||||||
|
warnings.push(context+"."+path.join(".")+" Found an empty image")
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this._sharedTagRenderings?.has(foundImage)){
|
||||||
|
// This is not an image, but a shared tag rendering
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
allFoundImages.push(foundImage)
|
allFoundImages.push(foundImage)
|
||||||
} else{
|
} else{
|
||||||
// This is a tagRendering where every rendered value might be an icon!
|
// This is a tagRendering where every rendered value might be an icon!
|
||||||
for (const trpath of trpaths) {
|
for (const trpath of ExtractImages.tagRenderingMetaPaths) {
|
||||||
if (trpath.typeHint !== "rendered") {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
const fromPath = Utils.CollectPath(trpath.path, foundImage)
|
const fromPath = Utils.CollectPath(trpath.path, foundImage)
|
||||||
for (const img of fromPath) {
|
for (const img of fromPath) {
|
||||||
if (typeof img !== "string") {
|
if (typeof img.leaf !== "string") {
|
||||||
(this._isOfficial ? errors: warnings).push(context+": found an image path that is not a path at " + context + "." + metapath.path.join(".") + ": " + JSON.stringify(img))
|
(this._isOfficial ? errors: warnings).push(context+"."+img.path.join(".")+": found an image path that is not a string: " + JSON.stringify(img.leaf))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
allFoundImages.push(...fromPath.map(i => i.leaf).filter(i => typeof i=== "string"))
|
||||||
|
for (const pathAndImg of fromPath) {
|
||||||
|
if(pathAndImg.leaf === "" || pathAndImg.leaf["path"] == ""){
|
||||||
|
warnings.push(context+[...path,...pathAndImg.path].join(".")+": Found an empty image at ")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
allFoundImages.push(...fromPath.filter(i => typeof i === "string"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
allFoundImages.push(...found)
|
for (const foundElement of found) {
|
||||||
|
if(foundElement.leaf === ""){
|
||||||
|
warnings.push(context+"."+foundElement.path.join(".")+" Found an empty image")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
allFoundImages.push(foundElement.leaf)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,6 +77,7 @@ export class ExtractImages extends Conversion<LayoutConfigJson, string[]> {
|
||||||
.map(img => img["path"] ?? img)
|
.map(img => img["path"] ?? img)
|
||||||
.map(img => img.split(";")))
|
.map(img => img.split(";")))
|
||||||
.map(img => img.split(":")[0])
|
.map(img => img.split(":")[0])
|
||||||
|
.filter(img => img !== "")
|
||||||
return {result: Utils.Dedup(splitParts), errors, warnings};
|
return {result: Utils.Dedup(splitParts), errors, warnings};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +128,7 @@ export class FixImages extends DesugaringStep<LayoutConfigJson> {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
|
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
|
||||||
Utils.WalkPath(metapath.path, json, leaf => {
|
Utils.WalkPath(metapath.path, json, (leaf, path) => {
|
||||||
if (typeof leaf === "string") {
|
if (typeof leaf === "string") {
|
||||||
return replaceString(leaf)
|
return replaceString(leaf)
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,6 +126,11 @@ class UpdateLegacyTheme extends DesugaringStep<LayoutConfigJson> {
|
||||||
|
|
||||||
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[]; warnings: string[] } {
|
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[]; warnings: string[] } {
|
||||||
const oldThemeConfig = {...json}
|
const oldThemeConfig = {...json}
|
||||||
|
|
||||||
|
if(oldThemeConfig.socialImage === ""){
|
||||||
|
delete oldThemeConfig.socialImage
|
||||||
|
}
|
||||||
|
|
||||||
if (oldThemeConfig["roamingRenderings"] !== undefined) {
|
if (oldThemeConfig["roamingRenderings"] !== undefined) {
|
||||||
|
|
||||||
if (oldThemeConfig["roamingRenderings"].length == 0) {
|
if (oldThemeConfig["roamingRenderings"].length == 0) {
|
||||||
|
|
|
@ -75,14 +75,14 @@ class ExpandTagRendering extends Conversion<string | TagRenderingConfigJson | {
|
||||||
|
|
||||||
if (typeof tr === "string") {
|
if (typeof tr === "string") {
|
||||||
const lookup = this.lookup(tr);
|
const lookup = this.lookup(tr);
|
||||||
if (lookup !== undefined) {
|
if (lookup === undefined) {
|
||||||
return lookup
|
warnings.push(ctx + "A literal rendering was detected: " + tr)
|
||||||
|
return [{
|
||||||
|
render: tr,
|
||||||
|
id: tr.replace(/![a-zA-Z0-9]/g, "")
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
warnings.push(ctx + "A literal rendering was detected: " + tr)
|
return lookup
|
||||||
return [{
|
|
||||||
render: tr,
|
|
||||||
id: tr.replace(/![a-zA-Z0-9]/g, "")
|
|
||||||
}]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tr["builtin"] !== undefined) {
|
if (tr["builtin"] !== undefined) {
|
||||||
|
@ -122,7 +122,7 @@ class ExpandTagRendering extends Conversion<string | TagRenderingConfigJson | {
|
||||||
|
|
||||||
const result = []
|
const result = []
|
||||||
for (const tr of trs) {
|
for (const tr of trs) {
|
||||||
if (tr["builtin"] !== undefined) {
|
if (typeof tr === "string" || tr["builtin"] !== undefined) {
|
||||||
const stable = this.convertUntilStable(tr, warnings, errors, ctx + "(RECURSIVE RESOLVE)")
|
const stable = this.convertUntilStable(tr, warnings, errors, ctx + "(RECURSIVE RESOLVE)")
|
||||||
result.push(...stable)
|
result.push(...stable)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -432,8 +432,12 @@ export class PrepareTheme extends Fuse<LayoutConfigJson> {
|
||||||
new PreparePersonalTheme(state),
|
new PreparePersonalTheme(state),
|
||||||
new OnEveryConcat("layers", new SubstituteLayer(state)),
|
new OnEveryConcat("layers", new SubstituteLayer(state)),
|
||||||
new SetDefault("socialImage", "assets/SocialImage.png", true),
|
new SetDefault("socialImage", "assets/SocialImage.png", true),
|
||||||
|
// We expand all tagrenderings first...
|
||||||
new OnEvery("layers", new PrepareLayer(state)),
|
new OnEvery("layers", new PrepareLayer(state)),
|
||||||
|
// Then we apply the override all
|
||||||
new ApplyOverrideAll(),
|
new ApplyOverrideAll(),
|
||||||
|
// And then we prepare all the layers _again_ in case that an override all contained unexpanded tagrenderings!
|
||||||
|
new OnEvery("layers", new PrepareLayer(state)),
|
||||||
new AddDefaultLayers(state),
|
new AddDefaultLayers(state),
|
||||||
new AddDependencyLayersToTheme(state),
|
new AddDependencyLayersToTheme(state),
|
||||||
new AddImportLayers(),
|
new AddImportLayers(),
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {ExtractImages} from "./FixImages";
|
||||||
import ScriptUtils from "../../../scripts/ScriptUtils";
|
import ScriptUtils from "../../../scripts/ScriptUtils";
|
||||||
import {And} from "../../../Logic/Tags/And";
|
import {And} from "../../../Logic/Tags/And";
|
||||||
import Translations from "../../../UI/i18n/Translations";
|
import Translations from "../../../UI/i18n/Translations";
|
||||||
|
import Svg from "../../../Svg";
|
||||||
|
|
||||||
|
|
||||||
class ValidateLanguageCompleteness extends DesugaringStep<any> {
|
class ValidateLanguageCompleteness extends DesugaringStep<any> {
|
||||||
|
@ -50,12 +51,14 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
|
||||||
private readonly _path?: string;
|
private readonly _path?: string;
|
||||||
private readonly knownImagePaths: Set<string>;
|
private readonly knownImagePaths: Set<string>;
|
||||||
private readonly _isBuiltin: boolean;
|
private readonly _isBuiltin: boolean;
|
||||||
|
private _sharedTagRenderings: Map<string, any>;
|
||||||
|
|
||||||
constructor(knownImagePaths: Set<string>, path: string, isBuiltin: boolean) {
|
constructor(knownImagePaths: Set<string>, path: string, isBuiltin: boolean, sharedTagRenderings: Map<string, any>) {
|
||||||
super("Doesn't change anything, but emits warnings and errors", [], "ValidateTheme");
|
super("Doesn't change anything, but emits warnings and errors", [], "ValidateTheme");
|
||||||
this.knownImagePaths = knownImagePaths;
|
this.knownImagePaths = knownImagePaths;
|
||||||
this._path = path;
|
this._path = path;
|
||||||
this._isBuiltin = isBuiltin;
|
this._isBuiltin = isBuiltin;
|
||||||
|
this._sharedTagRenderings = sharedTagRenderings;
|
||||||
}
|
}
|
||||||
|
|
||||||
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[], warnings: string[], information: string[] } {
|
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[], warnings: string[], information: string[] } {
|
||||||
|
@ -78,7 +81,7 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// Check images: are they local, are the licenses there, is the theme icon square, ...
|
// Check images: are they local, are the licenses there, is the theme icon square, ...
|
||||||
const images = new ExtractImages(this._isBuiltin).convertStrict(json, "validation")
|
const images = new ExtractImages(this._isBuiltin, this._sharedTagRenderings).convertStrict(json, "validation")
|
||||||
const remoteImages = images.filter(img => img.indexOf("http") == 0)
|
const remoteImages = images.filter(img => img.indexOf("http") == 0)
|
||||||
for (const remoteImage of remoteImages) {
|
for (const remoteImage of remoteImages) {
|
||||||
errors.push("Found a remote image: " + remoteImage + " in theme " + json.id + ", please download it.")
|
errors.push("Found a remote image: " + remoteImage + " in theme " + json.id + ", please download it.")
|
||||||
|
@ -93,8 +96,11 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if (image.match(/[a-z]*/)) {
|
if (image.match(/[a-z]*/)) {
|
||||||
// This is a builtin img, e.g. 'checkmark' or 'crosshair'
|
|
||||||
continue;
|
if(Svg.All[image + ".svg"] !== undefined){
|
||||||
|
// This is a builtin img, e.g. 'checkmark' or 'crosshair'
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) {
|
if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) {
|
||||||
|
@ -163,10 +169,10 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ValidateThemeAndLayers extends Fuse<LayoutConfigJson> {
|
export class ValidateThemeAndLayers extends Fuse<LayoutConfigJson> {
|
||||||
constructor(knownImagePaths: Set<string>, path: string, isBuiltin: boolean) {
|
constructor(knownImagePaths: Set<string>, path: string, isBuiltin: boolean, sharedTagRenderings: Map<string, any>) {
|
||||||
super("Validates a theme and the contained layers",
|
super("Validates a theme and the contained layers",
|
||||||
new ValidateTheme(knownImagePaths, path, isBuiltin),
|
new ValidateTheme(knownImagePaths, path, isBuiltin, sharedTagRenderings),
|
||||||
new OnEvery("layers", new ValidateLayer(knownImagePaths, undefined, false))
|
new OnEvery("layers", new ValidateLayer(undefined, false))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,11 +208,29 @@ class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MiscThemeChecks extends DesugaringStep<LayoutConfigJson>{
|
||||||
|
constructor() {
|
||||||
|
super("Miscelleanous checks on the theme", [],"MiscThemesChecks");
|
||||||
|
}
|
||||||
|
|
||||||
|
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[]; information?: string[] } {
|
||||||
|
const warnings = []
|
||||||
|
if(json.socialImage === ""){
|
||||||
|
warnings.push("Social image for theme "+json.id+" is the emtpy string")
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
result :json,
|
||||||
|
warnings
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class PrevalidateTheme extends Fuse<LayoutConfigJson> {
|
export class PrevalidateTheme extends Fuse<LayoutConfigJson> {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super("Various consistency checks on the raw JSON",
|
super("Various consistency checks on the raw JSON",
|
||||||
new OverrideShadowingCheck()
|
new OverrideShadowingCheck(),
|
||||||
|
new MiscThemeChecks()
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -265,22 +289,33 @@ export class DetectMappingsWithImages extends DesugaringStep<TagRenderingConfigJ
|
||||||
super("Checks that 'then'clauses in mappings don't have images, but use 'icon' instead", [], "DetectMappingsWithImages");
|
super("Checks that 'then'clauses in mappings don't have images, but use 'icon' instead", [], "DetectMappingsWithImages");
|
||||||
}
|
}
|
||||||
|
|
||||||
convert(json: TagRenderingConfigJson, context: string): { result: TagRenderingConfigJson; errors?: string[]; warnings?: string[] } {
|
convert(json: TagRenderingConfigJson, context: string): { result: TagRenderingConfigJson; errors?: string[]; warnings?: string[], information?: string[] } {
|
||||||
|
const errors = []
|
||||||
const warnings = []
|
const warnings = []
|
||||||
|
const information = []
|
||||||
if (json.mappings === undefined || json.mappings.length === 0) {
|
if (json.mappings === undefined || json.mappings.length === 0) {
|
||||||
return {result: json}
|
return {result: json}
|
||||||
}
|
}
|
||||||
|
const ignoreToken = "ignore-image-in-then"
|
||||||
for (let i = 0; i < json.mappings.length; i++) {
|
for (let i = 0; i < json.mappings.length; i++) {
|
||||||
|
|
||||||
const mapping = json.mappings[i]
|
const mapping = json.mappings[i]
|
||||||
|
const ignore = mapping["#"]?.indexOf(ignoreToken) >=0
|
||||||
const images = Utils.Dedup(Translations.T(mapping.then).ExtractImages())
|
const images = Utils.Dedup(Translations.T(mapping.then).ExtractImages())
|
||||||
|
const ctx = `${context}.mappings[${i}]`
|
||||||
if (images.length > 0) {
|
if (images.length > 0) {
|
||||||
warnings.push(context + ".mappings[" + i + "]: A mapping has an image in the 'then'-clause. Remove the image there and use `\"icon\": <your-image>` instead. The images found are "+images.join(", "))
|
if(!ignore){
|
||||||
|
errors.push(`${ctx}: A mapping has an image in the 'then'-clause. Remove the image there and use \`"icon": <your-image>\` instead. The images found are ${images.join(", ")}. (Ignore this warning by adding "#": "${ignoreToken}" to the mapping`)
|
||||||
|
}else{
|
||||||
|
information.push(`${ctx}: Ignored images in then`)
|
||||||
|
}
|
||||||
|
}else if (ignore){
|
||||||
|
warnings.push(`${ctx}: unused '${ignoreToken}' - please remove this`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
warnings,
|
errors,warnings,information,
|
||||||
result: json
|
result: json
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -302,12 +337,10 @@ export class ValidateLayer extends DesugaringStep<LayerConfigJson> {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private readonly _path?: string;
|
private readonly _path?: string;
|
||||||
private readonly knownImagePaths?: Set<string>;
|
|
||||||
private readonly _isBuiltin: boolean;
|
private readonly _isBuiltin: boolean;
|
||||||
|
|
||||||
constructor(knownImagePaths: Set<string>, path: string, isBuiltin: boolean) {
|
constructor(path: string, isBuiltin: boolean) {
|
||||||
super("Doesn't change anything, but emits warnings and errors", [], "ValidateLayer");
|
super("Doesn't change anything, but emits warnings and errors", [], "ValidateLayer");
|
||||||
this.knownImagePaths = knownImagePaths;
|
|
||||||
this._path = path;
|
this._path = path;
|
||||||
this._isBuiltin = isBuiltin;
|
this._isBuiltin = isBuiltin;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,7 @@ export interface TagRenderingConfigJson {
|
||||||
/**
|
/**
|
||||||
* If the condition `if` is met, the text `then` will be rendered.
|
* If the condition `if` is met, the text `then` will be rendered.
|
||||||
* If not known yet, the user will be presented with `then` as an option
|
* If not known yet, the user will be presented with `then` as an option
|
||||||
* type: rendered
|
* Type: rendered
|
||||||
*/
|
*/
|
||||||
then: string | any,
|
then: string | any,
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -71,7 +71,7 @@ export default class LayoutConfig {
|
||||||
this.credits = json.credits;
|
this.credits = json.credits;
|
||||||
this.version = json.version;
|
this.version = json.version;
|
||||||
this.language = json.mustHaveLanguage ?? Array.from(Object.keys(json.title));
|
this.language = json.mustHaveLanguage ?? Array.from(Object.keys(json.title));
|
||||||
this.usedImages = Array.from(new ExtractImages(official).convertStrict(json, "while extracting the images of " + json.id + " " + context ?? "")).sort()
|
this.usedImages = Array.from(new ExtractImages(official, undefined).convertStrict(json, "while extracting the images of " + json.id + " " + context ?? "")).sort()
|
||||||
{
|
{
|
||||||
if (typeof json.title === "string") {
|
if (typeof json.title === "string") {
|
||||||
throw `The title of a theme should always be a translation, as it sets the corresponding languages (${context}.title). The themenID is ${this.id}; the offending object is ${JSON.stringify(json.title)} which is a ${typeof json.title})`
|
throw `The title of a theme should always be a translation, as it sets the corresponding languages (${context}.title). The themenID is ${this.id}; the offending object is ${JSON.stringify(json.title)} which is a ${typeof json.title})`
|
||||||
|
|
|
@ -45,6 +45,7 @@ import ImgurUploader from "../Logic/ImageProviders/ImgurUploader";
|
||||||
import FileSelectorButton from "./Input/FileSelectorButton";
|
import FileSelectorButton from "./Input/FileSelectorButton";
|
||||||
import {LoginToggle} from "./Popup/LoginButton";
|
import {LoginToggle} from "./Popup/LoginButton";
|
||||||
import {start} from "repl";
|
import {start} from "repl";
|
||||||
|
import {SubstitutedTranslation} from "./SubstitutedTranslation";
|
||||||
|
|
||||||
export interface SpecialVisualization {
|
export interface SpecialVisualization {
|
||||||
funcName: string,
|
funcName: string,
|
||||||
|
@ -865,13 +866,14 @@ export default class SpecialVisualizations {
|
||||||
args: [],
|
args: [],
|
||||||
docs:"Shows the title of the popup. Useful for some cases, e.g. 'What is phone number of {title()}?'",
|
docs:"Shows the title of the popup. Useful for some cases, e.g. 'What is phone number of {title()}?'",
|
||||||
example:"`What is the phone number of {title()}`, which might automatically become `What is the phone number of XYZ`.",
|
example:"`What is the phone number of {title()}`, which might automatically become `What is the phone number of XYZ`.",
|
||||||
constr: (state, tags, args, guistate) =>
|
constr: (state, tagsSource, args, guistate) =>
|
||||||
new VariableUiElement(tags.map(tags => {
|
new VariableUiElement(tagsSource.map(tags => {
|
||||||
const layer = state.layoutToUse.getMatchingLayer(tags)
|
const layer = state.layoutToUse.getMatchingLayer(tags)
|
||||||
console.log("Layer for tags", tags,"is", layer.id)
|
|
||||||
const title = layer?.title?.GetRenderValue(tags)
|
const title = layer?.title?.GetRenderValue(tags)
|
||||||
console.log("Title became: ", title)
|
if(title === undefined){
|
||||||
return title
|
return undefined
|
||||||
|
}
|
||||||
|
return new SubstitutedTranslation(title, tagsSource, state)
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
76
Utils.ts
76
Utils.ts
|
@ -358,16 +358,16 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
*
|
*
|
||||||
* The leaf objects are replaced by the function
|
* The leaf objects are replaced by the function
|
||||||
*/
|
*/
|
||||||
public static WalkPath(path: string[], object: any, replaceLeaf: ((leaf: any) => any)) {
|
public static WalkPath(path: string[], object: any, replaceLeaf: ((leaf: any, travelledPath: string[]) => any), travelledPath: string[] = []) {
|
||||||
const head = path[0]
|
const head = path[0]
|
||||||
if (path.length === 1) {
|
if (path.length === 1) {
|
||||||
// We have reached the leaf
|
// We have reached the leaf
|
||||||
const leaf = object[head];
|
const leaf = object[head];
|
||||||
if (leaf !== undefined) {
|
if (leaf !== undefined) {
|
||||||
if(Array.isArray(leaf)){
|
if (Array.isArray(leaf)) {
|
||||||
object[head] = leaf.map(replaceLeaf)
|
object[head] = leaf.map(o => replaceLeaf(o, travelledPath))
|
||||||
}else{
|
} else {
|
||||||
object[head] = replaceLeaf(leaf)
|
object[head] = replaceLeaf(leaf, travelledPath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -381,10 +381,10 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Array.isArray(sub)) {
|
if (Array.isArray(sub)) {
|
||||||
sub.forEach(el => Utils.WalkPath(path.slice(1), el, replaceLeaf))
|
sub.forEach((el, i) => Utils.WalkPath(path.slice(1), el, replaceLeaf, [...travelledPath, head, "" + i]))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Utils.WalkPath(path.slice(1), sub, replaceLeaf)
|
Utils.WalkPath(path.slice(1), sub, replaceLeaf, [...travelledPath, head])
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -393,22 +393,26 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
*
|
*
|
||||||
* The leaf objects are collected in the list
|
* The leaf objects are collected in the list
|
||||||
*/
|
*/
|
||||||
public static CollectPath(path: string[], object: any, collectedList = []): any[] {
|
public static CollectPath(path: string[], object: any, collectedList: { leaf: any, path: string[] }[] = [], travelledPath: string[] = []): { leaf: any, path: string[] }[] {
|
||||||
if (object === undefined || object === null) {
|
if (object === undefined || object === null) {
|
||||||
return collectedList;
|
return collectedList;
|
||||||
}
|
}
|
||||||
const head = path[0]
|
const head = path[0]
|
||||||
|
travelledPath = [...travelledPath, head]
|
||||||
if (path.length === 1) {
|
if (path.length === 1) {
|
||||||
// We have reached the leaf
|
// We have reached the leaf
|
||||||
const leaf = object[head];
|
const leaf = object[head];
|
||||||
if (leaf === undefined || leaf === null) {
|
if (leaf === undefined || leaf === null) {
|
||||||
return collectedList
|
return collectedList
|
||||||
}
|
}
|
||||||
if (Array.isArray(leaf)) {
|
if (Array.isArray(leaf)) {
|
||||||
collectedList.push(...leaf)
|
for (let i = 0; i < (<any[]>leaf).length; i++){
|
||||||
} else {
|
const l = (<any[]>leaf)[i];
|
||||||
collectedList.push(leaf)
|
collectedList.push({leaf: l, path: [...travelledPath, ""+i]})
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
collectedList.push({leaf, path: travelledPath})
|
||||||
|
}
|
||||||
return collectedList
|
return collectedList
|
||||||
}
|
}
|
||||||
const sub = object[head]
|
const sub = object[head]
|
||||||
|
@ -417,13 +421,13 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Array.isArray(sub)) {
|
if (Array.isArray(sub)) {
|
||||||
sub.forEach(el => Utils.CollectPath(path.slice(1), el, collectedList))
|
sub.forEach((el, i) => Utils.CollectPath(path.slice(1), el, collectedList, [...travelledPath, "" + i]))
|
||||||
return collectedList;
|
return collectedList;
|
||||||
}
|
}
|
||||||
if (typeof sub !== "object") {
|
if (typeof sub !== "object") {
|
||||||
return collectedList;
|
return collectedList;
|
||||||
}
|
}
|
||||||
return Utils.CollectPath(path.slice(1), sub, collectedList)
|
return Utils.CollectPath(path.slice(1), sub, collectedList, travelledPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -725,6 +729,28 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
return new Date(str)
|
return new Date(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static levenshteinDistance(str1: string, str2: string) {
|
||||||
|
const track = Array(str2.length + 1).fill(null).map(() =>
|
||||||
|
Array(str1.length + 1).fill(null));
|
||||||
|
for (let i = 0; i <= str1.length; i += 1) {
|
||||||
|
track[0][i] = i;
|
||||||
|
}
|
||||||
|
for (let j = 0; j <= str2.length; j += 1) {
|
||||||
|
track[j][0] = j;
|
||||||
|
}
|
||||||
|
for (let j = 1; j <= str2.length; j += 1) {
|
||||||
|
for (let i = 1; i <= str1.length; i += 1) {
|
||||||
|
const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1;
|
||||||
|
track[j][i] = Math.min(
|
||||||
|
track[j][i - 1] + 1, // deletion
|
||||||
|
track[j - 1][i] + 1, // insertion
|
||||||
|
track[j - 1][i - 1] + indicator, // substitution
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return track[str2.length][str1.length];
|
||||||
|
}
|
||||||
|
|
||||||
private static colorDiff(c0: { r: number, g: number, b: number }, c1: { r: number, g: number, b: number }) {
|
private static colorDiff(c0: { r: number, g: number, b: number }, c1: { r: number, g: number, b: number }) {
|
||||||
return Math.abs(c0.r - c1.r) + Math.abs(c0.g - c1.g) + Math.abs(c0.b - c1.b);
|
return Math.abs(c0.r - c1.r) + Math.abs(c0.g - c1.g) + Math.abs(c0.b - c1.b);
|
||||||
}
|
}
|
||||||
|
@ -751,27 +777,5 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
||||||
b: parseInt(hex.substr(5, 2), 16),
|
b: parseInt(hex.substr(5, 2), 16),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static levenshteinDistance (str1: string, str2: string) {
|
|
||||||
const track = Array(str2.length + 1).fill(null).map(() =>
|
|
||||||
Array(str1.length + 1).fill(null));
|
|
||||||
for (let i = 0; i <= str1.length; i += 1) {
|
|
||||||
track[0][i] = i;
|
|
||||||
}
|
|
||||||
for (let j = 0; j <= str2.length; j += 1) {
|
|
||||||
track[j][0] = j;
|
|
||||||
}
|
|
||||||
for (let j = 1; j <= str2.length; j += 1) {
|
|
||||||
for (let i = 1; i <= str1.length; i += 1) {
|
|
||||||
const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1;
|
|
||||||
track[j][i] = Math.min(
|
|
||||||
track[j][i - 1] + 1, // deletion
|
|
||||||
track[j - 1][i] + 1, // insertion
|
|
||||||
track[j - 1][i - 1] + indicator, // substitution
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return track[str2.length][str1.length];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -246,41 +246,57 @@
|
||||||
{
|
{
|
||||||
"if": "cycle_barrier=single",
|
"if": "cycle_barrier=single",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Single, just two barriers with a space inbetween <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>",
|
"en": "Single, just two barriers with a space inbetween",
|
||||||
"nl": "Enkelvoudig, slechts twee hekjes met ruimte ertussen <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>",
|
"nl": "Enkelvoudig, slechts twee hekjes met ruimte ertussen",
|
||||||
"de": "Einfach, nur zwei Barrieren mit einem Zwischenraum <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>",
|
"de": "Einfach, nur zwei Barrieren mit einem Zwischenraum",
|
||||||
"hu": "Egyszeres: csak két korlát, közöttük térköz <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>",
|
"hu": "Egyszeres: csak két korlát, közöttük térköz",
|
||||||
"fr": "Simple, deux barrières côte à côte <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"fr": "Simple, deux barrières côte à côte"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Cycle_barrier_single.png",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycle_barrier=double",
|
"if": "cycle_barrier=double",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Double, two barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>",
|
"en": "Double, two barriers behind each other",
|
||||||
"nl": "Dubbel, twee hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>",
|
"nl": "Dubbel, twee hekjes achter elkaar",
|
||||||
"de": "Doppelt, zwei Barrieren hintereinander <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>",
|
"de": "Doppelt, zwei Barrieren hintereinander",
|
||||||
"hu": "Kétszeres: két, egymáshoz képest eltolt korlát egymás után <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>",
|
"hu": "Kétszeres: két, egymáshoz képest eltolt korlát egymás után",
|
||||||
"fr": "Double, deux barrières successives"
|
"fr": "Double, deux barrières successives"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Cycle_barrier_double.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycle_barrier=triple",
|
"if": "cycle_barrier=triple",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Triple, three barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>",
|
"en": "Triple, three barriers behind each other",
|
||||||
"nl": "Drievoudig, drie hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>",
|
"nl": "Drievoudig, drie hekjes achter elkaar",
|
||||||
"de": "Dreifach, drei Barrieren hintereinander <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>",
|
"de": "Dreifach, drei Barrieren hintereinander",
|
||||||
"hu": "Háromszoros: három, egymáshoz képest eltolt korlát egymás után <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>",
|
"hu": "Háromszoros: három, egymáshoz képest eltolt korlát egymás után",
|
||||||
"fr": "Triple, trois barrières successives <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"fr": "Triple, trois barrières successives"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Cycle_barrier_triple.png",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycle_barrier=squeeze",
|
"if": "cycle_barrier=squeeze",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Squeeze gate, gap is smaller at top, than at the bottom <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>",
|
"en": "Squeeze gate, gap is smaller at top, than at the bottom",
|
||||||
"nl": "Knijppoort, ruimte is smaller aan de top, dan aan de bodem <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>",
|
"nl": "Knijppoort, ruimte is smaller aan de top, dan aan de bodem",
|
||||||
"de": "Eine Durchfahrtsbeschränkung, Durchfahrtsbreite ist oben kleiner als unten <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>",
|
"de": "Eine Durchfahrtsbeschränkung, Durchfahrtsbreite ist oben kleiner als unten",
|
||||||
"hu": "Szűkítőkapu: a rés felül keskenyebb, mint alul <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>",
|
"hu": "Szűkítőkapu: a rés felül keskenyebb, mint alul",
|
||||||
"fr": "Poire, l’espace en hauteur est plus faible qu’au sol <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"fr": "Poire, l’espace en hauteur est plus faible qu’au sol"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Cycle_barrier_squeeze.png",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -100,91 +100,119 @@
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=stands",
|
"if": "bicycle_parking=stands",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"en": "Staple racks",
|
||||||
"nl": "Nietjes <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"nl": "Nietjes",
|
||||||
"fr": "Arceaux <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"fr": "Arceaux",
|
||||||
"gl": "De roda (Stands) <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"gl": "De roda (Stands)",
|
||||||
"de": "Fahrradbügel <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"de": "Fahrradbügel",
|
||||||
"hu": "Korlát <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"hu": "Korlát",
|
||||||
"it": "Archetti <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"it": "Archetti",
|
||||||
"zh_Hant": "單車架 <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"zh_Hant": "單車架"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/staple.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=wall_loops",
|
"if": "bicycle_parking=wall_loops",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Wheel rack/loops <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"en": "Wheel rack/loops",
|
||||||
"nl": "Wielrek/lussen <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"nl": "Wielrek/lussen",
|
||||||
"fr": "Pinces-roues <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"fr": "Pinces-roues",
|
||||||
"gl": "Aros <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"gl": "Aros",
|
||||||
"de": "Metallgestänge <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"de": "Metallgestänge",
|
||||||
"hu": "Kerékbefogó hurok <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"hu": "Kerékbefogó hurok",
|
||||||
"it": "Scolapiatti <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>",
|
"it": "Scolapiatti",
|
||||||
"zh_Hant": "車輪架/圓圈 <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"zh_Hant": "車輪架/圓圈"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/wall_loops.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=handlebar_holder",
|
"if": "bicycle_parking=handlebar_holder",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Handlebar holder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"en": "Handlebar holder",
|
||||||
"nl": "Stuurhouder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"nl": "Stuurhouder",
|
||||||
"fr": "Support guidon <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"fr": "Support guidon",
|
||||||
"gl": "Cadeado para guiador <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"gl": "Cadeado para guiador",
|
||||||
"de": "Halter für Fahrradlenker <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"de": "Halter für Fahrradlenker",
|
||||||
"it": "Blocca manubrio <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>",
|
"it": "Blocca manubrio",
|
||||||
"zh_Hant": "車把架 <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"zh_Hant": "車把架"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/handlebar_holder.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=rack",
|
"if": "bicycle_parking=rack",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Rack <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"en": "Rack",
|
||||||
"nl": "Rek <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"nl": "Rek",
|
||||||
"fr": "Râtelier <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"fr": "Râtelier",
|
||||||
"gl": "Cremalleira <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"gl": "Cremalleira",
|
||||||
"de": "Gestell <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"de": "Gestell",
|
||||||
"zh_Hant": "車架<img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"zh_Hant": "車架",
|
||||||
"it": "Rastrelliera <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>",
|
"it": "Rastrelliera",
|
||||||
"ru": "Стойка <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"ru": "Стойка"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/rack.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=two_tier",
|
"if": "bicycle_parking=two_tier",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Two-tiered <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"en": "Two-tiered",
|
||||||
"nl": "Dubbel (twee verdiepingen) <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"nl": "Dubbel (twee verdiepingen)",
|
||||||
"fr": "Superposé <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"fr": "Superposé",
|
||||||
"gl": "Dobre cremalleira <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"gl": "Dobre cremalleira",
|
||||||
"de": "Zweistufig <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"de": "Zweistufig",
|
||||||
"hu": "Kétszintű <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"hu": "Kétszintű",
|
||||||
"zh_Hant": "兩層<img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"zh_Hant": "兩層",
|
||||||
"it": "A due piani <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>",
|
"it": "A due piani",
|
||||||
"ru": "Двухуровневая <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"ru": "Двухуровневая"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/two_tier.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=shed",
|
"if": "bicycle_parking=shed",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Shed <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"en": "Shed",
|
||||||
"nl": "Schuur <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"nl": "Schuur",
|
||||||
"fr": "Abri <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"fr": "Abri",
|
||||||
"gl": "Abeiro <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"gl": "Abeiro",
|
||||||
"de": "Schuppen <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"de": "Schuppen",
|
||||||
"hu": "Fészer <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"hu": "Fészer",
|
||||||
"zh_Hant": "車棚 <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"zh_Hant": "車棚",
|
||||||
"it": "Rimessa <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>",
|
"it": "Rimessa",
|
||||||
"ru": "Навес <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"ru": "Навес"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/shed.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=bollard",
|
"if": "bicycle_parking=bollard",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Bollard <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>",
|
"en": "Bollard",
|
||||||
"nl": "Paal met ring <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>",
|
"nl": "Paal met ring",
|
||||||
"fr": "Potelet <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>",
|
"fr": "Potelet",
|
||||||
"it": "Colonnina <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>",
|
"it": "Colonnina",
|
||||||
"de": "Poller <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>",
|
"de": "Poller",
|
||||||
"zh_Hant": "柱子 <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"zh_Hant": "柱子"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/bike_parking/bollard.svg",
|
||||||
|
"class": "large"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -84,6 +84,20 @@
|
||||||
"https://osoc.be/editions/2020/cyclofix"
|
"https://osoc.be/editions/2020/cyclofix"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "repair_station_broken_pump.svg",
|
||||||
|
"license": "CC-BY-SA",
|
||||||
|
"authors": [
|
||||||
|
"Pieter Fiers",
|
||||||
|
"Thibault Declercq",
|
||||||
|
"Pierre Barban",
|
||||||
|
"Joost Schouppe",
|
||||||
|
"Pieter Vander Vennet"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
"https://osoc.be/editions/2020/cyclofix"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "repair_station_example.jpg",
|
"path": "repair_station_example.jpg",
|
||||||
"license": "CC-BY-SA 4.0",
|
"license": "CC-BY-SA 4.0",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -764,7 +764,7 @@
|
||||||
"operational_status=broken"
|
"operational_status=broken"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": "cross:#c22;"
|
"then": "close:#c22;"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": {
|
"if": {
|
||||||
|
|
|
@ -72,13 +72,17 @@ function run(file, protojson) {
|
||||||
for (let i = 0; i < entries.length; i++) {
|
for (let i = 0; i < entries.length; i++) {
|
||||||
const e = entries[i];
|
const e = entries[i];
|
||||||
const txt = {
|
const txt = {
|
||||||
en: `<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/${e.image}'/> <span>${e.description.get("en")}</span></div>`,
|
en: e.description.get("en"),
|
||||||
nl: `<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/${e.image}'/> <span>${e.description.get("nl")}</span></div>`
|
nl: e.description.get("nl")
|
||||||
}
|
}
|
||||||
const json = {
|
const json = {
|
||||||
if: `${e.key}=1`,
|
if: `${e.key}=1`,
|
||||||
ifnot: `${e.key}=`,
|
ifnot: `${e.key}=`,
|
||||||
then: txt,
|
then: txt,
|
||||||
|
icon:{
|
||||||
|
path:"./assets/layers/charging_station/" + e.image,
|
||||||
|
class:"medium"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.countryWhiteList.length > 0 && e.countryBlackList.length > 0) {
|
if (e.countryWhiteList.length > 0 && e.countryBlackList.length > 0) {
|
||||||
|
@ -125,7 +129,11 @@ function run(file, protojson) {
|
||||||
and:Utils.NoEmpty( [`${e.key}~*`, `${e.key}!=1`, ...e.extraVisualisationCondition.split(";")])
|
and:Utils.NoEmpty( [`${e.key}~*`, `${e.key}!=1`, ...e.extraVisualisationCondition.split(";")])
|
||||||
},
|
},
|
||||||
then: txt,
|
then: txt,
|
||||||
hideInAnswer: true
|
hideInAnswer: true,
|
||||||
|
icon:{
|
||||||
|
path: `./assets/layers/charging_station/${e.image}`,
|
||||||
|
class:"medium"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
overview_question_answers.push(no_ask_json)
|
overview_question_answers.push(no_ask_json)
|
||||||
|
|
||||||
|
@ -170,8 +178,12 @@ function run(file, protojson) {
|
||||||
return {
|
return {
|
||||||
if: `socket:${e.key}:voltage=${voltage} V`,
|
if: `socket:${e.key}:voltage=${voltage} V`,
|
||||||
then: {
|
then: {
|
||||||
en: `${descrWithImage_en} outputs ${voltage} volt`,
|
en: `${e.description.get("en")} outputs ${voltage} volt`,
|
||||||
nl: `${descrWithImage_nl} heeft een spanning van ${voltage} volt`
|
nl: `${e.description.get("nl")} heeft een spanning van ${voltage} volt`
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
path: `./assets/layers/charging_station/${e.image}`,
|
||||||
|
class:"medium"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
@ -200,8 +212,12 @@ function run(file, protojson) {
|
||||||
return {
|
return {
|
||||||
if: `socket:${e.key}:current=${current} A`,
|
if: `socket:${e.key}:current=${current} A`,
|
||||||
then: {
|
then: {
|
||||||
en: `${descrWithImage_en} outputs at most ${current} A`,
|
en: `${e.description.get("en")} outputs at most ${current} A`,
|
||||||
nl: `${descrWithImage_nl} levert een stroom van maximaal ${current} A`
|
nl: `${e.description.get("nl")} levert een stroom van maximaal ${current} A`
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
path: `./assets/layers/charging_station/${e.image}`,
|
||||||
|
class:"medium"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
@ -230,8 +246,12 @@ function run(file, protojson) {
|
||||||
return {
|
return {
|
||||||
if: `socket:${e.key}:output=${output}`,
|
if: `socket:${e.key}:output=${output}`,
|
||||||
then: {
|
then: {
|
||||||
en: `${descrWithImage_en} outputs at most ${output}`,
|
en: `${e.description.get("en")} outputs at most ${output} A`,
|
||||||
nl: `${descrWithImage_nl} levert een vermogen van maximaal ${output}`
|
nl: `${e.description.get("nl")} levert een vermogen van maximaal ${output} A`
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
path: `./assets/layers/charging_station/${e.image}`,
|
||||||
|
class:"medium"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -306,11 +306,15 @@
|
||||||
{
|
{
|
||||||
"if": "red_turn:right:bicycle=yes",
|
"if": "red_turn:right:bicycle=yes",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "A cyclist can turn right if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>",
|
"en": "A cyclist can turn right if the light is red",
|
||||||
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>",
|
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is",
|
||||||
"de": "Ein Radfahrer kann bei roter Ampel rechts abbiegen <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
|
"de": "Ein Radfahrer kann bei roter Ampel rechts abbiegen"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be"
|
"hideInAnswer": "_country!=be",
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/crossings/Belgian_road_sign_B22.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "red_turn:right:bicycle=yes",
|
"if": "red_turn:right:bicycle=yes",
|
||||||
|
@ -343,11 +347,15 @@
|
||||||
{
|
{
|
||||||
"if": "red_turn:straight:bicycle=yes",
|
"if": "red_turn:straight:bicycle=yes",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "A cyclist can go straight on if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>",
|
"en": "A cyclist can go straight on if the light is red",
|
||||||
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>",
|
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is",
|
||||||
"de": "Ein Radfahrer kann bei roter Ampel geradeaus fahren <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
|
"de": "Ein Radfahrer kann bei roter Ampel geradeaus fahren"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be"
|
"hideInAnswer": "_country!=be",
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/crossings/Belgian_road_sign_B23.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "red_turn:straight:bicycle=yes",
|
"if": "red_turn:straight:bicycle=yes",
|
||||||
|
|
|
@ -805,50 +805,66 @@
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7",
|
"if": "cycleway:traffic_sign=BE:D7",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"en": "Compulsory cycleway",
|
||||||
"nl": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"nl": "Verplicht fietspad",
|
||||||
"de": "Vorgeschriebener Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"de": "Vorgeschriebener Radweg",
|
||||||
"id": "Jalur sepeda wajib <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"id": "Jalur sepeda wajib"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be"
|
"hideInAnswer": "_country!=be",
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D07.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign~BE:D7;.*",
|
"if": "cycleway:traffic_sign~BE:D7;.*",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> ",
|
"en": "Compulsory cycleway (with supplementary sign)<br>",
|
||||||
"nl": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"nl": "Verplicht fietspad (met onderbord)<br>",
|
||||||
"de": "Vorgeschriebener Radweg (mit Zusatzschild)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> ",
|
"de": "Vorgeschriebener Radweg (mit Zusatzschild)<br>",
|
||||||
"id": "Jalur sepeda wajib (dengan tanda tambahan)<br><img src ='./aset/tema/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"id": "Jalur sepeda wajib (dengan tanda tambahan)<br>"
|
||||||
},
|
},
|
||||||
"hideInAnswer": true
|
"hideInAnswer": true,
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D07.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D9",
|
"if": "cycleway:traffic_sign=BE:D9",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
|
"en": "Segregated foot/cycleway",
|
||||||
"nl": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
|
"nl": "Afgescheiden voet-/fietspad",
|
||||||
"de": "Getrennter Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
|
"de": "Getrennter Fuß-/Radweg",
|
||||||
"id": "Jalur pejalan kaki/sepeda terpisah <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"id": "Jalur pejalan kaki/sepeda terpisah"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:foot=designated",
|
"cycleway:foot=designated",
|
||||||
"cycleway:segregated=yes"
|
"cycleway:segregated=yes"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D09.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D10",
|
"if": "cycleway:traffic_sign=BE:D10",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
|
"en": "Unsegregated foot/cycleway",
|
||||||
"nl": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
|
"nl": "Gedeeld voet-/fietspad",
|
||||||
"de": "Gemeinsamer Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
|
"de": "Gemeinsamer Fuß-/Radweg",
|
||||||
"id": "Jalur pejalan kaki/sepeda tidak terpisah <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"id": "Jalur pejalan kaki/sepeda tidak terpisah"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:foot=designated",
|
"cycleway:foot=designated",
|
||||||
"cycleway:segregated=no"
|
"cycleway:segregated=no"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D10.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=none",
|
"if": "cycleway:traffic_sign=none",
|
||||||
|
@ -878,10 +894,10 @@
|
||||||
{
|
{
|
||||||
"if": "traffic_sign=BE:D7",
|
"if": "traffic_sign=BE:D7",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"en": "Compulsory cycleway",
|
||||||
"nl": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"nl": "Verplicht fietspad",
|
||||||
"de": "Vorgeschriebener Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"de": "Vorgeschriebener Radweg",
|
||||||
"id": "Jalur sepeda wajib <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"id": "Jalur sepeda wajib"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
|
@ -889,23 +905,31 @@
|
||||||
"mofa=designated",
|
"mofa=designated",
|
||||||
"moped=yes",
|
"moped=yes",
|
||||||
"speed_pedelec=yes"
|
"speed_pedelec=yes"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D07.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "traffic_sign~BE:D7;.*",
|
"if": "traffic_sign~BE:D7;.*",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> ",
|
"en": "Compulsory cycleway (with supplementary sign)<br>",
|
||||||
"nl": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
|
"nl": "Verplicht fietspad (met onderbord)<br>",
|
||||||
"de": "Vorgeschriebener Radweg (mit Zusatzschild)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"de": "Vorgeschriebener Radweg (mit Zusatzschild)<br>"
|
||||||
},
|
},
|
||||||
"hideInAnswer": true
|
"hideInAnswer": true,
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D07.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "traffic_sign=BE:D9",
|
"if": "traffic_sign=BE:D9",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
|
"en": "Segregated foot/cycleway",
|
||||||
"nl": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
|
"nl": "Afgescheiden voet-/fietspad",
|
||||||
"de": "Getrennter Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"de": "Getrennter Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
|
@ -915,14 +939,18 @@
|
||||||
"moped=no",
|
"moped=no",
|
||||||
"speed_pedelec=no",
|
"speed_pedelec=no",
|
||||||
"segregated=yes"
|
"segregated=yes"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D09.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "traffic_sign=BE:D10",
|
"if": "traffic_sign=BE:D10",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
|
"en": "Unsegregated foot/cycleway",
|
||||||
"nl": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
|
"nl": "Gedeeld voet-/fietspad",
|
||||||
"de": "Gemeinsamer Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"de": "Gemeinsamer Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
|
@ -932,7 +960,11 @@
|
||||||
"moped=no",
|
"moped=no",
|
||||||
"speed_pedelec=no",
|
"speed_pedelec=no",
|
||||||
"segregated=no"
|
"segregated=no"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_road_sign_D10.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "traffic_sign=none",
|
"if": "traffic_sign=none",
|
||||||
|
@ -961,70 +993,94 @@
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M6",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M6",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>",
|
"en": "Mopeds must use the cycleway",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
"nl": "Bromfiets Klass B verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:moped=designated"
|
"cycleway:moped=designated"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M13",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M13",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>",
|
"en": "Speedpedelecs must use the cycleway",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
"nl": "Speedpedelec (Bromfiets klasse P) verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:speed_pedelec=designated"
|
"cycleway:speed_pedelec=designated"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M14",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M14",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>",
|
"en": "Mopeds and speedpedelecs must use the cycleway",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
"nl": "Bromfiets klasse B en speedpedelec (Klasse P) verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:moped=designated",
|
"cycleway:moped=designated",
|
||||||
"cycleway:speed_pedelec=designated"
|
"cycleway:speed_pedelec=designated"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M7",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M7",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>",
|
"en": "Mopeds are not allowed",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
"nl": "Bromfiets klasse B <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:moped=no"
|
"cycleway:moped=no"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M15",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M15",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>",
|
"en": "Speedpedelecs are not allowed",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
"nl": "Speedpedelec (bromfiets klasse P) <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:speed_pedelec=no"
|
"cycleway:speed_pedelec=no"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign=BE:D7;BE:M16",
|
"if": "cycleway:traffic_sign=BE:D7;BE:M16",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>",
|
"en": "Mopeds and speedpedelecs are not allowed",
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
"nl": "Bromfiets klasse B en speedpedelec (klasse P) <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"hideInAnswer": "_country!=be",
|
"hideInAnswer": "_country!=be",
|
||||||
"addExtraTags": [
|
"addExtraTags": [
|
||||||
"cycleway:moped=designated",
|
"cycleway:moped=designated",
|
||||||
"cycleway:speed_pedelec=no"
|
"cycleway:speed_pedelec=no"
|
||||||
]
|
],
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg",
|
||||||
|
"class": "medium"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "cycleway:traffic_sign:supplementary=none",
|
"if": "cycleway:traffic_sign:supplementary=none",
|
||||||
|
@ -1036,99 +1092,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "cycleway-traffic-signs-D7-supplementary",
|
|
||||||
"question": {
|
|
||||||
"en": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?",
|
|
||||||
"nl": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?",
|
|
||||||
"de": "Hat das Verkehrszeichen D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) ein Zusatzzeichen?"
|
|
||||||
},
|
|
||||||
"condition": {
|
|
||||||
"or": [
|
|
||||||
"traffic_sign=BE:D7",
|
|
||||||
"traffic_sign~BE:D7;.*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "traffic_sign=BE:D7;BE:M6",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"moped=designated"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "traffic_sign=BE:D7;BE:M13",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>",
|
|
||||||
"de": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"speed_pedelec=designated"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "traffic_sign=BE:D7;BE:M14",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"moped=designated",
|
|
||||||
"speed_pedelec=designated"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "traffic_sign=BE:D7;BE:M7",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"moped=no"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": ":traffic_sign=BE:D7;BE:M15",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"speed_pedelec=no"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "traffic_sign=BE:D7;BE:M16",
|
|
||||||
"then": {
|
|
||||||
"en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>",
|
|
||||||
"nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"hideInAnswer": "_country!=be",
|
|
||||||
"addExtraTags": [
|
|
||||||
"moped=designated",
|
|
||||||
"speed_pedelec=no"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "traffic_sign:supplementary=none",
|
|
||||||
"then": {
|
|
||||||
"en": "No supplementary traffic sign present",
|
|
||||||
"nl": "Geen onderbord aanwezig",
|
|
||||||
"de": "Kein zusätzliches Verkehrszeichen vorhanden"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"render": {
|
"render": {
|
||||||
"en": "The buffer besides this cycleway is {cycleway:buffer} m",
|
"en": "The buffer besides this cycleway is {cycleway:buffer} m",
|
||||||
|
|
|
@ -32,16 +32,7 @@
|
||||||
"presets": [],
|
"presets": [],
|
||||||
"mapRendering": [
|
"mapRendering": [
|
||||||
{
|
{
|
||||||
"icon": {
|
"icon": "direction_gradient:var(--catch-detail-color)",
|
||||||
"render": "direction_gradient:var(--catch-detail-color)",
|
|
||||||
"#": "For some weird reason, showing the icon in the layer control panel breaks the svg-gradient (because the svg gradient has a global color or smthng) - so we use a different icon without gradient",
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "id=node/-1",
|
|
||||||
"then": "direction:var(--catch-detail-color)"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"iconSize": "200,200,center",
|
"iconSize": "200,200,center",
|
||||||
"location": [
|
"location": [
|
||||||
"point",
|
"point",
|
||||||
|
|
|
@ -157,11 +157,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Pillar type.",
|
"en": "Pillar type.",
|
||||||
"ja": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> ピラー型。",
|
"ja": "ピラー型。",
|
||||||
"fr": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Pilier.",
|
"fr": "Pilier.",
|
||||||
"de": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Säulenart.",
|
"de": "Säulenart.",
|
||||||
"it": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Soprasuolo."
|
"it": "Soprasuolo."
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/hailhydrant/hydrant_pillar.svg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -171,11 +175,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Pipe type.",
|
"en": "Pipe type.",
|
||||||
"ja": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> パイプ型。",
|
"ja": "パイプ型。",
|
||||||
"fr": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Tuyau.",
|
"fr": "Tuyau.",
|
||||||
"de": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Rohrtyp.",
|
"de": "Rohrtyp.",
|
||||||
"it": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Tubo."
|
"it": "Tubo."
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -185,13 +193,17 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Wall type.",
|
"en": "Wall type.",
|
||||||
"id": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Jenis dinding.",
|
"id": "Jenis dinding.",
|
||||||
"ru": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Тип стены.",
|
"ru": "Тип стены.",
|
||||||
"ja": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> 壁型。",
|
"ja": "壁型。",
|
||||||
"fr": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Mural.",
|
"fr": "Mural.",
|
||||||
"de": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Wandtyp.",
|
"de": "Wandtyp.",
|
||||||
"it": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> A muro."
|
"it": "A muro."
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -201,11 +213,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Underground type.",
|
"en": "Underground type.",
|
||||||
"ja": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" />地下式。",
|
"ja": "地下式。",
|
||||||
"fr": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Enterré.",
|
"fr": "Enterré.",
|
||||||
"de": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Untergrundtyp.",
|
"de": "Untergrundtyp.",
|
||||||
"it": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Sottosuolo."
|
"it": "Sottosuolo."
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/hailhydrant/hydrant_underground.svg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -71,7 +71,11 @@
|
||||||
{
|
{
|
||||||
"if": "highway=living_street",
|
"if": "highway=living_street",
|
||||||
"then": {
|
"then": {
|
||||||
"nl:": "<div class='flex'><img src='./assets/layers/slow_roads/woonerf.svg' style='width: 150px; height: auto; margin-right: 0.5em;' /> <div> Dit is een woonerf: <ul><li>Voetgangers mogen hier de volledige breedte van de straat gebruiken</li><li>Gemotoriseerd verkeer mag maximaal <b>20km/h</b> rijden</li></ul></div></div>"
|
"nl:": "<div> Dit is een woonerf: <ul><li>Voetgangers mogen hier de volledige breedte van de straat gebruiken</li><li>Gemotoriseerd verkeer mag maximaal <b>20km/h</b> rijden</li></ul></div>"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/layers/slow_roads/woonerf.svg",
|
||||||
|
"class": "medium"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -77,7 +77,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"nl": "Dit gebied wordt beheerd door Natuurpunt"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/buurtnatuur/Natuurpunt.jpg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -87,9 +91,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"nl": "Dit gebied wordt beheerd door {operator}"
|
||||||
},
|
},
|
||||||
"hideInAnswer": true
|
"hideInAnswer": true,
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/buurtnatuur/Natuurpunt.jpg",
|
||||||
|
"class": "small"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"id": "Operator tag"
|
"id": "Operator tag"
|
||||||
|
|
|
@ -146,7 +146,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"nl": "Dit gebied wordt beheerd door Natuurpunt"
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/buurtnatuur/Natuurpunt.jpg",
|
||||||
|
"class": "small"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -156,9 +160,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"nl": "Dit gebied wordt beheerd door {operator}"
|
||||||
},
|
},
|
||||||
"hideInAnswer": true
|
"hideInAnswer": true,
|
||||||
|
"icon": {
|
||||||
|
"path": "./assets/themes/buurtnatuur/Natuurpunt.jpg",
|
||||||
|
"class": "small"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"id": "Operator tag"
|
"id": "Operator tag"
|
||||||
|
|
|
@ -485,6 +485,48 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"isShown",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"isShown",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -753,6 +795,48 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"title",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"title",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1014,6 +1098,48 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"titleIcons",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"titleIcons",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1291,6 +1417,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"icon",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"icon",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1585,6 +1755,52 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconBadges",
|
||||||
|
"then",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconBadges",
|
||||||
|
"then",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1852,6 +2068,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconSize",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconSize",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2116,6 +2376,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"rotation",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"rotation",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2380,6 +2684,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"label",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"label",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2651,6 +2999,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"color",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"color",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2918,6 +3310,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"width",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"width",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3182,6 +3618,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"dashArray",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"dashArray",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3446,6 +3926,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"lineCap",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"lineCap",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3714,6 +4238,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fill",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fill",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -3978,6 +4546,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fillColor",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fillColor",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4242,6 +4854,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"offset",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"offset",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4625,6 +5281,48 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -4871,6 +5569,50 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"renderings",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"renderings",
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -5160,6 +5902,13 @@
|
||||||
],
|
],
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"syncSelection"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
|
|
@ -138,6 +138,44 @@
|
||||||
"icon"
|
"icon"
|
||||||
],
|
],
|
||||||
"typeHint": "icon",
|
"typeHint": "icon",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"path": {
|
||||||
|
"description": "The path to the icon\nType: icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-<classtype>', so defining your own in combination with a custom CSS is possible (but discouraged)",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"class",
|
||||||
|
"path"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"path"
|
||||||
|
],
|
||||||
|
"typeHint": "icon",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"mappings",
|
||||||
|
"icon",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"bench",
|
"bench",
|
||||||
"bench_at_pt",
|
"bench_at_pt",
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 0.05,
|
"widenFactor": 0.05,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"bicycle_rental"
|
"bicycle_rental"
|
||||||
]
|
]
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"binocular"
|
"binocular"
|
||||||
]
|
]
|
||||||
|
|
|
@ -504,7 +504,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"nl": "Dit gebied wordt beheerd door Natuurpunt",
|
||||||
|
"icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -514,7 +515,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"nl": "Dit gebied wordt beheerd door {operator}",
|
||||||
|
"icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
|
||||||
},
|
},
|
||||||
"hideInAnswer": true
|
"hideInAnswer": true
|
||||||
},
|
},
|
||||||
|
@ -525,7 +527,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"then": {
|
"then": {
|
||||||
"nl": "<img src=\"./assets/themes/buurtnatuur/ANB.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
|
"nl": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos",
|
||||||
|
"icon": "./assets/themes/buurtnatuur/ANB.jpg"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"cafe_pub"
|
"cafe_pub"
|
||||||
]
|
]
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
"startLon": 3.14,
|
"startLon": 3.14,
|
||||||
"startZoom": 14,
|
"startZoom": 14,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "./assets/themes/campersite/Bar%C3%9Fel_Wohnmobilstellplatz.jpg",
|
"socialImage": "./assets/themes/campersite/social_image.jpg",
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"id": "caravansites",
|
"id": "caravansites",
|
||||||
|
|
|
@ -1,14 +1,4 @@
|
||||||
[
|
[
|
||||||
{
|
|
||||||
"path": "Barßel_Wohnmobilstellplatz.jpg",
|
|
||||||
"license": "CC-BY-SA 3.0",
|
|
||||||
"authors": [
|
|
||||||
"ES01"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
"https://commons.wikimedia.org/wiki/File:Bar%C3%9Fel_Wohnmobilstellplatz.jpg"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "caravan.svg",
|
"path": "caravan.svg",
|
||||||
"license": "CC0",
|
"license": "CC0",
|
||||||
|
@ -41,5 +31,15 @@
|
||||||
"https://github.com/osmandapp/Osmand/blob/master/LICENSE",
|
"https://github.com/osmandapp/Osmand/blob/master/LICENSE",
|
||||||
"https://github.com/osmandapp/OsmAnd-resources/blob/16892d8b2fc00dd422abfb2fef967d5ccd05eeac/icons/svg/poi/sanitary_dump_station.svg"
|
"https://github.com/osmandapp/OsmAnd-resources/blob/16892d8b2fc00dd422abfb2fef967d5ccd05eeac/icons/svg/poi/sanitary_dump_station.svg"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "social_image.jpg",
|
||||||
|
"license": "CC-BY-SA 3.0",
|
||||||
|
"authors": [
|
||||||
|
"ES01"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
"https://commons.wikimedia.org/wiki/File:Bar%C3%9Fel_Wohnmobilstellplatz.jpg"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
Before Width: | Height: | Size: 593 KiB After Width: | Height: | Size: 593 KiB |
|
@ -39,7 +39,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"defaultBackgroundId": "CartoDB.Voyager",
|
"defaultBackgroundId": "CartoDB.Voyager",
|
||||||
"layers": [
|
"layers": [
|
||||||
"charging_station"
|
"charging_station"
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"id": "climbing_club",
|
"id": "climbing_club",
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "assets/themes/cyclofix/logo.svg",
|
"socialImage": "./assets/themes/cyclofix/logo.svg",
|
||||||
"layers": [
|
"layers": [
|
||||||
"bike_cafe",
|
"bike_cafe",
|
||||||
"bike_shop",
|
"bike_shop",
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"clustering": {
|
"clustering": {
|
||||||
"maxZoom": 14,
|
"maxZoom": 14,
|
||||||
"minNeededElements": 250
|
"minNeededElements": 250
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
"startLon": 4.480705,
|
"startLon": 4.480705,
|
||||||
"startZoom": 15,
|
"startZoom": 15,
|
||||||
"widenFactor": 1.5,
|
"widenFactor": 1.5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"id": "facadegardens",
|
"id": "facadegardens",
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 3,
|
"widenFactor": 3,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"food"
|
"food"
|
||||||
]
|
]
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 3,
|
"widenFactor": 3,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"builtin": "food",
|
"builtin": "food",
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,14 +11,13 @@
|
||||||
"en": "This theme is an attempt to help automating the GRB import.",
|
"en": "This theme is an attempt to help automating the GRB import.",
|
||||||
"hu": "Ez a sablon a flandriai GRB épületimportálás automatizlását kívánja megkönnyíteni."
|
"hu": "Ez a sablon a flandriai GRB épületimportálás automatizlását kívánja megkönnyíteni."
|
||||||
},
|
},
|
||||||
"maintainer": "",
|
"maintainer": "Pieter Vander Vennet",
|
||||||
"icon": "./assets/themes/grb_import/logo.svg",
|
"icon": "./assets/themes/grb_import/logo.svg",
|
||||||
"version": "0",
|
"version": "0",
|
||||||
"startLat": 51.0249,
|
"startLat": 51.0249,
|
||||||
"startLon": 4.026489,
|
"startLon": 4.026489,
|
||||||
"startZoom": 9,
|
"startZoom": 9,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"clustering": {
|
"clustering": {
|
||||||
"maxZoom": 15
|
"maxZoom": 15
|
||||||
},
|
},
|
||||||
|
@ -605,15 +604,14 @@
|
||||||
},
|
},
|
||||||
"iconSize": "50,50,center",
|
"iconSize": "50,50,center",
|
||||||
"icon": {
|
"icon": {
|
||||||
"render": "./assets/themes/grb_import/housenumber_blank.svg",
|
|
||||||
"mappings": [
|
"mappings": [
|
||||||
{
|
{
|
||||||
"if": "_intersects_with_other_features~*",
|
"if": "_intersects_with_other_features~*",
|
||||||
"then": "./assets/themes/grb_import/warning.svg"
|
"then": "./assets/themes/grb_import/warning.svg"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "addr:housenumber=",
|
"if": "addr:housenumber~*",
|
||||||
"then": ""
|
"then": "./assets/themes/grb_import/housenumber_blank.svg"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
"startLon": 3.231,
|
"startLon": 3.231,
|
||||||
"startZoom": 14,
|
"startZoom": 14,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"clustering": {
|
"clustering": {
|
||||||
"maxZoom": 15
|
"maxZoom": 15
|
||||||
},
|
},
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
"startLon": 4.026489,
|
"startLon": 4.026489,
|
||||||
"startZoom": 9,
|
"startZoom": 9,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"clustering": {
|
"clustering": {
|
||||||
"maxZoom": 15
|
"maxZoom": 15
|
||||||
},
|
},
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 5,
|
"widenFactor": 5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"id": "hackerspaces",
|
"id": "hackerspaces",
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
"startLon": 121.6625,
|
"startLon": 121.6625,
|
||||||
"startZoom": 6,
|
"startZoom": 6,
|
||||||
"widenFactor": 3,
|
"widenFactor": 3,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"hydrant",
|
"hydrant",
|
||||||
"extinguisher",
|
"extinguisher",
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 5,
|
"widenFactor": 5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"map"
|
"map"
|
||||||
]
|
]
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
"startLon": 3.22435,
|
"startLon": 3.22435,
|
||||||
"startZoom": 12,
|
"startZoom": 12,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"drinking_water",
|
"drinking_water",
|
||||||
"birdhide",
|
"birdhide",
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"defaultBackgroundId": "CartoDB.Positron",
|
"defaultBackgroundId": "CartoDB.Positron",
|
||||||
"enablePdfDownload": true,
|
"enablePdfDownload": true,
|
||||||
"enableDownload": false,
|
"enableDownload": false,
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 5,
|
"widenFactor": 5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"observation_tower"
|
"observation_tower"
|
||||||
]
|
]
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
"widenFactor": 3,
|
"widenFactor": 3,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"play_forest"
|
"play_forest"
|
||||||
]
|
]
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
"startLon": 4.399,
|
"startLon": 4.399,
|
||||||
"startZoom": 13,
|
"startZoom": 13,
|
||||||
"widenFactor": 5,
|
"widenFactor": 5,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"playground"
|
"playground"
|
||||||
]
|
]
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 0.05,
|
"widenFactor": 0.05,
|
||||||
"socialImage": "",
|
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
"clustering": false,
|
"clustering": false,
|
||||||
"overpassTimeout": 180,
|
"overpassTimeout": 180,
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 3,
|
"widenFactor": 3,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"shops"
|
"shops"
|
||||||
]
|
]
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 0.05,
|
"widenFactor": 0.05,
|
||||||
"socialImage": "",
|
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
"sport_pitch"
|
"sport_pitch"
|
||||||
]
|
]
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"defaultBackgroundId": "osm",
|
"defaultBackgroundId": "osm",
|
||||||
"layers": [
|
"layers": [
|
||||||
"direction",
|
"direction",
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
"startLon": 51.52224,
|
"startLon": 51.52224,
|
||||||
"startZoom": 17,
|
"startZoom": 17,
|
||||||
"widenFactor": 1.01,
|
"widenFactor": 1.01,
|
||||||
"socialImage": "",
|
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
"clustering": {
|
"clustering": {
|
||||||
"minNeededFeatures": 25,
|
"minNeededFeatures": 25,
|
||||||
|
@ -240,6 +239,7 @@
|
||||||
},
|
},
|
||||||
"mappings": [
|
"mappings": [
|
||||||
{
|
{
|
||||||
|
"#": "ignore-image-in-then",
|
||||||
"if": "addr:substreet~*",
|
"if": "addr:substreet~*",
|
||||||
"then": "<div>The envelope below shows the address that we have recorded. You can change this by answering any remaining questions above, or by clicking the pencil icons below. We do not need you to provide a recipient's name or any of the parts shown in <span style='color: #4e7ce8'>[blue]</span>.</div><div style='background: #f1d592; min-height: 270px; border-radius: 2px; padding: 1rem 1rem 2rem 7rem; margin: 1rem; box-shadow: 0 2px 5px 0px rgba(0,0,0,.6)' class='flex flex-col'><img src='./assets/themes/uk_addresses/stamp-outline.png' class='self-end w-16'/><div>{addr:unit} {addr:housename}</div><div>{addr:housenumber} {addr:substreet}</div><div>{addr:street}</div><div>{addr:parentstreet}</div><div style='color: #4e7ce8'>[Suburb]</div><div style='color: #4e7ce8'>[Town]</div><div style='color: #4e7ce8'>[Postal code]</div></div>"
|
"then": "<div>The envelope below shows the address that we have recorded. You can change this by answering any remaining questions above, or by clicking the pencil icons below. We do not need you to provide a recipient's name or any of the parts shown in <span style='color: #4e7ce8'>[blue]</span>.</div><div style='background: #f1d592; min-height: 270px; border-radius: 2px; padding: 1rem 1rem 2rem 7rem; margin: 1rem; box-shadow: 0 2px 5px 0px rgba(0,0,0,.6)' class='flex flex-col'><img src='./assets/themes/uk_addresses/stamp-outline.png' class='self-end w-16'/><div>{addr:unit} {addr:housename}</div><div>{addr:housenumber} {addr:substreet}</div><div>{addr:street}</div><div>{addr:parentstreet}</div><div style='color: #4e7ce8'>[Suburb]</div><div style='color: #4e7ce8'>[Town]</div><div style='color: #4e7ce8'>[Postal code]</div></div>"
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
"startLon": 0,
|
"startLon": 0,
|
||||||
"startZoom": 1,
|
"startZoom": 1,
|
||||||
"widenFactor": 2,
|
"widenFactor": 2,
|
||||||
"socialImage": "",
|
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"builtin": "waste_basket",
|
"builtin": "waste_basket",
|
||||||
|
|
|
@ -183,16 +183,16 @@
|
||||||
"Cycle barrier type": {
|
"Cycle barrier type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Einfach, nur zwei Barrieren mit einem Zwischenraum <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"then": "Einfach, nur zwei Barrieren mit einem Zwischenraum"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Doppelt, zwei Barrieren hintereinander <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>"
|
"then": "Doppelt, zwei Barrieren hintereinander"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Dreifach, drei Barrieren hintereinander <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"then": "Dreifach, drei Barrieren hintereinander"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Eine Durchfahrtsbeschränkung, Durchfahrtsbreite ist oben kleiner als unten <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"then": "Eine Durchfahrtsbeschränkung, Durchfahrtsbreite ist oben kleiner als unten"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Um welche Art Fahrradhindernis handelt es sich?"
|
"question": "Um welche Art Fahrradhindernis handelt es sich?"
|
||||||
|
@ -574,25 +574,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Fahrradbügel <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Fahrradbügel"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Metallgestänge <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Metallgestänge"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Halter für Fahrradlenker <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Halter für Fahrradlenker"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Gestell <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Gestell"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Zweistufig <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Zweistufig"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Schuppen <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Schuppen"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Poller <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "Poller"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "Ein Bereich auf dem Boden, der für das Abstellen von Fahrrädern gekennzeichnet ist"
|
"then": "Ein Bereich auf dem Boden, der für das Abstellen von Fahrrädern gekennzeichnet ist"
|
||||||
|
@ -1242,7 +1242,7 @@
|
||||||
"crossing-continue-through-red": {
|
"crossing-continue-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Ein Radfahrer kann bei roter Ampel geradeaus fahren <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
|
"then": "Ein Radfahrer kann bei roter Ampel geradeaus fahren"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Ein Radfahrer kann bei roter Ampel geradeaus fahren"
|
"then": "Ein Radfahrer kann bei roter Ampel geradeaus fahren"
|
||||||
|
@ -1278,7 +1278,7 @@
|
||||||
"crossing-right-turn-through-red": {
|
"crossing-right-turn-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Ein Radfahrer kann bei roter Ampel rechts abbiegen <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
|
"then": "Ein Radfahrer kann bei roter Ampel rechts abbiegen"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Ein Radfahrer kann bei roter Ampel rechts abbiegen"
|
"then": "Ein Radfahrer kann bei roter Ampel rechts abbiegen"
|
||||||
|
@ -1559,16 +1559,16 @@
|
||||||
"cycleway-lane-track-traffic-signs": {
|
"cycleway-lane-track-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Vorgeschriebener Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Vorgeschriebener Radweg"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Vorgeschriebener Radweg (mit Zusatzschild)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"then": "Vorgeschriebener Radweg (mit Zusatzschild)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Getrennter Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Getrennter Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Gemeinsamer Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Gemeinsamer Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Kein Verkehrsschild vorhanden"
|
"then": "Kein Verkehrsschild vorhanden"
|
||||||
|
@ -1596,16 +1596,16 @@
|
||||||
"cycleway-traffic-signs": {
|
"cycleway-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Vorgeschriebener Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Vorgeschriebener Radweg"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Vorgeschriebener Radweg (mit Zusatzschild)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"then": "Vorgeschriebener Radweg (mit Zusatzschild)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Getrennter Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Getrennter Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Gemeinsamer Fuß-/Radweg <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Gemeinsamer Fuß-/Radweg"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Kein Verkehrsschild vorhanden"
|
"then": "Kein Verkehrsschild vorhanden"
|
||||||
|
@ -1613,17 +1613,6 @@
|
||||||
},
|
},
|
||||||
"question": "Welches Verkehrszeichen hat dieser Radweg?"
|
"question": "Welches Verkehrszeichen hat dieser Radweg?"
|
||||||
},
|
},
|
||||||
"cycleway-traffic-signs-D7-supplementary": {
|
|
||||||
"mappings": {
|
|
||||||
"1": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"then": "Kein zusätzliches Verkehrszeichen vorhanden"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"question": "Hat das Verkehrszeichen D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) ein Zusatzzeichen?"
|
|
||||||
},
|
|
||||||
"cycleway-traffic-signs-supplementary": {
|
"cycleway-traffic-signs-supplementary": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"6": {
|
"6": {
|
||||||
|
@ -2135,16 +2124,16 @@
|
||||||
"then": "Der Typ des Hydranten ist unbekannt."
|
"then": "Der Typ des Hydranten ist unbekannt."
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Säulenart."
|
"then": "Säulenart."
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Rohrtyp."
|
"then": "Rohrtyp."
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Wandtyp."
|
"then": "Wandtyp."
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Untergrundtyp."
|
"then": "Untergrundtyp."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Um welche Art von Hydrant handelt es sich?",
|
"question": "Um welche Art von Hydrant handelt es sich?",
|
||||||
|
|
|
@ -183,16 +183,16 @@
|
||||||
"Cycle barrier type": {
|
"Cycle barrier type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Single, just two barriers with a space inbetween <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"then": "Single, just two barriers with a space inbetween"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Double, two barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>"
|
"then": "Double, two barriers behind each other"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Triple, three barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"then": "Triple, three barriers behind each other"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Squeeze gate, gap is smaller at top, than at the bottom <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"then": "Squeeze gate, gap is smaller at top, than at the bottom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What kind of cycling barrier is this?"
|
"question": "What kind of cycling barrier is this?"
|
||||||
|
@ -687,25 +687,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Staple racks"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Wheel rack/loops <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Wheel rack/loops"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Handlebar holder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Handlebar holder"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Rack <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Rack"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Two-tiered <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Two-tiered"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Shed <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Shed"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Bollard <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "Bollard"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "An area on the floor which is marked for bicycle parking"
|
"then": "An area on the floor which is marked for bicycle parking"
|
||||||
|
@ -1351,7 +1351,7 @@
|
||||||
"name": "Charging stations",
|
"name": "Charging stations",
|
||||||
"presets": {
|
"presets": {
|
||||||
"0": {
|
"0": {
|
||||||
"title": "charging station with a normal european wall plug <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)"
|
"title": "charging station for electrical bikes with a normal european wall plug <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"title": "charging station for cars"
|
"title": "charging station for cars"
|
||||||
|
@ -1394,100 +1394,100 @@
|
||||||
"Available_charging_stations (generated)": {
|
"Available_charging_stations (generated)": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/CEE7_4F.svg'/> <span><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</span></div>"
|
"then": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F)"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/CEE7_4F.svg'/> <span><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</span></div>"
|
"then": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/TypeE.svg'/> <span><b>European wall plug</b> with ground pin (CEE7/4 type E)</span></div>"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/TypeE.svg'/> <span><b>European wall plug</b> with ground pin (CEE7/4 type E)</span></div>"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Chademo_type4.svg'/> <span><b>Chademo</b></span></div>"
|
"then": "<b>Chademo</b>"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Chademo_type4.svg'/> <span><b>Chademo</b></span></div>"
|
"then": "<b>Chademo</b>"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 with cable</b> (J1772)</span></div>"
|
"then": "<b>Type 1 with cable</b> (J1772)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 with cable</b> (J1772)</span></div>"
|
"then": "<b>Type 1 with cable</b> (J1772)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 <i>without</i> cable</b> (J1772)</span></div>"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 <i>without</i> cable</b> (J1772)</span></div>"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1-ccs.svg'/> <span><b>Type 1 CCS</b> (aka Type 1 Combo)</span></div>"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1-ccs.svg'/> <span><b>Type 1 CCS</b> (aka Type 1 Combo)</span></div>"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger</b></span></div>"
|
"then": "<b>Tesla Supercharger</b>"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger</b></span></div>"
|
"then": "<b>Tesla Supercharger</b>"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_socket.svg'/> <span><b>Type 2</b> (mennekes)</span></div>"
|
"then": "<b>Type 2</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_socket.svg'/> <span><b>Type 2</b> (mennekes)</span></div>"
|
"then": "<b>Type 2</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Type 2 CCS</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 CCS</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Type 2 CCS</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 CCS</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Type 2 with cable</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 with cable</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Type 2 with cable</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 with cable</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Tesla Supercharger CCS</b> (a branded type2_css)</span></div>"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Tesla Supercharger CCS</b> (a branded type2_css)</span></div>"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger (destination)</b></span></div>"
|
"then": "<b>Tesla Supercharger (destination)</b>"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger (destination)</b></span></div>"
|
"then": "<b>Tesla Supercharger (destination)</b>"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</span></div>"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</span></div>"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/usb_port.svg'/> <span><b>USB</b> to charge phones and small electronics</span></div>"
|
"then": "<b>USB</b> to charge phones and small electronics"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/usb_port.svg'/> <span><b>USB</b> to charge phones and small electronics</span></div>"
|
"then": "<b>USB</b> to charge phones and small electronics"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-3pin.svg'/> <span><b>Bosch Active Connect with 3 pins</b> and cable</span></div>"
|
"then": "<b>Bosch Active Connect with 3 pins</b> and cable"
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-3pin.svg'/> <span><b>Bosch Active Connect with 3 pins</b> and cable</span></div>"
|
"then": "<b>Bosch Active Connect with 3 pins</b> and cable"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-5pin.svg'/> <span><b>Bosch Active Connect with 5 pins</b> and cable</span></div>"
|
"then": "<b>Bosch Active Connect with 5 pins</b> and cable"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-5pin.svg'/> <span><b>Bosch Active Connect with 5 pins</b> and cable</span></div>"
|
"then": "<b>Bosch Active Connect with 5 pins</b> and cable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Which charging connections are available here?"
|
"question": "Which charging connections are available here?"
|
||||||
|
@ -1601,7 +1601,7 @@
|
||||||
"current-0": {
|
"current-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> outputs at most 16 A"
|
"then": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 16 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
||||||
|
@ -1610,7 +1610,7 @@
|
||||||
"current-1": {
|
"current-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> outputs at most 16 A"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 16 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
||||||
|
@ -1619,10 +1619,10 @@
|
||||||
"current-10": {
|
"current-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 125 A"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 350 A"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -1631,10 +1631,10 @@
|
||||||
"current-11": {
|
"current-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 125 A"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs at most 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 350 A"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs at most 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -1643,10 +1643,10 @@
|
||||||
"current-12": {
|
"current-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 16 A"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 32 A"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -1655,10 +1655,10 @@
|
||||||
"current-13": {
|
"current-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs at most 1 A"
|
"then": "<b>USB</b> to charge phones and small electronics outputs at most 1 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs at most 2 A"
|
"then": "<b>USB</b> to charge phones and small electronics outputs at most 2 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
||||||
|
@ -1675,7 +1675,7 @@
|
||||||
"current-2": {
|
"current-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> outputs at most 120 A"
|
"then": "<b>Chademo</b> outputs at most 120 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
||||||
|
@ -1684,7 +1684,7 @@
|
||||||
"current-3": {
|
"current-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 32 A"
|
"then": "<b>Type 1 with cable</b> (J1772) outputs at most 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -1693,7 +1693,7 @@
|
||||||
"current-4": {
|
"current-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 32 A"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -1702,10 +1702,10 @@
|
||||||
"current-5": {
|
"current-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 50 A"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 125 A"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 125 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
||||||
|
@ -1714,10 +1714,10 @@
|
||||||
"current-6": {
|
"current-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 125 A"
|
"then": "<b>Tesla Supercharger</b> outputs at most 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 350 A"
|
"then": "<b>Tesla Supercharger</b> outputs at most 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -1726,10 +1726,10 @@
|
||||||
"current-7": {
|
"current-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs at most 16 A"
|
"then": "<b>Type 2</b> (mennekes) outputs at most 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs at most 32 A"
|
"then": "<b>Type 2</b> (mennekes) outputs at most 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
||||||
|
@ -1738,10 +1738,10 @@
|
||||||
"current-8": {
|
"current-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 125 A"
|
"then": "<b>Type 2 CCS</b> (mennekes) outputs at most 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 350 A"
|
"then": "<b>Type 2 CCS</b> (mennekes) outputs at most 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -1750,10 +1750,10 @@
|
||||||
"current-9": {
|
"current-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 16 A"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs at most 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 32 A"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs at most 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What current do the plugs with <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -1863,7 +1863,7 @@
|
||||||
"power-output-0": {
|
"power-output-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> outputs at most 3.6 kw"
|
"then": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs at most 3.6 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
||||||
|
@ -1872,10 +1872,10 @@
|
||||||
"power-output-1": {
|
"power-output-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> outputs at most 3 kw"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 3 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> outputs at most 22 kw"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs at most 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
||||||
|
@ -1884,7 +1884,7 @@
|
||||||
"power-output-10": {
|
"power-output-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 50 kw"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs at most 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -1893,13 +1893,13 @@
|
||||||
"power-output-11": {
|
"power-output-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 120 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs at most 120 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 150 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs at most 150 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 250 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs at most 250 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -1908,10 +1908,10 @@
|
||||||
"power-output-12": {
|
"power-output-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 11 kw"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 22 kw"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs at most 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -1920,10 +1920,10 @@
|
||||||
"power-output-13": {
|
"power-output-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs at most 5w"
|
"then": "<b>USB</b> to charge phones and small electronics outputs at most 5w A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs at most 10w"
|
"then": "<b>USB</b> to charge phones and small electronics outputs at most 10w A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
||||||
|
@ -1940,7 +1940,7 @@
|
||||||
"power-output-2": {
|
"power-output-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> outputs at most 50 kw"
|
"then": "<b>Chademo</b> outputs at most 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
||||||
|
@ -1949,10 +1949,10 @@
|
||||||
"power-output-3": {
|
"power-output-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 3.7 kw"
|
"then": "<b>Type 1 with cable</b> (J1772) outputs at most 3.7 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 7 kw"
|
"then": "<b>Type 1 with cable</b> (J1772) outputs at most 7 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -1961,16 +1961,16 @@
|
||||||
"power-output-4": {
|
"power-output-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 3.7 kw"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 3.7 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 6.6 kw"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 6.6 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 7 kw"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7 kw A"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs at most 7.2 kw"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs at most 7.2 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -1979,16 +1979,16 @@
|
||||||
"power-output-5": {
|
"power-output-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 50 kw"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 50 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 62.5 kw"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 62.5 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 150 kw"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 150 kw A"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs at most 350 kw"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs at most 350 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
||||||
|
@ -1997,13 +1997,13 @@
|
||||||
"power-output-6": {
|
"power-output-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 120 kw"
|
"then": "<b>Tesla Supercharger</b> outputs at most 120 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 150 kw"
|
"then": "<b>Tesla Supercharger</b> outputs at most 150 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs at most 250 kw"
|
"then": "<b>Tesla Supercharger</b> outputs at most 250 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -2012,10 +2012,10 @@
|
||||||
"power-output-7": {
|
"power-output-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs at most 11 kw"
|
"then": "<b>Type 2</b> (mennekes) outputs at most 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs at most 22 kw"
|
"then": "<b>Type 2</b> (mennekes) outputs at most 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
||||||
|
@ -2024,7 +2024,7 @@
|
||||||
"power-output-8": {
|
"power-output-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs at most 50 kw"
|
"then": "<b>Type 2 CCS</b> (mennekes) outputs at most 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -2033,10 +2033,10 @@
|
||||||
"power-output-9": {
|
"power-output-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 11 kw"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs at most 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most 22 kw"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs at most 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What power output does a single plug of type <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -2052,7 +2052,7 @@
|
||||||
"voltage-0": {
|
"voltage-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> outputs 230 volt"
|
"then": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F) outputs 230 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> offer?",
|
||||||
|
@ -2061,7 +2061,7 @@
|
||||||
"voltage-1": {
|
"voltage-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> outputs 230 volt"
|
"then": "<b>European wall plug</b> with ground pin (CEE7/4 type E) outputs 230 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> offer?",
|
||||||
|
@ -2070,10 +2070,10 @@
|
||||||
"voltage-10": {
|
"voltage-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs 500 volt"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 500 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs 920 volt"
|
"then": "<b>Tesla Supercharger CCS</b> (a branded type2_css) outputs 920 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -2082,7 +2082,7 @@
|
||||||
"voltage-11": {
|
"voltage-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs 480 volt"
|
"then": "<b>Tesla Supercharger (destination)</b> outputs 480 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -2091,10 +2091,10 @@
|
||||||
"voltage-12": {
|
"voltage-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs 230 volt"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs 400 volt"
|
"then": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla) outputs 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -2103,7 +2103,7 @@
|
||||||
"voltage-13": {
|
"voltage-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs 5 volt"
|
"then": "<b>USB</b> to charge phones and small electronics outputs 5 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
||||||
|
@ -2120,7 +2120,7 @@
|
||||||
"voltage-2": {
|
"voltage-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> outputs 500 volt"
|
"then": "<b>Chademo</b> outputs 500 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> offer?",
|
||||||
|
@ -2129,10 +2129,10 @@
|
||||||
"voltage-3": {
|
"voltage-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs 200 volt"
|
"then": "<b>Type 1 with cable</b> (J1772) outputs 200 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs 240 volt"
|
"then": "<b>Type 1 with cable</b> (J1772) outputs 240 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -2141,10 +2141,10 @@
|
||||||
"voltage-4": {
|
"voltage-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs 200 volt"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs 200 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> outputs 240 volt"
|
"then": "<b>Type 1 <i>without</i> cable</b> (J1772) outputs 240 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> offer?",
|
||||||
|
@ -2153,10 +2153,10 @@
|
||||||
"voltage-5": {
|
"voltage-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs 400 volt"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs 400 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> outputs 1000 volt"
|
"then": "<b>Type 1 CCS</b> (aka Type 1 Combo) outputs 1000 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> offer?",
|
||||||
|
@ -2165,7 +2165,7 @@
|
||||||
"voltage-6": {
|
"voltage-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> outputs 480 volt"
|
"then": "<b>Tesla Supercharger</b> outputs 480 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
|
||||||
|
@ -2174,10 +2174,10 @@
|
||||||
"voltage-7": {
|
"voltage-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs 230 volt"
|
"then": "<b>Type 2</b> (mennekes) outputs 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> outputs 400 volt"
|
"then": "<b>Type 2</b> (mennekes) outputs 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> offer?",
|
||||||
|
@ -2186,10 +2186,10 @@
|
||||||
"voltage-8": {
|
"voltage-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs 500 volt"
|
"then": "<b>Type 2 CCS</b> (mennekes) outputs 500 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> outputs 920 volt"
|
"then": "<b>Type 2 CCS</b> (mennekes) outputs 920 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> offer?",
|
||||||
|
@ -2198,10 +2198,10 @@
|
||||||
"voltage-9": {
|
"voltage-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs 230 volt"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs 400 volt"
|
"then": "<b>Type 2 with cable</b> (mennekes) outputs 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
"question": "What voltage do the plugs with <div style='display: inline-block'><b><b>Type 2 with cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
|
||||||
|
@ -2215,7 +2215,7 @@
|
||||||
"title": {
|
"title": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Charging station for ebikes"
|
"then": "Charging station for electrical bicycles"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Charging station for cars"
|
"then": "Charging station for cars"
|
||||||
|
@ -2305,7 +2305,7 @@
|
||||||
"crossing-continue-through-red": {
|
"crossing-continue-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "A cyclist can go straight on if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
|
"then": "A cyclist can go straight on if the light is red"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "A cyclist can go straight on if the light is red"
|
"then": "A cyclist can go straight on if the light is red"
|
||||||
|
@ -2341,7 +2341,7 @@
|
||||||
"crossing-right-turn-through-red": {
|
"crossing-right-turn-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "A cyclist can turn right if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
|
"then": "A cyclist can turn right if the light is red"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "A cyclist can turn right if the light is red"
|
"then": "A cyclist can turn right if the light is red"
|
||||||
|
@ -2626,16 +2626,16 @@
|
||||||
"cycleway-lane-track-traffic-signs": {
|
"cycleway-lane-track-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Compulsory cycleway"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"then": "Compulsory cycleway (with supplementary sign)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Segregated foot/cycleway"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Unsegregated foot/cycleway"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "No traffic sign present"
|
"then": "No traffic sign present"
|
||||||
|
@ -2663,16 +2663,16 @@
|
||||||
"cycleway-traffic-signs": {
|
"cycleway-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Compulsory cycleway"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"then": "Compulsory cycleway (with supplementary sign)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Segregated foot/cycleway"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Unsegregated foot/cycleway"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "No traffic sign present"
|
"then": "No traffic sign present"
|
||||||
|
@ -2680,51 +2680,25 @@
|
||||||
},
|
},
|
||||||
"question": "What traffic sign does this cycleway have?"
|
"question": "What traffic sign does this cycleway have?"
|
||||||
},
|
},
|
||||||
"cycleway-traffic-signs-D7-supplementary": {
|
|
||||||
"mappings": {
|
|
||||||
"0": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"then": "No supplementary traffic sign present"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"question": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?"
|
|
||||||
},
|
|
||||||
"cycleway-traffic-signs-supplementary": {
|
"cycleway-traffic-signs-supplementary": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
"then": "Mopeds must use the cycleway"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
"then": "Speedpedelecs must use the cycleway"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
"then": "Mopeds and speedpedelecs must use the cycleway"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
"then": "Mopeds are not allowed"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
"then": "Speedpedelecs are not allowed"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
"then": "Mopeds and speedpedelecs are not allowed"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "No supplementary traffic sign present"
|
"then": "No supplementary traffic sign present"
|
||||||
|
@ -3512,16 +3486,16 @@
|
||||||
"then": "The hydrant type is unknown."
|
"then": "The hydrant type is unknown."
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Pillar type."
|
"then": "Pillar type."
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Pipe type."
|
"then": "Pipe type."
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Wall type."
|
"then": "Wall type."
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Underground type."
|
"then": "Underground type."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "What type of hydrant is it?",
|
"question": "What type of hydrant is it?",
|
||||||
|
|
|
@ -183,16 +183,16 @@
|
||||||
"Cycle barrier type": {
|
"Cycle barrier type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Simple, deux barrières côte à côte <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"then": "Simple, deux barrières côte à côte"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Double, deux barrières successives"
|
"then": "Double, deux barrières successives"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Triple, trois barrières successives <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"then": "Triple, trois barrières successives"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Poire, l’espace en hauteur est plus faible qu’au sol <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"then": "Poire, l’espace en hauteur est plus faible qu’au sol"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Quel est ce type de barrière cyclable ?"
|
"question": "Quel est ce type de barrière cyclable ?"
|
||||||
|
@ -539,25 +539,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Arceaux <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Arceaux"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Pinces-roues <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Pinces-roues"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Support guidon <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Support guidon"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Râtelier <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Râtelier"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Superposé <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Superposé"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Abri <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Abri"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Potelet <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "Potelet"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "Zone au sol qui est marquée pour le stationnement des vélos"
|
"then": "Zone au sol qui est marquée pour le stationnement des vélos"
|
||||||
|
@ -1438,16 +1438,16 @@
|
||||||
"then": "La borne est de type inconnu."
|
"then": "La borne est de type inconnu."
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Pilier."
|
"then": "Pilier."
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Tuyau."
|
"then": "Tuyau."
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Mural."
|
"then": "Mural."
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Enterré."
|
"then": "Enterré."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "De quel type de borne s’agit-il ?",
|
"question": "De quel type de borne s’agit-il ?",
|
||||||
|
|
|
@ -89,22 +89,22 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "De roda (Stands) <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "De roda (Stands)"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Aros <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Aros"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Cadeado para guiador <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Cadeado para guiador"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Cremalleira <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Cremalleira"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Dobre cremalleira <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Dobre cremalleira"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Abeiro <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Abeiro"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Que tipo de aparcadoiro de bicicletas é?",
|
"question": "Que tipo de aparcadoiro de bicicletas é?",
|
||||||
|
|
|
@ -183,16 +183,16 @@
|
||||||
"Cycle barrier type": {
|
"Cycle barrier type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Egyszeres: csak két korlát, közöttük térköz <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"then": "Egyszeres: csak két korlát, közöttük térköz"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Kétszeres: két, egymáshoz képest eltolt korlát egymás után <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>"
|
"then": "Kétszeres: két, egymáshoz képest eltolt korlát egymás után"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Háromszoros: három, egymáshoz képest eltolt korlát egymás után <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"then": "Háromszoros: három, egymáshoz képest eltolt korlát egymás után"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Szűkítőkapu: a rés felül keskenyebb, mint alul <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"then": "Szűkítőkapu: a rés felül keskenyebb, mint alul"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Milyen fajta kerékpárakadály ez?"
|
"question": "Milyen fajta kerékpárakadály ez?"
|
||||||
|
@ -397,16 +397,16 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Korlát <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Korlát"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Kerékbefogó hurok <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Kerékbefogó hurok"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Kétszintű <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Kétszintű"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Fészer <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Fészer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Milyen típusú ez a kerékpártároló?",
|
"question": "Milyen típusú ez a kerékpártároló?",
|
||||||
|
|
|
@ -228,16 +228,16 @@
|
||||||
"cycleway-lane-track-traffic-signs": {
|
"cycleway-lane-track-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Jalur sepeda wajib <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Jalur sepeda wajib"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Jalur sepeda wajib (dengan tanda tambahan)<br><img src ='./aset/tema/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> "
|
"then": "Jalur sepeda wajib (dengan tanda tambahan)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Jalur pejalan kaki/sepeda terpisah <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Jalur pejalan kaki/sepeda terpisah"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Jalur pejalan kaki/sepeda tidak terpisah <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Jalur pejalan kaki/sepeda tidak terpisah"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Tidak ada rambu lalu lintas"
|
"then": "Tidak ada rambu lalu lintas"
|
||||||
|
@ -265,7 +265,7 @@
|
||||||
"cycleway-traffic-signs": {
|
"cycleway-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Jalur sepeda wajib <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Jalur sepeda wajib"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@
|
||||||
"hydrant-type": {
|
"hydrant-type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Jenis dinding."
|
"then": "Jenis dinding."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -419,25 +419,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Archetti <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Archetti"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Scolapiatti <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Scolapiatti"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Blocca manubrio <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Blocca manubrio"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Rastrelliera <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Rastrelliera"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "A due piani <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "A due piani"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Rimessa <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Rimessa"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Colonnina <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "Colonnina"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "Una zona del pavimento che è marcata per il parcheggio delle bici"
|
"then": "Una zona del pavimento che è marcata per il parcheggio delle bici"
|
||||||
|
@ -1126,16 +1126,16 @@
|
||||||
"then": "Il tipo di idrante è sconosciuto."
|
"then": "Il tipo di idrante è sconosciuto."
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> Soprasuolo."
|
"then": "Soprasuolo."
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Tubo."
|
"then": "Tubo."
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> A muro."
|
"then": "A muro."
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" /> Sottosuolo."
|
"then": "Sottosuolo."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Di che tipo è questo idrante?",
|
"question": "Di che tipo è questo idrante?",
|
||||||
|
|
|
@ -276,16 +276,16 @@
|
||||||
"then": "消火栓の種類は不明です。"
|
"then": "消火栓の種類は不明です。"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_pillar.svg\" /> ピラー型。"
|
"then": "ピラー型。"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> パイプ型。"
|
"then": "パイプ型。"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> 壁型。"
|
"then": "壁型。"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_underground.svg\" />地下式。"
|
"then": "地下式。"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "どんな消火栓なんですか?",
|
"question": "どんな消火栓なんですか?",
|
||||||
|
|
|
@ -183,16 +183,16 @@
|
||||||
"Cycle barrier type": {
|
"Cycle barrier type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Enkelvoudig, slechts twee hekjes met ruimte ertussen <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
|
"then": "Enkelvoudig, slechts twee hekjes met ruimte ertussen"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Dubbel, twee hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>"
|
"then": "Dubbel, twee hekjes achter elkaar"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Drievoudig, drie hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
|
"then": "Drievoudig, drie hekjes achter elkaar"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Knijppoort, ruimte is smaller aan de top, dan aan de bodem <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
|
"then": "Knijppoort, ruimte is smaller aan de top, dan aan de bodem"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Wat voor fietshekjes zijn dit?"
|
"question": "Wat voor fietshekjes zijn dit?"
|
||||||
|
@ -687,25 +687,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Nietjes <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "Nietjes"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Wielrek/lussen <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "Wielrek/lussen"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Stuurhouder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "Stuurhouder"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Rek <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Rek"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Dubbel (twee verdiepingen) <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Dubbel (twee verdiepingen)"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Schuur <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Schuur"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Paal met ring <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "Paal met ring"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "Een oppervlakte die gemarkeerd is om fietsen te parkeren"
|
"then": "Een oppervlakte die gemarkeerd is om fietsen te parkeren"
|
||||||
|
@ -1343,7 +1343,7 @@
|
||||||
"question": "Heeft een <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
|
"question": "Heeft een <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"question": "Heeft een <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
|
"question": "Heeft een <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"question": "Heeft een <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
|
"question": "Heeft een <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
|
||||||
|
@ -1360,7 +1360,7 @@
|
||||||
"name": "Oplaadpunten",
|
"name": "Oplaadpunten",
|
||||||
"presets": {
|
"presets": {
|
||||||
"0": {
|
"0": {
|
||||||
"title": "laadpunt voor elektrische fietsen met gewone stekker(s)"
|
"title": "oplaadpunt voor elektrische fietsen"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"title": "oplaadstation voor elektrische auto's"
|
"title": "oplaadstation voor elektrische auto's"
|
||||||
|
@ -1403,103 +1403,103 @@
|
||||||
"Available_charging_stations (generated)": {
|
"Available_charging_stations (generated)": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/CEE7_4F.svg'/> <span><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</span></div>"
|
"then": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/CEE7_4F.svg'/> <span><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</span></div>"
|
"then": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/TypeE.svg'/> <span><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</span></div>"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/TypeE.svg'/> <span><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</span></div>"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Chademo_type4.svg'/> <span><b>Chademo</b></span></div>"
|
"then": "<b>Chademo</b>"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Chademo_type4.svg'/> <span><b>Chademo</b></span></div>"
|
"then": "<b>Chademo</b>"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 met kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 1 met kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 met kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 1 met kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"8": {
|
"8": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 <i>zonder</i> kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1_J1772.svg'/> <span><b>Type 1 <i>zonder</i> kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"10": {
|
"10": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1-ccs.svg'/> <span><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</span></div>"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)"
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type1-ccs.svg'/> <span><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</span></div>"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)"
|
||||||
},
|
},
|
||||||
"12": {
|
"12": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger</b></span></div>"
|
"then": "<b>Tesla Supercharger</b>"
|
||||||
},
|
},
|
||||||
"13": {
|
"13": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger</b></span></div>"
|
"then": "<b>Tesla Supercharger</b>"
|
||||||
},
|
},
|
||||||
"14": {
|
"14": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_socket.svg'/> <span><b>Type 2</b> (mennekes)</span></div>"
|
"then": "<b>Type 2</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"15": {
|
"15": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_socket.svg'/> <span><b>Type 2</b> (mennekes)</span></div>"
|
"then": "<b>Type 2</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"16": {
|
"16": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Type 2 CCS</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 CCS</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"17": {
|
"17": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Type 2 CCS</b> (mennekes)</span></div>"
|
"then": "<b>Type 2 CCS</b> (mennekes)"
|
||||||
},
|
},
|
||||||
"18": {
|
"18": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Type 2 met kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 2 met kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"19": {
|
"19": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Type 2 met kabel</b> (J1772)</span></div>"
|
"then": "<b>Type 2 met kabel</b> (J1772)"
|
||||||
},
|
},
|
||||||
"20": {
|
"20": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</span></div>"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)"
|
||||||
},
|
},
|
||||||
"21": {
|
"21": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_CCS.svg'/> <span><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</span></div>"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)"
|
||||||
},
|
},
|
||||||
"22": {
|
"22": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger (destination)</b></span></div>"
|
"then": "<b>Tesla Supercharger (destination)</b>"
|
||||||
},
|
},
|
||||||
"23": {
|
"23": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <span><b>Tesla Supercharger (destination)</b></span></div>"
|
"then": "<b>Tesla Supercharger (destination)</b>"
|
||||||
},
|
},
|
||||||
"24": {
|
"24": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</span></div>"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)"
|
||||||
},
|
},
|
||||||
"25": {
|
"25": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/Type2_tethered.svg'/> <span><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</span></div>"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)"
|
||||||
},
|
},
|
||||||
"26": {
|
"26": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/usb_port.svg'/> <span><b>USB</b> om GSMs en kleine electronica op te laden</span></div>"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden"
|
||||||
},
|
},
|
||||||
"27": {
|
"27": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/usb_port.svg'/> <span><b>USB</b> om GSMs en kleine electronica op te laden</span></div>"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden"
|
||||||
},
|
},
|
||||||
"28": {
|
"28": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-3pin.svg'/> <span><b>Bosch Active Connect met 3 pinnen</b> aan een kabel</span></div>"
|
"then": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel"
|
||||||
},
|
},
|
||||||
"29": {
|
"29": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-3pin.svg'/> <span><b>Bosch Active Connect met 3 pinnen</b> aan een kabel</span></div>"
|
"then": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel"
|
||||||
},
|
},
|
||||||
"30": {
|
"30": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-5pin.svg'/> <span><b>Bosch Active Connect met 5 pinnen</b> aan een kabel</span></div>"
|
"then": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel"
|
||||||
},
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"then": "<div class='flex'><img class='w-12 mx-4' src='./assets/layers/charging_station/bosch-5pin.svg'/> <span><b>Bosch Active Connect met 5 pinnen</b> aan een kabel</span></div>"
|
"then": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke aansluitingen zijn hier beschikbaar?"
|
"question": "Welke laadaansluitingen zijn hier beschikbaar?"
|
||||||
},
|
},
|
||||||
"Network": {
|
"Network": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
|
@ -1610,7 +1610,7 @@
|
||||||
"current-0": {
|
"current-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> levert een stroom van maximaal 16 A"
|
"then": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F) levert een stroom van maximaal 16 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>?",
|
||||||
|
@ -1619,7 +1619,7 @@
|
||||||
"current-1": {
|
"current-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> levert een stroom van maximaal 16 A"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E) levert een stroom van maximaal 16 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>?",
|
||||||
|
@ -1628,10 +1628,10 @@
|
||||||
"current-10": {
|
"current-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een stroom van maximaal 125 A"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo) levert een stroom van maximaal 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een stroom van maximaal 350 A"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo) levert een stroom van maximaal 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
||||||
|
@ -1640,10 +1640,10 @@
|
||||||
"current-11": {
|
"current-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een stroom van maximaal 125 A"
|
"then": "<b>Tesla Supercharger (destination)</b> levert een stroom van maximaal 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een stroom van maximaal 350 A"
|
"then": "<b>Tesla Supercharger (destination)</b> levert een stroom van maximaal 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
||||||
|
@ -1652,22 +1652,22 @@
|
||||||
"current-12": {
|
"current-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal 16 A"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal 32 A"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
||||||
"render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal {socket:tesla_destination:current}A"
|
"render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal {socket:tesla_destination:current}A"
|
||||||
},
|
},
|
||||||
"current-13": {
|
"current-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> levert een stroom van maximaal 1 A"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden levert een stroom van maximaal 1 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> levert een stroom van maximaal 2 A"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden levert een stroom van maximaal 2 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?",
|
||||||
|
@ -1684,7 +1684,7 @@
|
||||||
"current-2": {
|
"current-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> levert een stroom van maximaal 120 A"
|
"then": "<b>Chademo</b> levert een stroom van maximaal 120 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?",
|
||||||
|
@ -1693,7 +1693,7 @@
|
||||||
"current-3": {
|
"current-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een stroom van maximaal 32 A"
|
"then": "<b>Type 1 met kabel</b> (J1772) levert een stroom van maximaal 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
||||||
|
@ -1702,7 +1702,7 @@
|
||||||
"current-4": {
|
"current-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een stroom van maximaal 32 A"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) levert een stroom van maximaal 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
||||||
|
@ -1711,10 +1711,10 @@
|
||||||
"current-5": {
|
"current-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een stroom van maximaal 50 A"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een stroom van maximaal 50 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een stroom van maximaal 125 A"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een stroom van maximaal 125 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>?",
|
||||||
|
@ -1723,10 +1723,10 @@
|
||||||
"current-6": {
|
"current-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een stroom van maximaal 125 A"
|
"then": "<b>Tesla Supercharger</b> levert een stroom van maximaal 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een stroom van maximaal 350 A"
|
"then": "<b>Tesla Supercharger</b> levert een stroom van maximaal 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
||||||
|
@ -1735,10 +1735,10 @@
|
||||||
"current-7": {
|
"current-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> levert een stroom van maximaal 16 A"
|
"then": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> levert een stroom van maximaal 32 A"
|
"then": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>?",
|
||||||
|
@ -1747,10 +1747,10 @@
|
||||||
"current-8": {
|
"current-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een stroom van maximaal 125 A"
|
"then": "<b>Type 2 CCS</b> (mennekes) levert een stroom van maximaal 125 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een stroom van maximaal 350 A"
|
"then": "<b>Type 2 CCS</b> (mennekes) levert een stroom van maximaal 350 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
||||||
|
@ -1759,10 +1759,10 @@
|
||||||
"current-9": {
|
"current-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal 16 A"
|
"then": "<b>Type 2 met kabel</b> (J1772) levert een stroom van maximaal 16 A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een stroom van maximaal 32 A"
|
"then": "<b>Type 2 met kabel</b> (J1772) levert een stroom van maximaal 32 A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
"question": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
||||||
|
@ -1822,7 +1822,7 @@
|
||||||
"render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
|
"render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
|
||||||
},
|
},
|
||||||
"plugs-12": {
|
"plugs-12": {
|
||||||
"question": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft dit oplaadpunt?",
|
"question": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft dit oplaadpunt?",
|
||||||
"render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
|
"render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
|
||||||
},
|
},
|
||||||
"plugs-13": {
|
"plugs-13": {
|
||||||
|
@ -1872,7 +1872,7 @@
|
||||||
"power-output-0": {
|
"power-output-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> levert een vermogen van maximaal 3.6 kw"
|
"then": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F) levert een vermogen van maximaal 3.6 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>?",
|
||||||
|
@ -1881,10 +1881,10 @@
|
||||||
"power-output-1": {
|
"power-output-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> levert een vermogen van maximaal 3 kw"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E) levert een vermogen van maximaal 3 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> levert een vermogen van maximaal 22 kw"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E) levert een vermogen van maximaal 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>?",
|
||||||
|
@ -1893,7 +1893,7 @@
|
||||||
"power-output-10": {
|
"power-output-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een vermogen van maximaal 50 kw"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo) levert een vermogen van maximaal 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
||||||
|
@ -1902,13 +1902,13 @@
|
||||||
"power-output-11": {
|
"power-output-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 120 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> levert een vermogen van maximaal 120 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 150 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> levert een vermogen van maximaal 150 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 250 kw"
|
"then": "<b>Tesla Supercharger (destination)</b> levert een vermogen van maximaal 250 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
||||||
|
@ -1917,10 +1917,10 @@
|
||||||
"power-output-12": {
|
"power-output-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal 11 kw"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een vermogen van maximaal 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal 22 kw"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een vermogen van maximaal 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
||||||
|
@ -1929,10 +1929,10 @@
|
||||||
"power-output-13": {
|
"power-output-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> levert een vermogen van maximaal 5w"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden levert een vermogen van maximaal 5w A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> levert een vermogen van maximaal 10w"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden levert een vermogen van maximaal 10w A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?",
|
||||||
|
@ -1949,7 +1949,7 @@
|
||||||
"power-output-2": {
|
"power-output-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> levert een vermogen van maximaal 50 kw"
|
"then": "<b>Chademo</b> levert een vermogen van maximaal 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?",
|
||||||
|
@ -1958,10 +1958,10 @@
|
||||||
"power-output-3": {
|
"power-output-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 3.7 kw"
|
"then": "<b>Type 1 met kabel</b> (J1772) levert een vermogen van maximaal 3.7 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 7 kw"
|
"then": "<b>Type 1 met kabel</b> (J1772) levert een vermogen van maximaal 7 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
||||||
|
@ -1970,16 +1970,16 @@
|
||||||
"power-output-4": {
|
"power-output-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 3.7 kw"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) levert een vermogen van maximaal 3.7 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 6.6 kw"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) levert een vermogen van maximaal 6.6 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 7 kw"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) levert een vermogen van maximaal 7 kw A"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> levert een vermogen van maximaal 7.2 kw"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) levert een vermogen van maximaal 7.2 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>?",
|
||||||
|
@ -1988,16 +1988,16 @@
|
||||||
"power-output-5": {
|
"power-output-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een vermogen van maximaal 50 kw"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een vermogen van maximaal 50 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een vermogen van maximaal 62.5 kw"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een vermogen van maximaal 62.5 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een vermogen van maximaal 150 kw"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een vermogen van maximaal 150 kw A"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> levert een vermogen van maximaal 350 kw"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) levert een vermogen van maximaal 350 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>?",
|
||||||
|
@ -2006,13 +2006,13 @@
|
||||||
"power-output-6": {
|
"power-output-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 120 kw"
|
"then": "<b>Tesla Supercharger</b> levert een vermogen van maximaal 120 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 150 kw"
|
"then": "<b>Tesla Supercharger</b> levert een vermogen van maximaal 150 kw A"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> levert een vermogen van maximaal 250 kw"
|
"then": "<b>Tesla Supercharger</b> levert een vermogen van maximaal 250 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>?",
|
||||||
|
@ -2021,10 +2021,10 @@
|
||||||
"power-output-7": {
|
"power-output-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> levert een vermogen van maximaal 11 kw"
|
"then": "<b>Type 2</b> (mennekes) levert een vermogen van maximaal 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> levert een vermogen van maximaal 22 kw"
|
"then": "<b>Type 2</b> (mennekes) levert een vermogen van maximaal 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>?",
|
||||||
|
@ -2033,7 +2033,7 @@
|
||||||
"power-output-8": {
|
"power-output-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> levert een vermogen van maximaal 50 kw"
|
"then": "<b>Type 2 CCS</b> (mennekes) levert een vermogen van maximaal 50 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>?",
|
||||||
|
@ -2042,10 +2042,10 @@
|
||||||
"power-output-9": {
|
"power-output-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal 11 kw"
|
"then": "<b>Type 2 met kabel</b> (J1772) levert een vermogen van maximaal 11 kw A"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal 22 kw"
|
"then": "<b>Type 2 met kabel</b> (J1772) levert een vermogen van maximaal 22 kw A"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
"question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
|
||||||
|
@ -2061,7 +2061,7 @@
|
||||||
"voltage-0": {
|
"voltage-0": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> heeft een spanning van 230 volt"
|
"then": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F) heeft een spanning van 230 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>",
|
||||||
|
@ -2070,7 +2070,7 @@
|
||||||
"voltage-1": {
|
"voltage-1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> heeft een spanning van 230 volt"
|
"then": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E) heeft een spanning van 230 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>",
|
||||||
|
@ -2079,10 +2079,10 @@
|
||||||
"voltage-10": {
|
"voltage-10": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> heeft een spanning van 500 volt"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo) heeft een spanning van 500 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> heeft een spanning van 920 volt"
|
"then": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo) heeft een spanning van 920 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
|
||||||
|
@ -2091,7 +2091,7 @@
|
||||||
"voltage-11": {
|
"voltage-11": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> heeft een spanning van 480 volt"
|
"then": "<b>Tesla Supercharger (destination)</b> heeft een spanning van 480 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
|
||||||
|
@ -2100,10 +2100,10 @@
|
||||||
"voltage-12": {
|
"voltage-12": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van 230 volt"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) heeft een spanning van 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van 400 volt"
|
"then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) heeft een spanning van 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>",
|
||||||
|
@ -2112,7 +2112,7 @@
|
||||||
"voltage-13": {
|
"voltage-13": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> heeft een spanning van 5 volt"
|
"then": "<b>USB</b> om GSMs en kleine electronica op te laden heeft een spanning van 5 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>",
|
||||||
|
@ -2129,7 +2129,7 @@
|
||||||
"voltage-2": {
|
"voltage-2": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div> heeft een spanning van 500 volt"
|
"then": "<b>Chademo</b> heeft een spanning van 500 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>",
|
||||||
|
@ -2138,10 +2138,10 @@
|
||||||
"voltage-3": {
|
"voltage-3": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> heeft een spanning van 200 volt"
|
"then": "<b>Type 1 met kabel</b> (J1772) heeft een spanning van 200 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> heeft een spanning van 240 volt"
|
"then": "<b>Type 1 met kabel</b> (J1772) heeft een spanning van 240 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
|
||||||
|
@ -2150,10 +2150,10 @@
|
||||||
"voltage-4": {
|
"voltage-4": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> heeft een spanning van 200 volt"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) heeft een spanning van 200 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> heeft een spanning van 240 volt"
|
"then": "<b>Type 1 <i>zonder</i> kabel</b> (J1772) heeft een spanning van 240 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 <i>zonder</i> kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
|
||||||
|
@ -2162,10 +2162,10 @@
|
||||||
"voltage-5": {
|
"voltage-5": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> heeft een spanning van 400 volt"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) heeft een spanning van 400 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div> heeft een spanning van 1000 volt"
|
"then": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo) heeft een spanning van 1000 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 1 CCS</b> (ook gekend als Type 1 Combo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1-ccs.svg'/></div>",
|
||||||
|
@ -2174,7 +2174,7 @@
|
||||||
"voltage-6": {
|
"voltage-6": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> heeft een spanning van 480 volt"
|
"then": "<b>Tesla Supercharger</b> heeft een spanning van 480 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
|
||||||
|
@ -2183,10 +2183,10 @@
|
||||||
"voltage-7": {
|
"voltage-7": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> heeft een spanning van 230 volt"
|
"then": "<b>Type 2</b> (mennekes) heeft een spanning van 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> heeft een spanning van 400 volt"
|
"then": "<b>Type 2</b> (mennekes) heeft een spanning van 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>",
|
||||||
|
@ -2195,10 +2195,10 @@
|
||||||
"voltage-8": {
|
"voltage-8": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> heeft een spanning van 500 volt"
|
"then": "<b>Type 2 CCS</b> (mennekes) heeft een spanning van 500 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> heeft een spanning van 920 volt"
|
"then": "<b>Type 2 CCS</b> (mennekes) heeft een spanning van 920 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
|
||||||
|
@ -2207,10 +2207,10 @@
|
||||||
"voltage-9": {
|
"voltage-9": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van 230 volt"
|
"then": "<b>Type 2 met kabel</b> (J1772) heeft een spanning van 230 volt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van 400 volt"
|
"then": "<b>Type 2 met kabel</b> (J1772) heeft een spanning van 400 volt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>",
|
"question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Type 2 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>",
|
||||||
|
@ -2321,7 +2321,7 @@
|
||||||
"crossing-continue-through-red": {
|
"crossing-continue-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Een fietser mag wel rechtdoor gaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
|
"then": "Een fietser mag wel rechtdoor gaan als het licht rood is"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Een fietser mag wel rechtdoor gaan als het licht rood is"
|
"then": "Een fietser mag wel rechtdoor gaan als het licht rood is"
|
||||||
|
@ -2357,7 +2357,7 @@
|
||||||
"crossing-right-turn-through-red": {
|
"crossing-right-turn-through-red": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Een fietser mag wel rechtsaf slaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
|
"then": "Een fietser mag wel rechtsaf slaan als het licht rood is"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Een fietser mag wel rechtsaf slaan als het licht rood is"
|
"then": "Een fietser mag wel rechtsaf slaan als het licht rood is"
|
||||||
|
@ -2642,16 +2642,16 @@
|
||||||
"cycleway-lane-track-traffic-signs": {
|
"cycleway-lane-track-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Verplicht fietspad"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Verplicht fietspad (met onderbord)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Afgescheiden voet-/fietspad"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Gedeeld voet-/fietspad"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Geen verkeersbord aanwezig"
|
"then": "Geen verkeersbord aanwezig"
|
||||||
|
@ -2679,16 +2679,16 @@
|
||||||
"cycleway-traffic-signs": {
|
"cycleway-traffic-signs": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Verplicht fietspad"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
|
"then": "Verplicht fietspad (met onderbord)<br>"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
|
"then": "Afgescheiden voet-/fietspad"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
|
"then": "Gedeeld voet-/fietspad"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Geen verkeersbord aanwezig"
|
"then": "Geen verkeersbord aanwezig"
|
||||||
|
@ -2696,51 +2696,25 @@
|
||||||
},
|
},
|
||||||
"question": "Welk verkeersbord heeft dit fietspad?"
|
"question": "Welk verkeersbord heeft dit fietspad?"
|
||||||
},
|
},
|
||||||
"cycleway-traffic-signs-D7-supplementary": {
|
|
||||||
"mappings": {
|
|
||||||
"0": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"1": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"then": "Geen onderbord aanwezig"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"question": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?"
|
|
||||||
},
|
|
||||||
"cycleway-traffic-signs-supplementary": {
|
"cycleway-traffic-signs-supplementary": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
|
"then": "Bromfiets Klass B verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
|
"then": "Speedpedelec (Bromfiets klasse P) verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
|
"then": "Bromfiets klasse B en speedpedelec (Klasse P) verplicht op het fietspad"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
|
"then": "Bromfiets klasse B <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
|
"then": "Speedpedelec (bromfiets klasse P) <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
|
"then": "Bromfiets klasse B en speedpedelec (klasse P) <b>verboden</b>"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "Geen onderbord aanwezig"
|
"then": "Geen onderbord aanwezig"
|
||||||
|
@ -3908,7 +3882,7 @@
|
||||||
"then": "Dit boekenruilkastje heeft geen naam"
|
"then": "Dit boekenruilkastje heeft geen naam"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Wat is de naam van dit boekenuilkastje?",
|
"question": "Wat is de naam van dit boekenruilkastje?",
|
||||||
"render": "De naam van dit boekenruilkastje is {name}"
|
"render": "De naam van dit boekenruilkastje is {name}"
|
||||||
},
|
},
|
||||||
"public_bookcase-operator": {
|
"public_bookcase-operator": {
|
||||||
|
@ -4835,10 +4809,10 @@
|
||||||
"Operator tag": {
|
"Operator tag": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"then": "Dit gebied wordt beheerd door Natuurpunt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"then": "Dit gebied wordt beheerd door {operator}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Wie beheert deze wandeltocht?",
|
"question": "Wie beheert deze wandeltocht?",
|
||||||
|
@ -5098,10 +5072,10 @@
|
||||||
"then": "Deze vuilnisbak heeft een verdeler voor hondenpoepzakjes"
|
"then": "Deze vuilnisbak heeft een verdeler voor hondenpoepzakjes"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "Deze vuilnisbak heeft <i>geen</i>verdeler voor hondenpoepzakjes"
|
"then": "Deze vuilnisbak heeft <b>geen</b> verdeler voor hondenpoepzakjes"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "Deze vuilnisbaak heeft waarschijnlijk geen verdeler voor hondenpoepzakjes"
|
"then": "Deze vuilnisbak heeft <b>waarschijnlijk geen</b> verdeler voor hondenpoepzakjes"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Heeft deze vuilnisbak een verdeler voor hondenpoepzakjes?"
|
"question": "Heeft deze vuilnisbak een verdeler voor hondenpoepzakjes?"
|
||||||
|
@ -5186,10 +5160,10 @@
|
||||||
"Operator tag": {
|
"Operator tag": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"then": "Dit gebied wordt beheerd door Natuurpunt"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"then": "Dit gebied wordt beheerd door {operator}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Wie beheert dit pad?",
|
"question": "Wie beheert dit pad?",
|
||||||
|
|
|
@ -420,13 +420,13 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"3": {
|
"3": {
|
||||||
"then": "Стойка <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "Стойка"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "Двухуровневая <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "Двухуровневая"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "Навес <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "Навес"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "К какому типу относится эта велопарковка?",
|
"question": "К какому типу относится эта велопарковка?",
|
||||||
|
@ -957,7 +957,7 @@
|
||||||
"then": "Тип гидранта не определён."
|
"then": "Тип гидранта не определён."
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img style=\"width:15px\" src=\"./assets/themes/hailhydrant/hydrant_unknown.svg\" /> Тип стены."
|
"then": "Тип стены."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "К какому типу относится этот гидрант?",
|
"question": "К какому типу относится этот гидрант?",
|
||||||
|
|
|
@ -379,25 +379,25 @@
|
||||||
"Bicycle parking type": {
|
"Bicycle parking type": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"0": {
|
"0": {
|
||||||
"then": "單車架 <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"then": "單車架"
|
||||||
},
|
},
|
||||||
"1": {
|
"1": {
|
||||||
"then": "車輪架/圓圈 <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>"
|
"then": "車輪架/圓圈"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "車把架 <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>"
|
"then": "車把架"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "車架<img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>"
|
"then": "車架"
|
||||||
},
|
},
|
||||||
"4": {
|
"4": {
|
||||||
"then": "兩層<img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>"
|
"then": "兩層"
|
||||||
},
|
},
|
||||||
"5": {
|
"5": {
|
||||||
"then": "車棚 <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>"
|
"then": "車棚"
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"then": "柱子 <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>"
|
"then": "柱子"
|
||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"then": "樓層當中標示為單車停車場的區域"
|
"then": "樓層當中標示為單車停車場的區域"
|
||||||
|
|
21
langs/themes/icon.json
Normal file
21
langs/themes/icon.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"buurtnatuur": {
|
||||||
|
"overrideAll": {
|
||||||
|
"tagRenderings+": {
|
||||||
|
"1": {
|
||||||
|
"mappings": {
|
||||||
|
"1": {
|
||||||
|
"then": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"then": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"then": "./assets/themes/buurtnatuur/ANB.jpg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,13 +134,13 @@
|
||||||
"1": {
|
"1": {
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"1": {
|
"1": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
|
"then": "Dit gebied wordt beheerd door Natuurpunt"
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
|
"then": "Dit gebied wordt beheerd door {operator}"
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"then": "<img src=\"./assets/themes/buurtnatuur/ANB.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
|
"then": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"question": "Wie beheert dit gebied?",
|
"question": "Wie beheert dit gebied?",
|
||||||
|
|
|
@ -31,7 +31,7 @@ class ConvertImagesToIcon extends DesugaringStep<LayerConfigJson> {
|
||||||
}
|
}
|
||||||
information.push("Replaced image " + images[0])
|
information.push("Replaced image " + images[0])
|
||||||
const replaced = then.OnEveryLanguage((s) => {
|
const replaced = then.OnEveryLanguage((s) => {
|
||||||
return s.replace(/(<div [^>]*>)?<img [^>]*> ?/, "").replace(/<\/div>$/, "")
|
return s.replace(/(<div [^>]*>)?<img [^>]*> ?/, "").replace(/<\/div>$/, "").trim()
|
||||||
})
|
})
|
||||||
|
|
||||||
mapping.then = replaced.translations
|
mapping.then = replaced.translations
|
||||||
|
|
|
@ -169,7 +169,7 @@ class LayerOverviewUtils {
|
||||||
for (const sharedLayerJson of layerFiles) {
|
for (const sharedLayerJson of layerFiles) {
|
||||||
const context = "While building builtin layer " + sharedLayerJson.path
|
const context = "While building builtin layer " + sharedLayerJson.path
|
||||||
const fixed = prepLayer.convertStrict(sharedLayerJson.parsed, context)
|
const fixed = prepLayer.convertStrict(sharedLayerJson.parsed, context)
|
||||||
const validator = new ValidateLayer(knownImagePaths, sharedLayerJson.path, true);
|
const validator = new ValidateLayer(sharedLayerJson.path, true);
|
||||||
validator.convertStrict(fixed, context)
|
validator.convertStrict(fixed, context)
|
||||||
|
|
||||||
if (sharedLayers.has(fixed.id)) {
|
if (sharedLayers.has(fixed.id)) {
|
||||||
|
@ -200,7 +200,10 @@ class LayerOverviewUtils {
|
||||||
new PrevalidateTheme().convertStrict(themeFile, themePath)
|
new PrevalidateTheme().convertStrict(themeFile, themePath)
|
||||||
themeFile = new PrepareTheme(convertState).convertStrict(themeFile, themePath)
|
themeFile = new PrepareTheme(convertState).convertStrict(themeFile, themePath)
|
||||||
|
|
||||||
new ValidateThemeAndLayers(knownImagePaths, themePath, true)
|
if(knownImagePaths === undefined){
|
||||||
|
throw "Could not load known images/licenses"
|
||||||
|
}
|
||||||
|
new ValidateThemeAndLayers(knownImagePaths, themePath, true, convertState.tagRenderings)
|
||||||
.convertStrict(themeFile, themePath)
|
.convertStrict(themeFile, themePath)
|
||||||
|
|
||||||
this.writeTheme(themeFile)
|
this.writeTheme(themeFile)
|
||||||
|
|
|
@ -10,7 +10,7 @@ export default class ImageAttributionSpec extends T {
|
||||||
[
|
[
|
||||||
"Should find all the images",
|
"Should find all the images",
|
||||||
() => {
|
() => {
|
||||||
const images = new Set(new ExtractImages(true).convertStrict(<any> cyclofix, "test"))
|
const images = new Set(new ExtractImages(true, new Map<string, any>()).convertStrict(<any> cyclofix, "test"))
|
||||||
const expectedValues = [
|
const expectedValues = [
|
||||||
'./assets/layers/bike_repair_station/repair_station.svg',
|
'./assets/layers/bike_repair_station/repair_station.svg',
|
||||||
'./assets/layers/bike_repair_station/repair_station_pump.svg',
|
'./assets/layers/bike_repair_station/repair_station_pump.svg',
|
||||||
|
|
|
@ -5,7 +5,7 @@ import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingCon
|
||||||
import {AddMiniMap} from "../Models/ThemeConfig/Conversion/PrepareTheme";
|
import {AddMiniMap} from "../Models/ThemeConfig/Conversion/PrepareTheme";
|
||||||
import {DetectMappingsWithImages, DetectShadowedMappings} from "../Models/ThemeConfig/Conversion/Validation";
|
import {DetectMappingsWithImages, DetectShadowedMappings} from "../Models/ThemeConfig/Conversion/Validation";
|
||||||
import * as Assert from "assert";
|
import * as Assert from "assert";
|
||||||
import {FixImages} from "../Models/ThemeConfig/Conversion/FixImages";
|
import {ExtractImages, FixImages} from "../Models/ThemeConfig/Conversion/FixImages";
|
||||||
|
|
||||||
export default class LegacyThemeLoaderSpec extends T {
|
export default class LegacyThemeLoaderSpec extends T {
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly verkeerde_borden ={
|
private static readonly verkeerde_borden = {
|
||||||
"id": "https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/VerkeerdeBordenDatabank.json",
|
"id": "https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/VerkeerdeBordenDatabank.json",
|
||||||
"title": {
|
"title": {
|
||||||
"nl": "VerkeerdeBordenDatabank",
|
"nl": "VerkeerdeBordenDatabank",
|
||||||
|
@ -242,7 +242,7 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
"icon": "./TS_bolt.svg",
|
"icon": "./TS_bolt.svg",
|
||||||
iconBadges: [{
|
iconBadges: [{
|
||||||
if: "id=yes",
|
if: "id=yes",
|
||||||
then:{
|
then: {
|
||||||
mappings: [
|
mappings: [
|
||||||
{
|
{
|
||||||
if: "id=yes",
|
if: "id=yes",
|
||||||
|
@ -351,7 +351,6 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super([
|
super([
|
||||||
["Walking_node_theme", () => {
|
["Walking_node_theme", () => {
|
||||||
|
@ -423,9 +422,9 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}, "test");
|
}, "test");
|
||||||
T.isTrue(r.errors.length > 0, "Failing case 0 is not detected")
|
T.isTrue(r.errors.length > 0, "Failing case 0 is not detected")
|
||||||
|
|
||||||
const r0 = new DetectShadowedMappings().convert( {
|
const r0 = new DetectShadowedMappings().convert({
|
||||||
mappings: [
|
mappings: [
|
||||||
{
|
{
|
||||||
if: {or: ["key=value", "x=y"]},
|
if: {or: ["key=value", "x=y"]},
|
||||||
|
@ -440,34 +439,72 @@ export default class LegacyThemeLoaderSpec extends T {
|
||||||
T.isTrue(r0.errors.length > 0, "Failing case 1 is not detected")
|
T.isTrue(r0.errors.length > 0, "Failing case 1 is not detected")
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
["Images are rewritten", () => {
|
["Images are rewritten", () => {
|
||||||
const fixed = new FixImages(new Set<string>()).convertStrict(LegacyThemeLoaderSpec.verkeerde_borden, "test")
|
const fixed = new FixImages(new Set<string>()).convertStrict(LegacyThemeLoaderSpec.verkeerde_borden, "test")
|
||||||
const fixedValue = fixed.layers[0]["mapRendering"][0].icon
|
const fixedValue = fixed.layers[0]["mapRendering"][0].icon
|
||||||
Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/TS_bolt.svg",
|
Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/TS_bolt.svg",
|
||||||
fixedValue)
|
fixedValue)
|
||||||
|
|
||||||
const fixedMapping = fixed.layers[0]["mapRendering"][0].iconBadges[0].then.mappings[0].then
|
const fixedMapping = fixed.layers[0]["mapRendering"][0].iconBadges[0].then.mappings[0].then
|
||||||
Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/Something.svg",
|
Assert.equal("https://raw.githubusercontent.com/seppesantens/MapComplete-Themes/main/VerkeerdeBordenDatabank/Something.svg",
|
||||||
fixedMapping)
|
fixedMapping)
|
||||||
} ],
|
}],
|
||||||
["Images in 'thens' are detected", () => {
|
["Images in 'thens' are detected", () => {
|
||||||
const r = new DetectMappingsWithImages().convert({
|
const r = new DetectMappingsWithImages().convert({
|
||||||
"mappings": [
|
"mappings": [
|
||||||
{
|
{
|
||||||
"if": "bicycle_parking=stands",
|
"if": "bicycle_parking=stands",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"en": "Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"nl": "Nietjes <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"nl": "Nietjes <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"fr": "Arceaux <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"fr": "Arceaux <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"gl": "De roda (Stands) <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"gl": "De roda (Stands) <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"de": "Fahrradbügel <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
"de": "Fahrradbügel <img style='width: 25%'' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"hu": "Korlát <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"hu": "Korlát <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"it": "Archetti <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
"it": "Archetti <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>",
|
||||||
"zh_Hant": "單車架 <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
"zh_Hant": "單車架 <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>"
|
||||||
}
|
}
|
||||||
}]}, "test");
|
}]
|
||||||
T.isTrue(r.warnings.length > 0, "No images found");
|
}, "test");
|
||||||
}]
|
const errors = r.errors;
|
||||||
|
T.isTrue(errors.length > 0, "No images found");
|
||||||
|
T.isTrue(errors.some(msg => msg.indexOf("./assets/layers/bike_parking/staple.svg") >= 0), "staple.svg not mentioned");
|
||||||
|
}],
|
||||||
|
["Images in 'thens' icons are detected", () => {
|
||||||
|
const r = new ExtractImages(true, new Map<string, any>()).convert(<any>{
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
tagRenderings: [
|
||||||
|
{
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "bicycle_parking=stands",
|
||||||
|
"then": {
|
||||||
|
"en": "Staple racks",
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
path: "./assets/layers/bike_parking/staple.svg",
|
||||||
|
class: "small"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "bicycle_parking=stands",
|
||||||
|
"then": {
|
||||||
|
"en": "Bollard",
|
||||||
|
},
|
||||||
|
"icon": "./assets/layers/bike_parking/bollard.svg",
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, "test");
|
||||||
|
const images = r.result
|
||||||
|
T.isTrue(images.length > 0, "No images found");
|
||||||
|
T.isTrue(images.findIndex(img => img =="./assets/layers/bike_parking/staple.svg") >= 0, "staple.svg not mentioned");
|
||||||
|
T.isTrue(images.findIndex(img => img == "./assets/layers/bike_parking/bollard.svg") >= 0, "bollard.svg not mentioned");
|
||||||
|
}]
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ async function main() {
|
||||||
|
|
||||||
let args = [...process.argv]
|
let args = [...process.argv]
|
||||||
args.splice(0, 2)
|
args.splice(0, 2)
|
||||||
args = args.map(a => a.toLowerCase())
|
args = args.map(a => a.toLowerCase().replace(/"/g, ""))
|
||||||
|
|
||||||
const allFailures: { testsuite: string, name: string, msg: string } [] = []
|
const allFailures: { testsuite: string, name: string, msg: string } [] = []
|
||||||
let testsToRun = allTests
|
let testsToRun = allTests
|
||||||
|
@ -72,6 +72,7 @@ async function main() {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
testsToRun = allTests.filter(t => args.indexOf(t.name.toLowerCase()) >= 0)
|
testsToRun = allTests.filter(t => args.indexOf(t.name.toLowerCase()) >= 0)
|
||||||
|
console.log("Only running test "+testsToRun.join(", "))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (testsToRun.length == 0) {
|
if (testsToRun.length == 0) {
|
||||||
|
|
Loading…
Reference in a new issue