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)
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
paintable GitHub contribute table

githeart paintable github contribute table how to use: Functions key color select 1,2,3,4,5 clear c drawing mode mode on turn off e print paint matrix

Bahadır Araz 27 Nov 24, 2022
This is a Web scraping project using BeautifulSoup and Python to scrape basic information of all the Test matches played till Jan 2022.

Scraping-test-matches-data This is a Web scraping project using BeautifulSoup and Python to scrape basic information of all the Test matches played ti

Souradeep Banerjee 4 Oct 10, 2022
Package managers visualization

Software Galaxies This repository combines visualizations of major software package managers. All visualizations are available here: http://anvaka.git

Andrei Kashcha 1.4k Dec 22, 2022
Visualizations of linear algebra algorithms for people who want a deep understanding

Visualising algorithms on symmetric matrices Examples QR algorithm and LR algorithm Here, we have a GIF animation of an interactive visualisation of t

ogogmad 3 May 05, 2022
HM02: Visualizing Interesting Datasets

HM02: Visualizing Interesting Datasets This is a homework assignment for CSCI 40 class at Claremont McKenna College. Go to the project page to learn m

Qiaoling Chen 11 Oct 26, 2021
Create SVG drawings from vector geodata files (SHP, geojson, etc).

SVGIS Create SVG drawings from vector geodata files (SHP, geojson, etc). SVGIS is great for: creating small multiples, combining lots of datasets in a

Neil Freeman 78 Dec 09, 2022
The Timescale NFT Starter Kit is a step-by-step guide to get up and running with collecting, storing, analyzing and visualizing NFT data from OpenSea, using PostgreSQL and TimescaleDB.

Timescale NFT Starter Kit The Timescale NFT Starter Kit is a step-by-step guide to get up and running with collecting, storing, analyzing and visualiz

Timescale 102 Dec 24, 2022
Param: Make your Python code clearer and more reliable by declaring Parameters

Param Param is a library providing Parameters: Python attributes extended to have features such as type and range checking, dynamically generated valu

HoloViz 304 Jan 07, 2023
A tool for creating Toontown-style nametags in Panda3D

Toontown-Nametag Toontown-Nametag is a tool for creating Toontown Online/Toontown Rewritten-style nametags in Panda3D. It contains a function, createN

BoggoTV 2 Dec 23, 2021
Visualization Data Drug in thailand during 2014 to 2020

Visualization Data Drug in thailand during 2014 to 2020 Data sorce from ข้อมูลเปิดภาครัฐ สำนักงาน ป.ป.ส Inttroducing program Using tkinter module for

Narongkorn 1 Jan 05, 2022
Ana's Portfolio

Ana's Portfolio ✌️ Welcome to my Portfolio! You will find here different Projects I have worked on (from scratch) 💪 Projects 💻 1️⃣ Hangman game (Mad

Ana Katherine Cortes Sobrino 9 Mar 15, 2022
Apache Superset is a Data Visualization and Data Exploration Platform

Superset A modern, enterprise-ready business intelligence web application. Why Superset? | Supported Databases | Installation and Configuration | Rele

The Apache Software Foundation 50k Jan 06, 2023
Pyan3 - Offline call graph generator for Python 3

Pyan takes one or more Python source files, performs a (rather superficial) static analysis, and constructs a directed graph of the objects in the combined source, and how they define or use each oth

Juha Jeronen 235 Jan 02, 2023
Interactive chemical viewer for 2D structures of small molecules

👀 mols2grid mols2grid is an interactive chemical viewer for 2D structures of small molecules, based on RDKit. ➡️ Try the demo notebook on Google Cola

Cédric Bouysset 154 Dec 26, 2022
在原神中使用围栏绘图

yuanshen_draw 在原神中使用围栏绘图 文件说明 toLines.py 将一张图片转换为对应的线条集合,视频可以按帧转换。 draw.py 在原神家园里绘制一张线条图。 draw_video.py 在原神家园里绘制视频(自动按帧摆放,截图(win)并回收) cat_to_video.py

14 Oct 08, 2022
Use Perspective to create the chart for the trader’s dashboard

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

Abdulazeez Jimoh 1 Jan 22, 2022
The plottify package is makes matplotlib plots more legible

plottify The plottify package is makes matplotlib plots more legible. It's a thin wrapper around matplotlib that automatically adjusts font sizes, sca

Andy Jones 97 Nov 04, 2022
A simple agent-based model used to teach the basics of OOP in my lectures

Pydemic A simple agent-based model of a pandemic. This is used to teach basic principles of object-oriented programming to master students. It is not

Fabien Maussion 2 Jun 08, 2022
A simple project on Data Visualization for CSCI-40 course.

Simple-Data-Visualization A simple project on Data Visualization for CSCI-40 course - the instructions can be found here SAT results in New York in 20

Hugo Matousek 8 Oct 27, 2021