# PyAIS-Basics **Repository Path**: joy_2_0/py-ais-basics ## Basic Information - **Project Name**: PyAIS-Basics - **Description**: PyAIS-Basics 是一个面向初学者的 AIS(自动识别系统)数据处理示例项目,涵盖 AIS 原始字段解析、动态航迹模拟、轨迹去噪、区域网格化,以及基于船长的标准船当量换算等核心流程。 项目采用轻量化设计与高可读性代码结构,适合作为教学实验、个人学习项目,亦可作为更复杂海事交通监测或态势分析系统的前置组件。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-11-22 - **Last Updated**: 2025-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: AIS数据, 轨迹模拟, 海事交通监测 ## README # PyAIS-Basics *A lightweight introductory project for AIS data parsing, trajectory simulation, meshing, denoising, and vessel equivalence computation.* PyAIS-Basics 是一个面向初学者的 AIS(自动识别系统)数据处理示例项目,涵盖 AIS 原始字段解析、动态航迹模拟、轨迹去噪、区域网格化,以及基于船长的标准船当量换算等核心流程。 项目采用轻量化设计与高可读性代码结构,适合作为教学实验、个人学习项目,亦可作为更复杂海事交通监测或态势分析系统的前置组件。 --- ## Project Structure / 项目结构 ```text PyAIS-Basics/ │ ├── ais_parser.py │ AIS 字段解析、清洗与结构化示例 │ ├── trajectory_simulator.py │ 船舶动态航迹模拟(含插值、绘图、GIF 生成) │ ├── trajectory_denoise_dbscan.py │ 基于 DBSCAN 的 AIS 轨迹去噪与样条插值轨迹重构 │ ├── grid_mapper.py │ 经纬度映射至 1° × 1° 区域网格并计算进入 / 离开时间 │ ├── vessel_equivalent.py │ 基于船长划分标准船当量系数的换算工具 │ └── animation.gif 航迹模拟结果示例动画 ``` ## Module Descriptions / 模块说明 ### 1. **ais_parser.py** 提供 AIS 原始字段的清洗与结构化方法,包括字符串字段标准化、数值字段类型转换与基础错误处理。 该模块可扩展至 NMEA 解码流程或 JSON 格式 AIS 数据的批量解析,是 AIS 数据工程的基础步骤。 --- ### 2. **trajectory_simulator.py** 基于线性或插值方式生成模拟航迹(经纬度随时间连续变化),并绘制航迹曲线与动态 GIF。 适用于理解船舶轨迹生成逻辑、验证算法流程或为其他模块提供示例输入数据。 --- ### 3. **trajectory_denoise_dbscan.py** 利用密度聚类算法(DBSCAN)对 AIS 轨迹点进行去噪,剔除异常点后使用样条插值(Spline)重构连续轨迹。 脚本同时输出四幅对比图,包括:原始轨迹、聚类结果、重构轨迹与效果总览。 适用于轨迹清洗、时空异常检测、航迹拟合等海事数据分析任务。 --- ### 4. **grid_mapper.py** 将 AIS 点位按经纬度分配至 `Region_x_y` 网格区域,并计算船舶进入与离开该区域的时间。 适用于海域分区统计、热力图构建、区域交通流量分析等任务,便于扩展至更细的栅格分析。 --- ### 5. **vessel_equivalent.py** 依据船舶长度区间(如 ≤100m、100–150m 等)计算标准船当量(Vessel Equivalent Number)。 可用于航运交通量估计、港口容量计算、通航密度分析等应用场景,是海事交通模型中的常见转换步骤。 --- ## Usage / 使用方式 项目基于 Python,依赖如下库: - `pandas` - `numpy` - `matplotlib` - `scikit-learn`(用于 DBSCAN) 直接运行各脚本即可查看示例输出。 部分脚本会自动生成图像、GIF 和控制台打印结果。 --- ## License Apache 2.0 License. --- ## Recommendation PyAIS-Basics 适合作为海事交通监测、航运可视化、AIS 数据工程课程或相关研究的入门示例项目, 亦可作为后续深度模型训练、轨迹聚类、交通态势分析等工作的基础模块。