如何解决如何修复 AIS COG 值
我目前正在处理包含字段 MMSI、Timestamp、LAT、LON、SOG、COG 等的 AIS 数据集。这里,COG 是地面航向,支持的 COG 值范围从 0 到 360 度。但是数据集在某些行中包含负值。我想知道是否有任何公式或规则可以将其转换为 0-360。由于我正在使用 python,如果有人知道如何在 Python 中执行此操作将不胜感激,但任何公式都可以工作。为方便起见,我附上了示例数据集的屏幕截图。
解决方法
要将角度转换为 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 举报,一经查实,本站将立刻删除。