kartograph / kartograph.org Goto Github PK
View Code? Open in Web Editor NEWwebsite for kartograph mapping library
Home Page: http://kartograph.org
website for kartograph mapping library
Home Page: http://kartograph.org
A few months ago I was able to use Kartograph.py to generate svg maps.
Now I can not.
Running the test:
kartograph world.json -o world.svg
I get this result:
File "/usr/lib/python2.7/dist-packages/shapely/geos.py", line 98, in
return tuple(int(n) for n in v.split('.'))
ValueError: invalid literal for int() with base 10: '2 r3921'
Ubuntu 12.10. Python 2.7.
thanks in advance.
Marco Stara
Italy
Hi,
I am trying to generate a svg file from openstreetmaps data following the instructions.
And I'm getting the following error
cli.py, in render_map()
71: K.generate(cfg, args.output, preview=args.preview, format=format, stylesheet=css) kartograph.py, in generate()
41: parse_options(opts) options.py, in parse_options()
64: parse_bounds(opts) options.py, in parse_bounds()
333: data["layer"] = opts['layers'][0]['id']
list index out of range
For completeness sake, here are the only changes I've made from that page:
postgis sql files that I ran are:
psql -d berlin -f /home/vagrant/postgis-2.1.3/postgis/postgis.sql
psql -d berlin -f /home/vagrant/postgis-2.1.3/spatial_ref_sys.sql
And the link to Berlin's data is now:
wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
Thanks!
Is there somewhere in my code that's causing this?
{
"layers": [{
"id": "countries",
"src": "TM_WORLD_BORDERS_SIMPL-0.3.shp",
"filter": {"ISO3": ["FRA", "PHL"]}
}],
"bounds": {
"mode": "polygons",
"data": {
"layer": "countries"
}
}
}
I get this error:
cli.py, in render_map()
71: K.generate(cfg, args.output, preview=args.preview, format=format, stylesheet=css) kartograph.py, in generate()
46: _map = Map(opts, self.layerCache, format=format) map.py, in __init__()
50: me.bounds_poly = me._init_bounds() map.py, in _init_bounds()
198: fbbox = geom_to_bbox(feature.geometry, data["min-area"]) geometry/utils.py, in geom_to_bbox()
36: minx, miny, maxx, maxy = geom.bounds
'NoneType' object has no attribute 'bounds'
Seems like http://kartograph.org/showcase/projections/ is no longer working.
jQuery says Uncaught TypeError: Cannot read property 'length' of undefined
(called at line 289: $.each(kartograph.proj, function(p) { ...
Well I always get this error when I use a SVG:
TypeError: t is undefined
...romXML=function(t){var r,e,n,o,i;return i=Number(t.getAttribute("w")),n=Number(t...
As example this SVG:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox = "0 0 1568 851" version = "1.1">
<!-- svg generated using QGIS www.qgis.org -->
<g id="jop" inkscape:groupmode="layer" inkscape:label="jop">
<g stroke="none" fill="rgb(213,117,239)" stroke-linejoin="round" stroke-width="0.26">
<g id="jop_1" >
<path d="M 310,90 L 415,75 L 446,132 L 341,190 L 213,147 L 310,90 " />
</g>
<g id="jop_2" >
<path d="M 493,331 L 587,228 L 1057,276 L 1231,401 L 1098,616 L 733,718 L 423,669 L 282,540 L 316,412 L 418,344 L 464,301 L 421,322 L 395,346 L 492,281 L 548,279 L 545,277 L 493,331 " />
</g>
</g>
</g>
<!-- QGIS extent for clipping, eg in Inkscape -->
<g id="qgisviewbox" inkscape:groupmode="layer" inkscape:label="qgisviewbox" stroke="rgb(255,0,0)" stroke-width="1" fill="none" >
<path d="M 0,847 L 1564,847 L 1564,0 L 0,0 L 0,847 " />
</g></svg>
but the strange is. With this following SVG file it is working great:
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable_background="new 0 0 500 401" height="401px" style="stroke-linejoin: round; stroke:#000; fill:#f6f3f0;" version="1.1" viewBox="0 0 500 401" width="500px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"><![CDATA[path { fill-rule: evenodd; }
#context path { fill: #eee; stroke: #bbb; } ]]></style></defs><metadata><views><view h="401" padding="0" w="500"><proj id="laea" lat0="51.11" lon0="9.851"/><bbox h="96.26" w="70.93" x="968.99" y="951.09"/><llbbox lat0="-90" lat1="90" lon0="-180" lon1="180"/></view></views></metadata><g id="admin1"><path d="M120,240L119,237L120,238L121,239L122,239L123,238L125,238L126,238L126,239L127,239L128,239L129,240L132,239L132,238L131,237L131,236L131,235L131,234L131,233L133,233L133,233L134,234L135,233L135,232L135,231L137,230L137,229L139,229L141,227L142,228L143,227L144,227L145,226L146,225L146,226L149,226L150,226L151,225L152,224L152,222L153,222L154,222L156,221L158,221L159,221L160,220L161,219L162,218L161,217L163,216L163,215L164,215L164,214L164,212L165,211L167,211L167,213L167,214L168,215L169,216L170,216L171,216L171,217L171,219L171,220L173,222L173,223L174,224L175,223L176,224L176,223L177,222L177,220L176,220L176,219L178,217L179,216L180,215L182,214L183,215L184,215L185,213L186,213L187,212L187,210L188,209L189,209L189,208L190,207L189,206L189,205L189,203L192,203L194,203L195,202L195,201L195,200L196,198L196,197L196,196L196,195L195,194L194,195L193,195L192,196L191,195L191,194L191,193L192,192L193,191L194,190L195,189L196,189L197,189L199,189L200,189L201,188L203,188L203,187L202,186L202,185L201,184L203,183L205,182L206,183L207,184L207,185L208,186L209,186L211,184L212,183L212,183L213,182L214,181L215,180L215,179L216,178L216,177L218,176L219,175L217,176L216,175L217,174L217,173L217,172L217,171L218,170L218,169L219,167L219,166L219,165L219,164L218,164L216,164L215,164L215,163L215,162L214,161L213,160L214,159L212,158L212,159L211,158L210,157L211,156L211,155L210,154L211,153L210,152L209,151L209,150L206,150L205,150L205,149L204,147L206,147L206,146L206,145L205,144L204,143L205,142L205,141L205,140L206,140L207,139L208,138L209,136L208,134L209,133L208,132L208,132L206,133L205,133L205,134L204,136L202,137L201,137L200,137L196,137L196,136L196,135L196,134L196,132L195,131L195,131L194,130L192,131L189,131L188,132L188,133L187,134L185,134L183,134L184,136L186,137L187,139L188,140L188,142L188,144L188,146L189,148L188,149L187,150L186,151L182,150L181,151L180,152L179,152L177,153L176,153L174,153L173,154L172,154L171,154L170,152L170,151L172,150L173,150L174,149L174,147L172,147L171,146L171,146L171,144L171,143L172,142L172,141L172,140L172,139L171,138L170,137L168,138L168,137L165,136L165,135L164,133L161,132L161,134L161,135L161,136L160,137L159,137L157,138L155,140L153,141L152,142L150,142L146,142L145,143L143,143L143,144L141,145L140,147L138,148L137,149L134,150L133,151L133,152L132,152L132,153L133,154L135,155L136,157L135,158L134,159L133,160L130,160L127,161L125,162L124,162L122,162L122,163L121,164L120,163L119,162L118,161L117,161L116,161L115,160L114,159L113,160L115,162L114,162L113,162L111,162L110,163L108,163L108,164L109,165L108,166L108,168L109,168L110,169L110,170L110,171L113,172L112,173L112,175L114,178L115,179L115,182L115,183L115,185L115,186L115,187L114,188L113,189L111,192L110,193L110,194L110,195L111,197L113,196L112,197L112,198L110,199L107,202L106,203L105,203L104,202L103,203L103,204L104,205L104,207L105,206L107,207L108,206L107,208L107,209L108,209L109,211L109,213L108,213L107,214L107,215L106,216L107,217L107,218L107,219L108,220L109,220L110,221L111,224L112,225L114,226L113,227L112,228L112,229L112,230L112,231L113,232L115,232L117,232L117,233L117,234L117,235L117,237L117,238L118,240L119,240Z " data-fips="GM07" data-hasc="DE.NW" data-name="Nordrhein-Westfalen" data-postal="NW" data-varname="North Rhine-Westphalia"/><path d="M221,386L224,383L225,382L226,382L227,382L228,381L231,379L232,378L234,379L236,379L237,378L239,378L240,379L240,378L241,378L241,377L241,376L241,374L240,373L240,372L241,371L240,369L240,368L240,367L240,366L240,365L240,364L240,363L241,360L241,359L241,357L241,356L240,354L239,348L238,346L237,344L237,343L236,342L238,339L238,338L239,338L240,337L241,337L242,338L245,335L246,335L247,334L248,332L247,331L248,330L247,329L246,329L246,328L246,327L247,326L247,326L249,327L249,328L251,326L252,327L253,326L252,324L251,323L251,322L251,321L252,320L252,319L252,318L252,316L252,315L252,315L252,313L251,312L250,311L249,310L248,309L247,308L246,308L246,307L245,306L245,305L245,304L245,303L244,302L243,302L242,301L242,300L241,299L241,298L241,297L242,296L241,295L241,294L241,293L241,291L242,291L241,288L241,288L241,286L241,285L241,284L240,284L239,283L239,283L239,285L237,286L234,286L234,285L234,284L234,282L233,281L232,282L231,282L232,281L232,280L232,279L231,277L231,275L230,274L229,274L227,275L227,274L226,275L225,275L224,275L225,274L225,273L225,272L225,271L223,271L221,271L220,270L219,270L218,270L217,271L215,270L214,271L214,272L214,273L216,274L216,275L217,274L218,274L217,277L217,278L216,277L215,278L214,278L213,279L212,280L212,281L209,281L207,281L206,282L207,283L207,284L207,285L207,284L206,284L205,285L204,285L202,285L201,286L201,288L200,288L199,289L198,290L197,290L197,289L198,288L198,286L198,286L200,286L200,285L198,285L197,284L196,284L195,283L193,282L193,281L193,280L192,278L190,279L190,280L191,282L190,283L189,283L187,281L185,280L184,281L184,282L184,283L185,285L185,286L185,287L186,287L187,288L186,290L186,291L185,294L186,295L183,298L182,299L182,305L179,310L178,311L177,312L176,312L175,313L174,315L173,319L172,320L170,321L169,322L168,322L168,324L167,325L166,325L165,327L164,327L163,329L162,331L162,333L162,334L162,335L161,336L161,338L160,339L160,340L160,341L160,343L160,344L158,345L158,346L158,347L157,348L155,352L154,353L154,355L154,356L154,358L155,360L155,363L154,364L153,366L153,367L153,368L152,369L152,372L152,373L152,375L151,375L151,377L152,378L154,381L153,382L156,381L155,383L154,383L157,384L160,383L161,382L162,382L164,382L165,383L169,383L171,383L172,382L173,382L174,381L176,380L178,381L179,382L180,383L182,383L183,383L184,381L185,381L186,381L187,382L188,381L188,380L188,379L187,379L185,379L184,380L183,379L182,379L181,377L182,376L183,375L183,374L184,373L187,373L187,372L189,372L189,373L190,374L190,372L191,373L192,374L193,375L192,376L192,377L194,377L195,376L196,376L197,377L197,378L199,379L200,379L202,379L203,378L207,378L209,379L210,379L212,380L221,386Z " data-fips="GM01" data-hasc="DE.BW" data-name="Baden-Wrttemberg" data-postal="BW" data-varname=""/><path d="M199,289L200,288L201,288L201,286L202,285L204,285L205,285L206,284L207,284L207,285L207,284L207,283L206,282L207,281L207,280L206,279L206,279L207,277L207,275L208,275L208,274L208,272L207,271L208,270L207,270L206,268L207,267L206,268L205,265L204,264L205,260L205,259L205,258L204,257L203,257L204,256L204,254L206,254L207,253L208,253L209,254L210,252L212,252L213,252L214,252L216,254L217,255L218,255L221,254L221,252L221,251L220,250L220,249L221,248L222,248L223,248L224,248L225,247L225,246L226,245L227,245L228,244L228,243L228,242L229,239L230,238L231,239L232,239L234,238L236,237L237,235L238,234L238,233L238,232L238,231L238,230L238,228L239,228L239,226L238,225L236,225L235,225L235,226L235,227L233,227L232,227L233,225L233,224L234,223L234,222L234,220L235,220L235,219L235,218L236,217L237,217L237,215L238,214L237,213L236,212L235,213L235,212L236,211L237,212L238,211L237,210L237,209L238,208L240,208L241,209L243,208L243,206L242,206L241,205L241,204L242,203L241,202L241,201L242,201L243,202L243,201L243,200L243,199L242,198L241,198L240,197L239,197L239,196L238,194L237,194L236,194L235,193L235,192L234,191L234,190L234,188L233,187L232,188L232,189L231,188L230,188L230,188L229,189L227,190L228,191L229,192L229,193L227,193L225,192L223,191L222,190L223,189L223,188L224,188L225,187L225,185L225,184L224,184L224,182L224,180L225,180L225,179L226,180L226,178L225,177L224,176L223,176L222,176L221,176L220,176L220,175L219,175L218,176L216,177L216,178L215,179L215,180L214,181L213,182L212,183L212,183L211,184L209,186L208,186L207,185L207,184L206,183L205,182L203,183L201,184L202,185L202,186L203,187L203,188L201,188L200,189L199,189L197,189L196,189L195,189L194,190L193,191L192,192L191,193L191,194L191,195L192,196L193,195L194,195L195,194L196,195L196,196L196,197L196,198L195,200L195,201L195,202L194,203L192,203L189,203L189,205L189,206L190,207L189,208L189,209L188,209L187,210L187,212L186,213L185,213L184,215L183,215L182,214L180,215L179,216L178,217L176,219L176,220L177,220L177,222L176,223L176,224L176,225L175,226L176,227L177,229L176,230L176,231L174,232L173,231L172,232L171,233L171,235L171,236L171,237L171,238L172,239L173,240L174,242L175,243L175,245L174,245L172,246L172,247L171,248L171,247L169,248L168,249L168,250L168,251L169,252L168,253L167,253L166,253L166,254L165,255L164,256L166,258L166,259L167,260L168,260L169,260L171,259L172,258L176,257L178,257L182,261L182,263L182,265L183,267L183,268L184,270L185,271L186,271L186,272L185,273L184,273L183,274L182,275L182,276L183,277L183,279L184,281L185,280L187,281L189,283L190,283L191,282L190,280L190,279L192,278L193,280L193,281L193,282L195,283L196,284L197,284L198,285L200,285L200,286L198,286L198,286L198,288L197,289L197,290L198,290Z " data-fips="GM05" data-hasc="DE.HE" data-name="Hessen" data-postal="HE" data-varname="Hesse"/><path d="M205,103L205,102L205,101L204,100L205,99L203,98L202,99L201,98L200,97L199,97L198,96L197,96L196,96L194,95L192,95L191,94L190,94L191,95L193,97L194,97L194,98L194,99L195,100L196,102L197,103L199,103L200,104L201,103L203,104Z M195,79L195,78L195,77L194,76L194,75L192,75L191,74L191,74L192,75L192,78L192,79L193,80L194,81Z " data-fips="GM03" data-hasc="DE.HB" data-name="Bremen" data-postal="HB" data-varname=""/><path d="M229,193L229,192L228,191L227,190L229,189L230,188L230,188L231,188L232,189L232,188L233,187L234,188L237,187L238,186L239,187L239,186L241,186L242,185L242,184L243,184L244,184L246,183L246,182L247,181L248,181L248,179L249,178L250,178L252,179L253,180L254,180L256,179L257,179L257,178L256,177L257,176L258,176L257,174L257,172L257,171L256,170L255,169L255,168L255,167L255,166L255,165L256,164L256,163L256,162L256,161L256,160L257,159L256,159L255,158L255,157L256,157L256,156L257,155L259,154L263,154L264,154L267,154L267,153L266,152L268,151L269,150L269,149L269,148L268,147L269,146L270,145L270,144L269,143L268,143L268,142L268,141L268,140L268,139L270,139L270,137L268,136L265,133L266,132L266,131L267,131L266,129L266,128L266,127L266,126L266,125L265,125L264,124L262,121L261,120L261,119L260,118L260,116L260,115L260,114L261,114L262,114L264,114L265,113L266,112L267,111L267,110L269,110L270,111L272,111L274,111L275,112L276,112L277,112L279,111L280,110L281,109L282,108L282,107L282,106L283,105L284,105L285,103L283,103L282,102L281,101L280,101L278,102L277,102L277,102L276,101L275,99L274,98L272,98L272,97L271,97L270,98L269,98L268,97L265,94L262,93L261,92L260,91L259,90L259,89L258,88L258,87L257,87L254,87L253,87L252,87L248,84L244,84L243,85L241,85L240,84L239,84L238,83L237,84L236,84L235,85L234,84L233,84L233,83L232,84L231,83L230,82L230,81L229,80L229,78L227,78L225,76L224,76L223,75L221,72L220,70L219,69L218,68L215,63L214,62L213,62L212,62L209,62L206,63L205,63L203,63L202,63L199,63L198,62L197,61L196,60L195,60L194,61L193,62L192,63L192,66L190,70L190,72L191,73L191,74L192,75L194,75L194,76L195,77L195,78L195,79L194,81L193,80L192,79L191,80L190,81L190,83L191,86L190,87L190,86L190,85L190,82L190,81L191,80L191,79L192,78L191,77L188,77L187,76L186,75L185,74L184,74L183,75L182,78L183,79L184,78L185,79L185,81L184,83L183,84L182,85L181,84L180,83L179,82L178,83L178,81L178,79L179,79L180,79L180,77L179,76L179,75L178,74L177,73L176,71L176,69L174,68L165,69L160,70L159,69L154,70L152,71L150,72L149,73L148,74L148,75L149,76L149,77L148,78L147,78L146,79L145,81L145,85L146,87L147,87L154,88L155,89L153,88L152,88L152,90L151,91L150,92L150,94L150,96L149,97L149,98L150,99L150,103L150,105L149,106L149,108L146,112L145,113L145,115L145,121L144,122L144,123L142,123L141,123L139,122L136,122L135,123L134,123L134,124L134,126L135,126L133,127L133,129L133,131L135,132L137,132L139,133L140,133L142,132L144,135L144,137L144,139L143,140L143,142L143,143L145,143L146,142L150,142L152,142L153,141L155,140L157,138L159,137L160,137L161,136L161,135L161,134L161,132L164,133L165,135L165,136L168,137L168,138L170,137L171,138L172,139L172,140L172,141L172,142L171,143L171,144L171,146L171,146L172,147L174,147L174,149L173,150L172,150L170,151L170,152L171,154L172,154L173,154L174,153L176,153L177,153L179,152L180,152L181,151L182,150L186,151L187,150L188,149L189,148L188,146L188,144L188,142L188,140L187,139L186,137L184,136L183,134L185,134L187,134L188,133L188,132L189,131L192,131L194,130L195,131L195,131L196,132L196,134L196,135L196,136L196,137L200,137L201,137L202,137L204,136L205,134L205,133L206,133L208,132L208,132L209,133L208,134L209,136L208,138L207,139L206,140L205,140L205,141L205,142L204,143L205,144L206,145L206,146L206,147L204,147L205,149L205,150L206,150L209,150L209,151L210,152L211,153L210,154L211,155L211,156L210,157L211,158L212,159L212,158L214,159L213,160L214,161L215,162L215,163L215,164L216,164L218,164L219,164L219,165L219,166L219,167L218,169L218,170L217,171L217,172L217,173L217,174L216,175L217,176L219,175L220,175L220,176L221,176L222,176L223,176L224,176L225,177L226,178L226,180L225,179L225,180L224,180L224,182L224,184L225,184L225,185L225,187L224,188L223,188L223,189L222,190L223,191L225,192L227,193Z M203,104L201,103L200,104L199,103L197,103L196,102L195,100L194,99L194,98L194,97L193,97L191,95L190,94L191,94L192,95L194,95L196,96L197,96L198,96L199,97L200,97L201,98L202,99L203,98L205,99L204,100L205,101L205,102L205,103Z M137,74L137,74L139,72L137,72L135,74L136,75Z M148,69L147,69L142,69L141,70Z M181,68L181,68L180,68L180,69Z M154,68L156,68L156,67L152,67L151,68L149,68L150,69Z M161,67L162,67L164,67L164,66L161,66L160,67L160,68Z M170,65L170,65L167,65L166,65L165,66L166,66L168,66Z M172,65L173,65L173,65L171,65Z " data-fips="GM06" data-hasc="DE.NI" data-name="Niedersachsen" data-postal="NI" data-varname="Lower Saxony"/><path d="M260,248L260,247L262,247L263,247L264,247L264,246L263,245L262,244L261,244L261,243L260,243L260,241L261,241L263,240L264,239L265,239L266,240L267,239L269,241L270,241L271,241L272,241L273,240L274,241L274,243L274,244L275,245L276,245L277,245L278,243L278,242L278,241L278,240L278,239L277,238L278,237L277,236L277,235L279,234L279,233L280,232L283,233L283,234L283,236L284,237L285,238L285,239L286,240L287,239L288,239L289,239L293,238L294,238L295,238L296,238L297,238L298,237L298,236L299,236L300,235L299,234L299,233L300,232L301,230L302,231L303,231L304,230L305,230L306,229L307,228L306,227L307,226L309,226L310,226L311,225L312,224L310,223L310,223L310,221L309,221L310,220L310,219L309,218L312,217L313,216L315,216L315,215L316,214L317,213L319,213L320,213L321,213L322,212L321,210L320,209L318,208L318,207L316,205L316,204L311,203L309,203L309,204L309,206L310,207L309,208L308,210L307,210L306,210L305,210L302,210L301,209L299,208L299,207L297,207L296,206L293,207L292,206L291,205L291,204L291,203L290,202L289,203L287,203L286,203L285,203L283,203L282,202L282,201L282,200L281,198L280,198L279,197L280,196L281,196L282,195L283,194L281,191L280,190L277,188L274,188L273,188L267,187L267,185L267,184L266,182L266,181L266,180L266,179L266,178L266,177L264,177L263,176L262,176L258,176L257,176L256,177L257,178L257,179L256,179L254,180L253,180L252,179L250,178L249,178L248,179L248,181L247,181L246,182L246,183L244,184L243,184L242,184L242,185L241,186L239,186L239,187L238,186L237,187L234,190L234,191L235,192L235,193L236,194L237,194L238,194L239,196L239,197L240,197L241,198L242,198L243,199L243,200L243,201L243,202L242,201L241,201L241,202L242,203L241,204L241,205L242,206L243,206L243,208L241,209L240,208L238,208L237,209L237,210L238,211L237,212L236,211L235,212L235,213L236,212L237,213L238,214L237,215L237,217L236,217L235,218L235,219L235,220L234,220L234,222L234,223L233,224L233,225L232,227L233,227L235,227L235,226L235,225L236,225L238,225L239,226L239,228L238,228L238,230L238,231L238,232L238,233L241,232L241,232L243,232L244,232L244,233L247,235L248,236L249,237L249,238L250,239L251,239L252,240L253,241L253,241L254,241L255,242L256,243L256,245L256,246L256,247L257,248L259,248Z " data-fips="GM15" data-hasc="DE.TH" data-name="Thringen" data-postal="TH" data-varname="Thuringia"/><path d="M243,85L244,84L246,83L245,82L244,81L243,79L242,79L242,78L241,77L243,76L243,74L243,73L242,72L241,71L242,70L241,69L240,70L238,70L238,71L237,71L236,72L235,73L234,73L230,75L230,74L229,74L229,75L228,76L228,77L229,77L231,78L229,78L229,80L230,81L230,82L231,83L232,84L233,83L233,84L234,84L235,85L236,84L237,84L238,83L239,84L240,84L241,85Z " data-fips="GM04" data-hasc="DE.HH" data-name="Hamburg" data-postal="HH" data-varname=""/><path d="M254,87L255,86L255,85L255,83L256,82L257,82L258,81L259,81L261,80L261,78L261,77L262,77L264,77L264,78L265,77L265,76L265,75L265,73L265,72L265,71L264,70L263,70L262,70L260,68L259,67L259,65L259,64L259,62L259,61L261,61L262,59L263,59L264,60L265,59L263,58L263,57L263,56L262,55L260,55L259,53L259,52L260,50L262,50L263,49L265,48L268,44L269,43L268,41L268,39L268,37L269,36L270,35L269,34L266,35L265,35L266,35L264,35L263,36L262,36L260,38L259,39L258,39L257,39L254,36L249,34L247,32L245,33L244,33L242,34L242,36L241,37L240,38L241,37L240,36L241,35L242,34L241,32L242,31L240,30L233,31L231,30L232,30L234,30L235,29L236,28L237,27L237,25L237,23L237,21L237,20L236,20L234,20L235,19L236,19L235,18L235,16L234,15L233,14L233,16L232,16L230,16L229,14L228,14L227,13L225,13L224,12L224,11L223,12L222,13L220,13L218,13L217,13L216,14L213,14L213,12L212,11L206,10L204,9L201,8L199,9L198,9L197,9L196,10L196,11L196,14L197,15L197,16L197,17L198,18L200,19L201,20L201,24L203,24L203,25L206,28L207,29L207,30L206,31L205,32L203,33L202,34L199,33L196,34L195,35L195,36L196,35L197,36L195,36L194,37L194,39L195,40L196,41L197,41L198,40L200,40L202,39L203,40L205,38L204,40L203,41L201,42L202,43L201,44L201,46L201,47L203,48L204,47L205,47L205,48L206,49L207,51L206,52L206,53L205,53L203,52L202,52L201,53L203,58L204,59L205,60L206,60L208,60L209,60L213,60L214,61L215,61L217,63L218,63L218,65L218,66L219,68L220,69L222,69L222,71L222,72L222,74L223,75L226,76L227,77L228,77L228,76L229,75L229,74L230,74L230,75L234,73L235,73L236,72L237,71L238,71L238,70L240,70L241,69L242,70L241,71L242,72L243,73L243,74L243,76L241,77L242,78L242,79L243,79L244,81L245,82L246,83L248,84L252,87L253,87Z M203,31L204,30L204,29L205,28L204,28L203,28L202,28L201,29L201,30L202,31Z M271,33L275,33L273,30L273,29L272,28L269,27L268,27L267,29L266,31L267,31L269,32L269,33L270,33Z M196,29L197,28L197,26L195,27L194,28L195,29Z M188,22L187,19L187,18L187,18L186,19L186,21L187,23Z M194,19L194,17L193,16L191,16L189,17L188,18L190,19L191,19L193,19Z M186,15L186,12L186,10L187,9L188,10L191,10L192,9L196,9L190,9L189,9L188,8L188,5L188,3L190,2L189,1L191,1L189,0L188,2L186,8L186,9L185,14L185,16Z " data-fips="GM10" data-hasc="DE.SH" data-name="Schleswig-Holstein" data-postal="SH" data-varname=""/><path d="M177,312L178,311L179,310L182,305L182,299L183,298L186,295L185,294L186,291L186,290L187,288L186,287L185,287L185,286L185,285L184,283L184,282L184,281L183,279L183,277L182,276L182,275L183,274L184,273L185,273L186,272L186,271L185,271L184,270L183,268L183,267L182,265L182,263L182,261L178,257L176,257L172,258L171,259L169,260L168,260L167,260L166,259L166,258L164,256L165,255L166,254L166,253L167,253L168,253L169,252L168,251L168,250L168,249L169,248L171,247L171,248L172,247L172,246L174,245L175,245L175,243L174,242L173,240L172,239L171,238L171,237L171,236L171,235L171,233L172,232L173,231L174,232L176,231L176,230L177,229L176,227L175,226L176,225L176,224L175,223L174,224L173,223L173,222L171,220L171,219L171,217L171,216L170,216L169,216L168,215L167,214L167,213L167,211L165,211L164,212L164,214L164,215L163,215L163,216L161,217L162,218L161,219L160,220L159,221L158,221L156,221L154,222L153,222L152,222L152,224L151,225L150,226L149,226L146,226L146,225L145,226L144,227L143,227L142,228L141,227L139,229L137,229L137,230L135,231L135,232L135,233L134,234L133,233L133,233L131,233L131,234L131,235L131,236L131,237L132,238L132,239L129,240L128,239L127,239L126,239L126,238L125,238L123,238L122,239L121,239L120,238L119,237L120,240L119,240L118,240L118,241L117,241L116,241L115,241L114,242L114,243L113,244L111,245L110,245L111,247L110,248L109,248L109,249L109,250L109,252L109,253L109,255L109,257L109,257L111,259L111,260L112,263L114,264L115,265L116,265L117,266L118,267L120,267L121,268L121,270L120,271L120,272L117,274L118,276L117,277L116,278L115,279L115,281L116,281L120,281L124,281L126,280L127,280L132,278L135,277L136,277L137,277L139,278L142,278L142,279L144,280L145,280L146,280L146,281L147,282L147,283L147,285L146,285L145,286L145,287L146,288L147,289L148,290L149,290L149,291L149,293L148,293L148,295L147,296L146,296L146,297L146,299L147,300L149,301L149,301L150,301L152,302L152,303L153,305L154,306L156,306L157,307L158,308L159,307L161,308L162,307L165,308L167,308L172,311L176,312Z " data-fips="GM08" data-hasc="DE.RP" data-name="Rheinland-Pfalz" data-postal="RP" data-varname="Rhineland-Palatinate"/><path d="M146,303L147,302L148,301L149,301L147,300L146,299L146,297L146,296L147,296L148,295L148,293L149,293L149,291L149,290L148,290L147,289L146,288L145,287L145,286L146,285L147,285L147,283L147,282L146,281L146,280L145,280L144,280L142,279L142,278L139,278L137,277L136,277L135,277L132,278L127,280L126,280L124,281L120,281L116,281L115,281L115,283L116,285L117,284L120,286L121,287L121,288L122,290L122,291L122,292L124,295L125,296L126,298L127,298L126,300L127,300L128,301L130,301L131,299L131,298L132,298L134,298L137,300L136,301L137,303L139,303L139,302L140,303L141,303L144,303L145,304Z " data-fips="GM09" data-hasc="DE.SL" data-name="Saarland" data-postal="SL" data-varname=""/><path d="M246,398L248,397L249,396L250,394L251,394L252,393L252,392L252,390L252,389L251,388L252,386L251,385L251,383L253,384L252,385L253,386L256,385L256,384L258,384L262,386L263,386L264,386L265,386L267,386L267,387L266,388L268,389L270,390L270,392L271,393L275,392L277,391L279,391L279,392L280,392L281,391L283,390L284,390L285,389L284,388L286,386L288,387L290,386L291,385L292,383L293,382L295,382L298,382L300,382L301,381L303,381L312,381L313,379L312,377L312,375L314,375L313,376L314,377L316,376L318,376L320,376L321,378L322,379L323,379L325,379L327,377L328,377L329,377L332,377L332,378L334,380L333,380L332,381L333,383L334,383L335,384L336,385L338,387L340,386L341,387L342,385L341,384L341,383L342,382L342,381L342,380L343,379L343,377L342,376L341,374L340,374L339,375L336,374L337,372L337,371L339,367L338,366L337,363L336,362L334,361L334,360L333,359L331,356L330,355L330,354L331,353L332,353L333,351L334,350L335,349L337,348L338,348L340,346L343,344L348,343L349,343L353,339L353,337L353,336L353,334L354,332L353,331L353,329L355,329L356,329L360,330L361,331L362,332L363,330L364,329L365,327L365,325L365,324L365,322L364,321L364,318L363,315L361,314L360,314L359,313L358,311L357,310L356,310L355,309L354,310L353,310L352,310L350,308L350,306L348,304L347,303L346,303L344,303L343,302L342,301L342,300L338,296L337,294L336,293L335,292L334,291L333,291L332,292L330,292L329,291L327,288L324,287L324,285L324,283L323,283L322,281L321,280L321,279L320,278L319,277L319,275L319,275L318,274L317,273L315,272L316,270L317,270L318,268L318,267L319,266L320,264L319,262L318,261L318,260L317,259L315,258L310,256L310,255L309,254L308,253L308,251L308,250L307,248L306,248L304,246L305,245L305,243L305,242L305,242L303,242L301,240L301,239L300,238L300,237L298,237L297,238L296,238L295,238L294,238L293,238L289,239L288,239L287,239L286,240L285,239L285,238L284,237L283,236L283,234L283,233L280,232L279,233L279,234L277,235L277,236L278,237L277,238L278,239L278,240L278,241L278,242L278,243L277,245L276,245L275,245L274,244L274,243L274,241L273,240L272,241L271,241L270,241L269,241L267,239L266,240L265,239L264,239L263,240L261,241L260,241L260,243L261,243L261,244L262,244L263,245L264,246L264,247L263,247L262,247L260,247L260,248L259,248L257,248L256,247L256,246L256,245L256,243L255,242L254,241L253,241L253,241L252,240L251,239L250,239L249,238L249,237L248,236L247,235L244,233L244,232L243,232L241,232L241,232L238,233L238,234L237,235L236,237L234,238L232,239L231,239L230,238L229,239L228,242L228,243L228,244L227,245L226,245L225,246L225,247L224,248L223,248L222,248L221,248L220,249L220,250L221,251L221,252L221,254L218,255L217,255L216,254L214,252L213,252L212,252L210,252L209,254L208,253L207,253L206,254L204,254L204,256L203,257L204,257L205,258L205,259L205,260L204,264L205,265L206,268L207,267L206,268L207,270L208,270L207,271L208,272L208,274L208,275L207,275L207,277L206,279L206,279L207,280L207,281L209,281L212,281L212,280L213,279L214,278L215,278L216,277L217,278L217,277L218,274L217,274L216,275L216,274L214,273L214,272L214,271L215,270L217,271L218,270L219,270L220,270L221,271L223,271L225,271L225,272L225,273L225,274L224,275L225,275L226,275L227,274L227,275L229,274L230,274L231,275L231,277L232,279L232,280L232,281L231,282L232,282L233,281L234,282L234,284L234,285L234,286L237,286L239,285L239,283L239,283L240,284L241,284L241,285L241,286L241,288L241,288L242,291L241,291L241,293L241,294L241,295L242,296L241,297L241,298L241,299L242,300L242,301L243,302L244,302L245,303L245,304L245,305L245,306L246,307L246,308L247,308L248,309L249,310L250,311L251,312L252,313L252,315L252,315L252,316L252,318L252,319L252,320L251,321L251,322L251,323L252,324L253,326L252,327L251,326L249,328L249,327L247,326L247,326L246,327L246,328L246,329L247,329L248,330L247,331L248,332L247,334L246,335L245,335L242,338L241,337L240,337L239,338L238,338L238,339L236,342L237,343L237,344L238,346L239,348L240,354L241,356L241,357L241,359L241,360L240,363L240,364L240,365L240,366L240,367L240,368L240,369L241,371L240,372L240,373L241,374L241,376L241,377L241,378L240,378L240,379L239,378L237,378L236,379L234,379L232,378L231,379L228,381L227,382L226,382L225,382L224,383L221,386L221,386L223,386L226,386L227,385L227,384L229,383L230,383L230,384L230,385L232,385L233,386L234,386L235,386L236,387L236,389L237,388L239,391L239,392L239,393L240,395L241,394L242,394L243,393L244,395L243,397L243,398L243,399Z " data-fips="GM02" data-hasc="DE.BY" data-name="Bayern" data-postal="BY" data-varname="Bavaria"/><path d="M351,136L352,134L352,133L353,133L353,131L353,130L351,130L350,129L349,129L350,127L348,126L347,125L345,123L345,121L345,121L344,120L343,122L341,122L341,123L339,122L339,121L338,122L337,123L336,123L336,124L336,125L334,124L334,125L334,127L334,128L334,129L333,131L333,132L333,133L333,134L334,134L335,134L337,133L338,134L339,134L340,134L341,134L342,135L343,134L343,133L344,133L345,134L346,134L348,134L350,135L350,136L350,137Z " data-fips="GM16" data-hasc="DE.BE" data-name="Berlin" data-postal="BE" data-varname=""/><path d="M309,208L310,207L309,206L309,204L309,203L307,202L307,201L306,200L306,199L305,198L306,197L306,195L305,194L305,192L305,191L306,191L306,190L306,188L306,187L305,186L305,185L306,184L306,182L306,180L307,179L307,178L308,179L310,179L311,178L314,177L314,176L317,176L321,176L322,175L322,174L324,174L325,174L327,173L328,172L329,173L330,174L331,174L332,174L334,173L336,172L337,170L337,169L336,168L336,166L337,164L338,162L337,162L336,163L335,162L333,162L330,161L330,160L329,160L327,160L326,158L324,158L321,156L320,156L319,157L318,157L316,157L315,156L314,155L313,155L312,155L311,154L310,153L308,150L307,149L307,148L305,147L305,145L306,144L306,142L305,142L305,140L306,139L306,138L306,137L306,136L306,135L307,134L307,133L307,132L307,131L307,130L306,130L305,128L305,129L304,130L303,129L303,128L302,128L303,126L303,124L304,123L305,123L305,122L305,120L304,119L304,118L304,117L304,116L305,114L304,112L303,111L301,112L301,111L299,111L297,111L296,110L295,110L293,109L293,107L291,107L290,106L289,106L288,105L287,104L286,104L286,103L285,103L284,105L283,105L282,106L282,107L282,108L281,109L280,110L279,111L277,112L276,112L275,112L274,111L272,111L270,111L269,110L267,110L267,111L266,112L265,113L264,114L262,114L261,114L260,114L260,115L260,116L260,118L261,119L261,120L262,121L264,124L265,125L266,125L266,126L266,127L266,128L266,129L267,131L266,131L266,132L265,133L268,136L270,137L270,139L268,139L268,140L268,141L268,142L268,143L269,143L270,144L270,145L269,146L268,147L269,148L269,149L269,150L268,151L266,152L267,153L267,154L264,154L263,154L259,154L257,155L256,156L256,157L255,157L255,158L256,159L257,159L256,160L256,161L256,162L256,163L256,164L255,165L255,166L255,167L255,168L255,169L256,170L257,171L257,172L257,174L258,176L262,176L263,176L264,177L266,177L266,178L266,179L266,180L266,181L266,182L267,184L267,185L267,187L273,188L274,188L277,188L280,190L281,191L283,194L282,195L281,196L280,196L279,197L280,198L281,198L282,200L282,201L282,202L283,203L285,203L286,203L287,203L289,203L290,202L291,203L291,204L291,205L292,206L293,207L296,206L297,207L299,207L299,208L301,209L302,210L305,210L306,210L307,210L308,210Z " data-fips="GM14" data-hasc="DE.ST" data-name="Sachsen-Anhalt" data-postal="ST" data-varname="Saxony-Anhalt"/><path d="M312,249L312,248L312,247L313,245L314,244L315,242L316,241L317,240L317,239L318,238L320,238L322,237L324,237L325,236L326,235L327,235L328,235L332,237L333,237L334,236L334,234L335,232L336,232L337,232L339,232L340,230L341,227L342,228L344,227L344,226L346,225L347,226L348,226L349,225L350,224L351,223L350,221L352,220L353,220L356,220L358,219L360,219L362,218L362,216L363,216L364,215L365,215L367,215L372,212L373,210L374,210L377,210L377,209L377,207L375,207L375,206L374,205L373,204L373,203L374,202L375,202L377,202L377,203L379,203L381,202L382,203L383,204L384,205L383,207L383,208L385,207L386,209L385,210L385,211L387,212L388,213L389,213L391,213L391,212L392,210L392,208L393,207L394,203L395,199L395,198L396,197L396,196L396,194L396,193L397,192L397,190L397,189L396,188L395,187L395,186L394,185L394,182L394,180L393,179L392,178L390,178L389,177L387,177L386,176L386,176L385,176L382,175L381,175L380,175L376,178L374,178L373,177L372,177L370,177L369,177L367,179L366,180L366,181L365,183L364,185L363,186L362,186L360,187L357,187L355,187L352,187L350,187L349,187L348,186L347,185L345,184L344,185L340,186L339,186L338,186L338,185L338,184L338,182L338,181L338,180L338,179L337,178L337,177L336,176L335,176L332,174L331,174L330,174L329,173L328,172L327,173L325,174L324,174L322,174L322,175L321,176L317,176L314,176L314,177L311,178L310,179L308,179L307,178L307,179L306,180L306,182L306,184L305,185L305,186L306,187L306,188L306,190L306,191L305,191L305,192L305,194L306,195L306,197L305,198L306,199L306,200L307,201L307,202L311,203L316,204L316,205L318,207L318,208L320,209L321,210L322,212L321,213L320,213L319,213L317,213L316,214L315,215L315,216L313,216L312,217L309,218L310,219L310,220L309,221L310,221L310,223L310,223L312,224L311,225L310,226L309,226L307,226L306,227L307,228L306,229L305,230L304,230L303,231L302,231L301,230L300,232L299,233L299,234L300,235L299,236L298,236L298,237L300,237L300,238L301,239L301,240L303,242L305,242L305,242L307,243L307,244L308,245L310,245L309,246L310,247L310,248L311,250Z " data-fips="GM13" data-hasc="DE.SN" data-name="Sachsen" data-postal="SN" data-varname="Saxony"/><path d="M360,187L362,186L363,186L364,185L365,183L366,181L366,180L367,179L369,177L370,177L372,177L373,177L374,178L376,178L380,175L381,175L382,175L385,176L386,176L386,176L386,175L386,174L387,173L387,172L387,171L386,169L384,167L383,167L383,165L382,163L381,162L381,160L384,158L384,157L384,156L384,152L385,150L385,149L386,148L383,146L383,145L384,143L383,142L384,141L384,140L383,139L381,139L380,138L380,137L379,135L378,133L378,131L379,129L380,128L380,127L380,126L380,125L380,123L379,122L377,120L375,119L374,118L373,118L372,115L367,112L366,111L364,111L363,110L365,108L364,107L364,104L365,103L367,102L369,100L370,99L370,98L371,95L370,94L370,92L371,91L371,90L372,88L371,87L370,86L370,85L370,85L368,86L367,88L366,89L364,89L363,88L362,87L364,85L365,84L365,82L365,80L363,80L361,80L361,81L359,80L358,80L356,81L355,79L354,78L354,77L352,76L351,75L351,76L352,77L351,78L350,78L349,79L347,80L346,82L345,82L344,83L344,84L343,86L343,87L342,88L340,89L339,89L338,89L336,89L335,90L335,91L335,92L333,91L332,91L331,91L331,92L330,93L329,95L328,95L327,95L326,94L325,95L324,95L322,94L320,94L320,93L319,93L318,92L316,91L312,91L311,91L310,90L309,89L307,88L306,88L304,87L303,86L302,87L301,86L300,86L299,87L298,88L298,90L297,90L295,91L295,91L294,91L292,93L291,94L290,94L289,93L288,92L287,93L284,94L283,95L283,96L284,98L284,99L282,99L281,98L279,99L279,100L278,100L277,100L275,100L276,101L277,102L277,102L278,102L280,101L281,101L282,102L283,103L285,103L286,103L286,104L287,104L288,105L289,106L290,106L291,107L293,107L293,109L295,110L296,110L297,111L299,111L301,111L301,112L303,111L304,112L305,114L304,116L304,117L304,118L304,119L305,120L305,122L305,123L304,123L303,124L303,126L302,128L303,128L303,129L304,130L305,129L305,128L306,130L307,130L307,131L307,132L307,133L307,134L306,135L306,136L306,137L306,138L306,139L305,140L305,142L306,142L306,144L305,145L305,147L307,148L307,149L308,150L310,153L311,154L312,155L313,155L314,155L315,156L316,157L318,157L319,157L320,156L321,156L324,158L326,158L327,160L329,160L330,160L330,161L333,162L335,162L336,163L337,162L338,162L337,164L336,166L336,168L337,169L337,170L336,172L334,173L335,176L336,176L337,177L337,178L338,179L338,180L338,181L338,182L338,184L338,185L338,186L339,186L340,186L344,185L345,184L347,185L348,186L349,187L350,187L352,187L355,187L357,187Z M350,137L350,136L350,135L348,134L346,134L345,134L344,133L343,133L343,134L342,135L341,134L340,134L339,134L338,134L337,133L335,134L334,134L333,134L333,133L333,132L333,131L334,129L334,128L334,127L334,125L334,124L336,125L336,124L336,123L337,123L338,122L339,121L339,122L341,123L341,122L343,122L344,120L345,121L345,121L345,123L347,125L348,126L350,127L349,129L350,129L351,130L353,130L353,131L353,133L352,133L352,134L351,136Z " data-fips="GM11" data-hasc="" data-name="Brandenburg" data-postal="BE" data-varname=""/><path d="M279,99L281,98L282,99L284,99L284,98L283,96L283,95L284,94L287,93L288,92L289,93L290,94L291,94L292,93L294,91L295,91L295,91L297,90L298,90L298,88L299,87L300,86L301,86L302,87L303,86L304,87L306,88L307,88L309,89L310,90L311,91L312,91L316,91L318,92L319,93L320,93L320,94L322,94L324,95L325,95L326,94L327,95L328,95L329,95L330,93L331,92L331,91L332,91L333,91L335,92L335,91L335,90L336,89L338,89L339,89L340,89L342,88L343,87L343,86L344,84L344,83L345,82L346,82L347,80L349,79L350,78L351,78L352,77L351,76L351,75L352,76L354,77L354,78L355,79L356,81L358,80L359,80L361,81L361,80L363,80L365,80L365,82L365,84L364,85L362,87L363,88L364,89L366,89L367,88L368,86L370,85L370,85L369,82L369,79L368,78L368,77L367,76L367,75L367,74L366,71L366,69L365,68L365,66L364,66L365,65L365,63L364,63L363,64L360,64L359,64L357,63L356,63L353,61L352,59L351,59L351,58L354,55L354,54L353,54L352,53L351,52L350,51L349,50L350,48L350,47L350,46L348,44L346,43L344,45L341,46L341,47L340,47L339,46L339,45L338,44L337,43L335,44L336,43L335,42L334,40L332,40L330,39L331,38L329,38L329,37L328,35L328,33L327,33L326,32L326,30L324,31L323,32L322,33L321,35L320,35L319,34L319,33L318,34L317,34L316,34L316,32L316,33L314,34L313,34L312,35L310,37L309,38L308,39L308,40L309,40L308,41L307,39L307,38L307,37L307,36L308,36L308,34L309,33L310,34L311,34L312,33L313,34L313,33L314,32L315,32L316,31L317,31L318,32L322,32L322,30L321,30L320,30L313,30L312,30L311,28L310,29L310,31L309,33L307,36L305,39L304,40L301,41L300,43L299,45L300,45L299,46L299,47L299,49L299,48L299,47L299,45L299,44L297,45L290,46L288,46L287,46L286,47L285,48L285,49L285,50L284,51L283,52L282,53L281,54L281,56L281,57L280,58L279,59L278,57L277,57L276,56L275,58L273,57L273,55L272,55L271,54L268,54L266,55L265,55L263,57L263,58L265,59L264,60L263,59L262,59L261,61L259,61L259,62L259,64L259,65L259,67L260,68L262,70L263,70L264,70L265,71L265,72L265,73L265,75L265,76L265,77L264,78L264,77L262,77L261,77L261,78L261,80L259,81L258,81L257,82L256,82L255,83L255,85L255,86L254,87L257,87L258,87L258,88L259,89L259,90L260,91L261,92L262,93L265,94L268,97L269,98L270,98L271,97L272,97L272,98L274,98L275,99L275,100L277,100L278,100L279,100Z M281,53L280,53L279,53L278,54L278,56L279,56L280,55L280,56Z M283,51L284,49L282,50L282,51Z M355,59L357,59L357,58L358,57L359,58L363,57L362,56L362,54L357,48L356,48L354,47L352,46L351,45L351,43L350,43L349,43L349,44L350,46L350,48L350,50L350,51L351,50L352,49L352,50L352,51L353,50L354,49L354,48L355,48L356,49L357,50L358,51L358,52L358,54L357,53L355,54L355,52L353,52L353,53L355,55L354,57L352,58L352,59L353,60Z M338,40L338,39L336,40L336,38L338,38L338,36L340,35L343,34L345,34L345,34L344,36L345,35L347,35L346,36L346,37L347,36L347,38L347,36L348,35L348,34L347,33L345,31L343,31L343,30L342,28L343,26L344,26L345,24L345,23L344,22L343,22L339,23L337,22L336,21L336,19L337,19L338,17L336,17L332,19L332,20L333,20L333,21L332,22L332,24L334,23L335,22L336,21L337,22L337,23L338,24L340,24L340,25L340,26L340,27L338,27L337,26L337,25L336,24L336,25L335,26L336,25L336,23L336,22L335,23L334,24L334,26L333,25L332,24L329,25L330,26L331,27L332,26L332,27L333,28L332,29L331,29L330,30L330,31L332,31L332,32L333,33L331,34L330,33L329,34L329,35L331,37L330,38L332,37L332,38L333,39L334,39L335,39L336,38L335,40L336,40L337,41Z M327,28L327,27L328,26L328,25L328,23L329,22L328,22L328,24L327,27L327,29Z " data-fips="GM12" data-hasc="DE.MV" data-name="Mecklenburg-Vorpommern" data-postal="MV" data-varname="Mecklenburg-West Pomerania"/></g></svg>
So there must be anything wrong in the parser. Or could you maybe tell me which tool the first SVG was created by?
This ticket kartograph/kartograph.js#6 seems to imply IE8 support has been added, however none of the kartograph maps on the site work in IE8
Hello. I'm glad to using Kartograph library.
But i have a issue about adding label symbols.
Here is my code:
.get('Aimag1.svg', function(svg) {
var div = $('<div />').addClass('mapnail');
$('#map').append(div);
var map = kartograph.map(div, w * 0.5, w/3);
map.setMap(svg);
map.addLayer('provinces', {
styles: {
'stroke-width': 0.3,
'fill': "#FFF",
'stroke': "#000"
},
mouseenter: function(d, path) {
if(path.attr('fill') != 'red')
path.attr('fill', '#c04');
},
mouseleave: function(d, path) {
if(path.attr('fill') == '#c04')
path.animate({ fill: '#fff' }, 1000);
},
click: function(data, path, event) {
if(path.attr('fill') != 'red')
path.attr('fill', 'red');
else path.attr('fill', '#fff');
},
tooltips: function(d) {
return ['/km<sup>2</sup>'];
}
map.addSymbols({
type: kartograph.Label,
data: map.getLayer('provinces').getPathsData(),
location: function(d) {
//console.log(map.getLayer('provinces').getPathsData());
//return 'provinces.0';
return 'provinces.' + d.id
},
text: function(d) { return d.namemn; }
});
And the log is: Error: <text> attribute x: Expected length, "NaN".
Thank you for helping!
Hello,
When might support for Python 3 be offered for this package?
Thank you,
Ryan
{
"layers": [
"special": "graticule",
"latitudes": 0.05,
"longitudes": 0.05,
"styles": {
"stroke": "black",
"stroke-width": "2px"
}
],
// renders graticule
"bounds": {
"mode": "bbox",
"data": [13, 52, 14, 53],
"padding": 0.1
}
// no graticule
"bounds": {
"mode": "bbox",
"data": [13.1, 52.3, 13.8, 52.6],
"padding": 0.1
}
https://github.com/kartograph/kartograph.org/blob/master/showcase/shp
trying to run jekyll locally after checking out the repo fails
On the kartograph.org homepage at the moment I see image errors over the top of the little maps.
The error console says: http://kartograph.org/blank Failed to load resource: the server responded with a status of 404 (Not Found)
Safari 6.0.5
The check boxes that toggle layer visibility on the La Bella Italia showcase page, http://kartograph.org/showcase/italia/ , do not hide the layers when clicked and seem to be broken.
Tested in Firefox [22.0] and Chrome [27].
It would be great to have this example actually work so it could be used as a helpful reference to people like myself who are very interested in using the toggle feature.
in kartograph-0.8.3.js kartograph.Proj is undefined in the following line
537 me.proj = kartograph.Proj.fromXML($('proj', $view)[0]);
The whole content of "proj.coffee" is apparently missing from the compiled js file (also in the minified version)
I just installed kartograph as described on the website and have a couple of issues I'd like to report. Unfrotunately, there's no way to get a dump of the environment that's installed.
So consider the lack "--version" flag my first issue :)
Here is my setup, this applies to any further bugs:
$ uname -a
Darwin <host> 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012;
root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64
$ python --version
Python 2.7.1
kartograph was installed as described here:
http://kartograph.org/docs/kartograph.py/install-macosx.html
using the no-gdal.
Furthermore: the ne_50m_admin_0_countries example of the site runs extremely slow (>16s) I'm wondering wether this is expected or I did something wrong?
Hi,
Do I have any choice to use other SVG maps?
I found a website (https://www.amcharts.com/svg-maps/) providing many SVG maps, but there is a problem when I use them. I tried other svg maps, still not working.
Thanks!
I get a "Uncaught TypeError: Cannot read property 'getAttribute' of undefined" error with this simple code:
var map = kartograph.map('#map', 600, 400);
map.loadMap('arg.svg', function() {
// do something with your map, add layers etc.
});
The US map SVG in the KartographJS website showcase folder has associated Yaml config file but the original shape files and the process by which the SVG map is generated are HIDDEN from users of the library. Or at least I could not find them. We need to be able to customize how the SVG map is generated from the shape file. For example, how do we adjust tilt/clipAngle for satellite projection?
Update:
Never mind. I did not read the main page =) Kartograph.py is the way to generate the maps.
+apple touch icons
Hello, the web page
http://kartograph.org/showcase/editor
which was really useful, is not working anymore. The browser console gives me three errors.
I find some svg maps of china with province, but they can't be used in kartograph,do you have some maps about china?
I'm currently trying to learn from the examples, specifically the Italia example. However, I don't know how to load the site, even on a local web server. I'm able to load the index.html at the topmost level but the I can only see the text. Do I have to do something before I load the folder into Apache? Sorry for the noobish question. I'm new to all this.
The addLayer method has no callback, and it seems to return only after it finishes when you don't set the chunks option to a value > 1. This is good, because if you have a layer that takes awhile to load, and you then want to add some symbols, you really want addLayer to be finished before the symbols are added so you don't have to mess with the z-index (which I don't even know how to change in kartograph at this point...).
However, if chunks is set to a value > 1, addLayer appears to return after the first chunk is drawn, which then allows addSymbols to do its thing and you can end up with subsequent chunks drawn on top of your symbols.
I don't think this would be hard to fix, but I want to make sure it is considered a problem and that I'm not just experiencing this because of ignorance before I do that... thoughts?
How to uninstall Kartograph?
I had run these (on Mac OS X):
sudo pip install -r https://raw.github.com/kartograph/kartograph.py/master/requirements-nogdal.txt
sudo pip install https://github.com/kartograph/kartograph.py/zipball/master
I have used this JSON config to create an SVG:
{
"proj": {
"id": "satellite",
"lon0": 19.25,
"lat0": 48.5,
"dist": 2,
"up": 0,
"tilt": 0
},
"layers": {
"background": {"special": "sea"},
"graticule":{ "special": "graticule", "latitudes": 1, "longitudes": 1, "styles": { "stroke-width": "0.3px" } },
"countries":{ "src": "ne_50m_admin_0_countries.shp", "attributes": { "iso": "wb_a2", "name": "name" } }
},
"bounds": {
"mode": "polygons",
"data": {
"layer": "countries",
"filter": ["continent", "is", "Europe"]
}
}
}
The result looks really nice, there's a strange cropped area:
dear kartography team,
thanks a lot for the effort you put in creating and maintaining the library!
i am wondering if there is a built-in feature to add hatching to certain paths of a world map (e.g. those path ids not containing any data points in a datset that is loaded on top of the map).
static, non interactive example: http://stackoverflow.com/questions/14573010/cross-hatching-in-maps-using-r
or is there an alternative way?
kind regards and many thanks in advance,
tom
Hi. I'm not able to make it through the tutorial on rendering SVGs. When running osm2pgsql, I get the following error. Any ideas?
$ osm2pgsql -l -r pbf -d osm berlin.osm.pbf
osm2pgsql SVN version 0.87.0 (64bit id space)
Using built-in tag processing pipeline
Using projection SRS 4326 (Latlong)
Setting up table: planet_osm_point
Setting up table: planet_osm_line
Setting up table: planet_osm_polygon
Setting up table: planet_osm_roads
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Allocating memory for sparse node cache
Sharing dense sparse
Node-cache: cache=800MB, maxblocks=102400*8192, allocation method=3
Mid: Ram, scale=10000000
Reading in file: berlin.osm.pbf
Invalid blocksize 1013478509
Error occurred, cleaning up
maybe one showcase for each of the following
Title is the question. IS this possible or do I really have to run the pathon code to create the SVGs?
Thx.
[mistakenly posted here - moved to kartograph.py]
I am in some trouble because of the SVG CSS position setting:
position: absolute;
Is there a param to override this?
(Yes, I know I can override this with my own CSS using !important. Wanted to ask anyway. ;)
using the --pretty-print flag on the test (and other) map yields indentions like this:
utf-8</defs>
utf-8<metadata>
utf-8utf-8<views>
utf-8utf-8utf-8<view h="505.683993136" padding="0" w="1000">
utf-8utf-8utf-8utf-8<proj flip="auto" id="robinson" lon0="-69.9834239287"/>
utf-8utf-8utf-8utf-8<bbox h="2659.94" w="5270.5" x="-2635.25" y="-1307.64"/>
utf-8utf-8utf-8</view>
utf-8utf-8</views>
utf-8</metadata>
(with literal "utf-8" as the indention symbol) I assume this is not intended...
I use a simple json file:
{
"layers": {
"rrance": {
"src": "ne_50m_admin_0_countries.shp",
"filter": { "ISO3": "FRA" }
}
}
}
When starting kartograph I only get a trace, but no error message.
Output:
user@python:~/kartograph-test$ kartograph world.json -o world.svg
cli.py, in render_map()
71: K.generate(cfg, args.output, preview=args.preview, format=format, stylesheet=css) kartograph.py, in generate()
46: _map = Map(opts, self.layerCache, format=format) map.py, in __init__()
48: me.proj = me._init_projection() map.py, in _init_projection()
88: map_center = self.__get_map_center() map.py, in __get_map_center()
140: features = self._get_bounding_geometry() map.py, in _get_bounding_geometry()
257: charset=layer.options['charset'] layersource/shplayer.py, in get_features()
96: if filter is None or filter(drec): map.py, in <lambda>()
252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec) map.py, in <lambda>()
239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec) filter.py, in filter_record()
25: res = res and filter_record([key, '=', filt[key]], record) filter.py, in filter_record()
27: res = filter_single(filt, record) filter.py, in filter_single()
35: prop = record[key]
u'ISO3'user@python:~/kartograph-test$
When deleting the line containing the filter option everything wors fine and I get a svg file.
I installed it on a fresh Debian 7.3, python is version 2.7.3. I followed this instructions: http://kartograph.org/docs/kartograph.py/install-ubuntu.html
... further along in my trials of kartograph, I tried the "ne_50m_admin_0_countries" example with a file of my own that I am interested in:
http://www.offenedaten-koeln.de/offene-daten/?did=48
which also contains POLYGONs as the ne_50m... shapefile. I only changed the 'src' attribute in the configuration JSON. Output is an svg containing only metadata, but no error or indication why the actual shapes are not in the file... :
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN'
'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg enable_background="new 0 0 1000 808" height="808px"
pretty_print="False"
style="stroke-linejoin: round; stroke:#000; fill: none;"
version="1.1" viewBox="0 0 1000 808" width="1000px"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<style type="text/css">
<![CDATA[path { fill-rule: evenodd; }]]>
</style>
</defs>
<metadata>
<views>
<view h="808.83411363" padding="0" w="1000">
<proj flip="auto" id="robinson" lon0="6.98500063343" />
<bbox h="4.12" w="5.1" x="86.41" y="-852.78" />
</view>
</views>
</metadata>
</svg>
I realize this may not be a bug and is probably just a problem with the way I am trying to group these regions together, but I couldn't find any message board where I could post my question.
I am trying to create an SVG of the U.S Virgin Islands using Kartograph via the command line. I have read through the documentation multiple times and have been able to get Kartograph to produce a simple .svg file using the following json array:
{
"layers": [{
"src": "vi_shapes_fips.shp",
"attributes": ["state_fips", "state"]
}]
}
However, it does not produce an .svg file when I try to create an SVG where the islands are grouped by FIPS code (one of the attributes in the .shp file using the following json array:
{
"layers": [{
"src": "vi_shapes_fips.shp",
"attributes": ["state_fips", "state"],
"join": {
"group-by": "state_fips",
"groups": {
"St_Thomas": [78030],
"St_John": [78020],
"St_Croix": [78010]
},
"
"export-ids": "no"
}
}]
}
When I use the grouping json array, I get the following output:
cli.py, in render_map()
71: K.generate(cfg, args.output, preview=args.preview, format=format, stylesheet=css) kartograph.py, in generate()
46: _map = Map(opts, self.layerCache, format=format) map.py, in __init__()
64: me._join_features() map.py, in _join_features()
509: if join['export-ids']:
'export-ids'
There doesn't seem to be any error. But I'm also not sure what I've done wrong. I've looked through the code and not been able to figure it out. Again, this probably isn't a bug, just me not completely understanding how to use the tool. Any help would be appreciated. This is an amazing tool and will save me a lot of time if I can get it working properly. Thanks!
You can download both files from Github:
jquery.qtip.js
jquery.qtip.css
the current url of jquery.qtip.js
is https://github.com/Craga89/qTip2/blob/master/src/tips/tips.js
the current url of jquery.qtip.css
is https://github.com/Craga89/qTip2/blob/master/src/tips/tips.css
Thank to fix this bug
In
https://github.com/kartograph/kartograph.org/blob/master/about/index.html#L27
the link to "Italy" is named "/showcase/itala/" with a missing "i" in "italia".
The worldmap showcase seems not to be finished. Is there a working worldmap showcase?
I tried something like this, but it does not work:
<div id="map"></div>
<script>
var map = kartograph.map($('#map'));
map.loadMap('lib/world.svg', function() {
});
</script>
Dear Kartographer-Dev,
first of all thanks for this utterly marvelous piece of software (โฆ and documentation)!
A tiny correction, which could make following the tutorial a bit smoother for beginners:
When trying to specify the id attribute for vector art editing software (and using the standard naturalearth data) the proper reference for the "ISO3"-attribute seems to be "iso_a3" (case sensitive). Also, it required some attempts before it became clear that the underscore will be converted to a dash. ("iso_a3" -> "data-iso-a3").
Hopefully this remark is worthy of your attention :)
Thanks again for Kartographer!
Keep up the good work!
Cheers,
Dimitar
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.