微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复 AIS COG 值

如何解决如何修复 AIS COG 值

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

Sample AIS Dataset

解决方法

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

df["COG_0_to_360"] = df["COG"]%360

示例:

-10%360 == 350
10%360 == 10
,

这是我的最终代码:

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'])

示例:

values = [-170,-10,-390,-355,250,-440]
print(COG_0_To_360(values))

[190  350  330  5  250  280]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。