首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复AIS COG值

如何修复AIS COG值
EN

Stack Overflow用户
提问于 2021-07-09 23:03:44
回答 2查看 61关注 0票数 1

我目前正在使用包含字段MMSI、Timestamp、LAT、LON、SOG、COG等的AIS数据集。在这里,COG是地面上的航向,支持的COG值范围从0度到360度。但是,数据集在某些行中包含负值。我想知道有没有什么公式或规则可以把它转换成0-360。由于我正在使用python,如果有人知道如何在Python中做到这一点,我将不胜感激,但任何公式都可以工作。为了方便起见,我附上了一个样本数据集的屏幕截图。

EN

回答 2

Stack Overflow用户

发布于 2021-07-09 23:10:28

要将角度转换为0到360之间的值,请求出除以360的模数:

代码语言:javascript
复制
df["COG_0_to_360"] = df["COG"]%360

示例:

代码语言:javascript
复制
-10%360 == 350
10%360 == 10
票数 1
EN

Stack Overflow用户

发布于 2021-07-10 00:44:54

下面是我的最终代码:

代码语言:javascript
复制
def COG_0_To_360(cog):
    cog = np.fmod(cog, 360.0)
    cog = np.where(cog < 0.0, cog + 360.0, cog)
    return np.abs(cog)

df['COG'] = COG_0_To_360(df['COG'])

示例:

代码语言:javascript
复制
values = [-170, -10, -390, -355, 250, -440]
print(COG_0_To_360(values))

[190  350  330  5  250  280]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68318934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档