UNMAINTAINED! Renders beautiful SVG maps in Python.

Overview

Kartograph is not maintained anymore

As you probably already guessed from the commit history in this repo, Kartograph.py is not maintained, which means that bugs are not being fixed and new features are not being added anymore. The original maintainer decided to move on with his life.

Bummer, I know! But... there is a great alternative!

I highly recommend using mapshaper instead, either the web gui or via command-line. It's what I use for all my mapping needs nowadays.

Of course, if anyone wants to take over, kartograph.py is all yours.


Kartograph.py

Kartograph is a Python library that generates SVG maps from ESRI shapefiles. Please have a look at the API docs for more details.

Author

Kartograph was created by Gregor Aisch and is supported by dpa-newslab, Piwik Web Analytics and the Open Knowledge Foundation.

License

Kartograph.py is licensed under AGPL

Current status

Kartograph.py is still beta, which means that there are some bugs left to fix.

However, feel free to test it while it is been developed. To do so I recommend to use virtualenv and virtualenv-wrapper.

> mkdir kartograph-py
> git clone [email protected]:kartograph/kartograph.py.git kartograph-py

# create and activate a new virtual environment
> mkvirtualenv kartograph

# install and use Kartograph
(kartograph)> cd kartograph-py
(kartograph)> python setup.py install

See install documentation

Comments
  • 'unicode' object does not support item assignment

    'unicode' object does not support item assignment

    I succeed install kartograph.py on Ubuntu 11.10 and refer to https://github.com/kartograph/kartograph.py/wiki/Installing-on-Ubuntu

    but i get the following error when i try to run kartograph world.json -o world.svg

    cli.py, in render_map()
      65: 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()
      57: parse_layers(opts)  options.py, in parse_layers()
      98: layer['id'] = layer_id
    'unicode' object does not support item assignment
    

    I hope someone can help. Thanks!

    opened by gnepud 4
  • Fixed OS X 10.7 install (again)

    Fixed OS X 10.7 install (again)

    For some reason my previous fix wasn't enough to make it work on a machine where the install wasn't attempted before. Bloody Python dependency management! :)

    This should work.

    opened by jerstucki 4
  • Error when generating svg

    Error when generating svg

    I ran into the following issue while generating a svg map. The used shapefile is the Admin 1 – States, Provinces loaded into QGIS to select all the german states and then saved as.

    kartograph svg map.yaml -o germany.svg
    
    -> full extend
    Traceback (most recent call last):
    File "/usr/local/bin/kartograph", line 8, in <module>
    load_entry_point('kartograph.py==0.2.0', 'console_scripts', 'kartograph')()
    File "/Library/Python/2.7/site-packages/kartograph.py-0.2.0-py2.7.egg/kartograph/cli.py", line 95, in main
    args.func(args)
    File "/Library/Python/2.7/site-packages/kartograph.py-0.2.0-py2.7.egg/kartograph/cli.py", line 64, in svg
    K.generate(cfg, args.output)
    File "/Library/Python/2.7/site-packages/kartograph.py-0.2.0-py2.7.egg/kartograph/kartograph.py", line 30, in generate
    view = self.get_view(opts, bbox)
    File "/Library/Python/2.7/site-packages/kartograph.py-0.2.0-py2.7.egg/kartograph/kartograph.py", line 201, in get_view
    return View(bbox, w, h - 1)
    TypeError: unsupported operand type(s) for -: 'str' and 'int'
    
    {
      "proj": {
        "id": "ortho",
      },
      "layers": [
        {
          "id": "countries",
          "src": "germany-real.shp",
          "attributes": {
            "NAME_1": "Bundesland",
          }
        }
      ],
      "export": {
        "width": "auto",
        "height": "auto"
      },
      "bounds": {
        "padding": 0.02
      }
    }
    

    I hope someone can help. Thanks!

    bug 
    opened by ferdinandsalis 3
  • Fixed Install on OS X 10.7 + CLI options

    Fixed Install on OS X 10.7 + CLI options

    A note for the CLI fix: A call to

    kartograph svg config.yaml -o map.svg
    

    didn't parse the -o option, thus always generating a tmp.svg and trying to open it with the firefox command (which generates an error if you don't have it).

    I fixed this but now you can't mix

    kartograph svg config.yaml -o map.svg
    

    with

    kartograph svg -c config.yaml -o map.svg
    

    I don't really know what makes the most sense for the API.

    Cheers!

    opened by jerstucki 3
  • Kartograph test does not work on manual install

    Kartograph test does not work on manual install

    I had to install Kartograph using the "manual" instructions, as the version of polygon included in the setup.py does not compile on either of my Macs (running 10.7.3 with gcc 4.2). (The latest version on the Polygon github installs properly from its setup.py). Once installed, I tried to run the test script, and hit the following error:

    $ kartograph svg united-states.yaml -o states.svg
    Proj(laea, lon0=-96.5, lat0=37.5)
    simplifying layer_0
    layer_0
    Traceback (most recent call last):
      File "/usr/local/bin/kartograph", line 8, in <module>
        load_entry_point('kartograph.py==0.1.3', 'console_scripts', 'kartograph')()
      File "/Library/Python/2.7/site-packages/kartograph.py-0.1.3-py2.7.egg/kartograph/cli.py", line 57, in main
        K.generate(cfg, output)
      File "/Library/Python/2.7/site-packages/kartograph.py-0.1.3-py2.7.egg/kartograph/kartograph.py", line 58, in generate
        svg.preview()
      File "/Library/Python/2.7/site-packages/kartograph.py-0.1.3-py2.7.egg/kartograph/svg.py", line 37, in preview
        call(["firefox", "tmp.svg"])
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 486, in call
        return Popen(*popenargs, **kwargs).wait()
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
        errread, errwrite)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
    

    The contents of united-states.yaml are:

    layers:
    - src: shp/united-states.shp
    bounds:
      mode: bbox
      data: [-120,25,-73,50]
    

    The shapefiles are those downloaded from http://data.kartograph.org/united-states.zip.

    Since this involves a call to Firefox, I tried upgrading to the latest version of Firefox (11), but it does not appear to've helped.

    opened by futuraprime 3
  • dict of dicts for config does not work

    dict of dicts for config does not work

    [moved here from kartograph.org - mistakenly posted to the website issues list]

    I am working through the example Python code here: http://kartograph.org/docs/kartograph.py/#adding-map-layers

    The method to use a dict of dicts does not work for me. However, the older (and to be deprecated) list method does work.

    Using the dict of dicts:

    infile = 'myfile.shp' cfg = {"layers": {"mylayer": {"src": infile}}} K = kartograph.Kartograph() K.generate(cfg, outfile = 'mymap.svg')

    This generates an error: "IndexError: list index out of range". It seems that parse_layers() is iterating over the names of the layers rather than the contents of the dictionary.

    Using the dict of lists, which the documentation suggests is a deprecated way to call generate(), works fine:

    cfg = {"layers": [{"id": "mylayer", "src": infile}]} K = kartograph.Kartograph() K.generate(cfg, outfile = 'mymap.svg')

    Am I making a mistake here or is there a bug in parse_layers?

    opened by amillb 2
  • Install Fails Run_Tests.py

    Install Fails Run_Tests.py

    Thanks for this great piece of software. I have started to play with it and one of the things I noticed as that on my machine the run_tests.py tells me that I pass only 7 of the 15 tests. I am wondering if this test quite is supposed to be passed and if there is a way to report/troubleshoot the errors in the output log. It looks like a lot of my errors are related to interpretation of the'u'ISO_A3' string.

    I am including the log below for reference.

    thanks and great work, zach cp

    
    
    Error in test configs/bounds-layer.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/bounds-min-area.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      244: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/bounds-polygons.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      244: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/buffered-labels.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      244: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-line.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-as-bounds.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      62: layer.get_features()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/maplayer.py, in get_features()
      81: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/maplayer.py, in <lambda>()
      73: filter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-labels.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-proj.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-polygon.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      236: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/default-labels.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      244: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/dict-layer.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      62: layer.get_features()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/maplayer.py, in get_features()
      81: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/maplayer.py, in <lambda>()
      73: filter = lambda rec: filter_record(layer.options['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/join-features.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      65: me._join_features()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _join_features()
      452: if feat.props[groupBy] in groups[g_id] or str(feat.props[groupBy]) in groups[g_id]:
    
    u'ISO_A3'
    
    Error in test configs/osm.yaml  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      43: layer = MapLayer(layer_id, layer_cfg, me, layerCache)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/maplayer.py, in __init__()
      35: self.source = handle_layer_source(self.options, self.cache)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/__init__.py, in handle_layer_source()
      49: src = PostGISLayer(src[8:], query=layer['query'], table=layer['table'])
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/postgislayer.py, in __init__()
      24: self.conn = psycopg2.connect(src)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/__init__.py, in connect()
      179: connection_factory=connection_factory, async=async)
    
    could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
    
    
    Error in test configs/styled-labels.json  run_tests.py, in <module>()
      37: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __init__()
      49: me.proj = me._init_projection()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _init_projection()
      89: map_center = self.__get_map_center()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in __get_map_center()
      141: features = self._get_bounding_geometry()
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      254: charset=layer.options['charset']
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      97: if filter is None or filter(drec):
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      249: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/map.py, in <lambda>()
      244: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kartograph.py-0.6.2-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    opened by zachcp 2
  • error executing kartograph.py on windows: import options

    error executing kartograph.py on windows: import options

    hi, i like to know about this trace generated using kartograph.py for generating svg maps

    used command :

    python c:\Kartograph\kartograph\kartograph.py SHP_TEST.json -o SHP_TEST.svg

    Traceback (most recent call last): File "c:\Kartograph\kartograph\kartograph.py", line 2, in from options import parse_options File "c:\Kartograph\kartograph\options.py", line 7, in import os.path, proj, errors File "c:\Kartograph\kartograph\proj__init__.py", line 50, in from azimuthal import * File "c:\Kartograph\kartograph\proj\azimuthal__init__.py", line 19, in from azimuthal import Azimuthal File "c:\Kartograph\kartograph\proj\azimuthal\azimuthal.py", line 20, in from kartograph.proj.base import Proj File "c:\Kartograph\kartograph\kartograph.py", line 2, in from options import parse_options ImportError: cannot import name parse_options

    regards

    opened by marlonlom 2
  • Remove svgfig dependency

    Remove svgfig dependency

    svgfig seems to be a bit over-featured for what Kartograph actually needs. A more simple XML package should work as well and would simplify the installation procedure (svgfig has no pypi package yet).

    opened by gka 2
  • Add More Simplification Algorithms

    Add More Simplification Algorithms

    The current implemented simplification algorithm is based on filtering points by distance. It would be great to have some smarter algorithms on board.

    opened by gka 2
  • tests failing

    tests failing

    The tests fail in two ways. First, they rely on wget, which is no longer widely available. That's a minor issue. With ne_50m_admin_0_countries.shp manually downloaded, I got these test results, run with GDAL 1.10.1 on OS X:

    running text all-attributes.yaml ... warning: could not encode to unicode
    ok.
    running text bounds-bbox-styled.json ... ok.
    running text bounds-bbox.json ... ok.
    running text bounds-layer.json ... failed.
    running text bounds-min-area.json ... failed.
    running text bounds-polygons.json ... failed.
    running text buffered-labels.json ... failed.
    running text choropleth.yaml ... ok.
    running text csv-line.json ... failed.
    running text csv-points-as-bounds.json ... failed.
    running text csv-points-labels.json ... failed.
    running text csv-points-proj.json ... failed.
    running text csv-points.json ... failed.
    running text csv-polygon.json ... failed.
    running text default-labels.json ... failed.
    running text dict-layer.json ... failed.
    running text globe.yaml ... ok.
    running text join-features.json ... failed.
    running text osm.yaml ... failed.
    running text prettyprint.yaml ... failed.
    running text simplify.yaml ... ok.
    running text styled-labels.json ... failed.
    running text worldmap.yaml ... ok.
    passed: 7
    failed: 16
    

    log.txt:

    Error in test configs/bounds-layer.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/bounds-min-area.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      247: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/bounds-polygons.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      247: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/buffered-labels.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      247: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-line.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-as-bounds.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      61: layer.get_features()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/maplayer.py, in get_features()
      81: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/maplayer.py, in <lambda>()
      73: filter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-labels.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points-proj.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-points.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/csv-polygon.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/default-labels.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      247: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/dict-layer.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      61: layer.get_features()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/maplayer.py, in get_features()
      81: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/maplayer.py, in <lambda>()
      73: filter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    Error in test configs/join-features.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      64: me._join_features()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _join_features()
      458: if feat.props[groupBy] in groups[g_id] or str(feat.props[groupBy]) in groups[g_id]:
    
    u'ISO_A3'
    
    Error in test configs/osm.yaml  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      42: layer = MapLayer(layer_id, layer_cfg, me, layerCache)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/maplayer.py, in __init__()
      35: self.source = handle_layer_source(self.options, self.cache)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/__init__.py, in handle_layer_source()
      49: src = PostGISLayer(src[8:], query=layer['query'], table=layer['table'])
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/postgislayer.py, in __init__()
      23: raise KartographError('You need to install psycopg2 (and PostgreSQL) if you want to render maps from PostGIS.\ne.g.\n    pip install psycopg2')
    
    Kartograph-Error: You need to install psycopg2 (and PostgreSQL) if you want to render maps from PostGIS.
    e.g.
        pip install psycopg2
    
    Error in test configs/prettyprint.yaml  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      239: layerFilter = lambda rec: filter_record(layer.options['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      25: res = res and filter_record([key, '=', filt[key]], record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    'ISO_A3'
    
    Error in test configs/styled-labels.json  run_tests.py, in <module>()
      38: K.generate(cfg, 'results/' + fn_parts[0] + '.svg', preview=False, format='svg', stylesheet=css)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/kartograph.py, in generate()
      46: _map = Map(opts, self.layerCache, format=format)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __init__()
      48: me.proj = me._init_projection()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _init_projection()
      88: map_center = self.__get_map_center()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in __get_map_center()
      140: features = self._get_bounding_geometry()
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in _get_bounding_geometry()
      257: charset=layer.options['charset']
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/layersource/shplayer.py, in get_features()
      96: if filter is None or filter(drec):
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      252: filter = lambda rec: layerFilter(rec) and boundsFilter(rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/map.py, in <lambda>()
      247: boundsFilter = lambda rec: filter_record(data['filter'], rec)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_record()
      27: res = filter_single(filt, record)
      /Users/neil/.envs/kartograph/lib/python2.7/site-packages/kartograph.py-0.6.8-py2.7.egg/kartograph/filter.py, in filter_single()
      35: prop = record[key]
    
    u'ISO_A3'
    
    opened by fitnr 1
  • docs: fix simple typo, geoemtry -> geometry

    docs: fix simple typo, geoemtry -> geometry

    There is a small typo in kartograph/layersource/postgislayer.py.

    Should read geometry rather than geoemtry.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 0
  • README refers to non-existing API docs wiki page

    README refers to non-existing API docs wiki page

    The README links to API docs - however the wiki of this Github project seems to be disabled.

    Is http://kartograph.org/docs/kartograph.py/ the entire documentation or is there additional content, which was previously in the wiki? I have the feeling that the one-page docs is incomplete (e.g. missing information how/when labels are created for objects).

    opened by nidico 0
  • "not a string" when attempting to use Kartograph.py

    I run: kartograph cfg.json -f svg -o map.svg Where the contents of cfg.json are:

    {
    	"proj" : {
    		"id" : "mercator",
    		"lon0" : -5
    	},
    	"layers": {
    		"background" : {"special" : "sea"},
    		"constituencies" : {
    			"src" : "scotland.shp",
    			"simplify" : true
    		}
    	}
    }
    

    The following error is produced:

      /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__()
      42: layer = MapLayer(layer_id, layer_cfg, me, layerCache)  /maplayer.py, in __init__()
      35: self.source = handle_layer_source(self.options, self.cache)  /layersource/__init__.py, in handle_layer_source()
      32: src = ShapefileLayer(src)  /layersource/shplayer.py, in __init__()
      37: if srs.ImportFromWkt(prj_text):  /usr/lib/python2.7/site-packages/osgeo/osr.py, in ImportFromWkt()
      1108: return _osr.SpatialReference_ImportFromWkt(self, *args)
    not a string%
    
    opened by zesterer 0
  • Suggested replacement, mapshaper, is a Node package instead of a Python package…?

    Suggested replacement, mapshaper, is a Node package instead of a Python package…?

    It looks like it's intended for people writing programs using Node, but I'm using Python (as is, presumably, just about everybody who used Kartograph.py). So how do I install and use it? I tried doing some Google searches but found nothing helpful.

    opened by pointyointment 1
  • futurize --stage1: first stage of Py2/3 compatibility

    futurize --stage1: first stage of Py2/3 compatibility

    Hi there,

    This project looks interesting! Here is an initial patch to take the code towards Py2/3 compatibility. The changes should be uncontroversial and easy to apply. The code runs on Py2 as before, but with more up-to-date code idioms.

    This patch doesn't grant full Py3 compatibility yet but takes it in the right direction, so that later patches will be shorter and easier to review.

    Please let me know if you have any questions!

    opened by edschofield 0
Releases(0.6.8)
Python Data Structures for Humans™.

Schematics Python Data Structures for Humans™. About Project documentation: https://schematics.readthedocs.io/en/latest/ Schematics is a Python librar

Schematics 2.5k Dec 28, 2022
Print matplotlib colors

mplcolors Tired of searching "matplotlib colors" every week/day/hour? This simple script displays them all conveniently right in your terminal emulato

Brandon Barker 32 Dec 13, 2022
Editor and Presenter for Manim Generated Content.

Editor and Presenter for Manim Generated Content. Take a look at the Working Example. More information can be found on the documentation. These Browse

Manim Community 149 Dec 29, 2022
Lightweight, extensible data validation library for Python

Cerberus Cerberus is a lightweight and extensible data validation library for Python. v = Validator({'name': {'type': 'string'}}) v.validate({

eve 2.9k Dec 27, 2022
Plot toolbox based on Matplotlib, simple and elegant.

Elegant-Plot Plot toolbox based on Matplotlib, simple and elegant. 绘制效果 绘制过程 数据准备 每种图标类型的目录下有data.csv文件,依据样例数据填入自己的数据。

3 Jul 15, 2022
Python library that makes it easy for data scientists to create charts.

Chartify Chartify is a Python library that makes it easy for data scientists to create charts. Why use Chartify? Consistent input data format: Spend l

Spotify 3.2k Jan 04, 2023
Python support for Godot 🐍🐍🐍

Godot Python, because you want Python on Godot ! The goal of this project is to provide Python language support as a scripting module for the Godot ga

Emmanuel Leblond 1.4k Jan 04, 2023
Type-safe YAML parser and validator.

StrictYAML StrictYAML is a type-safe YAML parser that parses and validates a restricted subset of the YAML specification. Priorities: Beautiful API Re

Colm O'Connor 1.2k Jan 04, 2023
ipyvizzu - Jupyter notebook integration of Vizzu

ipyvizzu - Jupyter notebook integration of Vizzu. Tutorial · Examples · Repository About The Project ipyvizzu is the Jupyter Notebook integration of V

Vizzu 729 Jan 08, 2023
A library for bridging Python and HTML/Javascript (via Svelte) for creating interactive visualizations

A library for bridging Python and HTML/Javascript (via Svelte) for creating interactive visualizations

Anthropic 98 Dec 27, 2022
Visualize data of Vietnam's regions with interactive maps.

Plotting Vietnam Development Map This is my personal project that I use plotly to analyse and visualize data of Vietnam's regions with interactive map

1 Jun 26, 2022
Implement the Perspective open source code in preparation for data visualization

Task Overview | Installation Instructions | Link to Module 2 Introduction Experience Technology at JP Morgan Chase Try out what real work is like in t

Abdulazeez Jimoh 1 Jan 23, 2022
I'm doing Genuary, an aritifiacilly generated month to build code that make beautiful things

Genuary 2022 I'm doing Genuary, an aritifiacilly generated month to build code that make beautiful things. Every day there is a new prompt for making

Joaquín Feltes 1 Jan 10, 2022
Pretty Confusion Matrix

Pretty Confusion Matrix Why pretty confusion matrix? We can make confusion matrix by using matplotlib. However it is not so pretty. I want to make con

Junseo Ko 5 Nov 22, 2022
CLAHE Contrast Limited Adaptive Histogram Equalization

A simple code to process images using contrast limited adaptive histogram equalization. Image processing is becoming a major part of data processig.

Happy N. Monday 4 May 18, 2022
A Python Binder that merge 2 files with any extension by creating a new python file and compiling it to exe which runs both payloads.

Update ! ANONFILE MIGHT NOT WORK ! About A Python Binder that merge 2 files with any extension by creating a new python file and compiling it to exe w

Vesper 15 Oct 12, 2022
Automatically generate GitHub activity!

Commit Bot Automatically generate GitHub activity! We've all wanted to be the developer that commits every day, but that requires a lot of work. Let's

Ricky 4 Jun 07, 2022
:bowtie: Create a dashboard with python!

Installation | Documentation | Gitter Chat | Google Group Bowtie Introduction Bowtie is a library for writing dashboards in Python. No need to know we

Jacques Kvam 753 Dec 22, 2022
Epagneul is a tool to visualize and investigate windows event logs

epagneul Epagneul is a tool to visualize and investigate windows event logs. Dep

jurelou 190 Dec 13, 2022
🌀❄️🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in python3.

Weather-Plotting 🌀 ❄️ 🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in pytho

Giannis Dravilas 21 Dec 10, 2022