千家信息网

TE二次开发中如何实现风向风力符号标绘

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章将为大家详细讲解有关TE二次开发中如何实现风向风力符号标绘,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在做相关气象的系统开发时,会碰到相关风向标的符号标绘
千家信息网最后更新 2024年11月11日TE二次开发中如何实现风向风力符号标绘

这篇文章将为大家详细讲解有关TE二次开发中如何实现风向风力符号标绘,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在做相关气象的系统开发时,会碰到相关风向标的符号标绘要求,在地图的指定位置标绘符号,形象的描述风向和风力。

可以采用做图标的方式,要把各种风力的图片都做全,还要根据风向,旋转图片的角度。

另一种是通过在地图上画线,把线拼接在一起,达到风向标的效果,下边说一下这种实现的方式。

一般来说,风吹的方向,就是风向标的尾部朝向,风力用基础线上的几道杠表示,不够一个等级,用半长的线,在观看范围比较大的情况下,线的长度还是要画的比较长。

具体的实现代码如下(C#)版:

//_pos1为风向标的位置,_level为风力

void DrawIcon(IPosition70 _pos1, double _level)

{

IPosition70 _aiPos;

ITerrainPolyline70 _cPolyline;

double[] _arr;

ILineString _cRing;

//根据等级计算出几道风力杠

double _cValue = Math.Ceiling(_level);

for (double ile = 0; ile < _cValue; ile++)

{

//先按照风向移动距离

_aiPos = _pos1.Move(8000 * ile, _pos1.Yaw, 0);

if ((_level - 1 - ile) >= 0)

{

//够一级风力的情况下

//以风向的角度旋转120度,画出来风力的方向

var _aiPos1 = _aiPos.Move(20000, _pos1.Yaw + 120, 0);

_arr = new double[] { _aiPos.X, _aiPos.Y, 1000, _aiPos1.X, _aiPos1.Y, 1000 };

//两点拼出来一条直线

_cRing = _sgworld.Creator.GeometryCreator.CreateLineStringGeometry(_arr);

_cPolyline = _sgworld.Creator.CreatePolyline(_cRing, 0xff0000ff, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, string.Empty, "100k500");

}

else

{

//不够一级风力的情况下

//以风向的角度旋转120度,画出来半个风力的方向

var _aiPos1 = _aiPos.Move(20000 * 0.5, _pos1.Yaw + 120, 0);

_arr = new double[] { _aiPos.X, _aiPos.Y, 1000, _aiPos1.X, _aiPos1.Y, 1000 };

_cRing = _sgworld.Creator.GeometryCreator.CreateLineStringGeometry(_arr);

_cPolyline = _sgworld.Creator.CreatePolyline(_cRing, 0xff0000ff, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, string.Empty, "100k500");

}

}

//移动距离画出来风向标的横柄线

_aiPos = _pos1.Move(40000, _pos1.Yaw, 0);

_arr = new double[] { _pos1.X, _pos1.Y, 1000, _aiPos.X, _aiPos.Y, 1000 };

_cRing = _sgworld.Creator.GeometryCreator.CreateLineStringGeometry(_arr);

_cPolyline = _sgworld.Creator.CreatePolyline(_cRing, 0xff0000ff, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, string.Empty, "100k500");

}

以下是标绘的效果图:

关于"TE二次开发中如何实现风向风力符号标绘"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

风向 风力 风向标 符号 开发 情况 方向 篇文章 角度 不够 位置 图片 地图 效果 方式 更多 等级 移动 不错 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 html5数据库读写 网络安全法律体系分几步 软件开发团队发展前景 河南人工智能软件开发费用 上蔡网络安全宣传周 操作系统服务器数据库 网络安全审计人才 软件开发项目监理会议纪要 公安机关 网络安全观 网络安全宣传周电子大屏 人工智能如何设计服务器 潍坊苹果软件开发哪家做的好 为什么数据库表字段要用英文 网络安全相关理论知识 csgo杀队友服务器封禁怎么办 无锡软件开发哪个公司靠谱 生产服务器上传文件成功却找不到 软件开发领域简称 威海节能软件开发费用 数据库技术在医疗领域的作用 无线网络技术结果分析 服务器给车充电要不要钱 微博互联网科技(中国)有限公司 部署网络安全管理工作 共建网络安全共创网络文明 台州专业财务软件开发教程 淘宝怎么连接服务器 天津联想服务器虚拟化 侦查打击软件开发 我的世界服务器白名单是什么意思
0