Railway LiDAR cross-section data inspection and processing method
Patent Information
- Application Number
- CN202311632512.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-12-01
AI Technical Summary
[0004]本发明的目的是提供铁路LiDAR横断面数据检查与处理方法,以至少解决目前铁路横断面数据无法自动检测和修复且人工工作量大的问题
[0036]本发明对于在LiDAR点云上人工采集而来的铁路横断面数据,通过基于本发明开发的“断面助手”软件自动检测出已知类型的横断面点错误并提供自动修复功能,相比于现阶段人工检查的方法,大幅提升了铁路LiDAR横断面数据检查效率与准确率,减少了人工检查工作量,显著提高了铁路LiDAR横断面成果的质量水平。
Smart Images

Figure CN117635573B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of railway survey data processing technology, specifically to a method for inspecting and processing railway LiDAR cross-sectional data. Background Technology
[0002] LiDAR (Light Detection and Ranging) technology can efficiently acquire high-precision point cloud data within a survey area. It has the advantages of low cost, high efficiency, and greater security, and has been widely used in railway surveying, such as generating survey area ground models, extracting track centerlines, and measuring cross sections.
[0003] During cross-section measurement, due to the influence of software performance and human operation, the cross-section point results contain errors such as missing center stakes, mileage jumps, offset errors, abrupt elevation changes, and mileage discrepancies. Under conditions of large production workload and tight schedule, manual inspection is insufficient to detect and correct all cross-section point errors, thus posing a potential threat to the quality of cross-section data. Summary of the Invention
[0004] The purpose of this invention is to provide a method for inspecting and processing railway LiDAR cross-sectional data, so as to at least solve the current problems of the inability to automatically detect and repair railway cross-sectional data and the large amount of manual work involved.
[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0006] A method for inspecting and processing railway LiDAR cross-sectional data, the method comprising the following steps:
[0007] Collect railway cross-sectional data;
[0008] Input and preprocess the railway cross-section data;
[0009] Automatically check and repair cross-section point errors in the preprocessed railway cross-section data;
[0010] Output the repaired railway cross-section data.
[0011] Furthermore, the collection of railway cross-sectional data includes:
[0012] Railway cross-sectional data were collected from LiDAR point clouds, including the three-dimensional coordinates, attributes, mileage, and offset information of the cross-sectional points.
[0013] Furthermore, the input and preprocessing of the railway cross-section data includes:
[0014] The "Cross Section Assistant" software was used to read the railway cross section data collected from the LiDAR point cloud and sort the cross section points in ascending order according to the principle of "mileage first, then offset".
[0015] Furthermore, the automatic checking and repair of cross-section point errors in the preprocessed railway cross-section data includes:
[0016] Missing center stake: There is no cross-sectional point with zero offset in the cross section;
[0017] Mileage jump: The mileage at the cross-section point does not match the most recent mileage;
[0018] Offset error: The offset of the cross-section point does not match the calculated offset;
[0019] Abrupt elevation change: "spiky" points appear at the locations of cross-sectional points;
[0020] Mileage Breakthrough: Cross-sectional mileage is not an integer mileage.
[0021] Furthermore, the lack of a center stake: the absence of a cross-sectional point with zero offset in the cross-section, including:
[0022] Iterate through all cross-section points contained in a certain cross section. If the number of points with zero offset is zero, add the error type "missing center stake" and the corresponding mileage to the error list, and require manual measurement of the center stake point before checking.
[0023] Furthermore, the mileage jump: the mileage at the cross-sectional point does not match the most recent mileage, includes:
[0024] Identify and iterate through all center stakes, calculate the horizontal distance from each cross section point to each center stake, and take the mileage of the center stake point corresponding to the minimum horizontal distance as the nearest mileage of the current cross section point. If the mileage of the current cross section point does not match the nearest mileage, add the error type "mileage jump" and the point information to the error list, and repair it by replacing the current mileage with the nearest mileage.
[0025] Furthermore, the aforementioned offset error: the offset of the cross-sectional point does not match the calculated offset, including:
[0026] Traverse all cross-section points contained in a given cross-section, calculate the perpendicular distance d from the current cross-section point to the center stake point, and take the two center stake points A and B closest to the current cross-section point C, calculate the vector... with vector The z-component of the cross product is given by the formula:
[0027]
[0028] If the offset of the current cross-section point does not match the calculated offset, add the error type "Offset Error" and the point information to the error list, and then repair it by replacing the current offset with the calculated offset.
[0029] Furthermore, the elevation abrupt change: the appearance of "spiky" points at the cross-sectional locations, including:
[0030] Traverse all cross-section points contained in a given cross-section, calculate the angle and elevation difference between the current cross-section point and its two adjacent points. If the angle is less than 90°, or the elevation difference exceeds two meters both upwards and downwards, add the error type "elevation change" and the point information to the error list, and correct the elevation of the point after manual verification.
[0031] Furthermore, the mileage breakdown: cross-sectional mileage is not an integer mileage, including:
[0032] Determine whether the cross-sectional mileage can be converted to an integer. If not, add the error type "mileage breakage" and mileage information to the error list, and then replace the breakage mileage with an integer mileage by specifying a mileage replacement file to fix the problem.
[0033] Furthermore, the output of the repaired railway cross-section data includes:
[0034] Output the repaired cross-sectional data in the required format.
[0035] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0036] This invention provides an automatic detection and repair function for known types of cross-sectional point errors in railway cross-sectional data manually collected from LiDAR point clouds using the "Cross-section Assistant" software developed based on this invention. Compared with the current manual inspection method, this invention significantly improves the efficiency and accuracy of railway LiDAR cross-sectional data inspection, reduces the workload of manual inspection, and significantly improves the quality level of railway LiDAR cross-sectional results. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other embodiments can be obtained from these drawings without creative effort.
[0038] Figure 1 This is a flowchart of the railway LiDAR cross-sectional data inspection and processing method of the present invention;
[0039] Figure 2This is a table of (partial) railway cross-section data manually collected from LiDAR point clouds;
[0040] Figure 3 This is the main interface of the "Cross-section Assistant" software developed based on this invention;
[0041] Figure 4 This is a diagram showing the "Cross Section Assistant" software reading railway LiDAR cross section data files and detecting the error type "Missing Center Stake".
[0042] Figure 5 This is a diagram illustrating the contents of the mileage replacement comparison document;
[0043] Figure 6 This is a diagram illustrating the error types detected by the "Section Assistant" software: "Mileage Jump", "Offset Error", "Elevation Sudden Change", and "Mileage Break".
[0044] Figure 7 This is a diagram illustrating how the "Cross-Section Assistant" software automatically repairs "mileage jumps," "offset errors," and "mileage drops."
[0045] Figure 8 This is a partial output of cross-sectional data from the "Cross-Section Assistant" software, conforming to the format requirements of relevant railway design disciplines. Detailed Implementation
[0046] To facilitate understanding of the present invention, a more complete description will be given below with reference to the accompanying drawings. Preferred embodiments of the invention are shown in the drawings. However, the invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a thorough and complete understanding of the disclosure of the invention.
[0047] It should be noted that similar reference numerals and letters indicate similar items; therefore, once an item is defined in one embodiment, it does not need to be further defined and explained in subsequent embodiments. Furthermore, the terms "comprising" and any variations thereof are intended to cover non-exclusive inclusion; for example, a process or method that includes a series of steps or units is not necessarily limited to those explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes or methods.
[0048] It should also be noted that although the order of steps is mentioned in the method description, in some cases, steps may be performed in a different order than that described here, and this should not be interpreted as a restriction on the order of steps.
[0049] The railway LiDAR cross-sectional data inspection and processing method provided by this invention includes the following steps:
[0050] S1: Collect railway cross-sectional data;
[0051] S2: Input and preprocess the railway cross-section data;
[0052] S3: Automatically check and repair cross-section point errors in the preprocessed railway cross-section data;
[0053] S301: Missing center stake: There is no cross-sectional point with zero offset in the cross section;
[0054] S302: Mileage jump: The mileage at the cross-section point does not match the most recent mileage;
[0055] S303: Offset error: The offset of the cross-section point does not match the calculated offset;
[0056] S304: Abrupt elevation change: "spiky" points appear at the locations of cross-sectional points;
[0057] S305: Mileage Breakthrough: Cross-sectional mileage is not an integer.
[0058] S4: Output the repaired railway cross-section data.
[0059] Example:
[0060] like Figures 1-8 As shown, the railway LiDAR cross-sectional data inspection and processing method provided by the present invention specifically includes the following steps:
[0061] S1: Collect railway cross-sectional data;
[0062] Railway cross-section data were collected from LiDAR point clouds, including the three-dimensional coordinates, attributes, mileage, and offset information of the cross-section points.
[0063] The cross-sectional data acquisition was completed using the Hanning Railway 3D laser panoramic survey software. Based on the corrected LiDAR point cloud data, and utilizing the line centerline with accompanying mileage information, a large number of candidate points were automatically extracted along the cross-sectional line at specified mileage locations. Then, cross-sectional feature points were manually selected and assigned corresponding attributes. Finally, the cross-sectional data was exported as an XLSX format spreadsheet. Figure 2 The image shows the exported data for a portion of the cross-section.
[0064] S2: Input and preprocess the railway cross-section data;
[0065] Read the railway cross-section data collected from the LiDAR point cloud and sort the cross-section points in ascending order according to the principle of "mileage first, then offset";
[0066] The "Cross-section Assistant" software developed based on this invention is used to read railway LiDAR cross-section data, such as... Figure 3As shown, click "Select Section File", and in the pop-up open file dialog box, select the exported cross-section data spreadsheet. The software internally organizes the data into a two-level structure of "cross-section -> section point" according to the principle of "mileage first, offset second", which facilitates subsequent processing.
[0067] S3: Automatically check and repair cross-section point errors in the preprocessed railway cross-section data;
[0068] S301: Missing center stake: There is no cross-sectional point with zero offset in the cross section;
[0069] Iterate through all cross-section points contained in a certain cross section. If the number of points with zero offset is zero, add the error type "missing center stake" and the corresponding mileage to the error list, and require manual measurement of the center stake point before checking.
[0070] S302: Mileage jump: The mileage at the cross-section point does not match the most recent mileage;
[0071] Identify and iterate through all center stakes, calculate the horizontal distance from each cross section point to each center stake, and take the mileage of the center stake point corresponding to the minimum horizontal distance as the nearest mileage of the current cross section point. If the mileage of the current cross section point does not match the nearest mileage, add the error type "mileage jump" and the point information to the error list, and repair it by replacing the current mileage with the nearest mileage.
[0072] S303: Offset error: The offset of the cross-section point does not match the calculated offset;
[0073] Iterate through all cross-section points contained in a given cross-section and calculate the perpendicular distance d from the current cross-section point to the center stake point. Take the two center stake points A and B (A being the smaller mileage and B the larger mileage) closest to the current cross-section point C, and calculate the vector... with vector The z-component of the cross product is given by the formula:
[0074]
[0075] If the z-component is positive, meaning the current cross-section point is to the left of the line centerline in the direction of large mileage, then -d is taken as the calculated offset for that point. If the z-component is negative, meaning the current cross-section point is to the right of the line centerline in the direction of large mileage, then d is taken as the calculated offset for that point. If the offset of the current cross-section point does not match the calculated offset, the error type "Offset Error" and the point information are added to the error list, and the issue is corrected by replacing the current offset with the calculated offset.
[0076] S304: Abrupt elevation change: "spiky" points appear at the locations of cross-sectional points;
[0077] Traverse all cross-section points contained in a given cross-section, calculate the angle and elevation difference between the current cross-section point and its two adjacent points. If the angle is less than 90°, or the elevation difference exceeds two meters both upwards and downwards, add the error type "elevation change" and the point information to the error list, and correct the elevation of the point after manual verification.
[0078] S305: Mileage Breakthrough: Cross-sectional mileage is not an integer.
[0079] Determine whether the cross-sectional mileage can be converted to an integer. If not, add the error type "mileage breakage" and mileage information to the error list, and then replace the breakage mileage with an integer mileage by specifying a mileage replacement file to fix the problem.
[0080] by Figure 2 Taking the railway LiDAR cross-section data shown as an example, clicking "Check" reveals that the cross-section at mileage K235+163.7 is missing a center stake. Figure 4 As shown. Because there are no cross-section points with zero offset under this cross-section, and the position of the center stake in the cross-section is the most important, the checking of mileage jumps and offset errors all need to rely on the center stake point, so the software stops checking other types of errors and prompts to remeasure the center stake of this cross-section before checking again;
[0081] After correcting the missing center stake error, if you need to correct the mileage, check "Mileage Replacement" and specify the mileage replacement file, such as... Figure 5 As shown. Clicking "Check" reveals one instance each of mileage jump, offset error, and elevation change, as well as fifteen instances of mileage discrepancies. Figure 6 As shown. While detecting errors, it lists row numbers, mileage, and coordinate information to facilitate locating the corresponding position in the cross-sectional data spreadsheet for verification, and provides suggested values to aid in verifying the inspection results and subsequent repair work;
[0082] The inspection results show that, for example Figure 2 As shown, the mileage of the cross-section point corresponding to row 17 of the cross-section data spreadsheet should be K235+163.7, but it was incorrectly assigned the mileage value of K235+203.8, resulting in a mileage jump error. The offset of the cross-section point corresponding to row 2 of the cross-section data spreadsheet should be 14.263, but it was incorrectly assigned the offset value of -14.263, resulting in an offset error. The elevation value of the cross-section point corresponding to row 19 of the cross-section data spreadsheet is **25.258, which is about 3 meters higher than the adjacent cross-section points, resulting in an elevation abrupt change error. The cross-section mileages in the cross-section data spreadsheet are all non-integer mileages, resulting in mileage breakage errors. If mileage is required to be in whole numbers, mileage breakage errors can be ignored.
[0083] Click "Repair," and the software will automatically repair each error in the cross-sectional data spreadsheet, saving it as a file named "[Original Filename]-Repair.xlsx." It will then display "Repair Complete" and replace the selected cross-sectional file with the repaired file, facilitating the direct output of the repaired cross-sectional results later. Figure 7 As shown. For errors involving abrupt elevation changes, since the elevation value at that point cannot be calculated, it is necessary to manually measure it on the LiDAR point cloud and then correct it in the repaired file.
[0084] S4: Output the repaired railway cross-section data.
[0085] Clicking "Cross-section with Attributes" will automatically output a cross-sectional data file in the format required by railway design disciplines, such as... Figure 8 As shown.
[0086] The above examples illustrate the present invention only to aid in understanding it and are not intended to limit the scope of the invention. Those skilled in the art can make various simple deductions, modifications, or substitutions based on the principles of this invention.
Claims
1. A method for inspecting and processing railway LiDAR cross-sectional data, characterized in that: The method includes the following steps: Collect railway cross-sectional data; Input and preprocess the railway cross-section data; Automatically check and repair cross-section point errors in pre-processed railway cross-section data; Output the repaired railway cross-section data; in: The automatic inspection and repair of cross-section point errors in the preprocessed railway cross-section data includes: Missing center stake: There is no cross-sectional point with zero offset in the cross section; Mileage jump: The mileage at the cross-section point does not match the most recent mileage; Offset error: The offset of the cross-section point does not match the calculated offset; Abrupt elevation change: "spikes" appear at the locations of cross-sectional points; Mileage Breakthrough: Cross-sectional mileage is not an integer mileage; The absence of a center stake: This refers to the absence of section points with zero offset in the cross-section, including: Iterate through all cross-section points contained in a certain cross section. If the number of points with zero offset is zero, add the error type "missing center stake" and the corresponding mileage to the error list, and require manual measurement of the center stake point before checking. The mileage jump: the mileage at the cross-section point does not match the most recent mileage, including: Identify and iterate through all center stakes, calculate the horizontal distance from each cross section point to each center stake, and take the mileage of the center stake point corresponding to the minimum horizontal distance as the nearest mileage of the current cross section point. If the mileage of the current cross section point does not match the nearest mileage, add the error type "mileage jump" and the cross section point information to the error list, and repair it by replacing the current mileage with the nearest mileage. The offset error refers to a discrepancy between the offset of the cross-section point and the calculated offset, including: Iterate through all cross-section points contained in a given cross-section, calculate the perpendicular distance d from the current cross-section point to the center stake point, and take the two center stake points A and B closest to the current cross-section point C, calculate the vector... with vector The z-component of the cross product is given by the formula: ; If the offset of the current cross-section point does not match the calculated offset, add the error type "offset error" and the cross-section point information to the error list, and fix it by replacing the current offset with the calculated offset. The elevation abrupt change: "spikes" appear at the locations of the cross-sectional points, including: Traverse all cross-section points contained in a cross-section, calculate the angle and elevation difference between the current cross-section point and the two adjacent points before and after it. If the angle is less than 90°, or the elevation difference is more than two meters above or below, add the error type "elevation change" and the cross-section point information to the error list, and correct the elevation of the cross-section point after manual verification. The mileage breakdown: Cross-sectional mileage is not an integer mileage, including: Determine if the cross-sectional mileage can be converted to an integer. If not, add the error type "mileage break" and mileage information to the error list, and then replace the broken mileage with an integer mileage by specifying a mileage replacement file to fix the problem.
2. The method for checking and processing railway LiDAR cross-sectional data according to claim 1, characterized in that: The collection of railway cross-sectional data includes: Railway cross-sectional data were collected from LiDAR point clouds, including the three-dimensional coordinates, attributes, mileage, and offset information of the cross-sectional points.
3. The method for checking and processing railway LiDAR cross-sectional data according to claim 1, characterized in that: The input and preprocessing of the railway cross-section data includes: The "Cross Section Assistant" software was used to read the railway cross section data collected from the LiDAR point cloud and sort the cross section points in ascending order according to the principle of "mileage first, then offset".
4. The method for checking and processing railway LiDAR cross-sectional data according to claim 1, characterized in that: The output of the repaired railway cross-section data includes: Output the repaired cross-sectional data in the required format.
Citation Information
Patent Citations
Method for automatically extracting rail sections based on mobile measurement system
CN110986878A
Existing railway line cross section measurement method based on airborne LiDAR point cloud
CN112818776A