0

我正在尝试使用 Kartograph.py 渲染 SVG 地图。它向我抛出了 TypeError。这是python代码:

import kartograph
from kartograph import Kartograph
import sys
from kartograph.options import read_map_config
css = open("stylesheet.css").read()
K = Kartograph()
cfg = read_map_config(open("config.json"))
K.generate(cfg, outfile='dd.svg', format='svg', stylesheet=css)

这是它抛出的错误

Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    K.generate(cfg, outfile='dd.svg', format='svg', stylesheet=css)
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\kartograph.py", line 46, in generate
    _map = Map(opts, self.layerCache, format=format)
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\map.py", line 61, in __init__
    layer.get_features()
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\maplayer.py", line 81, in get_features
    charset=layer.options['charset']
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\layersource\shplayer.py", line 121, in get_features
    geom = shape2geometry(shp, ignore_holes=ignore_holes, min_area=min_area, bbox=bbox, proj=self.proj)
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\layersource\shplayer.py", line 153, in shape2geometry
    geom = shape2polygon(shp, ignore_holes=ignore_holes, min_area=min_area, proj=proj)
  File "C:\Python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\layersource\shplayer.py", line 217, in shape2polygon
    poly = MultiPolygon(polygons)
  File "C:\Python27\lib\site-packages\shapely\geometry\multipolygon.py", line 74, in __init__
    self._geom, self._ndim = geos_multipolygon_from_polygons(polygons)
  File "C:\Python27\lib\site-packages\shapely\geometry\multipolygon.py", line 30, in geos_multipolygon_from_polygons
    N = len(ob[0][0][0])
TypeError: 'Polygon' object does not support indexing
4

1 回答 1

0

我看了一下身材匀称,好像您使用的是过时的版本。更新您当前的安装:

pip install -U shapely
于 2014-05-13T14:13:37.937 回答