千家信息网

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

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章将为大家详细讲解有关TE二次开发中如何实现风向风力符号标绘,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在做相关气象的系统开发时,会碰到相关风向标的符号标绘
千家信息网最后更新 2025年12月03日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安全错误 数据库的锁怎样保障安全 网络安全的隐私指什么意思 公司管理oa软件开发 网络安全专职工程师 服务器开作弊 计算机网络安全课程内容总结 小程序显示服务器错误无法抢购 厦门第二届网络安全周 电脑能否同步gps数据库 陕西等离子套料软件开发商 医务人员面临网络安全问题 为什么无法连接更新服务器 在线英语词典数据库设计 数学对软件开发的重要性 数据库连接的服务器名称从哪里找 mysql数据库路径 怎么限制服务器流量 伟程网络技术有限公司 根据就备份修复数据库 ddr3服务器能用台式电脑吗 软件开发运算溢出 网络安全的隐私指什么意思 从事软件开发能做到多少岁 发票服务器管理系统的网址 天津免备案服务器商家云主机 福鼎市爱草媒网络技术有限公司 nodejs静态服务器 安卓手机软件开发登录界面 思科网络技术习题 数据库增删改查语句基础实例 oracle数据库怎么改字段名
0