A method for extracting loading and unloading events of a tanker

The algorithm automatically extracts tanker loading and unloading events, solving the problems of low efficiency and high misjudgment rate of manual observation in existing technologies. It achieves efficient and accurate identification of loading and unloading events and tracking of crude oil transportation routes, improving monitoring accuracy and information integrity.

CN117828508BActive Publication Date: 2026-08-25CENT SOUTH UNIV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311870525.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2026-08-25
Estimated Expiration
2043-12-29

AI Technical Summary

Technical Problem

In the existing technology, the identification of tanker loading and unloading events mainly relies on manual observation, which is inefficient, highly subjective, and has a high misjudgment rate. It is difficult to accurately distinguish between anchoring and berthing activities, and it is easy to misjudge them as loading and unloading events, resulting in insufficient accuracy and reliability of event records.

Method used

An algorithm is employed to extract berthing trajectory segments from tanker trajectory data using a sliding window, handle abrupt changes at the end of trajectory segments, segment events with multiple draft change points, calculate the loading and unloading volume per meter of draft, and use the ray casting method to determine port matching, constructing a loading and unloading event sequence to achieve automated extraction and recording of loading and unloading activity details.

Benefits of technology

It enables efficient, accurate, and automated extraction of tanker loading and unloading events, reduces the impact of human error, improves monitoring accuracy and efficiency, and can track crude oil transportation routes and cargo origins, providing comprehensive information support.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117828508B_ABST
    Figure CN117828508B_ABST
Patent Text Reader

Abstract

The application discloses an oil tanker loading and unloading event extraction method, comprising the following steps: step one, extracting the moving track of an oil tanker within a certain period of time; step two, extracting the berthing track section by using a sliding window; step three, mutation processing at the end of the berthing track section; step four, cutting the event with multiple draft change points; step five, repeating steps two to four, and saving all berthing track sections to a dictionary; step six, calculating the loading and unloading amount per meter of draft according to the maximum and minimum values of the draft; step seven, traversing all berthing track sections, and screening events according to the draft change size; step eight, calculating all event-related attribute values and storing them into an event table; and step nine, constructing an event sequence according to the principle of loading first and unloading later for the current event table. The oil tanker loading and unloading event can be automatically extracted, the monitoring precision is improved, and the crude oil transportation route can be accurately tracked.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of maritime transport monitoring technology, and in particular relates to a method for extracting cargo loading and unloading events on oil tankers at sea. Background Technology

[0002] Tanker loading and unloading is a crucial link in global oil trade, referring to the loading and unloading of crude oil by tankers in ports or terminals. These activities involve various types of cargo, such as crude oil and refined petroleum products, and are a key component of international oil trade and logistics. To observe the overall transportation routes of crude oil, track loading and unloading points and countries of origin, relevant personnel record tanker loading and unloading events and obtain detailed information on the crude oil loading and unloading process and its transportation origin, thereby identifying the country of origin of the crude oil. This is of great significance for making important strategic decisions.

[0003] Currently, the identification of tanker loading and unloading events is typically achieved by personnel from relevant departments observing the tanker's navigation trajectory data. This involves manual observation and processing using specialized ship trajectory monitoring websites or tools, analyzing the characteristics of loading and unloading events to extract their information. However, tanker loading and unloading activities are large-scale and complex, and manual observation alone is not only tedious and inefficient but also prone to subjectivity and misjudgment. For example, it is difficult to distinguish between anchoring and berthing activities during recording. Furthermore, tankers may load or unload in buoy areas outside the port rather than within the port itself. In addition, changes in draft caused by other factors (such as fuel and water consumption, changes in the movement of crude oil tankers, changes in seawater density, and changes in tides and water levels) may be misidentified as loading and unloading events, leading to reduced accuracy and reliability of event recordings. Therefore, there is an urgent need for an algorithm that can automatically identify loading and unloading events from tanker trajectory data to improve monitoring accuracy and efficiency. Summary of the Invention

[0004] The purpose of this invention is to propose an efficient and accurate method for extracting tanker loading and unloading events, solving the problems of low efficiency, frequent subjective errors, and insufficient accuracy and reliability in traditional event extraction methods. Simultaneously, it allows for the construction of loading and unloading event sequences to trace the transportation routes and sources of crude oil.

[0005] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is a method for extracting tanker loading and unloading events, comprising the following steps:

[0006] Step S1: Extract the movement trajectory of a certain oil tanker within a certain period of time;

[0007] Step S2: Use a sliding window to extract the parking trajectory segment;

[0008] Step S3: Handle the abrupt change at the end of the parking trajectory segment;

[0009] Step S4: Segment the events with multiple draft change points;

[0010] Step S5: Repeat steps S2, S3, and S4, and save all parking trajectory segments to the dictionary;

[0011] Step S6: Calculate the loading and unloading capacity per meter of draft based on the maximum and minimum draft values;

[0012] Step S7: Traverse all mooring trajectory segments and filter events based on the magnitude of draft change;

[0013] Step S8: Calculate all event-related attribute values ​​and store them in the event table;

[0014] Step S9: For the current event table, construct the event sequence according to the principle of first loading and then unloading.

[0015] Furthermore, step S1 includes: extracting complete trajectory data [P1, P2, ..., P...] n In the data, extract the time period [t] of a certain oil tanker V. s , t e All trajectory data within ] [P s P s+1 P s+2 , ..., P e ].

[0016] Furthermore, step S2 includes:

[0017] Step S2.1: Traverse the trajectory point data [P] s P s+1 P s+2 , ..., P e ], from the first trajectory point P s Initially, W trajectory points are selected each time to form a window W. current :[P cur1 P cur2 , ..., P curW ];

[0018] Step S2.2: Calculate the average velocity S of the current window trajectory points. avg ,

[0019] Where S avg Less than the velocity threshold θ sog Then all trajectory points in the current window will be added to the current parking trajectory segment T. current middle;

[0020] If S avg Greater than or equal to the velocity threshold θ sog Check sequentially whether the velocity of each trajectory point is less than θ.sog Within this window, the velocity is greater than or equal to θ. sog The trajectory points preceding the current trajectory point are added to the parking trajectory segment T. current In the middle, and stop judging, stop moving towards the current parking trajectory segment T. current Add new trajectory points.

[0021] Furthermore, step S3 includes:

[0022] Take T current The last trajectory point P in TrackEnd In the complete trajectory data, determine P TrackEnd With the next trajectory point P TrackEnd+1 Does the mutation condition meet? The mutation condition is:

[0023] P TrackEnd .sog≤θ sog

[0024] And P TrackEnd+1 .sog>θ sog

[0025] And P TrackEnd .draught≠P TrackEnd+1 .draught

[0026] Where sog is the velocity of the trajectory point, and draught is the draft of the trajectory point;

[0027] If the mutation condition is met, then P will be... TrackEnd The following 20 trajectory points are added to the current parking trajectory segment T. current In the middle, that is, the new parking trajectory segment T currentNew :[P TrackStart P TrackStart+1 P TrackStart+2 , ..., P TrackEnd P TrackEnd+1 , ..., P TrackEnd+20 ];

[0028] If the conditions are not met, no action will be taken.

[0029] Furthermore, step S4 includes:

[0030] S4.1: Record parking trajectory segment T currentNew Calculate T one by one currentNew The draft change between any two adjacent points is greater than the draft threshold θ. draught The number of trajectory points N;

[0031] S4.2: If N is greater than or equal to 2, then the parking trajectory segment T will be... currentNew The process is divided into multiple parking trajectory segments T.current’ T current’+1 ... T current’+N The segmentation method is as follows: find two points of draft change [P] DraughtChange1 P DraughtChange2 The midpoint P of ] middle The method for calculating the middle point number is as follows:

[0032]

[0033] Among them, [P DraughtChange1 P middle [P] represents an event fragment. middle+1 P DraughtChange2 [This is a fragment of another event;]

[0034] If N is less than or equal to 2, no action is taken.

[0035] Furthermore, step S5 includes:

[0036] S5.1: Repeat steps S2, S3, and S4 above until all trajectory point data has been processed;

[0037] S5.2: All extracted parking trajectory segments [T1, T2, ..., T n Number the data according to time, using the number as the key and the corresponding parking trajectory segment as the value, and store it in the dictionary Dict.

[0038] Furthermore, step S6 includes:

[0039] S6.1: Filter out all trajectory points with a draft greater than 10 meters;

[0040] S6.2: Calculate the minimum draft record value D MinDraught and the maximum draft record value D MaxDraught The specific formula is as follows:

[0041]

[0042] Furthermore, step S7 includes:

[0043] S7.1: Calculate the starting and ending draft values ​​D for each trajectory segment. start and D end ;

[0044] S7.2: Traverse all parking trajectory segments [T1, T2, ..., T] in the parking trajectory segment dictionary Dict. n ], will the trajectory segment [T] that meets the conditions load1 T load2 ,…,T loadn The filtered results are as follows: Specific filtering criteria are:

[0045] |D end -D start |≥θ draught .

[0046] Furthermore, step S8 includes:

[0047] S8.1: Determine the trajectory segment [T] for each loading / unloading event. load1 T load2 ,…,T loadn Whether it is a loading event or an unloading event, the criteria for judgment are:

[0048] If D start ≤D end The current event is a loading event;

[0049] If D start >D end The current event is an unloading event;

[0050] S8.2: Loading and unloading capacity Q per meter of draft rate Calculate the current loading or unloading volume Q. current The specific calculation formula is as follows:

[0051] Q current =Q rate *|D end -D start |

[0052] S8.3: Use the ray casting method to determine which port the current trajectory segment is located in, and perform port matching and country matching for the current trajectory segment. The specific steps are as follows:

[0053] S8.3.1: Traversing a certain trajectory segment T load For all trajectory points in the data, for the current point P(x,y), traverse all port polygon data;

[0054] S8.3.2: Let the port currently traversed be H, and denote each vertex (x, y) of the polygon containing the port boundary as... i ,y i Arranged in sequence, they form the port polygon V. harbor ={(x1,y1),(x2,y2),…,(x n y n A ray is emitted horizontally from point P(x,y).

[0055] S8.3.3: Check each edge E of the polygon.

[0056] S8.3.3.1: If the ray intersects with edge E, check whether the x-coordinate of the intersection point is within the horizontal range of edge E, specifically:

[0057] If the x-coordinate of the intersection point lies within the horizontal range of edge E, record this intersection point.

[0058] If the x-coordinate of the intersection point is not within the horizontal range of edge E, continue to determine whether the next edge intersects with the ray;

[0059] S8.3.3.2: If the ray does not intersect with the edge E, then the ray has no intersection with the polygon, and the number of intersection points is 0;

[0060] S8.3.4: Count the number of all intersection points, and determine whether P is within polygon V according to the odd / even rule. harbor Inside, specifically:

[0061] If the number of intersection points is odd, then P lies within polygon V. harbor Inner or V harbor If P is located on a certain edge, i.e., P is considered to be within port H, then the current event trajectory segment T is determined. load Match port H and exit the loop;

[0062] If the number of intersection points is even, then P lies within polygon V. harbor Furthermore, assuming P is not within port H, the cycle continues;

[0063] S8.4: Calculate the remaining required field values ​​for all events, construct the event objects, and finally construct the event table E. load : [E1, E2, ..., E n ].

[0064] Furthermore, step S9 includes:

[0065] S9.1: Traversing Event Table E load All events [E1, E2, ..., E n ];

[0066] Wherein, if the current event E current For loading event and the previous event E current-1 For the unloading event, it is considered that E starts from the current event. current This is a new event sequence, where all previous events belong to one event sequence E. seqN ;

[0067] Otherwise, continue iterating.

[0068] This method offers numerous advantages and positive effects compared to existing methods. Firstly, by introducing an algorithm, this invention can automatically extract tanker loading and unloading events from tanker trajectory data and record detailed information about related activities. Compared to traditional manual observation methods, this significantly improves monitoring accuracy. Automated feature extraction not only saves substantial human resources but also greatly reduces the impact of subjective human judgment and misjudgment, thereby ensuring the accuracy of loading and unloading event identification.

[0069] Furthermore, by constructing loading and unloading event sequences, this method makes tracking crude oil transportation routes more efficient. Users can obtain the overall context of loading and unloading events, thereby gaining a more comprehensive understanding of the flow path and origin of crude oil. Overall, this method achieves significant advantages over existing methods in terms of monitoring accuracy, record reliability, and crude oil transportation route tracking, bringing substantial technological progress to the field of marine tanker loading and unloading. Attached Figure Description

[0070] Figure 1 A flowchart of a method for extracting tanker loading and unloading events provided in an embodiment of the present invention;

[0071] Figure 2 This is a schematic diagram illustrating the extraction of parking trajectory segments using the sliding window algorithm. Detailed Implementation

[0072] The present invention will now be described in further detail with reference to the accompanying drawings of the embodiments thereof. The present invention provides a method for extracting tanker loading and unloading events. Figure 1 The specific process of the algorithm is shown. Figure 2 This paper illustrates the process of extracting berthing trajectory segments using a sliding window. The tanker loading and unloading event extraction method of this invention can extract loading and unloading event information from tanker trajectory data. The specific implementation steps are as follows:

[0073] Step 1: Extract the movement trajectory of a certain oil tanker over a certain period of time.

[0074] From the complete trajectory data [P1, P2, ..., P] n In the data, extract the time period [t] of a certain oil tanker V. s , t e All trajectory data within ] [P s P s+1 P s+2 , ..., P e ];

[0075] Step 2: Use a sliding window to extract the parking trajectory segment

[0076] The sliding window algorithm is used to process the trajectory data obtained in step 1 [P] s Ps+1 P s+2 , ..., P e Processing is performed based on the velocity threshold θ. sog The conditions are used to determine the trajectory points within the window, and the current parking trajectory segment T is extracted. current :[P TrackStart P TrackStart+1 P TrackStart+2 , ..., P TrackEnd The specific method is as follows:

[0077] First, determine the sliding window size W. Then, iterate through the trajectory point data [P]. s P s+1 P s+2 , ..., P e ], from the first trajectory point P s Initially, W trajectory points are selected each time to form a window W. current :[P cur1 P cur2 , ..., P curW Calculate the average velocity S of the current window trajectory points. avg If S avg Less than the velocity threshold θ sog Then all trajectory points in the current window will be added to the current parking trajectory segment T. current Otherwise, sequentially check whether the velocity of each trajectory point is less than θ. sog If the velocity of the i-th trajectory point is greater than or equal to θ sog Then the first i-1 velocities less than θ sog Add the trajectory points to the parking trajectory segment T current In the middle, and stop judging.

[0078] Step 3: Handling sudden changes at the end of the parking trajectory segment

[0079] When the average velocity of all trajectory points within the window is greater than or equal to the velocity threshold θ sog At that time, stop moving towards the current parking trajectory segment T. current Add a new trajectory point. Take T. current The last trajectory point P in TrackEnd In the complete trajectory data, determine P TrackEnd With the next trajectory point P TrackEnd+1 Does the mutation condition meet? If it does, then P... TrackEnd The following 20 trajectory points are added to the current parking trajectory segment T. current In the middle, that is, the new parking trajectory segment T currentNew :[P TrackStart P TrackStart+1 P TrackStart+2 , ..., P TrackEnd P TrackEnd+1, ..., P TrackEnd+20 If the conditions are not met, no action is taken. The mutation conditions are:

[0080]

[0081] and

[0082] And P TrackEnd .draught≠P TrackEnd+1 .draught

[0083] Where sog is the velocity of the trajectory point and draught is the draft of the trajectory point.

[0084] Step 4: Segment the events with multiple draft change points.

[0085] Record the parking trajectory segment T after processing in step 3. currentNew Calculate T one by one currentNew The draft change between any two adjacent points is greater than the draft threshold θ. draught The number of trajectory points N. If N is greater than or equal to 2, then the parking trajectory segment T will be... currentNew The process is divided into multiple parking trajectory segments T. current’ T current’+1 ... T current’+N Otherwise, no action will be taken.

[0086] The segmentation method is as follows: find two points of draft change [P] DraughtChange1 P DraughtChange2 The midpoint P of ] middle The method for calculating the middle point number is as follows:

[0087]

[0088] Then [P] DraughtChange1 P middle [P] represents an event fragment. middle+1 P DraughtChange2 [This is another event fragment.]

[0089] Step 5: Repeat steps 2, 3, and 4, and save all parking trajectory segments to the dictionary.

[0090] Repeat steps 2, 3, and 4 above until all trajectory point data has been processed. Then, process all extracted parking trajectory segments [T1, T2, ..., T...]. n Number the mooring tracks according to time, using the number as the key and the corresponding mooring track segment as the value, and store them in the dictionary Dict;

[0091] Step 6: Calculate the loading / unloading capacity per meter of draft based on the maximum and minimum draft values.

[0092] Based on the current minimum slack water record value D of the ship MinDraught and the maximum draft record value D MaxDraught Calculate the cargo loading / unloading capacity Q per meter of draft of the current oil tanker V. rate ;

[0093] The calculation process is as follows: First, all trajectory points with a draft record greater than 10 meters are selected (a draft record of around 10 meters usually indicates that the tanker is unloaded). Then, the minimum draft record value D is calculated. MinDraught and the maximum draft record value D MaxDraught And calculate Q according to the following formula rate :

[0094]

[0095] Step 7: Traverse all mooring trajectory segments and filter events based on the magnitude of draft change.

[0096] Iterate through all the parking trajectory segments [T1, T2, ..., T] in the parking trajectory segment dictionary Dict obtained in step 5. n According to the draft change threshold θ draught Filter out loading and unloading event trajectory segments [T] load1 T load2 ,…,T loadn ];

[0097] The screening process is as follows: calculate the starting and ending draft values ​​D for each trajectory segment. start and D end The trajectory segments that meet the following conditions will be selected:

[0098] |D end -D start |≥θ draught

[0099] Step 8: Calculate all event-related attribute values ​​and store them in the event table.

[0100] All loading and unloading event trajectory segments [T] obtained from step 7 load1 T load2 ,…,T loadn According to the initial draft record D of each event trajectory segment. start And the final draft record D end Determine whether it is a loading event or an unloading event, if D start ≤D end If the condition is met, the current event is a loading event; otherwise, it is a unloading event.

[0101] Then, based on the loading and unloading capacity Q per meter of draft obtained in step 6... rate Calculate the current loading or unloading volume Q. currentThe calculation formula is as follows:

[0102] Q current =Q rate *|D end -D start |

[0103] Next, the ray casting method is used to determine which port the current trajectory segment is located in, performing port matching and country matching for the current trajectory segment; finally, the remaining required field values ​​for all events are calculated, event objects are constructed, and finally, event table E is constructed. load : [E1, E2, ..., E n ];

[0104] The process of using the ray casting method to determine which port the current trajectory segment is located in is roughly as follows: traverse a trajectory segment T load Find all trajectory points in the data. For the current point P(x,y), iterate through all port polygon data. Let the currently visited port be H, and its range polygon be V. harbor ={(x1,y1),(x2,y2),…,(x n y n A ray is emitted horizontally from point P(x,y). For each edge E of the polygon, if the ray intersects edge E, the x-coordinate of the intersection point is checked to see if it falls within the horizontal range of edge E. If it does, the intersection point is recorded; otherwise, the process continues to check if the next edge intersects the ray. The total number of intersection points is counted, and the parity of P is determined according to the even / odd rule to determine if P lies within polygon V. harbor Inside. If the number of intersection points is odd, then P lies within polygon V. harbor Inner or V harbor If P is located on a certain edge, i.e., P is considered to be within port H, then the current event trajectory segment T is determined. load Match with port H and exit the loop; if the number of intersections is even, then P lies in polygon V. harbor Furthermore, it is assumed that P is not within port H, and the cycle continues.

[0105] Step 9: For the current event table, construct the event sequence according to the principle of "install first, uninstall last".

[0106] Traverse the event table E obtained in step 8 load Based on the principle of "install first, uninstall later", construct event sequence E. seq :[E seq1-1 E seq1 -2, ..., E seqN-M The event sequence is constructed according to the principle of "install first, uninstall later". That is, the event table E is traversed. load All events [E1, E2, ..., E n If the current event E current For loading event and the previous event Ecurrent-1 For the unloading event, it is considered that E starts from the current event. current This is a new event sequence, where all previous events belong to one event sequence E. seqN Otherwise, continue iterating.

[0107] The method for extracting cargo loading and unloading events from oil tankers provided by this invention has significant technical advantages and innovations in the field of maritime transport monitoring, achieving efficient, accurate, and automatic extraction of cargo loading and unloading events. Compared with traditional manual observation methods, this method achieves optimal results in the following aspects:

[0108] Automation and Efficiency: By introducing algorithms to automatically extract tanker loading and unloading events, the tedious and inefficient manual observation process in traditional methods can be replaced. The application of algorithms significantly improves the accuracy of monitoring, saves a lot of manpower, and makes event extraction more efficient.

[0109] Reducing Subjectivity and Misjudgment: By automating feature extraction of loading and unloading events, this method reduces the impact of human subjective judgment and misjudgment. For large and complex tanker loading and unloading activities, the objectivity of the algorithm helps ensure the accuracy of event recording;

[0110] Calculation of maximum and minimum draft: This method combines expert experience and data calculations, considering the maximum and minimum draft recorded during tanker transport, and calculates the cargo loading / unloading capacity per meter of draft based on these values. This approach incorporates actual transport data to ensure more accurate calculations of cargo loading / unloading capacity per meter for each tanker.

[0111] Loading and unloading event sequence construction: This method can construct loading and unloading event sequences to help track the transportation routes and sources of crude oil. Users can gain a comprehensive understanding of the flow path and origin of crude oil, providing more comprehensive information for decision-making.

[0112] Therefore, the beneficial effects of this invention have achieved significant advantages in improving the efficiency of loading and unloading event monitoring, the reliability of records, and the tracking of crude oil transportation routes, bringing substantial technological progress to the field of marine tanker loading and unloading.

Claims

1. A method for extracting cargo loading and unloading events from oil tankers, characterized in that, Includes the following steps: Step S1: Extract the movement trajectory of a certain oil tanker within a certain period of time; Step S2: Use a sliding window to extract the parking trajectory segment; Step S3: Handle the abrupt change at the end of the parking trajectory segment; Step S4: Segment the events with multiple draft change points; Step S5: Repeat steps S2, S3, and S4, and save all parking trajectory segments to the dictionary; Step S6: Calculate the loading and unloading capacity per meter of draft based on the maximum and minimum draft values; Step S7: Traverse all mooring trajectory segments and filter events based on the magnitude of draft change; Step S8: Calculate all event-related attribute values ​​and store them in the event table; Step S9: For the current event table, construct the event sequence according to the principle of loading first and unloading later; Step S3 includes: Take T current The last trajectory point P in TrackEnd In the complete trajectory data, determine P TrackEnd With the next trajectory point P TrackEnd+1 Does the mutation condition meet? The mutation condition is: ; Where sog is the velocity of the trajectory point, and draught is the draft of the trajectory point; If the mutation condition is met, then P will be... TrackEnd The following 20 trajectory points are added to the current parking trajectory segment T. current In the middle, that is, the new parking trajectory segment T currentNew :[P TrackStart P TrackStart+1 P TrackStart+2 , ..., P TrackEnd P TrackEnd+1 , ..., P TrackEnd+20 ]; P TrackStart For T current The first trajectory point in the middle; If the conditions are not met, no action will be taken.

2. The method for extracting tanker loading and unloading events according to claim 1, characterized in that, Step S1 includes: obtaining complete trajectory data [P1, P2, ..., P...] from the complete trajectory data [P1, P2, ..., P...]. pn In the data, extract the time period [t] of a certain oil tanker V. s , t e All trajectory data within ] [P s P s+1 P s+2 , ..., P e ].

3. The method for extracting tanker loading and unloading events according to claim 1, characterized in that, Step S2 includes: Step S2.1: Traverse the trajectory point data [P] s P s+1 P s+2 , ..., P e ], from the first trajectory point P s Initially, W trajectory points are selected each time to form a window W. current :[P cur1 P cur2 , ..., P curW ]; Step S2.2: Calculate the average velocity S of the current window trajectory points. avg , Where S avg Less than the velocity threshold θ sog Then all trajectory points in the current window will be added to the current parking trajectory segment T. current middle; If S avg Greater than or equal to the velocity threshold θ sog Check sequentially whether the velocity of each trajectory point is less than θ. sog Within this window, the velocity is greater than or equal to θ. sog The trajectory points preceding the current trajectory point are added to the parking trajectory segment T. current In the middle, and stop judging, stop moving towards the current parking trajectory segment T. current Add new trajectory points.

4. The method for extracting tanker loading and unloading events according to claim 3, characterized in that, Step S4 includes: S4.1: Record parking trajectory segment T currentNew Calculate T one by one currentNew The draft change between any two adjacent points is greater than the draft threshold θ. draught The number of trajectory points N; S4.2: If N is greater than or equal to 2, then the parking trajectory segment T will be... currentNew The process is divided into multiple parking trajectory segments T. current’ T current’+1 ... T current’+N The segmentation method is as follows: find two points of draft change [P] DraughtChange1 P DraughtChange2 The midpoint P of ] middle The method for calculating the middle point number is as follows: ; Among them, [P] DraughtChange1 P middle [P] represents an event fragment. middle+1 P DraughtChange2 [This is a fragment of another event;] If N is less than or equal to 2, no action is taken.

5. A method for extracting tanker loading and unloading events according to claim 1 or 4, characterized in that, Step S5 includes: S5.1: Repeat steps S2, S3, and S4 above until all trajectory point data has been processed; S5.2: All extracted parking trajectory segments [T1, T2, ..., T Tn Number the data according to time, using the number as the key and the corresponding parking trajectory segment as the value, and store it in the dictionary Dict.

6. The method for extracting tanker loading and unloading events according to claim 5, characterized in that, Step S6 includes: S6.1: Filter out all trajectory points with a draft greater than 10 meters; S6.2: Based on the current minimum slack water record value D of the vessel MinDraught and the maximum draft record value D MaxDraught The formula for calculating the cargo loading / unloading rate Qrate per meter of draft for the current tanker V is as follows: 。 7. The method for extracting tanker loading and unloading events according to claim 5, characterized in that, Step S7 includes: S7.1: Calculate the starting and ending draft values ​​D for each trajectory segment. start and D end ; S7.2: Traverse all parking trajectory segments [T1, T2, ..., T] in the parking trajectory segment dictionary Dict. Tn ], will select the trajectory segment [T] that meets the conditions. load1 T load2 ,…,T loadn The filtered results are as follows: Specific filtering criteria are: 。 8. The method for extracting tanker loading and unloading events according to claim 7, characterized in that, Step S8 includes: S8.1: Determine the trajectory segment [T] for each loading / unloading event. load1 T load2 ,…,T loadn Whether it is a loading event or an unloading event, the criteria for judgment are: If D start ≤D end The current event is a loading event; If D start >D end The current event is an unloading event; S8.2: Loading and unloading capacity Q per meter of draft rate Calculate the current loading or unloading volume Q. current The specific calculation formula is as follows: ; S8.3: Use the ray casting method to determine which port the current trajectory segment is located in, and perform port matching and country matching for the current trajectory segment. The specific steps are as follows: S8.3.1: Traversing a certain trajectory segment T load For all trajectory points in the current point Iterate through all port polygon data; S8.3.2: Let H be the port currently traversed. Then, for each vertex of the polygon containing the port's boundary... Arranged in order, they form a port polygon. From point A ray is emitted horizontally; S8.3.3: Check each edge E of the polygon. S8.3.3.1: If the ray intersects with edge E, check whether the x-coordinate of the intersection point is within the horizontal range of edge E, specifically: If the x-coordinate of the intersection point lies within the horizontal range of edge E, record this intersection point. If the x-coordinate of the intersection point is not within the horizontal range of edge E, continue to determine whether the next edge intersects with the ray; S8.3.3.2: If the ray does not intersect with the edge E, then the ray has no intersection with the polygon, and the number of intersection points is 0; S8.3.4: Count the number of all intersection points, and determine whether point P is on polygon V according to the odd / even rule. harbor Inside, specifically: If the number of intersection points is odd, then point P lies in polygon V. harbor Inner or V harbor If point P is considered to be within port H, then the current event trajectory segment T is determined. load Match port H and exit the loop; If the number of intersection points is even, then point P lies in polygon V. harbor Furthermore, if point P is not within port H, the loop continues; S8.4: Calculate the remaining required field values ​​for all events, construct the event objects, and finally construct the event table E. load : [E1, E2, ..., E En ].

9. The method for extracting tanker loading and unloading events according to claim 6, characterized in that, Step S9 includes: S9.1: Traversing Event Table E load All events [E1, E2, ..., E En ]; Wherein, if the current event E current For loading event and the previous event E current-1 For the unloading event, it is assumed that E starts from the current event. current This is a new event sequence, where all previous events belong to one event sequence E. seqN ; Otherwise, continue iterating.

Citation Information

Patent Citations

  • A bulk commodity trade logistics tracking analysis method

    CN109948968A

  • Event identification method and device, electronic equipment and storage medium

    CN113850554A

  • Port congestion state monitoring and evaluation method and system, terminal and storage medium

    CN116797117A