2014-05-13 64 views
0

我想使用Kartograph.py呈現SVG地圖。它引發了TypeError。下面是Python代碼:「Polygone」對象不支持索引

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 
+0

您可以添加「config.json」文件的內容嗎? – cchristelis

回答

0

我看了一下身材勻稱,它看起來像您使用的是過時的版本錯誤。 更新您的當前安裝:

pip install -U shapely 
+0

謝謝你解決 – user343