%2.DP压缩后的轨迹图
clear;close all;clc; % 清空工作区、关闭所有窗体、清空命令行
Fi = dir('E:\WHUT\matlab数据分析\ais\*.csv');
CF = []; % 设置一个空表,为总数据表
for i = 1:1:length(Fi)
FN = strcat(Fi(i).folder,'\',Fi(i).name); % 每条船舶AIS数据的完全路径
name = strsplit(Fi(i).name,'.'); % 根据文件名分离出MMSI
na = str2num(name{1}); % 获取船舶MMSI
AIS = readtable(FN); % 根据完全路径读取AIS数据表
t1 = AIS.time; % 取出时间长字符串段
t= datetime(t1,'InputFormat','yyyy,MM,dd,HH,mm,ss'); %将时间string转为datetime
[x,y] =GaussProjCal(AIS.lon,AIS.lat);
%
[~,idcf] = dp([x,y],50);
s = repmat(na,[length(idcf) 1]); % 根据AIS轨迹个重复MMSI
%
cf = table(s,t(idcf),AIS.lon(idcf),AIS.lat(idcf)); % 构建一个当前船舶的AIS表
cf.Properties.VariableNames = {'MMSI','Time','Lon','Lat'}; % 创建表的列名
geoplot(cf.Lat, cf.Lon,"LineWidth",0.2,"Marker",".","Color","k"); % 绘制当前船舶的轨迹点连线
% geoscatter(cf.Lat, cf.Lon,'filled'); % 绘制当前船舶的轨迹点连线
hold on % 保留窗体
CF = ([CF;cf]); % 将当前船舶的AIS表格加入总数据表
end
title('DP轨迹压缩图'); % 创建图标题
geobasemap topographic; % 加载地貌底图
%
writetable(CF,'E:\WHUT\matlab数据分析\Demo_cf\data\AIS_D50.csv'); % 将总数据表保存
基于AIS数据的船舶轨迹聚类方法
需积分: 5 181 浏览量
2023-07-03
22:34:35
上传
评论 11
收藏 9KB RAR 举报
我曾溪底杀指玄
- 粉丝: 52
- 资源: 2
最新资源
- Object-C(通常简写为ObjC或OC)是一种扩充C的面向对象编程语言,它在许多方面都有着显著的特点和优势 以下是对Obje
- Fortran是一种历史悠久的编程语言,自1954年诞生以来,在科学和工程计算领域发挥了巨大的作用 以下是对Fortran的50
- MATLAB是一款功能强大的数学计算软件,广泛应用于科学计算、数据分析、图像处理、控制系统等领域 以下是对MATLAB的500字
- 基于OpenCV和tinker的指纹识别系统使用的硬件为AS608源码.zip
- 20个城市公交站点及线路数据shp矢量格式北京成都大连福州广州杭州合肥济南、南京青岛
- Android Media-使用MediaPlayer播放SD卡中的音频
- Swift,作为苹果公司于2014年WWDC(苹果开发者大会)上发布的一种全新的编程语言,自诞生以来就受到了广泛的关注和喜爱 以
- 全国30省份各省数字乡村发展水平得分排名(2011-2019年)
- 当您提到“oython”时,我猜测您可能是指“Python”这个流行的编程语言 以下是对Python的500字资源介绍: Py
- 面板熵值法Stata程序、熵权法Stata程序【代码+案例】 便宜啦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈