Add a big update to the charging station theme

This commit is contained in:
pietervdvn 2021-09-06 01:35:08 +02:00
parent 03d801733b
commit 96c11badaf
17 changed files with 2035 additions and 343 deletions

View file

@ -1,3 +1,4 @@
# Available types for text fields
The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them

View file

@ -9,7 +9,6 @@ import {TagUtils} from "../../Logic/Tags/TagUtils";
import SharedTagRenderings from "../../Customizations/SharedTagRenderings";
import {TagRenderingConfigJson} from "./Json/TagRenderingConfigJson";
import {Utils} from "../../Utils";
import Svg from "../../Svg";
import {UIEventSource} from "../../Logic/UIEventSource";
import BaseUIElement from "../../UI/BaseUIElement";
import {FixedUiElement} from "../../UI/Base/FixedUiElement";
@ -18,6 +17,7 @@ import {VariableUiElement} from "../../UI/Base/VariableUIElement";
import FilterConfig from "./FilterConfig";
import {Unit} from "../Unit";
import DeleteConfig from "./DeleteConfig";
import Svg from "../../Svg";
export default class LayerConfig {
static WAYHANDLING_DEFAULT = 0;

View file

@ -53,6 +53,12 @@ export default class TagRenderingQuestion extends Combine {
const inputElement: InputElement<TagsFilter> = TagRenderingQuestion.GenerateInputElement(configuration, applicableUnit, tags)
if(inputElement === undefined){
console.trace("MultiAnswer failed", configuration)
const inputElement0: InputElement<TagsFilter> = TagRenderingQuestion.GenerateInputElement(configuration, applicableUnit, tags)
}
const save = () => {
const selection = inputElement.GetValue().data;
if (selection) {
@ -176,6 +182,7 @@ export default class TagRenderingQuestion extends Combine {
configuration: TagRenderingConfig,
elements: InputElement<TagsFilter>[], freeformField: InputElement<TagsFilter>, ifNotSelected: TagsFilter[]): InputElement<TagsFilter> {
const checkBoxes = new CheckBoxes(elements);
const inputEl = new InputElementMap<number[], TagsFilter>(
checkBoxes,
(t0, t1) => {
@ -248,7 +255,6 @@ export default class TagRenderingQuestion extends Combine {
elements.map(el => el.GetValue())
);
freeformField?.GetValue()?.addCallbackAndRun(value => {
// The list of indices of the selected elements
const es = checkBoxes.GetValue();

View file

@ -173,8 +173,9 @@ export class Utils {
if (!tags.hasOwnProperty(key)) {
continue
}
txt = txt.replace(new RegExp("{" + key + "}", "g"), tags[key])
txt = txt.replace(new RegExp("{" + key + "}", "g"), tags[key] ?? "")
}
txt = txt.replace(new RegExp('{.*}', "g"), "")
return txt;
}

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="200"
height="200"
viewBox="0 0 52.916666 52.916668"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="schuko.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="10.36923"
inkscape:cy="150.9976"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1879"
inkscape:window-height="1025"
inkscape:window-x="41"
inkscape:window-y="27"
inkscape:window-maximized="1"
units="px" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="1. réteg"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(0,-244.08332)">
<path
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.01140394;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.441604,247.01962 c -8.657326,0.006 -16.218865,4.69135 -20.2953918,11.66346 l 0.01529,4.99846 -2.1956051,-0.0212 c -0.6657136,2.18004 -1.023401,4.49438 -1.0222633,6.89249 9.03e-4,2.08615 0.2737058,4.1086 0.7841873,6.03424 l 2.441323,-0.0271 -0.00241,5.87495 c 4.0853129,6.9596 11.6462809,11.63105 20.2971559,11.62877 8.626728,-0.002 16.167837,-4.65144 20.257769,-11.5841 l 0.0241,-5.89139 2.437799,0.0117 c 0.514855,-1.93641 0.789487,-3.97099 0.789478,-6.0701 -0.0024,-2.37892 -0.357119,-4.67488 -1.014625,-6.8384 l -2.232051,0.006 -0.0076,-5.09956 C 42.624189,251.6611 35.074316,247.01393 26.441604,247.01962 Z m -2.106251,3.78925 0.02176,3.01742 c 0.0046,0.48679 0.774188,1.10115 1.154531,1.09751 l 1.928135,-0.0102 c 0.475348,-0.006 1.131823,-0.69062 1.136894,-1.15335 l 0.01115,-2.941 c 6.05106,0.65887 11.288299,4.03193 14.460429,8.87589 l 0.0024,7.93064 2.803437,-0.008 -0.01586,4.96378 -2.786394,0.0288 0.0024,8.7448 c -3.170416,4.84737 -8.408306,8.22486 -14.465133,8.88472 l -0.0024,-2.91102 c -0.008,-0.47584 -0.614707,-1.18013 -1.106916,-1.18569 l -1.988753,-0.0141 c -0.482322,0.007 -1.146169,0.707 -1.138069,1.25858 l 0.0024,2.86575 c -6.080921,-0.62364 -11.350233,-3.98553 -14.5474299,-8.83121 l -0.00125,-8.84415 -2.7399503,0.008 0.00587,-4.92556 2.7117333,-0.007 -0.013514,-7.95885 c 3.1891139,-4.86933 8.4660189,-8.25431 14.5644809,-8.88588 z m 11.88096,16.42149 c -1.72122,0.003 -3.113745,1.40041 -3.11147,3.12029 0.0024,1.71988 1.399057,3.11201 3.120286,3.11087 1.721232,-0.001 3.116175,-1.39584 3.116175,-3.12028 -0.005,-1.72445 -1.403761,-3.1143 -3.124991,-3.11088 z m -20.285398,0.005 c -1.721229,0.003 -3.113975,1.40041 -3.111471,3.12029 0.0024,1.71988 1.399644,3.11201 3.120876,3.11087 1.721229,-10e-4 3.115584,-1.39584 3.115584,-3.12028 -0.005,-1.72445 -1.40376,-3.1143 -3.124989,-3.11088 z"
id="path826-3"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -0,0 +1,175 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="176.43056mm"
height="176.59903mm"
viewBox="0 0 625.14764 625.74459"
id="svg2"
version="1.1"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="Chademo_type4.svg"
inkscape:export-filename="/Users/sss/Desktop/Plug/chademo type4.png"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="-164.44801"
inkscape:cy="218.10335"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-grids="false"
inkscape:snap-to-guides="true"
inkscape:window-width="1920"
inkscape:window-height="999"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4211"
originx="-58.486622"
originy="-236.1297" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-58.486622,-190.48793)">
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:65;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4213"
cx="512.14282"
cy="506.64789"
rx="69.104935"
ry="72.676361" />
<ellipse
ry="72.676361"
rx="69.104935"
cy="506.64789"
cx="233.5714"
id="ellipse4215"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:65;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
style="stroke:#000000;stroke-opacity:1"
id="g4234">
<circle
r="70"
cy="330.93365"
cx="371.42859"
id="path4221"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4223"
cx="319.85715"
cy="330.93365"
rx="16.378016"
ry="17.092304" />
<ellipse
ry="17.092304"
rx="16.378016"
cy="330.93365"
cx="421.57144"
id="ellipse4225"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4227"
cx="372.14288"
cy="380.36221"
rx="16.378016"
ry="17.092304" />
<g
style="stroke:#000000;stroke-opacity:1"
id="g4231"
transform="translate(0,4)">
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4229"
cx="372.14288"
cy="276.64792"
rx="16.378016"
ry="17.092304" />
</g>
<g
style="stroke:#000000;stroke-opacity:1"
id="g4248"
transform="translate(2.9325188e-8,350)">
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle4250"
cx="371.42859"
cy="330.93365"
r="70" />
</g>
<ellipse
ry="17.092304"
rx="16.378016"
cy="680.93365"
cx="319.85715"
id="ellipse4252"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4254"
cx="421.57144"
cy="680.93365"
rx="16.378016"
ry="17.092304" />
<ellipse
ry="17.092304"
rx="16.378016"
cy="730.36218"
cx="372.14288"
id="ellipse4256"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
style="stroke:#000000;stroke-opacity:1"
id="g4258"
transform="translate(2.9325188e-8,354)">
<ellipse
ry="17.092304"
rx="16.378016"
cy="276.64792"
cx="372.14288"
id="ellipse4260"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:7.30948782;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:18;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 198.57143,253.79078 c 0,0 52.58614,-29.39643 81.07143,-38.57143 27.98322,-9.01328 57.38863,-15.38044 86.78571,-15.71428 33.62262,-0.38182 67.55701,5.6582 99.64286,15.71428 28.14713,8.82164 79.64286,38.57143 79.64286,38.57143 l 38.57142,-8.57143 54.28572,54.28571 -11.42857,40 c 0,0 31.19161,55.83512 39.28571,86.42857 7.39899,27.96611 9.03609,57.52428 7.85714,86.42857 -1.35916,33.32263 -6.00647,67.13537 -17.14285,98.57143 -9.46744,26.72494 -24.36373,51.64402 -41.42857,74.28571 -16.82126,22.31851 -37.20196,42.11768 -59.14286,59.42858 -18.22165,14.37649 -38.25668,26.77452 -59.42857,36.28572 -21.57261,9.69122 -44.67141,16.05395 -67.85715,20.71429 -18.15873,3.64991 -36.76457,5.40224 -55.28571,5.57142 -18.27518,0.16693 -36.65813,-1.25041 -54.64286,-4.5 -18.52827,-3.3478 -36.85134,-8.42524 -54.35715,-15.35715 -19.70331,-7.80208 -38.75583,-17.59095 -56.42856,-29.28571 C 184.87727,742.39711 161.98922,724.79601 142.85714,703.79077 123.46882,682.5042 106.53896,658.41758 94.285714,632.3622 82.998053,608.36004 76.460387,582.10371 72.142857,555.93362 c -4.306381,-26.10252 -5.928935,-52.93559 -3.571429,-79.2857 2.39342,-26.75152 9.290857,-53.11578 17.857141,-78.57144 7.170886,-21.30908 27.857141,-61.42856 27.857141,-61.42856 l -9.42857,-41.71429 49.42857,-49.71428 z"
id="path4271"
inkscape:connector-curvature="0"
sodipodi:nodetypes="caaaccccaaaaaaaaaaaaaaaacccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="142.32359mm"
height="119.50872mm"
viewBox="0 0 504.2962 423.4561"
id="svg2"
version="1.1"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="Tesla-hpwc-model-s.svg"
inkscape:export-filename="/Users/sss/Desktop/EV Plugs/tesla-hpwc-model-s.png"
inkscape:export-xdpi="600.09003"
inkscape:export-ydpi="600.09003">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="-95.934435"
inkscape:cy="240.84328"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-grids="false"
inkscape:window-width="1203"
inkscape:window-height="851"
inkscape:window-x="6"
inkscape:window-y="25"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4198"
originx="-112.84082"
originy="-334.16263" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
transform="translate(-112.84082,-294.7435)">
<path
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 184.85792,610.92554 c 5.34247,-9.4116 20.61454,5.50266 32.32488,3.03046 11.71034,-2.4722 21.39574,-12.73143 34.34519,-19.1929 36.3074,-19.01022 81.45928,-28.17606 119.198,-28.28426 50.78584,1.91459 74.27116,7.41743 116.16754,29.29441 11.09057,5.78459 22.31528,18.45539 31.31473,20.20305 8.99945,1.74766 30.5459,-16.67466 37.37564,-6.06091 8.54045,13.27229 -26.26396,39.39595 -26.26396,39.39595 l -52.52794,30.30457 -67.68022,19.1929 -79.80205,1.01016 -58.58885,-15.15229 -55.55839,-32.32488 c 0,0 -38.74931,-26.53954 -30.30457,-41.41626 z"
id="path4164"
inkscape:connector-curvature="0"
sodipodi:nodetypes="azccczacccccca" />
</g>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-112.84082,-294.7435)">
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4200"
cx="230.35025"
cy="418.67181"
rx="83.017761"
ry="86.048218" />
<ellipse
ry="86.048218"
rx="83.017761"
cy="418.672"
cx="499.05084"
id="ellipse4202"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:35;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 279.30718,316.91023 c 0,0 -33.08645,4.35616 -48.9924,9.15229 -20.64561,6.22527 -42.55026,11.99792 -59.55839,25.25382 -11.00372,8.57614 -18.99908,20.90526 -25.25381,33.37564 -5.96623,11.89519 -8.55315,25.28589 -11.11168,38.34519 -2.47362,12.62593 -3.89722,25.52064 -4.04061,38.3858 -0.13556,12.16253 1.22253,24.33428 3.01015,36.36549 1.87312,12.60661 4.3376,25.18662 8.06092,37.37564 4.23784,13.87341 9.89121,27.32549 16.16244,40.4061 6.5181,13.59554 13.50529,27.09474 22.22335,39.39595 8.27833,11.68075 17.64849,22.74329 28.30458,32.30458 12.23566,10.97857 25.91139,20.51153 40.3858,28.30458 13.70868,7.38077 28.39314,13.16022 43.43656,17.17259 15.7817,4.20928 32.19147,5.9642 48.48732,7.07107 18.30969,1.24366 36.78558,1.25025 55.05331,-0.50508 17.55268,-1.68662 35.17398,-4.3949 52.02286,-9.59645 15.12757,-4.67015 29.67229,-11.39026 43.43656,-19.2132 11.12797,-6.3246 21.87658,-13.57735 31.31473,-22.22336 13.03065,-11.93698 24.40568,-25.77431 34.34518,-40.3858 9.65878,-14.1988 17.71912,-29.57201 24.24366,-45.45686 6.2739,-15.27462 10.91192,-31.2833 14.14214,-47.47717 2.84779,-14.27667 4.25784,-28.88148 4.54568,-43.43656 0.36027,-18.21734 -0.0313,-36.66748 -3.53553,-54.54824 -2.86199,-14.60363 -5.93988,-29.92825 -14.14213,-42.34518 -8.69267,-13.15935 -21.87573,-23.27593 -35.39595,-31.39595 -13.23084,-7.94622 -28.52892,-11.9986 -43.39595,-16.14214 -12.21526,-3.40448 -24.8878,-4.88763 -37.37565,-7.09137 l -17.17259,-3.03046"
id="path4206"
inkscape:connector-curvature="0"
sodipodi:nodetypes="caaaaaaaaaaaaaaaaaaaaaaaaasc"
inkscape:export-xdpi="600.09003"
inkscape:export-ydpi="600.09003" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:20.26376724;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 248.31561,315.87298 c 0,0 24.12228,-5.07483 34.71983,-6.87468 10.59756,-1.79985 29.90209,-2.31504 50.08267,-3.11732 10.76112,-0.42781 21.52943,-0.99049 32.30252,-1.00526 11.81462,-0.0162 23.62307,0.55736 35.42857,1.00526 7.33923,0.27845 14.70208,0.29618 22.00802,1.04567 l 29.10539,2.9858"
id="path4208"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssaasc" />
<path
sodipodi:nodetypes="cassc"
inkscape:connector-curvature="0"
id="path4214"
d="m 580.58137,560.70912 c 0,0 6.13362,-29.43998 3.88722,-43.98705 -0.97642,-6.32302 -2.73509,-13.49274 -7.37831,-17.7191 -4.24591,-3.8647 -8.88817,-7.84975 -18.02479,-8.84831 -9.13661,-0.99857 -26.30313,8.06042 -26.30313,8.06042"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:28.58847809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:28.05994987;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 149.56008,560.95966 c 0,0 -6.37621,-30.10596 -3.67151,-44.86526 1.23348,-6.73102 3.5893,-13.78529 8.82103,-18.5376 0,0 10.0336,-5.77951 15.4336,-6.28404 5.4,-0.50453 18.66161,2.87436 18.66161,2.87436"
id="path4216"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cassc" />
<path
sodipodi:nodetypes="csc"
inkscape:connector-curvature="0"
id="path4220"
d="m 441.44301,349.74977 c 0,0 12.08212,-15.94331 7.5006,-28.5062 -4.53524,-12.43598 -20.09538,-13.81125 -20.09538,-13.81125"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:20.16927338;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4224"
width="36.36549"
height="18.182745"
x="126.26907"
y="468.49402"
ry="9.0913725" />
<rect
ry="9.0913725"
y="472.53464"
x="560.63464"
height="18.182745"
width="36.36549"
id="rect4226"
style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:20;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<ellipse
cy="625.19025"
cx="473.55237"
id="ellipse4236"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:14.23218822;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
rx="23.71863"
ry="23.213554" />
<ellipse
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:8.45023632;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4238"
cx="369.21078"
cy="627.08795"
rx="37.338669"
ry="36.833595" />
<ellipse
ry="23.213554"
rx="23.71863"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:14.23218822;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4244"
cx="260.61938"
cy="625.06769" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:20.16927338;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 287.06118,349.74977 c 0,0 -12.08212,-15.94331 -7.5006,-28.5062 4.53524,-12.43598 20.09538,-13.81125 20.09538,-13.81125"
id="path4157"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="140.90894mm"
height="220.40805mm"
viewBox="0 0 499.28363 780.97341"
id="svg2"
version="1.1"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="Type1-ccs.svg"
inkscape:export-filename="/Users/sss/Desktop/EV Plugs/type1-ccs.png"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="46.05434"
inkscape:cy="221.84629"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"
inkscape:window-width="1100"
inkscape:window-height="865"
inkscape:window-x="486"
inkscape:window-y="18"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4198"
originx="-119.05579"
originy="-74.797752" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-119.0558,-196.59103)">
<ellipse
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.56927681;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4200"
cx="367.85715"
cy="495.93365"
rx="160.95374"
ry="162.38231"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4204"
cx="295"
cy="428.79077"
rx="61.111416"
ry="59.682846"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="59.682846"
rx="61.111416"
cy="430.21933"
cx="443.57144"
id="ellipse4206"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4208"
cx="367.85715"
cy="597.36218"
rx="61.111416"
ry="59.682846"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
id="ellipse4210"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.87373066;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
ry="43.907356"
rx="44.073235"
cy="548.79071"
cx="265.16583"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="45.200142"
rx="45.200138"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10.14530182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4212"
cx="470.14282"
cy="548.21924"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
cx="295.47043"
cy="427.82495"
rx="17.293442"
ry="16.875025"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4236"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
id="ellipse4238"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
ry="16.875025"
rx="17.293442"
cy="428.33002"
cx="442.9527"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
cx="368.20142"
cy="596.01532"
rx="17.293442"
ry="16.875025"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4242"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4244"
cx="265.41757"
cy="550.31641"
rx="10.354064"
ry="10.606602"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="10.606602"
rx="10.354064"
cy="548.31641"
cx="470.49884"
id="ellipse4246"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 314.15744,710.42556 c 0,0 -8.29727,-2.7314 -12.37437,-4.29314 -39.46429,-15.1169 -77.72925,-39.07475 -103.2881,-72.47845 -30.35641,-39.67379 -52.52967,-90.98412 -51.0127,-140.91628 1.68766,-55.55061 26.77332,-113.83333 66.16499,-153.03811 39.83025,-39.64128 98.86627,-66.73242 155.05842,-66.16499 58.16955,0.5874 118.77282,29.79424 159.09902,71.72083 37.0167,38.48575 58.80289,95.10989 60.10408,148.49243 1.19495,49.0241 -18.5798,100.033 -48.48732,138.89597 -27.02603,35.11865 -69.14587,60.36619 -110.10663,74.49875 -2.5427,0.8773 -7.57614,2.77792 -7.57614,2.77792 l -0.50508,22.22336 c -0.16266,7.15687 -6.98759,15.91815 -14.14213,16.16244 -39.7949,1.3588 -40.27174,0.57428 -74.75129,1.01015 -7.63331,0.0965 -17.49154,-10.55111 -17.67768,-18.18274 z"
id="path4248"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csaaaaaaascssssc"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 315.71429,217.3622 100,-0.71428"
id="path4271"
inkscape:connector-curvature="0"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 315.71429,260.93363 315,201.64792 c 0,0 -6.46215,0.074 -9.28571,1.42857 -3.49459,1.67645 -7.45418,4.14575 -8.57143,7.85714 -6.43638,21.38096 -13.57143,57.85715 -13.57143,57.85715"
id="path4273"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccasc"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
sodipodi:nodetypes="ccasc"
inkscape:connector-curvature="0"
id="path4275"
d="m 415.80692,261.64792 0.71429,-59.28571 c 0,0 6.46215,0.074 9.28571,1.42857 3.49459,1.67645 7.45418,4.14575 8.57143,7.85714 6.43638,21.38096 13.57143,57.85715 13.57143,57.85715"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
inkscape:export-ydpi="600"
inkscape:export-xdpi="600"
sodipodi:nodetypes="cssaaaaasscssssc"
inkscape:connector-curvature="0"
id="path4162"
d="m 303.19364,719.33863 c 0,0 -14.02596,-5.38809 -18.09154,-7.53768 -39.56925,-20.92145 -71.23025,-37.80068 -94.70835,-69.02148 -31.53528,-41.93512 -55.35856,-95.521 -53.75989,-147.94299 1.77855,-58.32061 28.21516,-119.50957 69.72818,-160.66928 41.97524,-41.61797 104.19053,-70.05998 163.4088,-69.46426 61.30216,0.61669 125.1691,31.27991 167.667,75.29715 39.01016,40.40482 61.96959,99.85249 63.34086,155.89691 1.2593,51.46867 -17.22512,103.56252 -51.0985,145.82194 -25.39274,31.67922 -57.71731,50.24435 -98.86363,71.14254 -2.52632,1.28312 -17.07551,5.94689 -17.07551,5.94689 l -0.53228,23.33152 c -0.17142,7.51375 2.73764,23.78297 -4.8022,24.03944 -41.93798,1.42656 -67.69432,0.60292 -104.03069,1.06052 -8.04439,0.10131 -19.33806,1.04132 -19.63984,-6.96758 z"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<ellipse
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4163"
cx="282.33765"
cy="866.49408"
rx="52.64222"
ry="54.157452" />
<ellipse
ry="54.157452"
rx="52.64222"
cy="864.47375"
cx="455.07373"
id="ellipse4165"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:0.98999999;fill:none;fill-opacity:1;stroke:#000000;stroke-width:25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4167"
width="386.93753"
height="192.47308"
x="175.29277"
y="772.59137"
ry="95.432564" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="140.90894mm"
height="166.03593mm"
viewBox="0 0 499.28363 588.3163"
id="svg2"
version="1.1"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="Type1_J1772.svg"
inkscape:export-filename="/Users/sss/Desktop/EV Plugs/type1.png"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="70.01646"
inkscape:cy="258.782"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false"
inkscape:window-width="1095"
inkscape:window-height="830"
inkscape:window-x="82"
inkscape:window-y="96"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4198"
originx="-119.05579"
originy="-267.45484" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-119.0558,-196.59103)">
<ellipse
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.56927681;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4200"
cx="367.85715"
cy="495.93365"
rx="160.95374"
ry="162.38231"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4204"
cx="295"
cy="428.79077"
rx="61.111416"
ry="59.682846"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="59.682846"
rx="61.111416"
cy="430.21933"
cx="443.57144"
id="ellipse4206"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.94517899;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4208"
cx="367.85715"
cy="597.36218"
rx="61.111416"
ry="59.682846"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
id="ellipse4210"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:9.87373066;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
ry="43.907356"
rx="44.073235"
cy="548.79071"
cx="265.16583"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="45.200142"
rx="45.200138"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10.14530182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4212"
cx="470.14282"
cy="548.21924"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
cx="295.47043"
cy="427.82495"
rx="17.293442"
ry="16.875025"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4236"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
id="ellipse4238"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
ry="16.875025"
rx="17.293442"
cy="428.33002"
cx="442.9527"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
cx="368.20142"
cy="596.01532"
rx="17.293442"
ry="16.875025"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="ellipse4242"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4244"
cx="265.41757"
cy="550.31641"
rx="10.354064"
ry="10.606602"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<ellipse
ry="10.606602"
rx="10.354064"
cy="548.31641"
cx="470.49884"
id="ellipse4246"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 314.15744,710.42556 c 0,0 -8.29727,-2.7314 -12.37437,-4.29314 -39.46429,-15.1169 -77.72925,-39.07475 -103.2881,-72.47845 -30.35641,-39.67379 -52.52967,-90.98412 -51.0127,-140.91628 1.68766,-55.55061 26.77332,-113.83333 66.16499,-153.03811 39.83025,-39.64128 98.86627,-66.73242 155.05842,-66.16499 58.16955,0.5874 118.77282,29.79424 159.09902,71.72083 37.0167,38.48575 58.80289,95.10989 60.10408,148.49243 1.19495,49.0241 -18.5798,100.033 -48.48732,138.89597 -27.02603,35.11865 -69.14587,60.36619 -110.10663,74.49875 -2.5427,0.8773 -7.57614,2.77792 -7.57614,2.77792 l -0.50508,22.22336 c -0.16266,7.15687 -6.98759,15.91815 -14.14213,16.16244 -39.7949,1.3588 -40.27174,0.57428 -74.75129,1.01015 -7.63331,0.0965 -17.49154,-10.55111 -17.67768,-18.18274 z"
id="path4248"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csaaaaaaascssssc"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 315.71429,217.3622 100,-0.71428"
id="path4271"
inkscape:connector-curvature="0"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 315.71429,260.93363 315,201.64792 c 0,0 -6.46215,0.074 -9.28571,1.42857 -3.49459,1.67645 -7.45418,4.14575 -8.57143,7.85714 -6.43638,21.38096 -13.57143,57.85715 -13.57143,57.85715"
id="path4273"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccasc"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
sodipodi:nodetypes="ccasc"
inkscape:connector-curvature="0"
id="path4275"
d="m 415.80692,261.64792 0.71429,-59.28571 c 0,0 6.46215,0.074 9.28571,1.42857 3.49459,1.67645 7.45418,4.14575 8.57143,7.85714 6.43638,21.38096 13.57143,57.85715 13.57143,57.85715"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="600"
inkscape:export-ydpi="600" />
<path
inkscape:export-ydpi="600"
inkscape:export-xdpi="600"
sodipodi:nodetypes="cssaaaaasscssssc"
inkscape:connector-curvature="0"
id="path4162"
d="m 303.19364,719.33863 c 0,0 -14.02596,-5.38809 -18.09154,-7.53768 -39.56925,-20.92145 -71.23025,-37.80068 -94.70835,-69.02148 -31.53528,-41.93512 -55.35856,-95.521 -53.75989,-147.94299 1.77855,-58.32061 28.21516,-119.50957 69.72818,-160.66928 41.97524,-41.61797 104.19053,-70.05998 163.4088,-69.46426 61.30216,0.61669 125.1691,31.27991 167.667,75.29715 39.01016,40.40482 61.96959,99.85249 63.34086,155.89691 1.2593,51.46867 -17.22512,103.56252 -51.0985,145.82194 -25.39274,31.67922 -57.71731,50.24435 -98.86363,71.14254 -2.52632,1.28312 -17.07551,5.94689 -17.07551,5.94689 l -0.53228,23.33152 c -0.17142,7.51375 2.73764,23.78297 -4.8022,24.03944 -41.93798,1.42656 -67.69432,0.60292 -104.03069,1.06052 -8.04439,0.10131 -19.33806,1.04132 -19.63984,-6.96758 z"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

View file

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="204.5"
height="205.5"
viewBox="0 0 54.107291 54.371876"
version="1.1"
id="svg8"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="TypeE.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="16"
inkscape:cx="107.73386"
inkscape:cy="144.41751"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="999"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
units="px"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-grids="true"
inkscape:snap-nodes="false">
<sodipodi:guide
position="27.057699,27.185938"
orientation="0,1"
id="guide820"
inkscape:locked="false" />
<sodipodi:guide
position="27.053646,27.148731"
orientation="1,0"
id="guide822"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="1. réteg"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(0.52916652,-243.28956)">
<ellipse
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.32291663;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path818"
cx="26.524479"
cy="270.47549"
rx="26.392187"
ry="26.524479" />
<circle
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path826"
cx="26.524479"
cy="253.60205"
r="3.0136123" />
<path
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.01308249;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 37.605863,266.45426 c -1.974567,0.003 -3.572059,1.60654 -3.569449,3.57957 0.0028,1.97303 1.604985,3.57007 3.579563,3.56876 1.974581,-0.001 3.574846,-1.6013 3.574846,-3.57956 -0.0057,-1.97827 -1.610381,-3.57269 -3.58496,-3.56877 z m -23.271216,0.006 c -1.974577,0.003 -3.572322,1.60653 -3.56945,3.57956 0.0028,1.97303 1.605659,3.57007 3.58024,3.56876 1.974577,-0.001 3.574168,-1.60129 3.574168,-3.57955 -0.0057,-1.97827 -1.61038,-3.5727 -3.584958,-3.56877 z"
id="path826-3-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -0,0 +1,534 @@
{
"id": "charging_station",
"name": {
"en": "Charging stations",
"it": "Stazioni di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjoner",
"ru": "Зарядные станции",
"zh_Hant": "充電站"
},
"minzoom": 10,
"source": {
"osmTags": {
"and": [
"amenity=charging_station"
]
}
},
"title": {
"render": {
"en": "Charging station",
"it": "Stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
}
},
"description": {
"en": "A charging station",
"it": "Una stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "En ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
},
"calculatedTags": [
"motorcar=feat.properties.motorcar ?? feat.properties.car"
],
"tagRenderings": [
"images",
{
"#": "Type",
"question": {
"en": "Which vehicles are allowed to charge here?"
},
"multiAnswer": true,
"mappings": [
{
"if": "bicycle=yes",
"ifnot": "bicycle=no",
"then": {
"en": "<b>bicycles</b> can be charged here"
}
},
{
"if": "motorcar=yes",
"extraTags": "car=",
"ifnot": {
"and": [
"car=",
"motorcar=no"
]
},
"then": {
"en": "<b>Cars</b> can be charged here"
}
},
{
"if": "scooter=yes",
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here"
}
},
{
"if": "hgv=yes",
"ifnot": "hgv=no",
"then": {
"en": "<b>Heavy good vehicles</b> (such as trucks) can be charged here"
}
},
{
"if": "bus=yes",
"ifnot": "bus=no",
"then": {
"en": "<b>Buses</b> can be charged here"
}
}
]
},
{
"question": "Who is allowed to use this charging station?",
"render": "Access is {access}",
"freeform": {
"key": "access",
"addExtraTags": [
"fixme=Freeform field used for access - doublecheck the value"
]
},
"mappings": [
{
"if": "access=yes",
"then": "Anyone can use this charging station (payment might be needed)"
},
{
"if": {
"or": [
"access=permissive",
"access=public"
]
},
"then": "Anyone can use this charging station (payment might be needed)",
"hideInAnswer": true
},
{
"if": "access=customers",
"then": "Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span> "
},
{
"if": "access=private",
"then": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)"
}
]
},
{
"#": "capacity",
"render": {
"en": "{capacity} vehicles can be charged here at the same time"
},
"question": {
"en": "How much vehicles can be charged here at the same time?"
},
"freeform": {
"key": "capacity",
"type": "pnat"
}
},
{
"question": {
"en": "Which charging stations are available here?"
},
"multiAnswer": true,
"mappings": [
{
"if": "socket:schuko=1",
"ifnot": "socket:schuko=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/CEE7_4F.svg'/> <b>Schuko wall plug</b> without ground pin (CEE7/4 type F)",
"hideInAnswer": {
"or": [
"_country!=be",
"_country!=fr",
"_country!=ma",
"_country!=tn",
"_country!=pl",
"_country!=cs",
"_country!=sk",
"_country!=mo"
]
}
},
{
"if": "socket:typee=1",
"ifnot": "socket:typee=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/TypeE.svg'/> <b>European wall plug</b> with ground pin (CEE7/4 type E)"
},
{
"if": "socket:chademo=1",
"ifnot": "socket:chademo=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Chademo_type4.svg'/> <b>Chademo</b> (type 4)"
},
{
"if": "socket:type1_cable=1",
"ifnot": "socket:type1_cable=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> <b>Type 1 with cable</b> (J1772)"
},
{
"if": "socket:type1=1",
"ifnot": "socket:type1=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> <b>Type 1 <i>without</i> cable</b> (J1772)"
},
{
"if": "socket:type1_combo=1",
"ifnot": "socket:type1_combo=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1-ccs.svg'/> <b>Type 1 CCS</b> (aka Type 1 Combo)"
},
{
"if": "socket:tesla_supercharger=1",
"ifnot": "socket:tesla_supercharger=",
"then": "<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> <b>Tesla Supercharger</b>"
}
]
},
{
"question": {
"en": "How much plugs of type <b>Schuko wall plug</b> without ground pin (CEE7/4 type F) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/CEE7_4F.svg'/> are available here?"
},
"render": "There are <b>{socket:schuko}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/CEE7_4F.svg'/> plugs of type <b>Schuko wall plug</b> without ground pin (CEE7/4 type F) available here",
"freeform": {
"key": "socket:schuko",
"type": "pnat"
},
"condition": "socket:schuko~*"
},
{
"question": {
"en": "How much plugs of type <b>European wall plug</b> with ground pin (CEE7/4 type E) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/TypeE.svg'/> are available here?"
},
"render": "There are <b>{socket:typee}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/TypeE.svg'/> plugs of type <b>European wall plug</b> with ground pin (CEE7/4 type E) available here",
"freeform": {
"key": "socket:typee",
"type": "pnat"
},
"condition": "socket:typee~*"
},
{
"question": {
"en": "How much plugs of type <b>Chademo</b> (type 4) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Chademo_type4.svg'/> are available here?"
},
"render": "There are <b>{socket:chademo}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Chademo_type4.svg'/> plugs of type <b>Chademo</b> (type 4) available here",
"freeform": {
"key": "socket:chademo",
"type": "pnat"
},
"condition": "socket:chademo~*"
},
{
"question": {
"en": "How much plugs of type <b>Type 1 with cable</b> (J1772) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> are available here?"
},
"render": "There are <b>{socket:type1_cable}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> plugs of type <b>Type 1 with cable</b> (J1772) available here",
"freeform": {
"key": "socket:type1_cable",
"type": "pnat"
},
"condition": "socket:type1_cable~*"
},
{
"question": {
"en": "How much plugs of type <b>Type 1 <i>without</i> cable</b> (J1772) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> are available here?"
},
"render": "There are <b>{socket:type1}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1_J1772.svg'/> plugs of type <b>Type 1 <i>without</i> cable</b> (J1772) available here",
"freeform": {
"key": "socket:type1",
"type": "pnat"
},
"condition": "socket:type1~*"
},
{
"question": {
"en": "How much plugs of type <b>Type 1 CCS</b> (aka Type 1 Combo) <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1-ccs.svg'/> are available here?"
},
"render": "There are <b>{socket:type1_combo}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Type1-ccs.svg'/> plugs of type <b>Type 1 CCS</b> (aka Type 1 Combo) available here",
"freeform": {
"key": "socket:type1_combo",
"type": "pnat"
},
"condition": "socket:type1_combo~*"
},
{
"question": {
"en": "How much plugs of type <b>Tesla Supercharger</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> are available here?"
},
"render": "There are <b>{socket:tesla_supercharger}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> plugs of type <b>Tesla Supercharger</b> available here",
"freeform": {
"key": "socket:tesla_supercharger",
"type": "pnat"
},
"condition": "socket:tesla_supercharger~*"
},
{
"#": "Authentication",
"question": {
"en": "What kind of authentication is available at the charging station?",
"it": "Quali sono gli orari di apertura di questa stazione di ricarica?",
"ja": "この充電ステーションはいつオープンしますか?",
"nb_NO": "Når åpnet denne ladestasjonen?",
"ru": "В какое время работает эта зарядная станция?",
"zh_Hant": "何時是充電站開放使用的時間?"
},
"multiAnswer": true,
"mappings": [
{
"if": "authentication:membership_card=yes",
"ifnot": "authentication:membership_card=no",
"then": {
"en": "Authentication by a membership card"
}
},
{
"if": "authentication:app=yes",
"ifnot": "authentication:app=no",
"then": {
"en": "Authentication by an app"
}
},
{
"if": "authentication:phone_call=yes",
"ifnot": "authentication:phone_call=no",
"then": {
"en": "Authentication via phone call is available"
}
},
{
"if": "authentication:short_message=yes",
"ifnot": "authentication:short_message=no",
"then": {
"en": "Authentication via phone call is available"
}
},
{
"if": "authentication:nfc=yes",
"ifnot": "authentication:nfc=no",
"then": {
"en": "Authentication via NFC is available"
}
},
{
"if": "authentication:money_card=yes",
"ifnot": "authentication:money_card=no",
"then": {
"en": "Authentication via Money Card is available"
}
},
{
"if": "authentication:debit_card=yes",
"ifnot": "authentication:debit_card=no",
"then": {
"en": "Authentication via debit card is available"
}
},
{
"if": "authentication:none=yes",
"ifnot": "authentication:none=no",
"then": {
"en": "No authentication is needed"
}
}
]
},
{
"#": "Auth phone",
"render": {
"en": "Authenticate by calling or SMS'ing to <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
"it": "{network}",
"ja": "{network}",
"nb_NO": "{network}",
"ru": "{network}",
"zh_Hant": "{network}"
},
"question": {
"en": "What's the phone number for authentication call or SMS?",
"it": "A quale rete appartiene questa stazione di ricarica?",
"ja": "この充電ステーションの運営チェーンはどこですか?",
"ru": "К какой сети относится эта станция?",
"zh_Hant": "充電站所屬的網路是?"
},
"freeform": {
"key": "authentication:phone_call:number",
"type": "phone"
},
"condition": {
"or": [
"authentication:phone_call=yes",
"authentication:short_message=yes"
]
},
"it": {
"0": {
"then": "Non appartiene a una rete"
}
},
"ja": {
"0": {
"then": "大規模な運営チェーンの一部ではない"
}
},
"ru": {
"0": {
"then": "Не является частью более крупной сети"
}
},
"zh_Hant": {
"0": {
"then": "不屬於大型網路"
}
}
},
{
"#": "OH",
"render": "{opening_hours_table(opening_hours)}",
"freeform": {
"key": "opening_hours",
"type": "opening_hours"
},
"question": {
"en": "When is this charging station opened?"
},
"mappings": [
{
"if": "opening_hours=24/7",
"then": {
"en": "24/7 opened (including holidays)"
}
}
]
},
{
"#": "Network",
"render": {
"en": "Part of the network <b>{network}</b>"
},
"question": {
"en": "Is this charging station part of a network?"
},
"freeform": {
"key": "network"
},
"mappings": [
{
"if": {
"and": [
"no:network=yes"
]
},
"then": {
"en": "Not part of a bigger network"
}
},
{
"if": {
"and": [
"network=AeroVironment"
]
},
"then": "AeroVironment"
},
{
"if": {
"and": [
"network=Blink"
]
},
"then": "Blink"
},
{
"if": {
"and": [
"network=eVgo"
]
},
"then": "eVgo"
}
]
},
{
"#": "Operator",
"question": "Who is the operator of this charging station?",
"render": "This charging station is operated by {operator}",
"freeform": {
"key": "operator"
},
"mappings": [
{
"if": {
"and": [
"network:={operator}"
]
},
"then": "Actually, {operator} is the network",
"addExtraTags": [
"operator="
],
"hideInAnswer": "operator="
}
]
}
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"iconOverlays": [
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg",
"badge": true
}
],
"width": {
"render": "8"
},
"iconSize": {
"render": "50,50,bottom"
},
"color": {
"render": "#00f"
},
"presets": [
{
"tags": [
"amenity=charging_station"
],
"title": {
"en": "Charging station"
}
}
],
"wayHandling": 1
}

View file

@ -0,0 +1,403 @@
{
"id": "charging_station",
"name": {
"en": "Charging stations",
"it": "Stazioni di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjoner",
"ru": "Зарядные станции",
"zh_Hant": "充電站"
},
"minzoom": 10,
"source": {
"osmTags": {
"and": [
"amenity=charging_station"
]
}
},
"title": {
"render": {
"en": "Charging station",
"it": "Stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
}
},
"description": {
"en": "A charging station",
"it": "Una stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "En ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
},
"calculatedTags": [
"motorcar=feat.properties.motorcar ?? feat.properties.car"
],
"tagRenderings": [
"images",
{
"#": "Type",
"question": {
"en": "Which vehicles are allowed to charge here?"
},
"multiAnswer": true,
"mappings": [
{
"if": "bicycle=yes",
"ifnot": "bicycle=no",
"then": {
"en": "<b>bicycles</b> can be charged here"
}
},
{
"if": "motorcar=yes",
"extraTags": "car=",
"ifnot": {
"and": [
"car=",
"motorcar=no"
]
},
"then": {
"en": "<b>Cars</b> can be charged here"
}
},
{
"if": "scooter=yes",
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here"
}
},
{
"if": "hgv=yes",
"ifnot": "hgv=no",
"then": {
"en": "<b>Heavy good vehicles</b> (such as trucks) can be charged here"
}
},
{
"if": "bus=yes",
"ifnot": "bus=no",
"then": {
"en": "<b>Buses</b> can be charged here"
}
}
]
},
{
"question": "Who is allowed to use this charging station?",
"render": "Access is {access}",
"freeform": {
"key": "access",
"addExtraTags": [
"fixme=Freeform field used for access - doublecheck the value"
]
},
"mappings": [
{
"if": "access=yes",
"then": "Anyone can use this charging station (payment might be needed)"
},
{
"if": {
"or": [
"access=permissive",
"access=public"
]
},
"then": "Anyone can use this charging station (payment might be needed)",
"hideInAnswer": true
},
{
"if": "access=customers",
"then": "Only customers of the place this station belongs to can use this charging station<br/><span class='subtle'>E.g. a charging station operated by hotel which is only usable by their guests</span> "
},
{
"if": "access=private",
"then": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)"
}
]
},
{
"#": "capacity",
"render": {
"en": "{capacity} vehicles can be charged here at the same time"
},
"question": {
"en": "How much vehicles can be charged here at the same time?"
},
"freeform": {
"key": "capacity",
"type": "pnat"
}
},
$$$
{
"#": "Authentication",
"question": {
"en": "What kind of authentication is available at the charging station?",
"it": "Quali sono gli orari di apertura di questa stazione di ricarica?",
"ja": "この充電ステーションはいつオープンしますか?",
"nb_NO": "Når åpnet denne ladestasjonen?",
"ru": "В какое время работает эта зарядная станция?",
"zh_Hant": "何時是充電站開放使用的時間?"
},
"multiAnswer": true,
"mappings": [
{
"if": "authentication:membership_card=yes",
"ifnot": "authentication:membership_card=no",
"then": {
"en": "Authentication by a membership card"
}
},
{
"if": "authentication:app=yes",
"ifnot": "authentication:app=no",
"then": {
"en": "Authentication by an app"
}
},
{
"if": "authentication:phone_call=yes",
"ifnot": "authentication:phone_call=no",
"then": {
"en": "Authentication via phone call is available"
}
},
{
"if": "authentication:short_message=yes",
"ifnot": "authentication:short_message=no",
"then": {
"en": "Authentication via phone call is available"
}
},
{
"if": "authentication:nfc=yes",
"ifnot": "authentication:nfc=no",
"then": {
"en": "Authentication via NFC is available"
}
},
{
"if": "authentication:money_card=yes",
"ifnot": "authentication:money_card=no",
"then": {
"en": "Authentication via Money Card is available"
}
},
{
"if": "authentication:debit_card=yes",
"ifnot": "authentication:debit_card=no",
"then": {
"en": "Authentication via debit card is available"
}
},
{
"if": "authentication:none=yes",
"ifnot": "authentication:none=no",
"then": {
"en": "No authentication is needed"
}
}
]
},
{
"#": "Auth phone",
"render": {
"en": "Authenticate by calling or SMS'ing to <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
"it": "{network}",
"ja": "{network}",
"nb_NO": "{network}",
"ru": "{network}",
"zh_Hant": "{network}"
},
"question": {
"en": "What's the phone number for authentication call or SMS?",
"it": "A quale rete appartiene questa stazione di ricarica?",
"ja": "この充電ステーションの運営チェーンはどこですか?",
"ru": "К какой сети относится эта станция?",
"zh_Hant": "充電站所屬的網路是?"
},
"freeform": {
"key": "authentication:phone_call:number",
"type": "phone"
},
"condition": {
"or": [
"authentication:phone_call=yes",
"authentication:short_message=yes"
]
},
"it": {
"0": {
"then": "Non appartiene a una rete"
}
},
"ja": {
"0": {
"then": "大規模な運営チェーンの一部ではない"
}
},
"ru": {
"0": {
"then": "Не является частью более крупной сети"
}
},
"zh_Hant": {
"0": {
"then": "不屬於大型網路"
}
}
},
{
"#": "OH",
"render": "{opening_hours_table(opening_hours)}",
"freeform": {
"key": "opening_hours",
"type": "opening_hours"
},
"question": {
"en": "When is this charging station opened?"
},
"mappings": [
{
"if": "opening_hours=24/7",
"then": {
"en": "24/7 opened (including holidays)"
}
}
]
},
{
"#": "Network",
"render": {
"en": "Part of the network <b>{network}</b>"
},
"question": {
"en": "Is this charging station part of a network?"
},
"freeform": {
"key": "network"
},
"mappings": [
{
"if": {
"and": [
"no:network=yes"
]
},
"then": {
"en": "Not part of a bigger network"
}
},
{
"if": {
"and": [
"network=AeroVironment"
]
},
"then": "AeroVironment"
},
{
"if": {
"and": [
"network=Blink"
]
},
"then": "Blink"
},
{
"if": {
"and": [
"network=eVgo"
]
},
"then": "eVgo"
}
]
},
{
"#": "Operator",
"question": "Who is the operator of this charging station?",
"render": "This charging station is operated by {operator}",
"freeform": {
"key": "operator"
},
"mappings": [
{
"if": {
"and": [
"network:={operator}"
]
},
"then": "Actually, {operator} is the network",
"addExtraTags": [
"operator="
],
"hideInAnswer": "operator="
}
]
}
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"iconOverlays": [
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg",
"badge": true
}
],
"width": {
"render": "8"
},
"iconSize": {
"render": "50,50,bottom"
},
"color": {
"render": "#00f"
},
"presets": [
{
"tags": [
"amenity=charging_station"
],
"title": {
"en": "Charging station"
}
}
],
"wayHandling": 1
}

View file

@ -0,0 +1,70 @@
import {readFileSync, writeFileSync} from "fs";
import {Utils} from "../../../Utils";
// SMall script to output the properties of the types.csv as json to add in the tagRenderingGroup. Should be copied manually
function run() {
const entries: string[] = Utils.NoNull(readFileSync("types.csv", "utf8").split("\n").map(str => str.trim()))
entries.shift()
const result = []
const questions = []
for (const entry of entries) {
const [key, image, description, whitelist] = entry.split(",").map(str => str.trim())
if (key === "") {
continue;
}
const json = {
if: `${key}=1`,
ifnot: `${key}=`,
then: `<img style='width:3rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/${image}'/> ${description}`,
}
if (whitelist) {
const countries = whitelist.split(";").map(country => "_country!=" + country) //HideInAnswer if it is in the wrong country
json["hideInAnswer"] = {or:countries}
}
result.push(json)
const indivQ = {
question: {
en: `How much plugs of type ${description} <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/${image}'/> are available here?`
},
render: `There are <b>{${key}}</b> <img style='width:1rem; margin-left: 1rem; margin-right: 1rem' src='./assets/layers/charging_station/${image}'/> plugs of type ${description} available here`,
freeform: {
key: key,
type: "pnat"
},
condition: `${key}~*`
}
questions.push(indivQ)
}
const toggles = {
"question": {
"en": "Which charging stations are available here?"
},
"multiAnswer": true,
"mappings": result
}
questions.unshift(toggles)
const stringified = questions.map(q => JSON.stringify(q, null, " "))
console.log(stringified)
let proto = readFileSync("charging_station.proto.json", "utf8")
proto = proto.replace("$$$", stringified.join(",\n") + ",")
writeFileSync("charging_station.json", proto)
}
try {
run()
} catch (e) {
console.error(e)
}

View file

@ -0,0 +1,5 @@
#! /bin/bash
cp csvToJson.tsd csvToJson.ts
ts-node csvToJson.ts
# rm csvToJson.ts
npm run generate:layeroverview

View file

@ -0,0 +1,61 @@
[
{
"path": "CEE7_4F.svg",
"license": "MIT",
"authors": [
"Gabor111a"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:CEE7_Type4.svg",
"https://github.com/openchargemap/ocm-app/issues/22"
]
},
{
"path": "TypeE.svg",
"license": "MIT",
"authors": [
"pietervdvn"
],
"sources": []
},
{
"path": "Type1_J1772.svg",
"license": "CC-BY-SA 4.0",
"authors": [
"GreatDrok"
],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/d/d0/Type1_J1772.svg"
]
},
{
"path": "Type1-ccs.svg",
"license": "CC-BY-SA 4.0",
"authors": [
"GreatDrok"
],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/0/05/Type1-ccs.svg"
]
},
{
"path": "Tesla-hpwc-model-s.svg",
"license": "CC-BY-SA 4.0",
"authors": [
"GreatDrok"
],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/2/26/Tesla-hpwc-model-s.svg"
]
},
{
"path": "Chademo_type4.svg",
"license": "CC-BY-SA 4.0",
"authors": [
"GreatDrok"
],
"sources": [
"https://upload.wikimedia.org/wikipedia/commons/e/ec/Chademo_type4.svg"
]
}
]

View file

@ -0,0 +1,8 @@
Key in OSM,image,Description,Country-whitelist
socket:schuko,CEE7_4F.svg,<b>Schuko wall plug</b> without ground pin (CEE7/4 type F),be;fr;ma;tn;pl;cs;sk;mo
socket:typee,TypeE.svg,<b>European wall plug</b> with ground pin (CEE7/4 type E),
socket:chademo,Chademo_type4.svg,<b>Chademo</b> (type 4),
socket:type1_cable,Type1_J1772.svg,<b>Type 1 with cable</b> (J1772),
socket:type1,Type1_J1772.svg,<b>Type 1 <i>without</i> cable</b> (J1772),
socket:type1_combo,Type1-ccs.svg,<b>Type 1 CCS</b> (aka Type 1 Combo),
socket:tesla_supercharger,Tesla-hpwc-model-s.svg,<b>Tesla Supercharger</b>,
1 Key in OSM image Description Country-whitelist
2 socket:schuko CEE7_4F.svg <b>Schuko wall plug</b> without ground pin (CEE7/4 type F) be;fr;ma;tn;pl;cs;sk;mo
3 socket:typee TypeE.svg <b>European wall plug</b> with ground pin (CEE7/4 type E)
4 socket:chademo Chademo_type4.svg <b>Chademo</b> (type 4)
5 socket:type1_cable Type1_J1772.svg <b>Type 1 with cable</b> (J1772)
6 socket:type1 Type1_J1772.svg <b>Type 1 <i>without</i> cable</b> (J1772)
7 socket:type1_combo Type1-ccs.svg <b>Type 1 CCS</b> (aka Type 1 Combo)
8 socket:tesla_supercharger Tesla-hpwc-model-s.svg <b>Tesla Supercharger</b>

View file

@ -3,39 +3,36 @@
"title": {
"en": "Charging stations",
"id": "Stasiun pengisian daya",
"ru": "Зарядные станции",
"it": "Stazioni di ricarica",
"ja": "充電ステーション",
"zh_Hant": "充電站",
"it": "Stazioni di ricarica",
"nl": "Oplaadpunten",
"fr": "Station de recharge"
"nl": "Oplaadpunten"
},
"shortDescription": {
"en": "A worldwide map of charging stations",
"ru": "Карта зарядных станций по всему миру",
"it": "Una mappa mondiale delle stazioni di ricarica",
"ja": "充電ステーションの世界地図",
"zh_Hant": "全世界的充電站地圖",
"it": "Una mappa mondiale delle stazioni di ricarica",
"nl": "Een wereldwijde kaart van oplaadpunten",
"fr": "Carte mondiale de stations de recharge"
"nl": "Een wereldwijde kaart van oplaadpunten"
},
"description": {
"en": "On this open map, one can find and mark information about charging stations",
"ru": "На этой карте вы можно найти и отметить информацию о зарядных станциях",
"ja": "このオープンマップでは充電ステーションに関する情報を見つけてマークすることができます",
"zh_Hant": "在這份開放地圖上,你可以尋找與標示充電站的資訊",
"it": "Su questa mappa aperta, puoi individuare le stazioni di ricarica o aggiungere informazioni",
"fr": "Cette carte indique et permet dindiquer des informations sur les stations de recharge"
"ja": "このオープンマップでは充電ステーションに関する情報を見つけてマークすることができます",
"ru": "На этой карте вы можно найти и отметить информацию о зарядных станциях",
"zh_Hant": "在這份開放地圖上,你可以尋找與標示充電站的資訊"
},
"language": [
"en",
"id",
"ru",
"it",
"ja",
"ru",
"zh_Hant",
"it",
"nl",
"fr",
"nb_NO"
],
"maintainer": "",
@ -46,335 +43,9 @@
"startZoom": 1,
"widenFactor": 0.05,
"socialImage": "",
"defaultBackgroundId": "CartoDB.Voyager",
"layers": [
{
"id": "charging_stations",
"name": {
"en": "Charging stations",
"ru": "Зарядные станции",
"ja": "充電ステーション",
"zh_Hant": "充電站",
"nb_NO": "Ladestasjoner",
"it": "Stazioni di ricarica",
"nl": "Oplaadpunten",
"fr": "Station de recharge"
},
"minzoom": 10,
"source": {
"osmTags": {
"and": [
"amenity=charging_station"
]
}
},
"title": {
"render": {
"en": "Charging station",
"ru": "Зарядная станция",
"ja": "充電ステーション",
"zh_Hant": "充電站",
"nb_NO": "Ladestasjon",
"it": "Stazione di ricarica",
"nl": "Oplaadpunt",
"fr": "Station de recharge"
}
},
"description": {
"en": "A charging station",
"ru": "Зарядная станция",
"ja": "充電ステーション",
"zh_Hant": "充電站",
"nb_NO": "En ladestasjon",
"it": "Una stazione di ricarica",
"nl": "Een oplaadpunt",
"fr": "Une station de recharge"
},
"tagRenderings": [
"images",
{
"#": "Type",
"question": "Is this charging station meant for cars or bicycles?",
"mappings": [
{
"if": {
"and": [
"motorcar=yes",
"bicycle=yes"
]
},
"then": "This is a charging station for <b>both bicycles and cars</b>"
},
{
"if": {
"and": [
"motorcar=",
"car=",
"bicycle=yes"
]
},
"then": "This is a charging station exclusively for <b>bicycles</b>"
},
{
"if": {
"and": [
"motorcar=yes",
"car=",
"bicycle="
]
},
"then": "This is a charging station exclusively for <b>electric cars and similar vehicles</b>"
},
{
"if": {
"and": [
"car=yes",
"bicycle="
]
},
"then": "This is a charging station exclusively for <b>electric cars</b>",
"hideInAnswer": true
},
{
"if": {
"and": [
"car=yes",
"bicycle=yes"
]
},
"then": "This is a charging station for <b>both electric cars and bicycles</b>",
"hideInAnswer": true
}
]
},
{
"#": "capacity",
"render": "{capacity} vehicles can be charged here at the same time",
"question": "How much vehicles can be charged here at the same time?",
"freeform": {
"key": "capacity",
"type": "pnat"
}
},
{
"#": "Authentication",
"multiAnswer": true,
"mappings": [
{
"if": "authentication:membership_card=yes",
"then": "Authentication by a membership card"
},
{
"if": "authentication:app=yes",
"then": "Authentication by an app"
},
{
"if": "authentication:phone_call=yes",
"then": "Authentication via phone call is available"
},
{
"if": "authentication:short_message=yes",
"then": "Authentication via phone call is available"
},
{
"if": "authentication:nfc=yes",
"then": "Authentication via NFC is available"
},
{
"if": "authentication:money_card=yes",
"then": "Authentication via Money Card is available"
},
{
"if": "authentication:debig=yes",
"then": "Authentication via debit card is available"
},
{
"if": "authentication:none=yes",
"then": "No authentication is needed"
}
]
},
{
"#": "Auth phone",
"render": "Authenticate by calling or SMS'ing to <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
"freeform": {
"key": "authentication:phone_call:number",
"type": "phone"
},
"condition": {
"or": [
"authentication:phone_call=yes",
"authentication:short_message=yes"
]
}
},
{
"#": "OH",
"render": "{opening_hours_table(opening_hours)}",
"freeform": {
"key": "opening_hours",
"type": "opening_hours"
},
"question": {
"en": "When is this charging station opened?",
"ru": "В какое время работает эта зарядная станция?",
"ja": "この充電ステーションはいつオープンしますか?",
"zh_Hant": "何時是充電站開放使用的時間?",
"nb_NO": "Når åpnet denne ladestasjonen?",
"it": "Quali sono gli orari di apertura di questa stazione di ricarica?",
"fr": "Quand cette station a-telle été ouverte ?"
},
"mappings": [
{
"if": "opening_hours=24/7",
"then": "24/7 opened (including holidays)"
}
]
},
{
"#": "Network",
"render": {
"en": "{network}",
"ru": "{network}",
"ja": "{network}",
"zh_Hant": "{network}",
"nb_NO": "{network}",
"it": "{network}",
"nl": "{network}",
"fr": "{network}"
},
"question": {
"en": "What network of this charging station under?",
"ru": "К какой сети относится эта зарядная станция?",
"ja": "この充電ステーションの運営チェーンはどこですか?",
"zh_Hant": "充電站所屬的網路是?",
"it": "A quale rete appartiene questa stazione di ricarica?",
"fr": "De quel réseau fait-elle partie ?"
},
"freeform": {
"key": "network"
},
"mappings": [
{
"if": {
"and": [
"no:network=yes"
]
},
"then": {
"en": "Not part of a bigger network",
"ru": "Не является частью более крупной сети",
"ja": "大規模な運営チェーンの一部ではない",
"zh_Hant": "不屬於大型網路",
"it": "Non appartiene a una rete",
"nl": "Maakt geen deel uit van een netwerk",
"fr": "Pas de réseau"
}
},
{
"if": {
"and": [
"network=AeroVironment"
]
},
"then": {
"en": "AeroVironment",
"ru": "AeroVironment",
"ja": "AeroVironment",
"zh_Hant": "AeroVironment",
"it": "AeroVironment",
"nl": "AeroVironment",
"fr": "AeroVironment"
}
},
{
"if": {
"and": [
"network=Blink"
]
},
"then": {
"en": "Blink",
"ru": "Blink",
"ja": "Blink",
"zh_Hant": "Blink",
"it": "Blink",
"nl": "Blink",
"fr": "Blink"
}
},
{
"if": {
"and": [
"network=eVgo"
]
},
"then": {
"en": "eVgo",
"ru": "eVgo",
"ja": "eVgo",
"zh_Hant": "eVgo",
"it": "eVgo",
"nl": "eVgo",
"fr": "eVgo"
}
}
]
}
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"iconOverlays": [
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg",
"badge": true
}
],
"width": {
"render": "8"
},
"iconSize": {
"render": "50,50,bottom"
},
"color": {
"render": "#00f"
},
"presets": [
{
"tags": [
"amenity=charging_station"
],
"title": "Charging station"
}
],
"wayHandling": 1
}
"charging_station"
],
"roamingRenderings": []
}