선 스트링을 나타내는 클래스를 구현하고 싶습니다. 나는 "Point"라는 클래스를 가지고 있는데, 은 2 개의 좌표가있는 점을 나타내며이 점을 내부 정점을 저장하는 데 사용하고자합니다. 선 스트링입니다. 나는이 코드 조각 해낸 :포인트 클래스를 사용하여 선 스트링을 표현하는 방법
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
class LineString(Point):
def __init__(self, point):
self.point = point
하지만 내가 좋아하는 선 스트링 지원 선 스트링 에 여러 지점을 표시하는 방법을 모른다 :
lin = LineString((1, 1), (0, 2), (3,6))
모르겠다을 선 스트링에 나타날 수있는 점 수. 새로운 코드 :
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
class LineString(Point):
def __init(self, *points):
#~ self.points=points
self.points = []
for point in points:
if not isinstance(point, Point):
point = Point(*point)
self.points.append(point)
def length(self):
L = len(self.points)
return L
if __name__ == '__main__':
# Tests for LineString
# ===================================
lin1 = LineString((1, 1), (0, 2))
assert len(lin1.points) == sqrt(2.0)
감사합니다. 그러나 예를 들어 선 스트링의 길이를 어떻게 추출 할 수 있습니까? –
@ f.ashouri :'len (self.points)'; 그것은 단지리스트 객체 일 뿐이다. –
나를 위해 그것은 오류를 throw합니다 : LineString '객체의 속성이 없습니다'points ' –