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)
The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining Concept-Oriented Shared Information".

The HIST framework for stock trend forecasting The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining C

Wentao Xu 111 Jan 03, 2023
A python script to visualise explain plans as a graph using graphviz

README Needs to be improved Prerequisites Need to have graphiz installed on the machine. Refer to https://graphviz.readthedocs.io/en/stable/manual.htm

Edward Mallia 1 Sep 28, 2021
Visualizing weather changes across the world using third party APIs and Python.

WEATHER FORECASTING ACROSS THE WORLD Overview Python scripts were created to visualize the weather for over 500 cities across the world at varying di

G Johnson 0 Jun 12, 2021
Automatically visualize your pandas dataframe via a single print! 📊 💡

A Python API for Intelligent Visual Discovery Lux is a Python library that facilitate fast and easy data exploration by automating the visualization a

Lux 4.3k Dec 28, 2022
Handout for the tutorial "Creating publication-quality figures with matplotlib"

Handout for the tutorial "Creating publication-quality figures with matplotlib"

JB Mouret 1.9k Jan 02, 2023
These data visualizations were created for my introductory computer science course using Python

Homework 2: Matplotlib and Data Visualization Overview These data visualizations were created for my introductory computer science course using Python

Sophia Huang 12 Oct 20, 2022
Piglet-shaders - PoC of custom shaders for Piglet

Piglet custom shader PoC This is a PoC for compiling Piglet fragment shaders usi

6 Mar 10, 2022
Comparing USD and GBP Exchange Rates

Currency Data Visualization Comparing USD and GBP Exchange Rates This is a bar graph comparing GBP and USD exchange rates. I chose blue for the UK bec

5 Oct 28, 2021
Python toolkit for defining+simulating+visualizing+analyzing attractors, dynamical systems, iterated function systems, roulette curves, and more

Attractors A small module that provides functions and classes for very efficient simulation and rendering of iterated function systems; dynamical syst

1 Aug 04, 2021
Generate visualizations of GitHub user and repository statistics using GitHub Actions.

GitHub Stats Visualization Generate visualizations of GitHub user and repository statistics using GitHub Actions. This project is currently a work-in-

Aditya Thakekar 1 Jan 11, 2022
Here I plotted data for the average test scores across schools and class sizes across school districts.

HW_02 Here I plotted data for the average test scores across schools and class sizes across school districts. Average Test Score by Race This graph re

7 Oct 27, 2021
Mattia Ficarelli 2 Mar 29, 2022
This is a small repository for me to implement my simply Data Visualisation skills through Python.

Data Visualisations This is a small repository for me to implement my simply Data Visualisation skills through Python. Steam Population Chart from 10/

9 Dec 31, 2021
A minimalistic wrapper around PyOpenGL to save development time

glpy glpy is pyOpenGl wrapper which lets you work with pyOpenGl easily.It is not meant to be a replacement for pyOpenGl but runs on top of pyOpenGl to

Abhinav 9 Apr 02, 2022
a robust room presence solution for home automation with nearly no false negatives

Argos Room Presence This project builds a room presence solution on top of Argos. Using just a cheap raspberry pi zero w (plus an attached pi camera,

Angad Singh 46 Sep 18, 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
Realtime Web Apps and Dashboards for Python and R

H2O Wave Realtime Web Apps and Dashboards for Python and R New! R Language API Build and control Wave dashboards using R! New! Easily integrate AI/ML

H2O.ai 3.4k Jan 06, 2023
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

3.4k Dec 30, 2022
GitHub Stats Visualizations : Transparent

GitHub Stats Visualizations : Transparent Generate visualizations of GitHub user and repository statistics using GitHub Actions. ⚠️ Disclaimer The pro

YuanYap 7 Apr 05, 2022
Typical: Fast, simple, & correct data-validation using Python 3 typing.

typical: Python's Typing Toolkit Introduction Typical is a library devoted to runtime analysis, inference, validation, and enforcement of Python types

Sean 171 Jan 02, 2023