问题标签 [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.
gps - 是否可以通过插补来近似缺失的位置数据?
我想增加我的 AIS 或 GPS 数据的密度,以便之后进行更精确的分析。在我的研究过程中,我遇到了不同的方法,例如插值、过滤或插补。对于前两种方法,毫无疑问,它们可以用来近似两个收集的数据点之间的点。然而,在插补的情况下(例如 MICE),我还没有在文献中找到确定位置数据的方法。
这就是为什么我想问是否有人知道一篇关于这个主题的论文,以及通过插补来近似确定进一步的位置数据是否有意义。
nmea - AIS 句子顺序消息 ID 用法
这里解释了字段 4 是多句消息的顺序消息 ID。这是什么意思?字段 4 和字段 3 有什么区别?
regex - 正则表达式搜索 AIS NMEA 句子
什么是搜索和验证 AIS NMEA 句子的正则表达式?
javascript - ReactJS - JavaScript:过滤功能无法正常工作
我正在使用AISHub APIs构建一个小船可视化器。在查询 API 后,我能够获得一个包含数千个容器的 json 文件,但我只过滤我感兴趣的容器,并将它们注入到网页上的表格中。API 提供以下文件:[NAME, MMSI, LONGITUDE, LATITUDE, others...]
. 我用于过滤的最重要参数是 :NAME
和MMSI
(虽然可能有多个容器具有相同NAME
的 ,但不能有两个容器具有相同的MMSI
编号,因为它是唯一的)。
我遇到的问题是该filter
功能似乎没有正确的行为。实际上,它并没有针对特定的NAME
和/或进行唯一过滤,MMSI
并且我最终拥有多个具有相同NAME
和不同的容器MMSI
。还有应该出现的容器,它没有,尽管我为那个特定的容器硬编码了NAME
and MMSI
。这是无法解释的,因为我将这些数字硬编码为专门过滤。
在我用于过滤搜索的代码下方:
同样在来自 API 的典型JSON
响应下方:
到目前为止我做了什么:
1)我尝试了不同的filter
功能组合,我尝试过滤MMSI
,这应该对每艘船都是唯一的,但我最终还是得到了相同NAME
和不同的船只MMSI
(尽管我硬编码了MMSI
......我不'不明白):
在我尝试过滤后NAME
,但这也不起作用:
编辑 2
错误下方:
我不知道如果filter
以不同的方式组织该功能是否可以获得更好的结果。我认为这可能是组织搜索的一种非常好的方法,但不明白它不起作用的地方。感谢您指出解决此问题的正确方向。
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/数据帧。 编辑
redirect - 如何从 MarineTraffic 刮掉船只
我尝试使用以下scrapy的蜘蛛从https://www.marinetraffic.com/en/ais/details/ships/imo:9829069/提取数据,然后将响应保存到file.html。
但我不接受预期的反应。返回的响应在file.html中
请检查调试结果。
我需要对上述代码进行哪些修改,以使返回的响应与我从浏览器获取的响应相同?
我会通知你的笔记。
ais - 如何根据 AIS 140 标准计算校验和
我想按照AIS 140
标准向服务器发送消息。请解释如何计算checksum
。在下面找到示例消息格式。
python - 如何使用 Python 手动实现指数平滑?
这是我在这里的第一个问题,我也是 Python 的新手(没有 CS 背景,我必须补充)!
我正在尝试实现三重指数平滑来进行预测。我的数据基于 AIS 数据,我特别关注 SOG(对地速度)值。我遵循的数学方法是三重指数平滑模型。
我仍然只遵循 Python 的基础知识,并且正在努力找出迭代部分。然而,我期望的是从 CSV(包括时间和 SOG)中读取数据并预测速度值,这样我就可以比较预测值和实际值。
这是我使用 atm 的示例/测试数据表。
我尝试对方程式部分进行编码(如下所示),我知道它非常草率。但我不想一无所有地来到这里。
我知道我的问题和代码看起来都很垃圾,但我期待从这个社区学习。我以前只使用过 MatLab,这里的任何提示都会对我有帮助。蒂亚!
编辑:我意识到我的帖子并没有传达我真正想要的东西。基本上,我希望代码一个接一个地读取速度值并遍历它并打印预测值。
python - Python Socket.bind 缓冲区大小
我有几个 AIS(船舶位置数据)接收器(带有 RTL 棒的 PI)向我发送数据。我使用一些 pythonscripting 来接收数据。
因为接收器是外部的,所以我无法在源中做任何事情(Pi 提供数据)。所以我必须在pythoncode中找到解决方案。
我收到消息,每条消息都以:“!AIVDM”开头,以“\n”结尾
不幸的是,无法提前确定消息的长度。因为我使用的缓冲区大小为 100,所以有时部分字符串会分成 2 个。我尝试将这些与“溢出”变量匹配。
但是,在 2 条消息之间切换时,我会丢失以下字符串中的一些字符,从而导致消息损坏。
您是否有更好的建议将它们粘合在一起,或者确保消息不是按缓冲区大小划分,而是按分隔符划分?
我的输出: