在获得了一个任意折线网中的线段和节点以后,下面需要做的事情是将这些线段和节点组织为一个拓扑网络。拓扑网络是由Node和Edge组成的一个结构,在网络中的每一个Node都知道自己与哪些Edge连通,而每条Edge也知道自己的首尾点是哪一个Node,为了实现这个网络,我们需要通过某种数据结构来建构。
网络的节点和边的数据结构在许多GIS书籍中都写的非常清楚,数据结构的复杂度与程序执行的效率有一定关系,如果复杂度越低,程序执行的运算就越多,反之就越少,在计算机存储资源宝贵的时候,以时间换取空间是值得的,但现在,空间已经不成问题了,我们完全可以做复杂度高的数据结构,以降低运算事件。
//边的数据结构
class udtEdge
{
int _edgeID;//边的ID号
public int EdgeID
{
get { return _edgeID; }
set { _edgeID = value; }
}
IPolyline _EdgePolyline;//边所在的线段
public IPolyline EdgePolyline
{
get { return _EdgePolyline; }
set { _EdgePolyline = value; }
}
int _startPt;
public int StartPt//边的起点
{
get { return _startPt; }
set { _startPt = value; }
}
int _endPt;
&nb