2016-10-11 2 views
0

방금 ​​설치 한 매끈한 기본 물건은 괜찮아 보입니다. this 튜토리얼의 예를 따라 라이브러리에 대한 느낌을 갖기 시작했습니다. 내가 g.buffer(1.0, cap_style='square')에 전화를 걸 때Python 매끈한 예외에 대해 혼란스러워 ctypes.ArgumentError

>>> from shapely.wkt import loads 
>>> g = loads('POINT (0.0 0.0)') 
>>> g.buffer(1.0).area  # 16-gon approx of a unit radius circle 
3.1365484905459389 
>>> g.buffer(1.0, 128).area # 128-gon approximation 
3.1415138011443009 
>>> g.buffer(1.0, 3).area  # triangle approximation 
3.0 
>>> list(g.buffer(1.0, cap_style='square').exterior.coords) 
[(1.0, 1.0), (1.0, -1.0), (-1.0, -1.0), (-1.0, 1.0), (1.0, 1.0)] 
>>> g.buffer(1.0, cap_style='square').area 
4.0 

, 나는 다음과 같은 오류가 발생합니다 : :

는 특히

buf = list(shp.buffer(1.0, cap_style='square')) 
File "/usr/lib64/python2.7/site-packages/shapely/geometry/base.py", line 538, in buffer 
mitre_limit)) 
File "/usr/lib64/python2.7/site-packages/shapely/topology.py", line 78, in __call__ 
    return self.fn(this._geom, *args) 
ctypes.ArgumentError: argument 5: <type 'exceptions.TypeError'>: wrong type 

는 문서 here를 읽고 난이 예는 매끈한의 주석에 있음을 보았다 /geometry/base.py 모듈. 그러나 cap_style 인수의 기본값은 string이 아닌 int 유형()입니다. 그게 무슨 뜻인지 확실하지 않습니다.

어떤 일이 벌어지고 있는지 알 수있는 사람이 있습니까?

답변

0

당신이 직접 질문에 대답 한 것 같습니다 :) 그것은 실제로 당신이 언급 한 문제입니다. cap_style 키 인수는 정수 여야합니다. shapely documentation에 따르면 다음 값만 사용할 수 있습니다.

The styles of caps are specified by integer values: 1 (round), 2 (flat), 3 (square). These values are also enumerated by the object shapely.geometry.CAP_STYLE.