Template:Kivu conflict detailed map
<graph> {
// // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks // Please do not modify it anywhere else, as it may get copied and override your changes. // Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks // // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab // "version": 2, "width":1200, "height": 1200, "padding": 0, "signals":[ // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend
{"name":"legendWidth", "init": {"expr": "0"} },
{"name":"legendHeight", "init": {"expr": "height"} },
{"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
{"name":"imgHeight", "init": {"expr": "height"} },
{"name":"imgXC", "init": {"expr": "imgWidth/2"} },
{"name":"imgYC", "init": {"expr": "imgHeight/2"} },
{"name":"imgTileSize", "init": {"expr": "256"} },
{"name":"imgLat", "init": {"expr": "-0.506"} },
{"name":"imgLon", "init": {"expr": "28.477"} },
{"name":"imgZoom", "init": {"expr": "9"} },
{"name":"picWidth", "init": {"expr": "180"} },
{"name":"picHeight", "init": {"expr": "picWidth/2"} },
{"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
{"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
{"name":"showMiniMap", "init": {"expr": "false"} }
],
"data": [
{
"name": "data",
// Otherwise use the first unnamed argument for source values
"values": [
{ "lat": -1.330, "lon": 29.4667, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#861286", "text": "M23", "textFontStyle": "italic"},
{ "lat": -1.183, "lon": 29.45, "img":"Location dot purple.svg", "width": 10}, //Rutshuru
{ "lat": -1.150, "lon": 29.430, "img":"Location dot purple.svg", "width": 10}, //Kiwanja
{ "lat": -1.3, "lon": 29.595, "img":"Location dot purple.svg", "width": 10, "textColor":"#000000", "text": "Bunagana"}, //Bunagana
{ "lat": -1.23, "lon": 29.491, "img":"Location dot purple.svg", "width": 10}, //Tshengerero
{ "lat": -1.4771, "lon": 29.3477, "img":"Location dot purple.svg", "width": 10}, //Kibumba
{ "lat": -1.2093, "lon": 29.2786, "img":"Location dot purple.svg", "width": 10}, //Tonga
{ "lat": -1.2525, "lon": 29.0611, "img":"Location dot purple.svg", "width": 10}, //Kitshanga
{ "lat": -1.5466, "lon": 28.8731, "img":"Location dot purple.svg", "width": 10}, //Rubaya
{ "lat": -1.5291, "lon": 28.9776, "img":"Location dot purple.svg", "width": 10}, //Mushaki
{ "lat": -1.4833, "lon": 29.0562, "img":"Location dot purple.svg", "width": 10}, //kingi
{ "lat": -1.5800, "lon": 28.9951, "img":"Location dot purple.svg", "width": 10}, //Karuba
{ "lat": -1.1156, "lon": 29.0329, "img":"Location dot purple.svg", "width": 10}, //Mweso
{ "lat": -1.0125, "lon": 29.3570, "img":"Location dot purple.svg", "width": 10}, //Mabenga
{ "lat": -1.0809, "lon": 29.2292, "img":"Location dot purple.svg", "width": 10}, //Bambo
{ "lat": -0.8836, "lon": 28.8096, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#008000", "text": "NDC-R/Guidon", "textFontStyle": "italic"},
{ "lat": -0.70923, "lon": 28.87367, "img":"Location dot green.svg", "width": 10}, //Bukumbwira
{ "lat": -1.05, "lon": 28.985, "img":"Orange rectangle.svg", "offsetX":7, "width": 70, "height":20,"align":"center"},
{ "lat": -1.05, "lon": 28.985, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#000000", "text": "Nyatura", "textFontStyle": "italic"},
{ "lat": -1.1209, "lon": 28.9081, "img":"Location dot orange.svg", "width": 10}, //Kivuye
{ "lat": -1.14316, "lon": 28.90279, "img":"Location dot orange.svg", "width": 10}, //Mbati
{ "lat": -1.2452, "lon": 28.9538, "img":"Location dot orange.svg", "width": 10}, //Rwashoga
{ "lat": -1.2613, "lon": 28.9225, "img":"Location dot orange.svg", "width": 10}, //Kahira
{ "lat": -1.3809, "lon": 28.9032, "img":"Location dot orange.svg", "width": 10}, //Kalonge
{ "lat": -1.3303, "lon": 29.0257, "img":"Location dot orange.svg", "width": 10}, //Burungu
{ "lat": -1.1468, "lon": 28.8540, "img":"Location dot orange.svg", "width": 10}, //Nyange
{ "lat": -1.0326, "lon": 29.5223, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#87a149", "text": "RUD", "textFontStyle": "italic"},
{ "lat": -0.9332, "lon": 29.5594, "color":"#87a149", "width": 10}, //Kanzana
{ "lat": -0.9561, "lon": 29.5283, "color":"#87a149", "width": 10}, //Kisharu
{ "lat": -1.0151, "lon": 29.4370, "color":"#87a149", "width": 10}, //Kiserguru
{ "lat": -1.683, "lon": 29.2333, "img":"Location dot red.svg", "width": 15}, //Goma
{ "lat": 0.5, "lon": 29.4666, "img":"Location dot red.svg", "width": 10}, //Beni
{ "lat": 0.15, "lon": 29.2833, "img":"Location dot red.svg", "width": 15}, //Butembo
{ "lat": 0.697, "lon": 29.519, "img":"Location dot red.svg", "width": 10}, //Oicha
{ "lat": -1.4300, "lon": 28.0762, "img":"Location dot red.svg", "width": 10}, //Walikale
{ "lat": -1.5631, "lon": 29.0518, "img":"Location dot red.svg", "width": 10}, //Sake
{ "lat": 0.2583, "lon": 29.1934, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#00ff00", "text": "RNL", "textFontStyle": "italic"},
{ "lat": 0.2072, "lon": 29.2700, "color":"#00ff00", "width": 10}, //Butuhe
{ "lat": 0.15, "lon": 29.2833, "img":"Map-arcNN-lime.svg", "width": 20}, //RNL presence north of Butembo
{ "lat": -0.9831, "lon": 29.1211, "img":"Location dot orange.svg", "width": 10}, //Bwalanda - Nyatura and FPP-AP clash with unknown men
{ "lat": -1.4610, "lon": 28.7495, "img":"Solid yellow.png", "offsetX":7, "width": 70, "height":20,"align":"center"},
{ "lat": -1.4610, "lon": 28.7495, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#000000", "text": "APCLS", "textFontStyle": "italic"},
{ "lat": -1.7425, "lon": 28.6754, "img":"Dot yellow ff4.svg", "width": 10}, //Mbeshembeshe
{ "lat": -1.7488, "lon": 28.7231, "img":"80x80-lime-yellow-anim.gif", "width": 10}, //Katoyi
{ "lat": -1.3315, "lon": 28.6784, "img":"Dot yellow ff4.svg", "width": 10}, //Kasopo
{ "lat": -1.3553, "lon": 28.6709, "img":"Dot yellow ff4.svg", "width": 10}, //Mahanga
{ "lat": -1.2846697, "lon": 28.8620073, "img":"Dot yellow ff4.svg", "width": 10}, //Shango
{ "lat": -1.2145, "lon": 28.7402, "color": "#00f", "size": 0, "textFontSize": 15, "textAlign": "center", "textColor":"#6688aa", "text": "NDC-R/Bwira", "textFontStyle": "italic"},
{ "lat": -1.3583, "lon": 28.7336, "img":"Map-dot-grey-68a.svg", "width": 10}, //Burora
{ "lat": -1.2818, "lon": 28.7345, "img":"Map-dot-grey-68a.svg", "width": 10}, //Kinyumba
{ "lat": -1.8211, "lon": 28.7759, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#00ff00", "text": "Mai-Mai Kifuafua", "textFontStyle": "italic"},
{ "lat": -1.2574, "lon": 28.7483, "img":"80x80-yellow-grey-anim.gif", "width": 10}, //Lwibo
{ "lat": 0.7319, "lon": 29.7383, "color": "#00f", "size": 0, "textFontSize": 20, "textAlign": "center", "textColor":"#000000", "text": "ADF", "textFontStyle": "italic"},
{ "lat": 0.8256, "lon": 29.4437, "img":"Location dot black.svg", "width": 10}, //Mamove camp
{ "lat": 0.7898, "lon": 29.8118, "img":"Location dot black.svg", "width": 10}, //Kambi ya Yua
{ "lat": 0.7114, "lon": 29.6087, "img":"Location dot black.svg", "width": 10}, //Mopubu
{ "lat": 0.5492, "lon": 29.6425, "img":"Location dot black.svg", "width": 10}, //Rwenzori
{ "lat": 0.2803, "lon": 29.5550, "img":"Location dot black.svg", "width": 10}, //Mwalik
{ "lat": 1.0959, "lon": 29.7984, "img":"Location dot black.svg", "width": 10}, //Boga camp
],
"transform": [
{
"type": "geo",
"projection": "mercator",
"scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
"translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
"center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
"lon": "lon", "lat": "lat"
},
{ "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
{ "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
{ "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
{ "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
{ "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
]
},
{
// Hack: single value data source for drawing/hiding images and other non-series elements
"name": "dummyData",
"values": [{}]
}
],
// Legend only works if showLegend and colorScaleField are set
"marks": [
{
"type": "image",
"from": {
"data": "dummyData",
"transform": [
{ "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon+'&lang=en'" }
]
},
"properties": {
"enter": {
"url": {"field": "url"},
"xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
"width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
}
}
},
{
// Places an image of a given name and size at the [lan,lon] location
"type": "image",
"from": {
"data": "data",
"transform": [
{ "type": "filter", "test": "datum.img" },
{ "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
{ "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
{ "type": "formula", "field":"img",
"expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
// Ensure that either width or height parameter is passed to wikifile:// request
{ "type": "formula", "field":"img",
"expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" }
]},
"properties": {
"enter": {
"url": {"field": "img"},
"xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
"width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
}
}
},
{
// Draw marks of a given color, shape, and size at the [lan,lon] location
"type": "symbol",
"from": {
"data": "data",
"transform": [{ "type": "filter", "test": "!datum.img" }]
},
"properties": {
"enter": {
"x": {"field": "layout_x"},
"y": {"field": "layout_y"},
// If colorScaleField is set, use color scaling, otherwise use the preset color value
"fill": { "field": "color" },
"size": {"field": "size"},
"shape": {"field": "shape"},
"stroke": {"field": "strokeColor"}
}
}
},
{
// Draw text with the given color and size at the [lan,lon] location
// See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
"type": "text",
"from": {
"data": "data",
"transform": [
{ "type": "filter", "test": "datum.text" },
// Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
{ "type": "formula", "field":"isLTR", "expr": "'' == '\\u200E'" },
// If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
{ "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
{ "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
{ "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
]},
"properties": {
"enter": {
"text": {"field": "text"},
"x": {"field": "layout_x" },
"y": {"field": "layout_y"},
"dx": {"field": "textDx" },
"dy": {"field": "textDy"},
"fill": {"field": "textColor"},
"align": {"field": "textAlign"},
"baseline": {"field": "textBaseline"},
"radius": {"field": "textRadius"},
"theta": {"field": "textTheta"},
"angle": {"field": "textAngle"},
"font": {"field": "textFont"},
"fontSize": {"field": "textFontSize"},
"fontWeight": {"field": "textFontWeight"},
"fontStyle": {"field": "textFontStyle"}
}
}
},
{
// Draw a low-zoom locator map frame
"type": "rect",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" }
]
},
"properties": {
"enter": {
"xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
"width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
"stroke": {"value":"#fff"},"strokeWidth": {"value":6}
}
}
},
{
// Draw a low-zoom locator map by using a premade world map image
"type": "image",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" },
{ "type": "formula", "field":"url", "expr": "1" }
]
},
"properties": {
"enter": {
"url": {"value": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Earthmap1000x500.jpg/250px-Earthmap1000x500.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail"},
"xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
"width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
}
}
},
{
// Draw a zoom-out mark at the [lan,lon] location
"type": "symbol",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" },
{ "type": "formula", "field":"lat", "expr": "imgLat" },
{ "type": "formula", "field":"lon", "expr": "imgLon" },
{
"type": "geo",
"projection": "equirectangular",
"scale": {"expr": "180/2/PI"},
"translate": [{"expr": "picXC"}, {"expr": "picYC"}],
"center": [{"expr": "0"}, {"expr": "0"}],
"lon": "lon", "lat": "lat"
}
]
},
"properties": {
"enter": {
"x": {"field": "layout_x"}, "y": {"field": "layout_y"},
"fill": {"value": "#c33"},
"stroke": {"value": "#ffe7e6"},
"size": {"value": 40}
}
}
}
]
} </graph>
<graph> {
// // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks // Please do not modify it anywhere else, as it may get copied and override your changes. // Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks // // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab // "version": 2, "width":1200, "height": 1100, "padding": 0, "signals":[ // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend
{"name":"legendWidth", "init": {"expr": "0"} },
{"name":"legendHeight", "init": {"expr": "height"} },
{"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
{"name":"imgHeight", "init": {"expr": "height"} },
{"name":"imgXC", "init": {"expr": "imgWidth/2"} },
{"name":"imgYC", "init": {"expr": "imgHeight/2"} },
{"name":"imgTileSize", "init": {"expr": "256"} },
{"name":"imgLat", "init": {"expr": "-3.673"} },
{"name":"imgLon", "init": {"expr": "28.477"} },
{"name":"imgZoom", "init": {"expr": "9"} },
{"name":"picWidth", "init": {"expr": "180"} },
{"name":"picHeight", "init": {"expr": "picWidth/2"} },
{"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
{"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
{"name":"showMiniMap", "init": {"expr": "false"} }
],
"data": [
{
"name": "data",
// Otherwise use the first unnamed argument for source values
"values": [
{ "lat": -2.1628, "lon": 27.8294, "img":"Location dot blue.svg", "width": 10, "textFontSize": 20, "textColor":"#0000ff", "textBaseline":"top", "text": "Raia Mutomboki", "textFontStyle": "italic"}, //Nyamukele
{ "lat": -3.801178, "lon": 27.700515, "img":"Location dot blue.svg", "width": 10}, //Katembele
{ "lat": -2.717117, "lon": 28.249914, "img":"Location dot blue.svg", "width": 10}, //Bulungu
{ "lat": -2.3028, "lon": 28.6523, "img":"Location dot blue.svg", "width": 10}, //Mutale
{ "lat": -2.5, "lon": 28.8666, "img":"Location dot red.svg", "width": 15}, //Bukavu
{ "lat": -3.365, "lon": 29.144, "img":"Location dot red.svg", "width": 15}, //Uvira
],
"transform": [
{
"type": "geo",
"projection": "mercator",
"scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
"translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
"center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
"lon": "lon", "lat": "lat"
},
{ "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
{ "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
{ "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
{ "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
{ "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
]
},
{
// Hack: single value data source for drawing/hiding images and other non-series elements
"name": "dummyData",
"values": [{}]
}
],
// Legend only works if showLegend and colorScaleField are set
"marks": [
{
"type": "image",
"from": {
"data": "dummyData",
"transform": [
{ "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon+'&lang=en'" }
]
},
"properties": {
"enter": {
"url": {"field": "url"},
"xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
"width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
}
}
},
{
// Places an image of a given name and size at the [lan,lon] location
"type": "image",
"from": {
"data": "data",
"transform": [
{ "type": "filter", "test": "datum.img" },
{ "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
{ "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
{ "type": "formula", "field":"img",
"expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
// Ensure that either width or height parameter is passed to wikifile:// request
{ "type": "formula", "field":"img",
"expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" }
]},
"properties": {
"enter": {
"url": {"field": "img"},
"xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
"width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
}
}
},
{
// Draw marks of a given color, shape, and size at the [lan,lon] location
"type": "symbol",
"from": {
"data": "data",
"transform": [{ "type": "filter", "test": "!datum.img" }]
},
"properties": {
"enter": {
"x": {"field": "layout_x"},
"y": {"field": "layout_y"},
// If colorScaleField is set, use color scaling, otherwise use the preset color value
"fill": { "field": "color" },
"size": {"field": "size"},
"shape": {"field": "shape"},
"stroke": {"field": "strokeColor"}
}
}
},
{
// Draw text with the given color and size at the [lan,lon] location
// See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
"type": "text",
"from": {
"data": "data",
"transform": [
{ "type": "filter", "test": "datum.text" },
// Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
{ "type": "formula", "field":"isLTR", "expr": "'' == '\\u200E'" },
// If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
{ "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
{ "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
{ "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
]},
"properties": {
"enter": {
"text": {"field": "text"},
"x": {"field": "layout_x" },
"y": {"field": "layout_y"},
"dx": {"field": "textDx" },
"dy": {"field": "textDy"},
"fill": {"field": "textColor"},
"align": {"field": "textAlign"},
"baseline": {"field": "textBaseline"},
"radius": {"field": "textRadius"},
"theta": {"field": "textTheta"},
"angle": {"field": "textAngle"},
"font": {"field": "textFont"},
"fontSize": {"field": "textFontSize"},
"fontWeight": {"field": "textFontWeight"},
"fontStyle": {"field": "textFontStyle"}
}
}
},
{
// Draw a low-zoom locator map frame
"type": "rect",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" }
]
},
"properties": {
"enter": {
"xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
"width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
"stroke": {"value":"#fff"},"strokeWidth": {"value":6}
}
}
},
{
// Draw a low-zoom locator map by using a premade world map image
"type": "image",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" },
{ "type": "formula", "field":"url", "expr": "1" }
]
},
"properties": {
"enter": {
"url": {"value": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Earthmap1000x500.jpg/250px-Earthmap1000x500.jpg?utm_source=commons.wikimedia.org&utm_campaign=imageinfo&utm_content=thumbnail"},
"xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
"width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
}
}
},
{
// Draw a zoom-out mark at the [lan,lon] location
"type": "symbol",
"from": {
"data": "dummyData",
"transform": [
{ "type": "filter", "test": "showMiniMap" },
{ "type": "formula", "field":"lat", "expr": "imgLat" },
{ "type": "formula", "field":"lon", "expr": "imgLon" },
{
"type": "geo",
"projection": "equirectangular",
"scale": {"expr": "180/2/PI"},
"translate": [{"expr": "picXC"}, {"expr": "picYC"}],
"center": [{"expr": "0"}, {"expr": "0"}],
"lon": "lon", "lat": "lat"
}
]
},
"properties": {
"enter": {
"x": {"field": "layout_x"}, "y": {"field": "layout_y"},
"fill": {"value": "#c33"},
"stroke": {"value": "#ffe7e6"},
"size": {"value": 40}
}
}
}
]
}
</graph>- File:Location dot red.svg Under control of the Government forces and Allies
- Group - in italic named of armed group with corresponding color
Other
- File:Abm-red-icon.png Army base
- File:Fighter-jet-red-icon.svg Airport or air base (jet)
- File:Helicopter-red-icon.svg Airport or air base (helicopter)
- File:Map-peak-red.svg Strategic peak/hill
- File:Anchor pictogram.svg Major port, naval base
- File:Mountain pass 12x12 n.svg Border post
- File:Arch dam 12x12 w.svg Dam
- File:Icon NuclearPowerPlant-black.svg Industrial complex
- File:4x4dot-black.svg Rural presence
- File:Gota07.svg Oil/gas
File:Map-circle-black.svg Inner controls, outer sieges (or strong enemy pressure);
File:Map-arcNE-black.svg Enemy pressure from one side; Small icon within a larger icon: The situation in individual neighbourhood/district| This template may have no transclusions. This is because it is substituted by a tool or script, it is used as part of a short-term or less active Wikipedia process, or for some other reason. |
How to update the map?
- Click on "Edit" in this template and change the code
or
- Write a message at the talk page asking for the map to be updated
| File:Commons-emblem-hand-orange.svg | Rules for Editing the Map
1- A reliable source for that specific edit should be provided.
2- Copying from maps is strictly prohibited. Maps from mainstream media are approximate and therefore unreliable for any edit. Maps from amateur sources are below the standards of Wikipedia for any edit. They violate WP:RS and WP:CIRCULAR.
See also: Wikipedia:Top 10 myths about the Wikipedia Syria war map. |
Contested icon
[edit source]Definition
[edit source]The purpose of the contested icon (File:80x80-grey-black-anim.gif) is to show 2 groups of soldiers fighting over control of a town, and that there is a significant number of troops inside the city actively holding territory. We generally turn a town contested based on widespread clashes reports. Contested means we cannot say one specific side controls the town. There should be evidence that the enemy is inside the town, which is a necessary (but not sufficient) condition for making a town contested. Contested status is appropriate if the town in question is controlled partly by one party, and partly by another. For example, it could be that one party controls the outer neighborhoods, while the other party holds the city center.
Examples of cases where the contested icon should not be used
[edit source]- A case where there was no chance of the enemy taking the town over, and only, small clashes were going on in the town. We don't put towns contested if there are only sporadic clashes. So reports of clashes are not always enough to mark a town as contested.
- A case where there were clashes in a town with a handful of enemy fighters and the clashes were over after some hours. For example if source says: "… at least six insurgents were killed during the clashes … while the rest of militants escaped on Saturday evening”
- A case where there was just one source about clashes in a major town and what occurred was essentially a small firefight. Sleeper cells infiltrated the town and shot at some soldiers, and the soldiers shot back and killed some of them. The source then reports the rest of the fighters as having fled the battlefield. So this was a one-off, hit-and-run attack, not a serious attempt to grab and hold parts of the town.
- A case where there were many separate reports of rebel ambushes on army checkpoints so this was not a seizure of territory inside of the town. The rebels do not control any part of the town, so a contested icon is unwarranted.
- A case where the enemy reached city limits. Well, they still haven't entered the city proper (which is the prerequisite for marking the city as "contested") When the city really becomes contested, a bunch of news outlets will be reporting on it. Just because there is enemy at gates does not mean it is contested. The enemy needs to be making progress in the city.
- The evidence should be especially strong to turn a “stronghold” contested. A few clashes, especially on the periphery are not enough. There should be evidence that the enemy can do more than just hit & run attacks. In these cases, a semi-circle is often enough.
Cities
[edit source]For example, we would not mark as contested a city where a party still controls 95% of the city. Instead we mark specific enemy positions on the outskirts of the city until fighting in the city becomes widespread. As nobody claims there is any fighting inside of the city, it should be marked as colored dot within a siege circle (see Figure 1). Then, advanced points in the city should be marked as small dots in the color of the enemy (or small contested icons). In this specific case, a "contested" icon was added to represent the "west side of the city" that is contested (see Figure 2). This is more informative to our viewers. Since the code puts icons on the map in the order of code lines (starting with first line of code and ending with last line of code), the small "contested" icon should come in the line after that of the (large) city icon. Otherwise, the small icon will be hidden by the large icon and will therefore be invisible.
After the fights become more widespread in the city (& enemy controls a larger part of the city), we can remove the "west side of the city" icon and turn the whole city contested (see Figure 3). After this, if we learn that the enemy has taken over the whole city except for a small pocket (in south east) that is still resisting, then we change the contested icon into the color of the enemy and put a small dot representing the small pocket that is still resisting (see Figure 4).
Siege and pressure from one side icons
[edit source]Definition
[edit source]The siege icon (File:Map-circle-black.svg) should be used for towns that are under siege or strong enemy pressure. The “pressure from one side” icon (File:Map-arcNE-black.svg) should be used for towns that are under enemy pressure from one side.