问题标签 [ais]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
121 浏览

gps - 是否可以通过插补来近似缺失的位置数据?

我想增加我的 AIS 或 GPS 数据的密度,以便之后进行更精确的分析。在我的研究过程中,我遇到了不同的方法,例如插值、过滤或插补。对于前两种方法,毫无疑问,它们可以用来近似两个收集的数据点之间的点。然而,在插补的情况下(例如 MICE),我还没有在文献中找到确定位置数据的方法。

这就是为什么我想问是否有人知道一篇关于这个主题的论文,以及通过插补来近似确定进一步的位置数据是否有意义。

0 投票
1 回答
562 浏览

nmea - AIS 句子顺序消息 ID 用法

这里解释了字段 4 是多句消息的顺序消息 ID。这是什么意思?字段 4 和字段 3 有什么区别?

0 投票
1 回答
112 浏览

regex - 正则表达式搜索 AIS NMEA 句子

什么是搜索和验证 AIS NMEA 句子的正则表达式?

0 投票
4 回答
101 浏览

javascript - ReactJS - JavaScript:过滤功能无法正常工作

我正在使用AISHub APIs构建一个小船可视化器。在查询 API 后,我能够获得一个包含数千个容器的 json 文件,但我只过滤我感兴趣的容器,并将它们注入到网页上的表格中。API 提供以下文件:[NAME, MMSI, LONGITUDE, LATITUDE, others...]. 我用于过滤的最重要参数是 :NAMEMMSI(虽然可能有多个容器具有相同NAME的 ,但不能有两个容器具有相同的MMSI编号,因为它是唯一的)。

我遇到的问题是该filter功能似乎没有正确的行为。实际上,它并没有针对特定的NAME和/或进行唯一过滤,MMSI并且我最终拥有多个具有相同NAME和不同的容器MMSI。还有应该出现的容器,它没有,尽管我为那个特定的容器硬编码了NAMEand MMSI。这是无法解释的,因为我将这些数字硬编码为专门过滤。

在我用于过滤搜索的代码下方:

同样在来自 API 的典型JSON响应下方:

到目前为止我做了什么:

1)我尝试了不同的filter功能组合,我尝试过滤MMSI,这应该对每艘船都是唯一的,但我最终还是得到了相同NAME和不同的船只MMSI(尽管我硬编码了MMSI......我不'不明白):

在我尝试过滤后NAME,但这也不起作用:

编辑 2

错误下方:

错误

我不知道如果filter以不同的方式组织该功能是否可以获得更好的结果。我认为这可能是组织搜索的一种非常好的方法,但不明白它不起作用的地方。感谢您指出解决此问题的正确方向。

0 投票
1 回答
74 浏览

python - 如何使用 Pandas 根据值和连续时间段将带时间戳的 CSV 数据拆分为多个 CSV

我正在尝试分析船舶 AIS 数据。我有一个约 20,000 行的 CSV,其中包含纬度/经度/速度/时间戳的列。

我已在 Jupyter 笔记本中的 pandas 数据框中加载数据。

我想要做的是根据时间戳和速度将 CSV 拆分为更小的 CSV,所以我想要一个单独的 CSV 用于船舶速度小于 2 节的每个时间段,例如,如果船舶以 10 节的速度通过6 小时,然后减速到 1 节,持续 3 小时,加速 10 节,然后再次减速到 1 节,持续 4 小时,我希望输出是两个 CSV,一个用于3小时一个周期,一个4小时周期。这样我就可以在我的地图软件中单独查看这些时间段。

我可以轻松过滤数据以显示小于 1 节的所有周期,但我无法将其分解以将连续周期输出为单独的 CSV/数据帧。 编辑

这是数据的示例

我试图更清楚地展示我想要在这里实现的目标

0 投票
1 回答
943 浏览

redirect - 如何从 MarineTraffic 刮掉船只

我尝试使用以下scrapy的蜘蛛从https://www.marinetraffic.com/en/ais/details/ships/imo:9829069/提取数据,然后将响应保存到file.html。

但我不接受预期的反应。返回的响应在file.html中

请检查调试结果。

我需要对上述代码进行哪些修改,以使返回的响应与我从浏览器获取的响应相同?

我会通知你的笔记。

0 投票
1 回答
74 浏览

ais - 如何根据 AIS 140 标准计算校验和

我想按照AIS 140标准向服务器发送消息。请解释如何计算checksum。在下面找到示例消息格式。

0 投票
1 回答
224 浏览

python - 如何使用 Python 手动实现指数平滑?

这是我在这里的第一个问题,我也是 Python 的新手(没有 CS 背景,我必须补充)!

我正在尝试实现三重指数平滑来进行预测。我的数据基于 AIS 数据,我特别关注 SOG(对地速度)值。我遵循的数学方法是三重指数平滑模型。

我仍然只遵循 Python 的基础知识,并且正在努力找出迭代部分。然而,我期望的是从 CSV(包括时间和 SOG)中读取数据并预测速度值,这样我就可以比较预测值和实际值。

是我使用 atm 的示例/测试数据表。

我尝试对方程式部分进行编码(如下所示),我知道它非常草率。但我不想一无所有地来到这里。

我知道我的问题和代码看起来都很垃圾,但我期待从这个社区学习。我以前只使用过 MatLab,这里的任何提示都会对我有帮助。蒂亚!

编辑:我意识到我的帖子并没有传达我真正想要的东西。基本上,我希望代码一个接一个地读取速度值并遍历它并打印预测值。

0 投票
0 回答
34 浏览

python - Python Socket.bind 缓冲区大小

我有几个 AIS(船舶位置数据)接收器(带有 RTL 棒的 PI)向我发送数据。我使用一些 pythonscripting 来接收数据。

因为接收器是外部的,所以我无法在源中做任何事情(Pi 提供数据)。所以我必须在pythoncode中找到解决方案。

我收到消息,每条消息都以:“!AIVDM”开头,以“\n”结尾

不幸的是,无法提前确定消息的长度。因为我使用的缓冲区大小为 100,所以有时部分字符串会分成 2 个。我尝试将这些与“溢出”变量匹配。

但是,在 2 条消息之间切换时,我会丢失以下字符串中的一些字符,从而导致消息损坏。

您是否有更好的建议将它们粘合在一起,或者确保消息不是按缓冲区大小划分,而是按分隔符划分?

我的输出:

0 投票
2 回答
87 浏览

python - 如何修复 AIS COG 值

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