Welcome

首页 / 软件开发 / .NET编程技术 / DeepEarth中的几何图形基础框架模型

DeepEarth中的几何图形基础框架模型2011-07-24 博客园 Beniao众所周知,DeepEarth是一套基于Silverlight的DeepZoom技术实现的开源地图开发组件,其内部提供 了常用的地图开发工具控件和通用的基础模型,如线条、多边形、不规则图形、图片等一系列图形图像的 基础架构模型,这为使用DeepEarth进行地图二次开发提供了非常方便的基础架构接口。本篇将介绍在 DeepEarth中的几何图形架构设计和所提供的基础架构模型框架。

在DeepEarth的几何图形架构中提供了最基础的几何图形应用开发模型,包括几何图层、点、线、多边 形、不规则图形等,在实际的开发过程中可以通过这些基础模型扩展出自己想要的任何图形图像效果,如 下类图结构:

GeometryBase类提供了最基本的Silverlight控件所具备的相关特性以及几何图形所需的必备特性。

PathBase和PointBase继承于GeometryBase,分别实现了在地图上呈现不同的不规则点和规则的点的特 性。

Polygon和LineString继承于PathBase,分别实现了在地图上呈现不同的多边形图形和线条图像的特性 。

以上几个类共同组成了DeepEarth的几何图形基础框架模型,实现了不同类型图形图形的绘制等功能特 性。如果能够绘制出图形图像还是不够的,我们最终的目标是需要将绘制的不同的图形图像呈现在地图的 界面上,达到能够通过肉眼看到所呈现的效果图,那具体该如何实现能够呈现到地图界面上呢?

为解决上面这种呈现问题,在DeepEarth的几何图形基础框架模型中提供了一个几何图层类 (GeometryLayer)专门来实现这个功能。因为DeepEarth的Map控件要求了其Layers必须是ILayer接口类 型的扩展图层对象,因此GeometryLayer是一个实现了 ILayer接口的图层,可以直接用来作为子元素添加 到DeepEarth的Map控件中呈现在界面的。

public ObservableCollection<ILayer> Layers
{
get { return _Layers; }
}