Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 kartograph未知形状类型(25)_Python 2.7_Svg_Shapefile_Kartograph - Fatal编程技术网

Python 2.7 kartograph未知形状类型(25)

Python 2.7 kartograph未知形状类型(25),python-2.7,svg,shapefile,kartograph,Python 2.7,Svg,Shapefile,Kartograph,我正在尝试使用kartograph py生成svg地图,如下所示: from kartograph import Kartograph K = Kartograph() config ={"layers": {"mylayer": {"src": "42MEE250GC_SIR.shp"}} } K.generate(config, outfile='mymap.svg') 我得到一个错误: Traceback (most recent call last): File "<stdi

我正在尝试使用kartograph py生成svg地图,如下所示:

from kartograph import Kartograph
K = Kartograph()
config ={"layers": {"mylayer": {"src": "42MEE250GC_SIR.shp"}} }
K.generate(config, outfile='mymap.svg')
我得到一个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\k
artograph.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\m
ap.py", line 48, in __init__
    me.proj = me._init_projection()
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py", line 88, in _init_projection
    map_center = self.__get_map_center()
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py", line 140, in __get_map_center
    features = self._get_bounding_geometry()
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py", line 257, in _get_bounding_geometry
    charset=layer.options['charset']
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\l
ayersource\shplayer.py", line 121, in get_features
    geom = shape2geometry(shp, ignore_holes=ignore_holes, min_area=min_area, bbo
x=bbox, proj=self.proj)
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\l
ayersource\shplayer.py", line 159, in shape2geometry
    raise KartographError('unknown shape type (%d)' % shp.shapeType)
kartograph.errors.KartographError: ←[0;31;40mKartograph-Error:←[0m unknown shape
 type (25)
有人能帮我吗

我在下面尝试了这个,但我得到了另一个错误

if shp.shapeType == 25:
  return None
错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\k
artograph.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\m
ap.py", line 50, in __init__
    me.bounds_poly = me._init_bounds()
  File "c:\python27\lib\site-packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py", line 205, in _init_bounds
    raise KartographError('no features found for calculating the map bounds')
kartograph.errors.KartographError: ←[0;31;40mKartograph-Error:←[0m no features f
ound for calculating the map bounds
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“c:\python27\lib\site packages\kartograph.py-0.6.8-py2.7.egg\kartograph\k
artograph.py“,第46行,生成
_map=map(opts,self.layerCache,format=format)
文件“c:\python27\lib\site packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py“,第50行,初始__
me.bounds\u poly=me.\u init\u bounds()
文件“c:\python27\lib\site packages\kartograph.py-0.6.8-py2.7.egg\kartograph\m
ap.py“,第205行,在初始边界内
引发KartographError('未找到用于计算贴图边界的功能')
kartograph.errors.kartograph错误:←[0;31;40卡托图错误:←[0m无特征f
计算映射边界的方法

我找到的解决方案是更改源代码,添加以下内容:

if shp.shapeType == 25:
  geom = points2line(shp)

我确信这不是最好的解决方案,但它解决了我的问题

mymap.svg不是生成的我错了,我的意思是输入文件是什么?输入文件是从这里获得的巴西州地图:
if shp.shapeType == 25:
  geom = points2line(shp)