class Point:
def __init__(self, xVal, yVal):
self.xCoord = xVal
self.yCoord = yVal
def distanceTo(self, anotherPoint):
a = self.xCoord - anotherPoint.xCoord
b = self.yCoord - anotherPoint.yCoord
return math.sqrt((a * a) + (b * b))
class Line:
def __init__(self, verticesList = []):
self.vertices = verticesList
我正在使用下面的矢量数据描述从头开始设计一个模拟的地理信息系统。我非常不擅长专业领域(因此,我已经为此编写了很少的代码),并且很乐意使用所提供的所有信息来进行此操作。
类型为point的对象必须具有以下属性和方法:
xCoord |点在x轴上的位置。
yCoord |点在y轴上的位置。
distanceTo(anotherPoint)|一种使用勾股定理来接受另一个点对象并返回从该点到该点的距离的方法。
init (xVal,yVal)|初始化需要两个float对象,并使用它们来设置此xCoord和yCoord。
line类型的对象需要具有以下属性和方法:
顶点|一个包含一系列点对象的列表,这些点对象定义了沿线的顶点。
calculateLength()|通过计算线中连续顶点之间的距离之和,返回此线对象长度的方法。
初始化(顶点列表)|初始化需要一个预期为点对象的列表,并为其设置此vertices属性。
多边形类型的对象需要具有以下属性和方法:
环|定义多边形周长的线对象。
getBoundingBox()|一种返回表示此多边形边界坐标的4元组的方法,格式为(minX,minY,maxX,maxY)。
初始化(aLine)|初始化需要一个线对象,并为其设置该ring属性。
顶点位置:(0.0,0.0)(1.0,1.0)(3.0,1.5)(3.9,0.25)(2.0,-0.7)(0.0,0.0)
我还受命创建一个线对象,该对象长6个顶点,并使用顶点位置封闭,从而生成多边形。