用于GIS和多边形生成的Python几何原语

2024-10-01 04:54:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我正在从头开始设计一个模拟地理信息系统,使用下面对矢量数据的描述。我完全超出了我的专业领域(因此我只能为此编写很少的代码),我很想知道如何使用提供的所有信息来完成这项工作。你知道吗

点类型的对象需要具有以下属性和方法:

xCoord |点在x轴上的位置。你知道吗

y坐标|点在y轴上的位置。你知道吗

distanceTo(anotherPoint)|一种接受另一个点对象并使用勾股定理返回从该点到该点的距离的方法。你知道吗

init(xVal,yVal)|初始化需要两个float对象,并使用它们设置这个xCoord和这个yCoord。你知道吗

类型line的对象需要具有以下属性和方法:

顶点|包含一系列点对象的列表,这些点对象定义了沿直线的顶点。你知道吗

calculateLength()|通过计算直线中连续顶点之间的距离之和,返回该直线对象长度的方法。你知道吗

init(verticesList)|初始化需要一个列表,该列表应该是点对象的列表,并用它设置此顶点属性。你知道吗

多边形类型的对象需要具有以下属性和方法:

环|定义多边形周长的线对象。你知道吗

getBoundingBox()|返回表示此多边形边界坐标的4元组的方法,格式为(minX,minY,maxX,maxY)。你知道吗

初始化(aLine)|初始化需要一个line对象,用它设置这个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个顶点长,使用顶点位置闭合,生成一个多边形。你知道吗


Tags: 对象方法self列表属性initdef多边形