Methods for processing cross-sectional data
By using GIS technology to visualize cross-sectional data, the problems of cumbersome and inefficient cross-sectional data processing in existing methods are solved, and efficient and accurate cross-sectional data processing and result map generation are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-03
- Publication Date
- 2026-03-10
AI Technical Summary
Existing methods for processing cross-sectional data are cumbersome, inefficient, prone to errors, lack visualization capabilities, have fixed processes, are difficult to modify and troubleshoot, and their processing efficiency decreases as the number of cross-sectional points increases.
GIS technology is used to visualize cross-section points and lines, duplicate points are checked and removed, cross-section line directions are checked and edited, and the relationship between cross-section points, lines and center lines is constructed through spatial intersection and buffer analysis to generate cross-section result maps.
It improves the efficiency and accuracy of cross-sectional data processing, enables visualization of the processing process, simplifies the data processing workflow, and shortens the project duration.
Smart Images

Figure CN116431747B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a surveying and mapping data processing method, in particular to a surveying and mapping section data processing method. BACKGROUND
[0002] Section measurement is a measurement work of ground relief of a certain direction profile, and is also an important surveying and mapping work. In water conservancy, power, road and various engineering construction, a large amount of section measurement work is needed. Section measurement work includes section line design, field section point measurement, section data processing and section result data export, and the analysis, processing and result arrangement of section data are the most important links. Especially in a large number of section measurement tasks and massive section data, the processing of section data is particularly important.
[0003] The existing section data processing method mainly uses CAD and Excel to establish a corresponding relationship between the section points and the section lines through a complex process, and completes the calculation of various data and makes the result data of different formats by writing multiple macro commands or functions.
[0004] However, the existing section data processing steps are complicated, and the data needs to be repeatedly imported and calculated in CAD and Excel in the processing process, which is easy to make mistakes. Once an error occurs, the error reason cannot be found. The whole processing process cannot be visualized, especially the relationship between the section points and the section lines, which mainly shows the spatial relationship, and the existing method process cannot reflect this relationship. The process is fixed, and the data processing can only be carried out according to the established process, and the process cannot be interrupted. In actual work, the modification of section data is very frequent, and once a change occurs, all processes must be recalculated. It is difficult to find problems, and the last result is checked. If a problem occurs, it cannot be traced back, and it is difficult to lock the problem. The processing efficiency is low, and the method needs to traverse all section points for each section. The efficiency increases with the increase of section points. When the section point data reaches more than 100,000, a lot of time is needed for traversal calculation. SUMMARY
[0005] The technical problem to be solved by the present application is to provide a surveying and mapping section data processing method which can visualize the data processing process and can process data in large quantities and high efficiency.
[0006] In order to solve the above technical problems, the present application provides a surveying and mapping section data processing method, comprising the following steps:
[0007] S1. Obtain the section center line, section line and section point data, and use GIS technology for visual expression;
[0008] S2. Perform duplicate point checks and removal on the cross-section points, and check and edit the direction of the cross-section lines;
[0009] S3. Use GIS technology to construct the relationship between the cross-section points, the cross-section lines, and the cross-section centerline;
[0010] S4. Generate a cross-sectional result diagram based on the relationship data between the cross-section points, the cross-section lines, and the cross-section centerline;
[0011] S5. Export cross-sectional data.
[0012] Specifically, in step S2, the duplicate point check and removal for the cross-section points includes the following steps:
[0013] a. Traverse the cross-section point data set U1, obtain the current cross-section point dm_PointN, and perform buffer analysis to obtain the corresponding buffer surface dm_PointN_Buffer;
[0014] b. Calculate the minimum bounding rectangle dm_PointN_Buffer_Bbox of the buffer surface dm_PointN_Buffer, and perform a spatial intersection operation between the minimum bounding rectangle dm_PointN_Buffer_Bbox and the set U1 to obtain the set U2 of cross-section points falling within the minimum bounding rectangle dm_PointN_Buffer_Bbox;
[0015] c. Remove the cross-section point dm_PointN from the set U2, and store the unique identifier of the remaining cross-section points in the duplicate point set List;
[0016] d. Traverse the next cross-section point dm_PointN+1, and determine whether the unique identifier of the cross-section point dm_PointN+1 is contained in the set List. If it is contained, repeat step d; if it is not contained, repeat step ad.
[0017] e. Complete the traversal operation of the set U1 and delete the cross-section point data stored in the set List;
[0018] The initial value of N is 1.
[0019] Specifically, in step S2, checking and editing the direction of the cross-sectional lines includes traversing the set of cross-sectional lines and performing the following processing:
[0020] A. Obtain the current cross-section line dmLineN, and perform an intersection operation between the cross-section line dmLineN and the cross-section centerline, wherein...
[0021] If the intersection point dmLineN_Jpoint is obtained, then
[0022] A1. Divide the cross-section centerline by the nodes of the cross-section centerline to obtain a set of multiple straight line segments dmCenter_Line_List. Traverse the set dmCenter_Line_List to obtain the current straight line segment dmCenter_LineN. Calculate the distance d between the intersection point dmLineN_Jpoint and the straight line segment dmCenter_LineN, and store it in the set dList.
[0023] A2. Query the minimum value in the set dList, and obtain the corresponding line segment dmCenter_Line_dmin in the set dmCenter_Line_List;
[0024] A3. Represent the cross-section line dmLineN and the straight line segment dmCenter_Line_dmin as vectors, and use the vector cross product principle to determine the directionality of the vectors. If the vector cross product value is greater than zero, the direction of the cross-section line dmLineN conforms to the standard. If the vector cross product value is greater than zero, swap the starting point and ending point of the cross-section line dmLineN.
[0025] If there is no intersection, obtain the cross-section line dmLineN+1, traverse the next cross-section line dmLineN+1, and repeat step A until the traversal operation of the cross-section line set is completed.
[0026] The initial value of N is 1.
[0027] Specifically, cross-sectional data processing includes the following steps:
[0028] S31. Calculate the intersection point of the cross-section line and the center line of the cross-section to obtain the base point of the cross-section line;
[0029] S32. Calculate the length along the line from the base point of the cross-section line to the starting point of the center line of the cross-section, obtain the cross-section mileage data, and record it in the corresponding attributes of the cross-section line;
[0030] S33. Using the cache area analysis of the GIS technology, the cross-section line is matched with the cross-section point;
[0031] S34. Project the cross-section point onto the matching cross-section line to obtain the projection point T, calculate the distance between the projection point T and the starting point of the cross-section line, and obtain the starting point distance of the cross-section point.
[0032] S35. The elevation of the cross-section baseline point is obtained by interpolating the coordinates of the matching cross-section points on both sides of the baseline point.
[0033] Specifically, in step S32, calculating the cross-sectional mileage data includes traversing the set of cross-sectional lines and performing the following processing:
[0034] S321. Obtain the base point JN of the current cross-section line dmLineN, and separate the cross-section centerline with the nodes of the cross-section centerline to obtain a set of multiple straight line segments dmCenter_Line_List;
[0035] S322. Traverse the set dmCenter_Line_List, obtain the current line segment dmCenter_LineN, calculate the distance d between the base point JN and the line segment dmCenter_LineN, and store it in the set dList;
[0036] S323. Query the minimum value in the set dList, and obtain the corresponding line segment dmCenter_Line_dmin in the set dmCenter_Line_List. Extract the index number index_current of dmCenter_Line_dmin in the set dmCenter_Line_List.
[0037] S324. Calculate the distance sum1 from the base point JN to the starting point of the straight line segment dmCenter_Line_dmin. Traverse the set dmCenter_Line_List and calculate the sum2 of the lengths of the straight lines whose index number is less than index_current. Add sum1 and sum2 to obtain the cross-sectional mileage dm_li of the cross-sectional line dmLineN and record it in the cross-sectional attributes of the cross-sectional line dmLineN.
[0038] S325. Obtain the base point JN+1 of the next cross-section line dmLineN+1, and repeat steps S322-S325 until the traversal operation of the cross-section line set is completed.
[0039] The initial value of N is 1.
[0040] Specifically, in step S33, the cross-section point matching includes traversing the set of cross-section lines and performing the following processing:
[0041] S331. Obtain the current cross-section line dmLineN, generate a buffer zone B with a fixed threshold D for the cross-section line dmLineN, calculate the minimum rectangle B_Min of the buffer zone B, and retrieve the set of cross-section points P_B_Min that fall within the minimum rectangle B_Min.
[0042] S332. Traverse the set P_B_Min, retain the cross-section points that fall within the buffer zone B, and form a set of cross-section points that match the cross-section line dmLineN;
[0043] S333. Obtain the next cross-sectional line dmLineN+1, and repeat steps S331-S333 until the traversal operation of the cross-sectional line set is completed.
[0044] The initial value of N is 1.
[0045] Specifically, in step S35, the calculation of the elevation of the cross-section baseline includes traversing the set of cross-section lines and performing the following processing:
[0046] S351. Obtain the current cross-section line dmLineN, and retrieve the set of cross-section points dmPointList and the base point JN that match the cross-section line dmLineN;
[0047] S352. Sort the cross-section points in the set dmPointList by the starting distance and compare them with the starting distance of the base point JN to obtain the cross-section points P1 and P2 that are closest to each other on both sides of the base point JN in the direction of the cross-section line dmLineN.
[0048] S353. Calculate the elevation value Z3 of the base point JN according to the following formula:
[0049] Z3= Z1+D1×(Z2-Z1) / (D1+D2)
[0050] Wherein, D1 is the difference between the starting distance of the cross section point P1 and the base point JN, Z1 is the elevation value of the cross section point P1, D2 is the difference between the starting distance of the cross section point P2 and the base point JN, and Z2 is the elevation value of the cross section point P2.
[0051] S354. Obtain the next cross-sectional line dmLineN+1, and repeat steps S351-S354 until the traversal operation of the cross-sectional line set is completed.
[0052] The initial value of N is 1.
[0053] Specifically, in step S4, the maximum and minimum starting point distances of all cross-section points are obtained, the borders of the cross-section result chart are standardized, the set of cross-section lines is traversed, and the following processing is performed:
[0054] S41. Obtain the current cross-section line dmLineN, sort the cross-section points matched by the cross-section line dmLineN according to the starting distance, take the starting distance of the cross-section points as the X-axis, take the elevation value of the cross-section points as the Y-axis, reassemble a series of point coordinates, and take the series of point coordinates as nodes to form the cross-section profile line dmLine_p.
[0055] S42. Based on the maximum starting point distance, minimum starting point distance, maximum elevation value, and minimum elevation value of the cross-section points matched by the cross-section line dmLineN, construct the grid of the cross-section profile line dmLine_p;
[0056] S43. Based on the index number of the cross-section line dmLineN in the cross-section line set, offset the cross-section diagram and grid of the cross-section line dmLineN according to the arrangement rules and quantity of the cross-section diagrams;
[0057] S44. Obtain the next cross-section line dmLineN+1, and repeat steps S41-S44 until the traversal operation of the cross-section line set is completed.
[0058] The initial value of N is 1.
[0059] Preferably, in step S1, the data of the cross-section centerline, the cross-section line, and the cross-section points are stored as engineering files using the spatial database Spatialite.
[0060] Specifically, the cross-sectional result data includes cross-sectional point files, cross-sectional result diagrams, cross-sectional drawing files, baseline result tables, and cross-sectional information tables.
[0061] The beneficial effects of the present invention through the above solution are as follows:
[0062] The present invention provides a cross-section data processing method based on GIS technology to calculate the spatial relationships and numerical values between cross-section data. It can perform large-scale data processing and display the data processing process in a visual interface. It can check and remove duplicate points on cross-sections and check and edit the direction of cross-section lines, which greatly improves processing efficiency and can obtain detailed, accurate and real cross-section data, thus playing a positive role in shortening the project construction period.
[0063] Other features and advantages of the present invention will be described in detail in the following detailed description section. Attached Figure Description
[0064] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used together with the following detailed description to explain the invention, but do not constitute a limitation thereof. In the drawings:
[0065] Figure 1 This is a flowchart illustrating the steps of the cross-section data processing method of the present invention;
[0066] Figure 2 This is a flowchart of a specific embodiment of the cross-section data processing method of the present invention;
[0067] Figure 3 It is a schematic diagram of the river channel cross-section line and cross-section points;
[0068] Figure 4 It is a plan view (overall) of the cross-section points, cross-section lines, and cross-section centerline;
[0069] Figure 5 It is a plan view of the cross-section points, cross-section lines, and cross-section centerline (details);
[0070] Figure 6 This is a schematic diagram showing the directions of the cross-section lines and the centerline of the cross-section;
[0071] Figure 7 This is a schematic diagram of the matching between the cross-section line and the cross-section point;
[0072] Figure 8 This is a schematic diagram illustrating the calculation of the distance between the starting points of a cross section when there is only one projection point.
[0073] Figure 9 This is a schematic diagram illustrating the calculation of the distance between the starting points of the cross section without projection points.
[0074] Figure 10 This is a schematic diagram illustrating the calculation of the distance between the starting points of a cross-section in the case of multiple projection points;
[0075] Figure 11 This is a schematic diagram illustrating the calculation of the elevation of the cross-section baseline.
[0076] Figure 12 This is a schematic diagram of the cross-sectional line result;
[0077] Figure 13 This is a schematic diagram of the cross-section processing software. Detailed Implementation
[0078] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the present invention and are not intended to limit the embodiments of the present invention.
[0079] This invention provides a method for processing survey cross-section data, see [link to relevant documentation]. Figure 1 As a specific embodiment of the cross-section data processing method of the present invention, it includes the following steps:
[0080] S1. Obtain the cross-sectional centerline, cross-sectional line, and cross-sectional point data, and use GIS technology to visualize them;
[0081] S2. Perform duplicate point checks and removal on the cross-section points, and check and edit the direction of the cross-section lines;
[0082] S3. Use GIS technology to construct the relationship between the cross-section points, the cross-section lines, and the cross-section centerline;
[0083] S4. Generate a cross-sectional result diagram based on the relationship data between the cross-section points, the cross-section lines, and the cross-section centerline;
[0084] S5. Export cross-sectional data.
[0085] The method for processing cross-section data in this invention is based on GIS (Geographic Information System) technology to calculate the spatial relationships and numerical values between cross-section data. A geographic information system is a spatial information system that, with the support of computer hardware and software systems, can collect, store, manage, calculate, analyze, display, and describe relevant geographic distribution data in the entire or part of the Earth's surface space.
[0086] See Figure 2 First, cross-sectional data needs to be acquired. This involves importing cross-sectional points, lines, and centerlines. Cross-sectional points are the actual topographic cross-sectional data collected in the field survey; ideally, RTK (Real-Time Kinematic) technology can be used for this purpose. Cross-sectional lines and centerlines are design results, which can be designed and laid out using CAD. Their main parameters include the centerline position, length, and spacing. GIS technology can be used to visualize the cross-sectional points, lines, and centerlines, showing their spatial relationships as follows: Figure 4 and Figure 5 As shown, the spatial relationships between cross-sectional data can be intuitively understood during the data processing process.
[0087] In addition, when measuring cross-sectional points, land cross-sectional points can be measured manually using a portable RTX measuring instrument, while underwater cross-sectional points can be measured using a single-beam or multi-beam detector. In shallow swampy areas, the portable RTX measuring instrument can also be used for measurement by feeling the water level. Figure 3 As shown, the density of cross-section point collection should be based on the principle of fully reflecting topographic changes. In flat areas, the maximum point spacing should not exceed 20m. All topographic change points should be measured. The accuracy of cross-section points should conform to the corresponding measurement specifications according to different proportions. The results of the cross-section points measured in the field are in .dat format, including the plane coordinates and elevation of the cross-section points. A specific implementation method is shown in Table 1:
[0088]
[0089] Table 1. Cross-sectional data results
[0090] It should be noted that in step S1, the cross-section points measured in the field are saved as .dat files, and the planned cross-section lines and cross-section centerlines are stored as DXF files. All of the above cross-section data contain spatial information. For ease of processing, preferably, the Spatialite spatial database, which has spatial manipulation capabilities, is used to store the data of the cross-section centerlines, cross-section lines, and cross-section points as engineering files. The Spatialite spatial database is small in size, does not require installation, and is easy to move and save. Its data table structure is shown in Tables 2-5.
[0091]
[0092] Table 2 Cross-section point data table
[0093]
[0094] Table 3. Cross-section centerline data table
[0095]
[0096] Table 4 Cross-sectional line data table
[0097]
[0098] Table 5 Longitudinal Section Data Table
[0099]
[0100] Figure 6 Engineering Data Sheet
[0101] See Figure 2 After data import, preprocessing is required. During the preparation of cross-sectional point data, due to human factors, the same cross-sectional point data may be imported multiple times. Additionally, instrument malfunctions during field data acquisition may result in cross-sectional points with identical X and Y coordinates. Therefore, in step S2, duplicate cross-sectional points need to be checked and removed, which includes the following steps:
[0102] a. Traverse the cross-section point data set U1, obtain the current cross-section point dm_PointN, and perform buffer analysis to obtain the corresponding buffer surface dm_PointN_Buffer. In the preferred case, a buffer surface dm_PointN_Buffer with a buffer distance of 0.001 meters is used.
[0103] b. Calculate the minimum bounding rectangle dm_PointN_Buffer_Bbox of the buffer surface dm_PointN_Buffer, and perform a spatial intersection operation (GIS technology) between the minimum bounding rectangle dm_PointN_Buffer_Bbox and the set U1 to obtain the set U2 of cross-section points falling within the minimum bounding rectangle dm_PointN_Buffer_Bbox;
[0104] c. Remove the cross-section point dm_PointN from the set U2, and store the unique identifier of the remaining cross-section points in the duplicate point set List;
[0105] d. Traverse the next cross-section point dm_PointN+1, and determine whether the unique identifier of the cross-section point dm_PointN+1 is contained in the set List. If it is contained, repeat step d; if it is not contained, repeat step ad.
[0106] e. Complete the traversal operation of the set U1 and delete the cross-section point data stored in the set List;
[0107] The initial value of N is 1.
[0108] Furthermore, the cross-sectional data is directional, and this direction is related to the direction of the cross-sectional centerline and the direction of the cross-sectional lines. During data processing, this direction needs to be standardized and its accuracy ensured. In step S2, the direction of the cross-sectional lines needs to be checked and edited, primarily through automated program processing. Figure 6 As shown, the standard direction of the cross-section line is the direction facing the center line of the cross-section, with the left being the starting point and the right being the ending point. The direction of the cross-section line is from left to right. Specifically, checking and editing the direction of the cross-section line involves traversing the set of cross-section lines and performing the following processing:
[0109] A. Obtain the current cross-section line dmLineN, and perform an intersection operation between the cross-section line dmLineN and the cross-section centerline, wherein...
[0110] If the intersection point dmLineN_Jpoint is obtained, then
[0111] A1. Divide the cross-section centerline by its nodes to obtain a set of multiple straight line segments, dmCenter_Line_List. Traverse the set dmCenter_Line_List to obtain the current straight line segment dmCenter_LineN. Calculate the distance d from the intersection point dmLineN_Jpoint to the straight line segment dmCenter_LineN and store it in the set dList. It should be noted that the cross-section centerline is not a straight line, but a polyline composed of multiple turning nodes, and the nodes of the cross-section centerline are the turning nodes of the polyline.
[0112] A2. Query the minimum value in the set dList (the minimum value is generally 0), and obtain the corresponding line segment dmCenter_Line_dmin in the set dmCenter_Line_List;
[0113] A3. Represent the cross-sectional line dmLineN and the straight line segment dmCenter_Line_dmin as vectors. Use the vector cross product principle to determine the directionality of the vectors. If the vector cross product value is greater than zero, the direction of the cross-sectional line dmLineN conforms to the standard. If the vector cross product value is greater than zero, swap the starting point and ending point of the cross-sectional line dmLineN. Taking the cross-sectional line dmLine1 as an example, its starting point coordinates are (x0, y0), its ending point coordinates are (x1, y1), and its vector label is (x_dm, y_dm). Then x_dm = x1 - x0, y_dm = y1 - y0. The starting point coordinates of the straight line segment dmCenter_Line_dmin corresponding to the cross-sectional line dmLine1 are (x3, y3), its ending point coordinates are (x4, y4), and its vector label is (x_dm_center, y_dm_center). Then x_dm_center = x4 - x3, y_dm_center = y4 - x3. y3, the vector cross product value cValue = x_dm × y_dm_center - x_dm_center × y_dm. If cValue > 0, the direction of section line dmLine1 conforms to the standard; if cValue < 0, the direction of section line dmLine1 is opposite to the standard direction. The start and end points of section line dmLine1 are swapped and saved.
[0114] If there is no intersection, obtain the cross-section line dmLineN+1, traverse the next cross-section line dmLineN+1, and repeat step A until the traversal operation of the cross-section line set is completed.
[0115] The initial value of N is 1.
[0116] It should be noted that during the data preprocessing stage, specifically in step S2, the name of the cross-section centerline can be further modified, and this name can be used for file naming in the later cross-section result table. Simultaneously, the cross-section points collected in the field have annotation information, such as "gb" for "ditch edge," "gd" for "ditch bottom," and "lb" for "roadside." These English symbols can be modified to Chinese annotations. Specifically, in step S2, the data to be modified can be compiled into a data replacement template. Data editing operations can be marked within the template. During data processing, annotations are replaced according to the template data, and statistical information is provided, allowing operators to fully understand the annotation modifications. Manual modifications can also be made for special cases.
[0117] Further, see Figure 2 After data preprocessing, cross-sectional data processing is required. GIS technology is used to construct the relationships between cross-sectional points, lines, and centerlines. Spatial calculation methods such as spatial intersection and buffer zones are used to analyze these relationships, and information such as intersection points and spatial distances is recorded. This process includes the following steps:
[0118] S31. Calculate the intersection point of the cross-section line and the cross-section centerline to obtain the cross-section line base point; since the cross-section centerline and cross-section line are designed using CAD, and the numerical accuracy of CAD has problems, the intersection in CAD does not intersect in other software. Therefore, it is necessary to set the accuracy of cross-section data processing, that is, extend both ends of the cross-section centerline by 0.001 meters to solve the numerical accuracy problem of CAD.
[0119] S32. Calculate the length along the line from the base point of the cross-section line to the starting point of the center line of the cross-section, obtain the cross-section mileage data, and record it in the corresponding attributes of the cross-section line;
[0120] S33. Using the cache area analysis of the GIS technology, the cross-section line is matched with the cross-section point;
[0121] S34. Project the cross-section point onto the matching cross-section line to obtain the projection point T. Calculate the distance between the projection point T and the starting point of the cross-section line to obtain the starting point distance of the cross-section point. It should be noted that, see [link to relevant documentation]. Figures 8-10 There may be cases with only one projection point, no projection point, and multiple projection points. Therefore, in actual operation, the projection point T is the point on the cross-section line that is closest to the cross-section point. The closest point from the line to the specified point can be found using GIS spatial analysis technology.
[0122] S35. The elevation of the cross-section baseline point is obtained by interpolating the coordinates of the matching cross-section points on both sides of the baseline point.
[0123] Specifically, in step S32, calculating the cross-sectional mileage data includes traversing the set of cross-sectional lines and performing the following processing:
[0124] S321. Obtain the base point JN of the current cross-section line dmLineN, and separate the cross-section centerline with the nodes of the cross-section centerline to obtain a set of multiple straight line segments dmCenter_Line_List;
[0125] S322. Traverse the set dmCenter_Line_List, obtain the current line segment dmCenter_LineN, calculate the distance d between the base point JN and the line segment dmCenter_LineN, and store it in the set dList;
[0126] S323. Query the minimum value in the set dList (the minimum value is generally 0), and obtain the corresponding line segment dmCenter_Line_dmin in the set dmCenter_Line_List. Extract the index number index_current of dmCenter_Line_dmin in the set dmCenter_Line_List.
[0127] S324. Calculate the distance sum1 from the base point JN to the starting point of the straight line segment dmCenter_Line_dmin. Traverse the set dmCenter_Line_List and calculate the sum2 of the lengths of the straight lines whose index number is less than index_current. Add sum1 and sum2 to obtain the cross-sectional mileage dm_li of the cross-sectional line dmLineN and record it in the cross-sectional attributes of the cross-sectional line dmLineN.
[0128] S325. Obtain the base point JN+1 of the next cross-section line dmLineN+1, and repeat steps S322-S325 until the traversal operation of the cross-section line set is completed.
[0129] The initial value of N is 1.
[0130] Specifically, see Figure 7 In step S33, the cross-section point matching includes traversing the set of cross-section lines and performing the following processing:
[0131] S331. Obtain the current cross-section line dmLineN, generate a buffer zone B with a fixed threshold D for the cross-section line dmLineN, calculate the minimum rectangle B_Min of the buffer zone B, and retrieve the set of cross-section points P_B_Min that fall within the minimum rectangle B_Min.
[0132] S332. Traverse the set P_B_Min, retain the cross-section points that fall within the buffer zone B, and form a set of cross-section points that match the cross-section line dmLineN;
[0133] S333. Obtain the next cross-sectional line dmLineN+1, and repeat steps S331-S333 until the traversal operation of the cross-sectional line set is completed.
[0134] The initial value of N is 1.
[0135] Specifically, see Figure 11 In step S35, the calculation of the elevation of the cross-section baseline includes traversing the set of cross-section lines and performing the following processing:
[0136] S351. Obtain the current cross-section line dmLineN, and retrieve the set of cross-section points dmPointList and the base point JN that match the cross-section line dmLineN;
[0137] S352. Sort the cross-section points in the set dmPointList by the starting distance and compare them with the starting distance of the base point JN to obtain the cross-section points P1 and P2 that are closest to each other on both sides of the base point JN in the direction of the cross-section line dmLineN.
[0138] S353. Calculate the elevation value Z3 of the base point JN according to the following formula:
[0139] Z3= Z1+D1×(Z2-Z1) / (D1+D2)
[0140] Wherein, D1 is the difference between the starting distance of the cross section point P1 and the base point JN, Z1 is the elevation value of the cross section point P1, D2 is the difference between the starting distance of the cross section point P2 and the base point JN, and Z2 is the elevation value of the cross section point P2.
[0141] S354. Obtain the next cross-sectional line dmLineN+1, and repeat steps S351-S354 until the traversal operation of the cross-sectional line set is completed.
[0142] The initial value of N is 1.
[0143] After the relationship between cross-section points, cross-section lines, and cross-section centerlines is established, in step S4, the maximum and minimum starting point distances of all cross-section points are obtained, the borders of the cross-section result diagram are unified, the set of cross-section lines is traversed, and the following processing is performed:
[0144] S41. Obtain the current cross-section line dmLineN, sort the cross-section points matched by the cross-section line dmLineN according to the starting distance, take the starting distance of the cross-section points as the X-axis, take the elevation value of the cross-section points as the Y-axis, reassemble a series of point coordinates, and take the series of point coordinates as nodes to form the cross-section profile line dmLine_p.
[0145] S42. Based on the maximum starting point distance, minimum starting point distance, maximum elevation value, and minimum elevation value of the cross-section points matched by the cross-section line dmLineN, construct the grid of the cross-section profile line dmLine_p;
[0146] S43. Based on the index number of the cross-section line dmLineN in the cross-section line set, offset the cross-section diagram and grid of the cross-section line dmLineN according to the arrangement rules and quantity of the cross-section diagrams;
[0147] S44. Obtain the next cross-sectional line dmLineN+1, and repeat steps S41-S44 until the traversal operation of the cross-sectional line set is completed; after the data traversal processing is completed, draw the cross-sectional line profile data into a DXF file.
[0148] The initial value of N is 1.
[0149] The above steps are used to draw the following diagram. Figure 12 The cross-sectional results shown accurately reflect the actual terrain orientation, and the interface of the cross-section processing software is as follows: Figure 13 As shown, this software can simultaneously display the cross-sectional results, cross-sectional points, cross-sectional lines, and cross-sectional centerlines in a visual manner. It also correlates the cross-sectional points and lines in the results with the original data. When checking and verifying the cross-sectional results, if anomalies are found, the original data associated with the anomaly can be easily retrieved. By analyzing the original data, it can be determined whether it conforms to the actual situation. If it does not meet the requirements, modifying the abnormal original data will change the cross-sectional results accordingly. If it meets the requirements, the cross-sectional results data can be saved and exported in a fixed format. This method allows for rapid backtracking of abnormal data. The cross-sectional results data includes cross-sectional point files, cross-sectional results diagrams, cross-sectional results tables, cross-sectional drawing files, base point results tables, and cross-sectional information tables, etc.
[0150] In summary, the cross-section data processing method of this invention is based on GIS technology. It implements the methods and processes for cross-section data processing using computer software. When acquiring cross-section centerline, cross-section lines, and cross-section point data, GIS technology is used for visualization. Through data preprocessing, duplicate points are checked and identified, and the direction of cross-section lines is checked and edited, thereby improving the efficiency and accuracy of data processing. Furthermore, spatial calculation methods such as spatial intersection and buffer zones in GIS technology are used to analyze and construct the relationships between cross-section points, cross-section lines, and cross-section centerlines, thereby drawing the cross-section result map and exporting the cross-section result data. This achieves visualization, streamlining, and standardization of cross-section data processing, greatly improving processing efficiency and playing a positive role in shortening project timelines. In actual production processes, the cross-section result data processed by the cross-section data processing method of this invention can greatly assist in road construction, river analysis, and engineering construction in scheme comparison, design optimization, and the output of various drawings and design documents.
[0151] The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the specific details of the above embodiments. Within the scope of the technical concept of the present invention, various simple modifications can be made to the technical solution of the present invention, and these simple modifications all fall within the protection scope of the present invention.
[0152] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, the present invention will not describe the various possible combinations separately.
[0153] Furthermore, various different embodiments of the present invention can be combined in any way, as long as they do not violate the spirit of the present invention, they should also be regarded as the content disclosed by the present invention.
Claims
1. A method of processing profile data, characterized by, It comprises the following steps: S1. Obtain the section center line, section line and section point data, and visually express them by using GIS technology; S2. Check and remove repeated points of the section points, and check and edit the direction of the section line; S3. Build the relationship among the section points, the section line and the section center line by using GIS technology; wherein the section data processing comprises the following steps: S31. Calculate the intersection point of the section line and the section center line to obtain the section line base point; S32. Calculate the length along the line from the section line base point to the starting point of the section center line to obtain the section mileage data, and record it in the attribute of the corresponding section line; S33. Match the section line with the section point by using the buffer zone analysis of the GIS technology; S34. Project the section point onto the matched section line to obtain the projection point T, calculate the distance between the projection point T and the starting point of the section line to obtain the section point starting point distance; S35. Calculate the elevation of the section line base point by using the coordinate interpolation of the matched section points on both sides of the section line base point; S4. Generate the section result map according to the relationship data among the section points, the section line and the section center line; S5. Export the section result data.
2. The profile data processing method according to claim 1, wherein In step S2, the repeated point checking and removal of the section points comprises the following steps: a. Traverse the section point data set U1, obtain the current section point dm_PointN, and perform buffer zone analysis to obtain the corresponding buffer zone face dm_PointN_Buffer; b. Calculate the minimum circumscribed rectangle dm_PointN_Buffer_Bbox of the buffer zone face dm_PointN_Buffer, perform spatial intersection operation on the minimum circumscribed rectangle dm_PointN_Buffer_Bbox and the set U1 to obtain the section point set U2 falling within the minimum circumscribed rectangle dm_PointN_Buffer_Bbox; c. Remove the section point dm_PointN from the set U2, and store the remaining section point unique identifier in the repeated point set List; d. Traverse the next section point dm_PointN+1, and judge whether the unique identifier of the section point dm_PointN+1 is contained in the set List; if yes, repeat step d; if no, repeat steps a-d; e. Complete the traversal operation of the set U1, and delete the section point data stored in the set List; wherein the initial value of N is 1.
3. The profile data processing method of claim 1, wherein In step S2, the direction checking and editing of the section line comprises traversing the section line set and performing the following processing: A. Obtain the current section line dmLineN, and perform intersection operation on the section line dmLineN and the section center line, wherein if the intersection point dmLineN_Jpoint is obtained, then A1. The section center line is segmented by the nodes of the section center line to obtain a plurality of straight line segment sets dmCenter_Line_List, a current straight line segment dmCenter_LineN is obtained by traversing the set dmCenter_Line_List, the distance d of the intersection point dmLineN_Jpoint from the straight line segment dmCenter_LineN is calculated, and is stored in the set dList; A2. The minimum value in the set dList is queried, and the straight line segment dmCenter_Line_dmin in the set dmCenter_Line_List corresponding to the minimum value is obtained; A3. The section line dmLineN and the straight line segment dmCenter_Line_dmin are represented by vectors, the directionality of the vectors is judged by using the vector cross product principle, if the vector cross product value is greater than zero, the direction of the section line dmLineN meets the standard, if the vector cross product value is greater than zero, the starting point and the ending point of the section line dmLineN are exchanged; If there is no intersection point, the section line dmLineN+1 is obtained, the next section line dmLineN+1 is traversed, and the step A is repeated until the traversal operation of the section line set is completed; Wherein, the initial value of N is 1.
4. The profile data processing method of claim 1, wherein In step S32, the calculation of the section mileage data comprises traversing the section line set and performing the following processing: S321. The base point JN of the current section line dmLineN is obtained, and the section center line is segmented by the nodes of the section center line to obtain a plurality of straight line segment sets dmCenter_Line_List; S322. A current straight line segment dmCenter_LineN is obtained by traversing the set dmCenter_Line_List, the distance d of the base point JN from the straight line segment dmCenter_LineN is calculated, and is stored in the set dList; S323. The minimum value in the set dList is queried, and the straight line segment dmCenter_Line_dmin in the set dmCenter_Line_List corresponding to the minimum value is obtained, and the index number index_current of the dmCenter_Line_dmin in the set dmCenter_Line_List is extracted; S324. The distance sum1 of the base point JN to the starting point of the straight line segment dmCenter_Line_dmin is calculated, the length sum2 of the straight line segments with index numbers less than index_current in the set dmCenter_Line_List is calculated by traversing the set dmCenter_Line_List, sum1 and sum2 are added to obtain the section mileage dm_li of the section line dmLineN, and are recorded in the section attribute of the section line dmLineN; S325. Obtain the base point JN+1 of the next section line dmLineN+1, repeat steps S322-S325 until the traversal operation of the section line set is completed. The initial value of N is 1.
5. The method of claim 1, wherein, In step S33, the section point matching includes traversing the section line set and performing the following processing: S331. Obtain the current section line dmLineN, generate the buffer interval B of the fixed threshold D of the section line dmLineN, calculate the minimum rectangle B_Min of the buffer interval B, retrieve the section point set P_B_Min falling within the minimum rectangle B_Min, S332. Traverse the set P_B_Min, retain the section points falling within the buffer interval B to form the section point set matched with the section line dmLineN; S333. Obtain the next section line dmLineN+1, repeat steps S331-S333 until the traversal operation of the section line set is completed. The initial value of N is 1.
6. The profile data processing method of claim 1, wherein In step S35, the section line base point elevation calculation includes traversing the section line set and performing the following processing: S351. Obtain the current section line dmLineN, retrieve the section point set dmPointList matched with the section line dmLineN and the base point JN; S352. Sort the section points in the set dmPointList according to the start point distance, compare the start point distance of the base point JN with the start point distance of the base point JN, obtain the section point P1 and the section point P2 closest to the base point JN on the two sides of the section line dmLineN; S353. Calculate the elevation value Z3 of the base point JN according to the following formula: Z3= Z1+D1×(Z2-Z1) / (D1+D2) Wherein, D1 is the start point distance difference between the section point P1 and the base point JN, Z1 is the elevation value of the section point P1, D2 is the start point distance difference between the section point P2 and the base point JN, and Z2 is the elevation value of the section point P2; S354. Obtain the next section line dmLineN+1, repeat steps S351-S354 until the traversal operation of the section line set is completed. The initial value of N is 1.
7. The profile data processing method of claim 1, wherein In step S4, obtain the maximum start point distance and the minimum start point distance of all section points, unify the chart frame of the section result map, traverse the section line set, and perform the following processing: S41. Obtain the current section line dmLineN, sort the section points matched with the section line dmLineN according to the start point distance, take the start point distance of the section points as the X axis, take the elevation value of the section points as the Y axis, reconstitute the series point coordinates, take the series point coordinates as nodes to form the section profile line dmLine_p; S42. According to the maximum start point distance, the minimum start point distance, the maximum elevation value and the minimum elevation value of the section points matched with the section line dmLineN, construct the grid of the section profile line dmLine_p; S43. According to the index number of the section line dmLineN in the section line set, the profile and grid of the section line dmLineN are offset according to the arrangement rule and quantity of the section profile; S44. The next section line dmLineN+1 is obtained, and the steps S41-S44 are repeated until the traversal operation of the section line set is completed; Wherein, the initial value of N is 1.
8. The profile data mapping processing method according to claim 1, wherein In step S1, the data of the section center line, the section line and the section point are stored as engineering files by using a spatial database Spatialite.
9. The profile data processing method of claim 1, wherein, The section result data includes a section point file, a section result map, a section result table, a section drawing file, a base point result table and a section information table.
Citation Information
Patent Citations
GIS-based water conservancy big data service platform and its working method
CN109508363A
Linkage method of tunnel engineering geologic longitudinal section diagram and three-dimensional GIS (Geographic Information System) scene
CN115455549A