利用python进行AIS轨迹绘制

利用python对AIS船只数据进行轨迹绘制

python全部代码


import pylab as plt
import pandas as pd




data = pd.read_excel('/Users/dada/Desktop/2019-04-20.xls')
print(data.index)#获取行的索引名称
print(data.columns)#获取列的索引名称

MMSIDATA=data['MMSI']
print(MMSIDATA)
SHIPSMMSI = list(set(MMSIDATA))
print(SHIPSMMSI)
lens=len(SHIPSMMSI)
print(lens)
for i in range(lens):
    mmsi=SHIPSMMSI[i]
    ONESHIP=data.iloc[:,:][data[data.T.index[3]]==mmsi]
    ONESHIP=ONESHIP.sort_values(by=["UnixTime"],axis=0)
    point_num=len(ONESHIP)
    start=0
    for j in range(point_num):
        if point_num<2:
            break
        if j+2>point_num:
            break
        time=(ONESHIP.iloc[j+1])['UnixTime']-(ONESHIP.iloc[j])['UnixTime']
        if time >600:

            #print('oneshiptrack:time')
            start=j
        else:
            track=ONESHIP[j:j+2]
            x_axis_data = track['Lon_d']
            y_axis_data = track['Lat_d']
            plt.plot(x_axis_data, y_axis_data, '-r', color='green', linewidth=1)

            #print('oneshiptrack:line')
            start=j


plt.title('AIS data',fontsize=18)
#plt.legend_.remove()
plt.legend(loc="upper right")
plt.xlabel('longitude')
plt.ylabel('latitude')
plt.show()

模块导入

import pylab as plt
import pandas as pd

数据导入

data = pd.read_excel('/Users/dada/Desktop/2019-04-20.xls')
print(data.index)#获取行的索引名称
print(data.columns)#获取列的索引名称

MMSIDATA=data['MMSI']
print(MMSIDATA)
SHIPSMMSI = list(set(MMSIDATA))
print(SHIPSMMSI)
lens=len(SHIPSMMSI)
print(lens)

绘图

for i in range(lens):
    mmsi=SHIPSMMSI[i]
    ONESHIP=data.iloc[:,:][data[data.T.index[3]]==mmsi]
    ONESHIP=ONESHIP.sort_values(by=["UnixTime"],axis=0)
    point_num=len(ONESHIP)
    start=0
    for j in range(point_num):
        if point_num<2:
            break
        if j+2>point_num:
            break
        time=(ONESHIP.iloc[j+1])['UnixTime']-(ONESHIP.iloc[j])['UnixTime']
        if time >600:

            #print('oneshiptrack:time')
            start=j
        else:
            track=ONESHIP[j:j+2]
            x_axis_data = track['Lon_d']
            y_axis_data = track['Lat_d']
            plt.plot(x_axis_data, y_axis_data, '-r', color='green', linewidth=1)

            #print('oneshiptrack:line')
            start=j


plt.title('AIS data',fontsize=18)
#plt.legend_.remove()
plt.legend(loc="upper right")
plt.xlabel('longitude')
plt.ylabel('latitude')
plt.show()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值