DeepEarth中的几何图形基础框架模型

简介:
 众所周知,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; }
}
 
  GeometryLayer实现了ILayer接口和一个GeometryBase的泛型集合接口,其内部实现了对地图的一些控制和添加到该图层上的一些图形图像的控制得功能特性。
 
  DeepEarth中的几何图形基础框架模型大致就如上介绍,在后续文章里我将对这些几何图像基础框架模型的应用和扩展进行详细介绍。本篇以Polygon为例,通过一个简单的实例介绍如何使用Polygon实现多边形的绘制并呈现在地图上。
 
//创建一个地图图层对象,将当前地图对象传递给构造方法
GeometryLayer transformLayer = new GeometryLayer(map) { UpdateMode =  GeometryLayer.UpdateModes.TransformUpdate };
//将地图图层添加到地图上

map.Layers.Add(transformLayer);

//绘制一个多边形

DeepEarth.Geometry.Polygon polygon = new  DeepEarth.Geometry.Polygon();
//设置了三个顶点坐标,也就是绘制一个三角形

polygon.Points = new ObservableCollection<Point> { new Point(106.584829.5773), new Point(106.584829.5779), new Point(106.585829.5773 ) };
polygon.FillColor 
=
 Colors.Red;
//将多边形添加到地图图成上

transformLayer.Add(polygon);
 
 
  代码中注释写得非常详细,这里就不作详细说明了,其运行效果如下图:
        
 




本文转自 beniao 51CTO博客,原文链接:http://blog.51cto.com/beniao/281382,如需转载请自行联系原作者

目录
打赏
0
0
0
0
235
分享
相关文章
苏黎世理工最新!maplab2.0:模块化的多模态建图定位框架
将多传感器模态和深度学习集成到同时定位和mapping(SLAM)系统中是当前研究的重要领域。多模态是在具有挑战性的环境中实现鲁棒性和具有不同传感器设置的异构多机器人系统的互操作性的一块垫脚石。借助maplab 2.0,这个多功能的开源平台,可帮助开发、测试新模块和功能,并将其集成到一个成熟的SLAM系统中。
苏黎世理工最新!maplab2.0:模块化的多模态建图定位框架
新扩散模型OmniGen一统图像生成,架构还高度简化、易用
近期,一篇题为“OmniGen: Unified Image Generation”的论文介绍了一种新型扩散模型OmniGen,旨在统一图像生成任务。OmniGen架构简洁,无需额外模块即可处理多种任务,如文本到图像生成、图像编辑等。该模型通过修正流优化,展现出与现有模型相当或更优的性能,尤其在图像编辑和视觉条件生成方面表现突出。OmniGen仅含3.8亿参数,却能有效处理复杂任务,简化工作流程。尽管如此,OmniGen仍存在对文本提示敏感、文本渲染能力有限等问题,未来研究将继续优化其架构与功能。
133 16
|
7月前
|
KDD 2024:Emory提出最新PolygonGNN框架:可捕捉通用多边形内外的空间关系
【9月更文挑战第16天】近年来,多边形表示学习在形状编码、建筑模式分类和地理问答等应用中至关重要。然而,现有研究多聚焦于单个多边形,忽视了多边形间复杂关系。为解决此问题,Emory大学团队提出了PolygonGNN框架,通过异质可见性图整合内外关系,并引入异质生成树采样提升计算效率。该框架设计了旋转平移不变的几何表示,适用于多种场景。实验结果显示,PolygonGNN在多个任务上表现优异,但在处理大规模场景时仍面临计算复杂度挑战,并未充分考虑拓扑结构和语义信息的影响。
84 2
ThreeJs 基础学习
ThreeJs 基础学习
88 0
基于计算机图形学的三维程序设计优化策略与实践
基于计算机图形学的三维程序设计优化策略与实践
84 1
软件体系结构 - 架构风格(5)层次结构架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(5)层次结构架构风格
789 0
|
11月前
halcon基础系列之几何工具相关算子
halcon基础系列之几何工具相关算子
254 0
|
11月前
自下而上的金字塔搭建方式
自下而上的金字塔搭建方式
次世代建模纹理贴图怎么做?
高端的引擎技术、材质贴图技术、渲染技术,使得次世代模型有着比肩电影画面的视觉效果,且是实时渲染。而且次世代模型有着面数高、贴图精度高、运用法线贴图描绘物体表面凹凸变化、高光贴图表现物体材质反光、实时光影等特点。
173 2
我为什么选择多边形架构做为工程的基础思想
这里以开源项目alinesno-cloud微服务架构的建设拆分再到整合成产品型结构的进行阐述,从原来的几十个工程基线(近百个服务模块),再到后来的20个左右产品模块的组合,进行服务能力的输出。过程工程由微服务、六边型、再到多边型工程结构的实践经验,这里偏向于工程结构以适应平台产品化发展的变更。