UNPKG

@idm-plugin/vessel

Version:

idm plugin for vessel

219 lines (218 loc) 6.02 kB
/** * AIS记录 */ export interface AISRecord { mmsi?: number; name?: string; imo?: number; callSign?: string; lat?: number; lng?: number; length?: number; width?: number; draught?: number; sog?: number; cog?: number; hdg?: number; rot?: number; eta?: string; destination?: string; positionTime?: number; status?: number; labelCn?: string; labelEn?: string; method?: string; vendor?: string; deleted?: boolean; utc?: string; vesselType?: string; flag?: string; clasz?: string; build?: string; dwt?: number; grt?: number; net?: number; meteo?: string; type?: string; } export interface VesselRecord { mmsi?: number; name?: string; imo?: number; callSign?: string; length?: number; breadth?: number; draught?: number; deadweight?: number; vendor?: string; score?: number; type?: string; } export interface AuthToken { accessToken: string; tokenType?: string; expiresIn?: number; scope?: string; jti?: string; issuedAt?: string; } export declare class AISImpl { /** * 解析AIS状态码 * @param status */ parseStatus(status: number): { labelCn: string; labelEn: string; }; } export declare class MyVesselImpl extends AISImpl { private readonly clientId; private readonly clientSecret; private token; constructor(clientId: string, clientSecret: string); authToken(options?: { requestId?: string; }): Promise<void>; checkToken(options?: { requestId?: string; }): Promise<AuthToken | undefined>; /** * 模糊查询 * @param kw * @param options */ suggest(kw: string, options?: { requestId?: string; ps?: number; }): Promise<any>; /** * imo/mmsi 精确查询 * @param imo * @param options */ search(imo: number, options?: { requestId?: string; ps?: number; }): Promise<{ mmsi?: undefined; imo?: undefined; callSign?: undefined; name?: undefined; nameCn?: undefined; type?: undefined; flagName?: undefined; clasz?: undefined; dateOfBuild?: undefined; deadweight?: undefined; grossTonnage?: undefined; netTonnage?: undefined; teu?: undefined; length?: undefined; breadth?: undefined; height?: undefined; draught?: undefined; speed?: undefined; passengerCapacity?: undefined; vendor?: undefined; raw?: undefined; } | { mmsi: any; imo: number | null; callSign: any; name: any; nameCn: any; type: any; flagName: any; clasz: any; dateOfBuild: any; deadweight: any; grossTonnage: any; netTonnage: any; teu: any; length: any; breadth: any; height: any; draught: any; speed: any; passengerCapacity: any; vendor: string; raw: any; }>; archives(mmsi: any, options?: { requestId?: string; }): Promise<any>; realTimePosition(mmsi: number, options?: { requestId?: string; }): Promise<AISRecord>; /** * @param from 始发点坐标 { lng, lat } * @param to 目的点坐标 { lng, lat } * @param crossMonths 规划月份 [1,...,12] * @param excludeNodes 排除关键节点, [node.code] * @param excludeSeas 排除水域, [sea.code] * @param options { requiretId: '请求ID', useAIModel: '启用AI算法', withECA: '是否计算低硫区航行距离', withSpecial: '是否计算穿越的特战区列表和海盗区列表', draught: '最大吃水' } */ calculateRoute(from: { lng?: number; lat?: number; code?: string; }, to: { lng?: number; lat?: number; code?: string; }, crossMonths: number[], excludeNodes: string[], excludeSeas: string[], options?: { requestId?: string; useAIModel?: boolean; withECA?: boolean; withSpecial?: boolean; draught?: number; }): Promise<any>; trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: { requestId?: string; }): Promise<AISRecord[]>; private trajectoryIn30Day; } export declare class HifleetImpl extends AISImpl { private readonly token; constructor(token: string); realTimePosition(mmsi: number, options?: { requestId?: string; }): Promise<AISRecord>; search(kw: string, options?: { requestId?: string; }): Promise<VesselRecord>; suggest(kw: string, options?: { requestId?: string; }): Promise<VesselRecord>; trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: { requestId?: string; }): Promise<AISRecord[]>; } export declare class ShipxyImpl extends AISImpl { private readonly token; constructor(token: string); realTimePosition(mmsi: number, options?: { requestId?: string; }): Promise<AISRecord>; trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: { requestId?: string; }): Promise<AISRecord[]>; } export declare class MyShipImpl extends AISImpl { private readonly token; constructor(token: string); getShipId(mmsi: any, options?: { requestId?: string; }): Promise<string>; getShipInfo(shipId: string, options?: { requestId?: string; }): Promise<AISRecord>; realTimePosition(mmsi: number, options?: { requestId?: string; }): Promise<AISRecord>; trajectory(mmsi: number, startTime: string, endTime: string, offset: number, scale?: boolean, options?: { requestId?: string; }): Promise<AISRecord[]>; private trajectoryIn30Day; }