Ship navigator evidence obtaining method and system, electronic equipment and storage medium
By filtering and dividing the data mirror of ship navigation instruments into bytes, the location information and offset of trajectory points are extracted, solving the problem of data shielding by non-standardized equipment. This enables high-precision navigation data parsing and trajectory reconstruction, and enhances the legal effectiveness of supervision and evidence collection.
Patent Information
- Application Number
- CN202511145515.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-15
- Publication Date
- 2025-11-25
AI Technical Summary
Existing technologies struggle to analyze proprietary navigation data from non-standard ship navigation equipment, making it difficult to obtain accurate raw navigation data and impacting regulatory and evidence collection efforts.
By filtering and dividing the raw data image of the ship navigation system into bytes, the position information and offset of the starting trajectory point are extracted, and the coordinates of the waypoints are gradually restored, thus achieving in-depth analysis of the proprietary format and reconstruction of the navigation trajectory.
It improves the accuracy and compatibility of analysis, enhances the legal evidentiary value, and ensures the accuracy and continuity of trajectory data.
Smart Images

Figure CN121009064A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of marine navigation data forensics, in particular to a ship navigation instrument forensics method and system, an electronic device and a storage medium. BACKGROUND
[0002] With the continuous improvement of the maritime traffic supervision system and the rapid development of ship navigation technology, ship navigation equipment has become an indispensable core equipment for modern maritime navigation. Contemporary advanced ship navigation equipment not only provides accurate real-time navigation services, but also records key navigation data such as ship route, waypoint and track, etc. These data play a decisive role in accurately restoring the ship's navigation track and identifying key nodes and stopping positions.
[0003] Currently, the government departments realize effective supervision of ship navigation activities by distributing standardized charting instrument equipment and establishing a standardized data reporting mechanism. However, illegal criminals generally use non-standardized ship navigation equipment to evade supervision and deliberately shield the data reporting function. In this case, the forensics work mainly relies on NMEA0183 and NMEA2000 standard communication protocols to obtain data. When these standard communication channels are shielded, it is difficult to parse data in a proprietary format, making it difficult to obtain accurate original navigation data. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a ship navigation instrument forensics method, system, electronic device and storage medium, which divides the trajectory data file obtained by screening into bytes, matches byte information, obtains the position information and offset of the starting point trajectory, gradually restores the coordinates of multiple waypoints, obtains accurate original navigation data, realizes deep analysis and navigation track reconstruction of the proprietary format, and improves the analysis accuracy, compatibility and legal evidence effectiveness.
[0005] In order to achieve the above purpose, in a first aspect, the present application provides a ship navigation instrument forensics method, which comprises: obtaining an original data image of a ship navigation instrument; screening the original data image to obtain a trajectory data file; dividing the trajectory data file into a plurality of data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes a plurality of byte segments; for each data block, a target byte segment is obtained from the plurality of byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block; based on the position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block, the geographical coordinate sequence of the navigation track is calculated.
[0006] In the embodiment, the trajectory file is obtained by screening from the original data mirror of the ship navigator, the trajectory file is divided by byte length to obtain a plurality of data blocks, a target byte segment is obtained from each data block, so as to obtain the position information of the starting trajectory point and the position offset of the corresponding trajectory point according to the information stored in the target byte segment, and the coordinates of a plurality of navigation points are gradually restored under the calculation of the position information of the starting point trajectory and the position offset of the corresponding trajectory point, accurate original navigation data is obtained, deep analysis and navigation trajectory reconstruction of the special format are realized, and the analysis accuracy, compatibility and legal evidence effectiveness are improved.
[0007] In some embodiments, each byte segment corresponds to a byte range; and the target byte segment is obtained from the plurality of byte segments of the data block by determining the byte segment corresponding to the preset byte range as the target byte segment.
[0008] In this way, the target field can be accurately extracted through the preset byte range, the analysis failure caused by field recognition error is avoided, and the efficiency and accuracy of data extraction are improved.
[0009] In some embodiments, the position offset is the offset of the position of the current trajectory point relative to the position of the previous trajectory point; and the geographic coordinate sequence of the navigation trajectory is calculated based on the position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block, which includes: calculating the actual offset value of the trajectory point corresponding to each data block based on the position offset of the trajectory point corresponding to each data block and a preset scale factor; calculating the position information of the trajectory point corresponding to each data block according to the actual offset value of the trajectory point corresponding to each data block and the position information of the previous trajectory point of the trajectory point corresponding to each data block; and generating the geographic coordinate sequence of the navigation trajectory based on the position information of the trajectory point corresponding to each data block.
[0010] In this way, the coordinates of each trajectory point are obtained by adding the offset to the coordinates of the previous point, which not only saves storage space, but also ensures the continuity and accuracy of trajectory restoration.
[0011] In some embodiments, the position offset is the offset of the current trajectory point relative to the position of the starting trajectory point; calculating the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offsets of the trajectory points corresponding to each data block includes: calculating the actual offset value of the trajectory point corresponding to each data block based on the position offset of the trajectory point corresponding to each data block and a preset scaling factor; calculating the position information of the trajectory point corresponding to each data block based on the actual offset value of the trajectory point corresponding to each data block and the position information of the starting trajectory point; and generating the geographic coordinate sequence of the navigation trajectory based on the position information of the trajectory points corresponding to each data block.
[0012] This setting, by referencing the starting point for all offsets in the trajectory data block, makes each offset represent the offset of the current point relative to the starting point. It is suitable for short trajectory segments or scenarios with relatively simple trajectory data structures, ensuring the stability of trajectory reconstruction.
[0013] In some embodiments, the step of filtering the original data image to obtain a trajectory data file includes: removing error correction codes from the original data image to obtain a decodable data image; and filtering the decodable data image to obtain a trajectory data file.
[0014] This setup, by removing error correction codes and creating a parsable data mirror, effectively filters out erroneous data and improves information credibility.
[0015] In some embodiments, the step of filtering the decodable data image to obtain trajectory data files includes: obtaining the file name and file content signature of each file in the decodable data image; and filtering out trajectory data files from each file in the decodable data image based on the file name and the file content signature.
[0016] This setting allows for filtering of trajectory data files based on file name and file content signature, improving the efficiency of finding trajectory data files from data mirrors.
[0017] In some embodiments, calculating the geographic coordinate sequence of the navigation trajectory based on the location information of the starting trajectory point and the location offset of the trajectory points corresponding to each data block includes: performing abnormal data filtering and deduplication on the location information of the starting trajectory point and the location offset of the trajectory points corresponding to each data block to obtain valid data; and calculating the geographic coordinate sequence of the navigation trajectory based on the valid data.
[0018] This setting improves the accuracy of trajectory reconstruction by filtering and deduplicating the position information and offset of the starting trajectory point, eliminating redundant, abnormal, or duplicate data that may be contained in the trajectory data.
[0019] Secondly, embodiments of the present invention provide a ship navigation instrument evidence collection system, the system comprising: a data acquisition module for acquiring raw data images of a ship navigation instrument; a filtering module for filtering the raw data images to obtain a trajectory data file; a format recognition module for dividing the trajectory data file into multiple data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes multiple byte segments; for each data block, a target byte segment is obtained from the multiple byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block; and a calculation module for calculating the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block.
[0020] Thirdly, embodiments of the present invention provide an electronic device, including a processor and a memory, wherein the memory stores a computer program executable by the processor, and the processor can execute the computer program to implement the ship navigation device evidence collection method as described in the first aspect.
[0021] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the ship navigation instrument evidence collection method as described in the first aspect.
[0022] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0023] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 A flowchart of a method for obtaining evidence from a ship navigation device provided in an embodiment of the present invention; Figure 2 This is a schematic diagram of the data organization structure of a memory chip provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of a hexadecimal data block provided in an embodiment of the present invention; Figure 4 for Figure 1 Flowchart of sub-steps S501~S503 of step S500; Figure 5 for Figure 1 Flowcharts of sub-steps S504~S506 of step S500; Figure 6 This is a schematic diagram of the functional modules of the ship navigation instrument evidence collection system provided in an embodiment of the present invention; Figure 7 A block diagram of an electronic device provided in an embodiment of the present invention.
[0025] Icons: 1000 - Ship navigation instrument evidence collection system; 1100 - Data acquisition module; 1200 - Filtering module; 1300 - Format recognition module; 1400 - Calculation module; 2000 - Electronic equipment; 2100 - Processor; 2200 - Memory; 2300 - Bus; 2400 - Communication interface. Detailed Implementation
[0026] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0027] Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.
[0028] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0029] The following is a brief introduction to some concepts that may be involved in the embodiments of the present invention.
[0030] Ship navigation equipment can record data such as routes, waypoints, and tracks, and can reconstruct the ship's travel trajectory, waypoints, and stops.
[0031] As described in the background section, current governments distribute standardized charting equipment and register and report data. Therefore, criminals often use other ship navigation equipment and obscure data reporting when committing illegal activities. Existing methods for investigation, evidence collection, and reviewing reported data heavily rely on communication protocols such as NMEA0183 and NMEA2000. When these protocols are obscured, the true navigation status of the vessel cannot be reflected, and the proprietary data formats are difficult to parse, making it challenging to obtain accurate original navigation data.
[0032] Therefore, this invention provides a method for obtaining evidence from ship navigation devices, see below. Figure 1 , Figure 1 This invention provides a flowchart of a method for obtaining evidence from a ship navigation system. By dividing and matching the byte information of the selected trajectory data file, the position information and offset of the starting trajectory point are obtained. Based on the position information, offset, and a preset scaling factor of the starting trajectory, the coordinates of multiple waypoints are gradually reconstructed, obtaining accurate original navigation data. This achieves deep analysis of the proprietary format and reconstruction of the navigation trajectory, improving analysis accuracy, compatibility, and legal evidentiary value. The method includes steps S100-S500: S100: Obtain the raw data image of the ship's navigation system.
[0033] In this embodiment, if the device is operating normally, the complete data file stored in the navigator can be exported via interfaces such as USB or serial port. If the device fails to start, the export function is disabled, or the serial port has poor contact, the device's storage chip (such as NAND Flash) needs to be physically extracted.
[0034] After the chip is extracted, a professional tool is used to create an image, resulting in a binary data file, such as K9F1G08U0ESCB0@TSOP48_1416.BIN. The NAND Flash storage structure consists of pages, blocks, and devices, with each page being 2048 bytes + 64 bytes of ECC checksum. (See also...) Figure 2 , Figure 2This is a schematic diagram of the data organization structure of a memory chip provided in an embodiment of the present invention. A Page consists of 2KB (data area) + 64 bytes (extra / checksum area, such as management information, ECC checksum, etc.), and is the basic unit for read and write operations. The "PageRegister" at the bottom is the page register, used to temporarily cache the data of one Page (2KB + 64 bytes), and interacts with the outside world through I / O0~7 (8-bit data bus). One Block contains 64 Pages, with a total capacity of (2KB + 64 bytes) × 64 = 128KB + 4KB (i.e., 132KB). The block is the basic unit for erase operations (NAND Flash characteristic: the block must be erased before writing to the page). One Block contains 64 Pages, with a total capacity of (2KB + 64 bytes) × 64 = 128KB + 4KB (i.e., 132KB). The block is the basic unit for erase operations (NAND Flash characteristic: the block must be erased before writing to the page). One device consists of 1024 blocks (i.e., 64 × 1024 = 65536 pages), and the total capacity is (2K + 64 bytes) × 64 × 1024 = 1056 Mbits (which is 132 MB in bytes, because 1 Byte = 8 bits, 1056 ÷ 8 = 132).
[0035] S200. Filter the original data mirror to obtain the trajectory data file.
[0036] In this embodiment, since the device storage typically contains various types of files, such as system configuration files, map data, and user settings information, which are unrelated to the navigation trajectory, it is necessary to accurately extract the files related to the ship's trajectory from the massive amount of data.
[0037] S300. Divide the trajectory data file into multiple data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes multiple byte segments.
[0038] In this embodiment, the trajectory data file undergoes format conversion. The converted trajectory data file is divided into multiple data blocks according to a preset byte length, which involves converting the binary code of the trajectory data file into hexadecimal. For example... Figure 3 As shown, Figure 3This is a schematic diagram of a hexadecimal data block provided in an embodiment of the present invention. For example, in the tracksegment.dat file used by the Xinno brand charter, the trajectory data is organized using a specific binary structure, which includes multiple fields with fixed offset positions, such as starting latitude and longitude, reference point information, and multiple offset fields. To ensure the accuracy of subsequent parsing, these fields need to be analyzed in hexadecimal, for example, converting the big-endian stored values to little-endian format, or adjusting the data arrangement order according to the field definitions. The converted trajectory data file is divided into multiple structured data blocks according to a preset byte length (128 bytes). Each data block typically contains a complete trajectory record unit, which can independently correspond to one or more navigation trajectory points. This division method is based on the internal structural characteristics of the trajectory file; for example, in the tracksegment.dat file, every 128 bytes constitute a complete trajectory data block unit. Each data block consists of multiple byte segments, which are used to store the starting point coordinates, reference point information, offset, track number, color information, and control fields, etc. As shown in Table 1 below, this structured partitioning method not only helps improve the efficiency of data parsing, but also provides a clear boundary definition for extracting target fields from each data block.
[0039] Table 1
[0040] This structured partitioning method allows for the clear identification of the fields contained in each data block, providing an accurate analytical foundation for subsequent data extraction and coordinate reconstruction.
[0041] S400. For each data block, obtain the target byte segment from multiple byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block.
[0042] In this embodiment, the target byte segment is determined from multiple byte segments of the data block, corresponding to a preset byte range. Specifically, the starting trajectory point location information is usually located at a fixed position in the data block. For example, bytes 4 to 7 and bytes 12 to 15 store the starting point's longitude and latitude, respectively. The offset is stored alternately in units of two bytes between bytes 28 and 123. Each offset is a signed integer, such as hexadecimal FF11 corresponding to decimal -239. To ensure the accuracy of data parsing, the offsets need to be correctly converted according to the byte order (endianness). These offsets are cumulative data, meaning that the coordinates of the current trajectory point are calculated based on the offset of the previous trajectory point, or the coordinates of the current trajectory point are calculated based on the offset of the starting trajectory point. Therefore, only by accurately extracting these target fields can reliable data support be provided for the subsequent reconstruction of geographic coordinates.
[0043] It is understandable that the data for each trajectory can consist of multiple data blocks. Each data block contains a target byte segment, which stores the position information of the starting trajectory point, the position information of the ending trajectory point, and the position offset of the trajectory point corresponding to the data block. Each data block includes at least one intermediate trajectory point between the starting and ending trajectory points. The ending point of the preceding data block is adjacent to the starting trajectory point of the following data block, connecting the trajectory point data stored in adjacent data blocks to ultimately form multiple consecutive trajectory points.
[0044] It's important to note that alternating storage refers to the sequential and continuous storage of longitude and latitude offsets within a specified data block of the file. Specifically, in the `tracksegment.dat` file, within a 96-byte region from byte 28 to byte 123, every two bytes serve as an offset unit, alternating between longitude and latitude offsets. That is, the first two bytes represent the first longitude offset, the next two bytes the first latitude offset, the next two bytes the second longitude offset, followed by the second latitude offset, and so on, until the end of the region. This alternating arrangement must be strictly followed during parsing to correctly reconstruct the latitude and longitude coordinates of each point. For example, if the alternating pattern is ignored during reading, and two consecutive offsets are mistakenly treated as either longitude or latitude, it will lead to systematic errors in all subsequent coordinate calculations, resulting in severely distorted reconstructed tracks. The purpose of alternating storage is to store longitude and latitude offsets alternately in binary files, which can avoid allocating separate storage areas for different types of data, thereby making more efficient use of limited storage space.
[0045] S500 calculates the geographic coordinate sequence of the navigation trajectory based on the location information of the starting trajectory point and the location offset of the trajectory points corresponding to each data block.
[0046] In this embodiment, the location information of the starting trajectory point, namely the longitude and latitude of the starting trajectory point, is combined with the offset, and then the position offset is converted by a set scaling factor (such as 60000) to restore the complete navigation trajectory point by point.
[0047] In some embodiments, abnormal data filtering and deduplication are performed on the position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block to obtain valid data; the geographic coordinate sequence of the navigation trajectory is calculated based on the valid data.
[0048] In this embodiment, the starting trajectory point location information and offset data extracted from each data block are first analyzed to identify any possible anomalies or redundancies. Anomalies typically arise from unreasonable jumps caused by power outages, signal loss, system malfunctions, or data overload during trajectory recording. For example, the latitude and longitude of a trajectory point may suddenly change within a short period, exceeding the possible offset range under normal navigation conditions. Redundant data may manifest as repeatedly recorded trajectory points, such as duplicate offset information generated by device restarts or data rollbacks. To effectively identify and remove these anomalies and redundancies, a multi-level verification mechanism can be employed, including continuity verification based on cumulative offset, legality detection using scale factor-based inverse geographic coordinate calculations, and setting offset thresholds for anomaly judgment. For instance, when the offset of a point exceeds a set threshold (e.g., ±50000), the offset can be deemed unreasonable and removed; similarly, when the coordinate difference between two consecutive trajectory points is less than a set precision threshold, it can be identified as duplicate data and deduplication can be performed.
[0049] In some embodiments, when filtering the original data image, error correction codes (ECCs) need to be removed to obtain a decodable data image. Only the data image reorganized after ECC removal is decodable and can then be used for subsequent file system analysis. The removal process mainly involves page structure splitting, dividing the NAND flash memory according to the page size (2112 bytes), retaining only the data area (the first 2048 bytes), and removing the ECC area (the last 64 bytes). Other parts are split similarly according to different page sizes. Then, the decodable data images are filtered to obtain the trajectory data file.
[0050] In some embodiments, when filtering the decodable data image, it is necessary to first obtain the file name and file content signature of each file in the decodable data image; then, based on the file name and file content signature, the trajectory data file is filtered out from each file in the decodable data image.
[0051] In this embodiment, the first step is to identify the file system type used by the device, such as FAT32, exFAT, or EXT4. Then, by reading the file system's metadata and directory structure, all files on the device are listed, and track files are filtered based on filename rule matching or file content signature feature recognition. For example, preliminary filtering is performed by matching whether the filename contains keywords such as "track", "segment", or "gps", and by combining file extensions such as ".dat" or ".pk". At the same time, it is also possible to determine whether the file contains specific format features by reading the byte content at a specific offset position in the file. For example, in the tracksegment.dat file, there is a fixed feature value A7E1 at offset 126 bytes, thus confirming that the file is a track data file. The purpose of this step is to quickly locate the target file, avoid blindly parsing all data, and thus improve the overall processing efficiency and accuracy.
[0052] In some embodiments, the position offset is the offset of the current trajectory point's position relative to the position of the previous trajectory point, see [reference]. Figure 4 , Figure 4 for Figure 1 The flowchart shows the sub-steps S501~S503 of step S500. Therefore, step S500 also includes sub-steps S501~S503: S501. Based on the position offset of the trajectory point corresponding to each data block and the preset scaling factor, calculate the actual offset value of the trajectory point corresponding to each data block.
[0053] In this embodiment, the position offset is typically stored as a signed integer in the data blocks of the track file. For example, in the tracksegment.dat file, the offset is stored alternately in 2-byte units at specified positions within the data block (e.g., between bytes 28 and 123). Each offset represents the incremental change of the current track point relative to the previous point. A preset scaling factor (e.g., 60000) is used to convert this offset into a change in actual geographic coordinates. The specific calculation method is: Actual offset value = Offset / Scaling factor. For example, if the offset in a data block is -239 and the scaling factor is 60000, then the actual offset value is -239 / 60000 ≈ -0.003983, which represents the change of the current track point in a certain geographic dimension (e.g., longitude or latitude) relative to the previous point. It is important to note that before performing this calculation, the offset must be correctly parsed according to the byte order (endianness) of the data storage to ensure the accuracy of the value.
[0054] S502. Calculate the position information of the trajectory point corresponding to each data block based on the actual offset value of the trajectory point corresponding to each data block and the position information of the previous trajectory point of the trajectory point corresponding to each data block.
[0055] In this embodiment, the geographical location information of the current trajectory point is calculated based on the actual offset value of the trajectory point corresponding to each data block, combined with the position information of the previous trajectory point. This process follows the cumulative offset model, that is, the coordinates of the current trajectory point are calculated by adding the coordinates of the previous point to the current offset. For example, if the longitude of the previous trajectory point is 40.39877 and the current offset is -0.003983, then the longitude of the current trajectory point is 40.39877 + (-0.003983) = 40.394787. This process iterates through all valid data blocks in sequence, constructing a complete sequence of trajectory points point by point. In this process, a continuity verification mechanism can also be introduced, for example, by detecting whether the offset amplitude between adjacent trajectory points is within a reasonable range, to further identify and eliminate possible abnormal or redundant data, thereby ensuring that the generated trajectory point information has a high degree of continuity and reliability.
[0056] S503. Based on the location information of the trajectory points corresponding to each data block, generate a sequence of geographic coordinates for the navigation trajectory.
[0057] In this embodiment, the geographic coordinate sequence of the navigation trajectory is typically organized in a structured form. Each trajectory point contains attribute information such as timestamp, longitude, latitude, track number, and color. This can be further converted into standard geographic information formats (such as GeoJSON, GPX, or KML) to facilitate visualization, path tracing, and legal acceptance on a GIS platform. For example, the generated coordinate sequence can be used to draw ship navigation path maps, assisting personnel in reconstructing the navigation trajectory, determining the existence of suspicious behavior, or for accident liability analysis and maritime investigations. Through this step, the original binary trajectory data is successfully transformed into structured data with clear geographic significance, providing solid technical support for subsequent data applications and analysis.
[0058] In some embodiments, the position offset is the offset of the current trajectory point's position relative to the starting trajectory point's position, see [reference]. Figure 5 , Figure 5 for Figure 1 The flowchart shows the sub-steps S504-S506 of step S500. Therefore, step S500 also includes sub-steps S504-S506: S504. Based on the position offset of the trajectory point corresponding to each data block and the preset scaling factor, calculate the actual offset value of the trajectory point corresponding to each data block.
[0059] In this embodiment, the offset used is the absolute offset of the current trajectory point relative to the starting trajectory point, rather than the relative offset relative to the previous trajectory point. Each offset represents the incremental change of the current trajectory point relative to the starting point, thus avoiding the error accumulation problem caused by single-point anomalies in traditional cumulative offset models and improving the stability and accuracy of trajectory reconstruction. Specifically, the offset is stored as a 2-byte signed integer in the data block of the trajectory file. For example, in the tracksegment.dat file, the offset is stored in a specified byte segment of the data block (e.g., between bytes 28 and 123) in an alternating latitude and longitude manner. The actual offset value can be obtained by converting the offset using a preset scaling factor (e.g., 60000). The calculation formula is: Actual offset value = Offset value / Scaling factor. Here, the actual offset value represents the offset of the trajectory point relative to the starting point in the longitude direction.
[0060] S505. Calculate the position information of the trajectory points corresponding to each data block based on the actual offset value of the trajectory points corresponding to each data block and the position information of the starting trajectory point.
[0061] In this embodiment, the information of the starting trajectory point is typically stored in fixed fields of the data block. For example, in the tracksegment.dat file, the longitude and latitude of the starting point are located in bytes 4 to 7 and bytes 12 to 15, respectively, stored in IEEE 754 floating-point format. Since this embodiment uses an absolute offset model, the coordinates of each trajectory point are calculated directly based on the starting point, rather than depending on the position of the previous trajectory point. Therefore, no accumulation or superposition is required during the calculation process. For example, if the starting longitude is 40.39877 and the actual longitude offset of the current trajectory point is -0.003983, then the longitude of this trajectory point is 40.39877 + (-0.003983) = 40.394787. This calculation method applies to all valid data blocks, thereby constructing a set of independently calculated trajectory points based on the starting point.
[0062] S506. Based on the location information of the trajectory points corresponding to each data block, generate a sequence of geographic coordinates for the navigation trajectory.
[0063] In this embodiment, similar to the previous method where the position offset is the offset of the current trajectory point relative to the position of the previous trajectory point, the navigation trajectory coordinate sequence is organized in a structured form. Each trajectory point contains attribute information such as timestamp, longitude, latitude, track number, and color, and can be further converted into standard geographic information formats (such as GeoJSON, GPX, or KML) to facilitate visualization, path tracing, and judicial acceptance on a GIS platform.
[0064] Based on the above method, embodiments of the present invention also provide a system corresponding to the above method, such as... Figure 6 As shown, Figure 6 This is a schematic diagram of the functional modules of the ship navigation device evidence collection system 1000 provided in this embodiment of the invention. It should be noted that the basic principle and technical effects of the ship navigation device evidence collection system 1000 provided in this embodiment are the same as those in the above method embodiments. For the sake of brevity, parts not mentioned in this embodiment can be referred to the corresponding content in the method embodiments.
[0065] In this embodiment, the ship navigation instrument evidence collection system 1000 includes a data acquisition module 1100, a filtering module 1200, a format recognition module 1300, and a calculation module 1400. The data acquisition module 1100 is used to acquire the raw data image of the ship navigation instrument. It can be understood that the data acquisition module 1100 is used to perform the above-described step S100.
[0066] The filtering module 1200 is used to filter the original data mirror to obtain the trajectory data file. It can be understood that the filtering module 1200 is used to perform the above step S200.
[0067] The format recognition module 1300 is used to divide the trajectory data file into multiple data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes multiple byte segments; for each data block, a target byte segment is obtained from the multiple byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block. It can be understood that the format recognition module 1300 is used to perform the above steps S300~S400.
[0068] The calculation module 1400 is used to calculate the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offset of the trajectory points corresponding to each data block. It can be understood that the calculation module 1400 is used to perform the above step S500.
[0069] In some embodiments, each byte segment corresponds to a byte range; the format recognition module 1300 is further configured to determine the byte segment corresponding to the preset byte range from multiple byte segments of the data block as the target byte segment.
[0070] In some embodiments, the position offset is the offset of the current trajectory point's position relative to the previous trajectory point's position. The calculation module 1400 is used to calculate the actual offset value of the trajectory point corresponding to each data block based on the position offset of the trajectory point corresponding to each data block and a preset scaling factor; calculate the position information of the trajectory point corresponding to each data block based on the actual offset value of the trajectory point corresponding to each data block and the position information of the previous trajectory point corresponding to the trajectory point of each data block; and generate a geographic coordinate sequence of the navigation trajectory based on the position information of the trajectory points corresponding to each data block. It can be understood that the calculation module 1400 is used to perform the above steps S501~S503.
[0071] In some embodiments, the position offset is the offset of the current trajectory point's position relative to the starting trajectory point's position; the calculation module 1400 is used to calculate the actual offset value of the trajectory point corresponding to each data block based on the position offset of the trajectory point corresponding to each data block and a preset scaling factor; calculate the position information of the trajectory point corresponding to each data block based on the actual offset value of the trajectory point corresponding to each data block and the position information of the starting trajectory point; and generate a geographic coordinate sequence of the navigation trajectory based on the position information of the trajectory points corresponding to each data block. It can be understood that the calculation module 1400 is used to perform the above steps S504~S506.
[0072] In some embodiments, the filtering module 1200 is used to remove error correction codes from the original data image to obtain a decodable data image; and to filter the decodable data image to obtain a trajectory data file.
[0073] For example, the filtering module 1200 is specifically used to obtain the file name and file content signature of each file in the decodable data image; and to filter out the trajectory data file from each file in the decodable data image based on the file name and file content signature.
[0074] In some embodiments, the calculation module 1400 is further configured to perform abnormal data filtering and deduplication on the position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block to obtain valid data; and calculate the geographic coordinate sequence of the navigation trajectory based on the valid data.
[0075] Based on the same inventive concept disclosed above, the present invention also provides a block diagram of an electronic device 2000 performing the above method. Please refer to... Figure 7 , Figure 7This is a block diagram of an electronic device 2000 provided in an embodiment of the present invention. The electronic device 2000 includes a processor 2100, a memory 2200, a bus 2300, and a communication interface 2400. The processor 2100 and the memory 2200 are connected via the bus 2300, and the processor 2100 communicates with external devices via the communication interface 2400.
[0076] Processor 2100 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed through integrated logic circuits in the hardware of processor 2100 or through software instructions. The processor 2100 may be a general-purpose processor 2100, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0077] The memory 2200 is used to store computer programs. For example, the ship navigation instrument evidence collection system 1000 in this embodiment of the invention includes at least one software function module that can be stored in the memory 2200 in the form of software or firmware. After receiving the execution instruction, the processor 2100 executes the program to implement the ship navigation instrument evidence collection method in this embodiment of the invention.
[0078] The memory 2200 may include high-speed random access memory (RAM) or non-volatile memory. Optionally, the memory 2200 may be a storage device built into the processor 2100 or a storage device independent of the processor 2100.
[0079] Bus 2300 can be ISA bus 2300, PCI bus 2300 or EISA bus 2300, etc. Figure 7 It is indicated by only one double-headed arrow, but does not mean that there is only one bus 2300 or one type of bus 2300.
[0080] Electronic devices 2000 can be mobile phones, tablets, laptops, desktop computers, and other computer devices.
[0081] Based on the same inventive concept, embodiments of the present invention also provide a computer-readable storage medium storing a computer program thereon, which, when executed by processor 2100, implements the ship navigation instrument evidence collection method described above. This computer-readable storage medium may include various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0082] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for obtaining evidence of a ship navigation instrument, characterized in that, The method includes: Obtain the raw data image of the ship's navigation system; The original data image is filtered to obtain a trajectory data file; The trajectory data file is divided into multiple data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes multiple byte segments; For each data block, a target byte segment is obtained from multiple byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block; Based on the location information of the starting trajectory point and the location offset of the trajectory point corresponding to each data block, the geographic coordinate sequence of the navigation trajectory is calculated.
2. The method according to claim 1, characterized in that, Each of the byte segments corresponds to a byte range; obtaining the target byte segment from the multiple byte segments of the data block includes: From the multiple byte segments of the data block, the byte segment corresponding to the preset byte range is determined as the target byte segment.
3. The method according to claim 1, characterized in that, The position offset is the offset of the current trajectory point relative to the position of the previous trajectory point; the calculation of the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offsets of the trajectory points corresponding to each data block includes: Based on the position offset of the trajectory point corresponding to each data block and the preset scaling factor, calculate the actual offset value of the trajectory point corresponding to each data block; Based on the actual offset value of the trajectory point corresponding to each data block and the position information of the previous trajectory point of the trajectory point corresponding to each data block, calculate the position information of the trajectory point corresponding to each data block. Based on the location information of the trajectory points corresponding to each data block, a sequence of geographic coordinates for the navigation trajectory is generated.
4. The method according to claim 1, characterized in that, The position offset is the offset of the current trajectory point relative to the position of the starting trajectory point; the calculation of the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offsets of the trajectory points corresponding to each data block includes: Based on the position offset of the trajectory point corresponding to each data block and the preset scaling factor, calculate the actual offset value of the trajectory point corresponding to each data block; Based on the actual offset value of the trajectory point corresponding to each data block and the position information of the starting trajectory point, the position information of the trajectory point corresponding to each data block is calculated. Based on the location information of the trajectory points corresponding to each data block, a sequence of geographic coordinates for the navigation trajectory is generated.
5. The method according to claim 1, characterized in that, The process of filtering the original data mirror to obtain trajectory data files includes: Error correction codes are removed from the original data image to obtain a decodeable data image; The decodeable data image is filtered to obtain the trajectory data file.
6. The method according to claim 5, characterized in that, The process of filtering the decodeable data image to obtain the trajectory data file includes: Obtain the file name and file content signature of each file in the decodable data image; Based on the file name and the file content signature, trajectory data files are selected from each file in the decodable data mirror.
7. The method according to claim 1, characterized in that, The step of calculating the geographic coordinate sequence of the navigation trajectory based on the position information of the starting trajectory point and the position offset of the trajectory points corresponding to each data block includes: The position information of the starting trajectory point and the position offset of the trajectory point corresponding to each data block are subjected to abnormal data filtering and deduplication to obtain valid data; The geographic coordinate sequence of the navigation trajectory is calculated based on the valid data.
8. A ship navigation instrument evidence collection system, characterized in that, The system includes: The data acquisition module is used to acquire the raw data image of the ship's navigation system; The filtering module is used to filter the original data image to obtain a trajectory data file; The format recognition module is used to divide the trajectory data file into multiple data blocks according to a preset byte length; each data block corresponds to at least one trajectory point, and each data block includes multiple byte segments; for each data block, a target byte segment is obtained from the multiple byte segments of the data block; the target byte segment is used to store the position information of the starting trajectory point and the position offset of the trajectory point corresponding to the data block; The calculation module is used to calculate the geographic coordinate sequence of the navigation trajectory based on the location information of the starting trajectory point and the location offset of the trajectory point corresponding to each data block.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a computer program that can be executed by the processor to implement the ship navigation instrument evidence collection method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the ship navigation instrument evidence collection method as described in any one of claims 1-7.