如何确定AIS COG值

2024-06-01 00:15:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 数据示例屏幕规则timestamp公式lonlat
2条回答

这是我的最终代码:

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]

要将角度转换为介于0和360之间,请找到除以360的模数:

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

示例:

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

相关问题 更多 >