Giter Club home page Giter Club logo

kartograph.org's People

Contributors

christophermanning avatar davidlemayian avatar gka avatar ivantchomgue avatar jnhdny avatar kubafon avatar pirhoo avatar vitorbaptista avatar yaph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kartograph.org's Issues

Error using kartograph.py

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

Error generating svg from osm data

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!

When using bounds I get a NoneType Error.

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'

TypeError: t is undefined when loading a SVG file

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?

<text> attribute x: Expected length

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!

Python 3 support

Hello,

When might support for Python 3 be offered for this package?

Thank you,

Ryan

La Bella Italia toggle broken

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.

kartograph.Proj is undefined in kartograph-0.8.3.js

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)

no --version flag to kartograph ....

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?

Cannot read property 'getAttribute' Error

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.
});

Docs don't show how to create SVG maps

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.

CHINA MAP

I find some svg maps of china with province, but they can't be used in kartograph,do you have some maps about china?

How to host a local instance of the site

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.

addLayer method returns too soon when chunks > 1

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?

Uninstalling

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

Nice map created, but strange cropping

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:

2015-04-09 14_40_52-blackcat cms administration - admintools

built-in possibility to add hatching for certain paths or alternative?

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

Get invalid blocksize error when trying to generate SVG from tutorial

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

add symbol map showcase(s)

maybe one showcase for each of the following

  • bubble symbol
  • gridded bubble symbol
  • icon/label symbols
  • chart symbols (not implemented yet):

Q: CSS position (SVG)

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. ;)

--pretty-print flag does not work

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...

Generation of map fails when using a filter

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

no content, no error ...

... 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>

Trouble Joining Features in a Layer

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!

worldmap showcase

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> 

Data attribute for Adobe Illustrator and the kind

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.