A hydrogeological data management system and method
Through sensors, the hydrological monitoring point data are collected, the homomorphic sub-range is divided and the numerical tolerance is calculated, which solves the problem of inefficiency in traditional hydrogeological data management, and the rapid identification and labeling of abnormal data is achieved, which improves the efficiency and accuracy of data management.
Patent Information
- Application Number
- CN202510356724.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-25
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2045-03-25
AI Technical Summary
Traditional hydrological geological data management methods rely on manual records and simple spreadsheets, resulting in inefficient data updates and analysis, making it difficult to detect and label in time and effectively detect erroneous geological data.
The sensor continuously collects data from hydrological monitoring points, divides homomorphic sub-ranges, calculates the numerical tolerance, determines whether the detection value is normal, and marks and reviews the outliers.
It realizes timely and effective management of hydrogeological data, can quickly identify and label abnormal data, and improves data update and analysis efficiency.
Smart Images

Figure CN119880057B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of hydrological management, and particularly relates to a hydrogeological data management system and method. Background Art
[0002] With the continuous increase in global water resource demand and the increasing prominence of water environment problems, the collection, management, and analysis of hydrogeological data have become crucial in the fields of water resource management, environmental protection, disaster prevention, etc. Hydrogeological data includes various types of data such as groundwater level, water quality, soil moisture content, rainfall, etc. These data usually have the characteristics of wide spatio-temporal distribution, large data volume, and high update frequency. The traditional hydrogeological data management method mainly relies on manual records and simple spreadsheet management, with low data update and analysis efficiency, and it is difficult to detect and mark abnormal hydrogeological data in a timely and effective manner. Summary of the Invention
[0003] The purpose of the present invention is to provide a hydrogeological data management system and method, which can timely and effectively detect abnormal hydrogeological data by summarizing and analyzing the detection values of each hydrographic monitoring point.
[0004] To solve the above technical problems, the present invention is realized through the following technical solutions:
[0005] The present invention provides a hydrogeological data management method, including,
[0006] Continuously obtaining the positions of each hydrographic monitoring point within the monitoring range and the hydrographic detection values of each type at each collection moment;
[0007] Dividing the monitoring range into several homomorphic sub-ranges with consistent hydrographic change states according to the hydrographic detection values of each type at each hydrographic monitoring point within the historical period;
[0008] Calculating the numerical tolerance of each type of hydrographic detection value within each homomorphic sub-range according to the numerical distribution span of different types of hydrographic detection values of all hydrographic monitoring points within the same collection moment in each homomorphic sub-range;
[0009] Obtaining the hydrographic detection values of each type of each hydrographic monitoring point within each homomorphic sub-range at the current collection moment;
[0010] Judging whether the detection values of each type of each hydrographic monitoring point at the current collection moment are normal according to the numerical tolerance of each type of hydrographic detection value within each homomorphic sub-range;
[0011] If so, continuously obtain and record the hydrographic detection values of each type of each hydrographic monitoring point at each collection moment;
[0012] If not, mark the abnormal detection values of the abnormal hydrogeological monitoring points.
[0013] The present invention also discloses a hydrogeological data management method, including,
[0014] Obtain the abnormal detection values of the abnormal hydrogeological monitoring points;
[0015] Recheck the abnormal detection values of the abnormal hydrogeological monitoring points.
[0016] The present invention also discloses a hydrogeological data management system, including,
[0017] Several types of sensors for collecting various types of hydrogeological detection values of each hydrogeological monitoring point within the monitoring range at each collection moment;
[0018] A data management terminal for continuously obtaining the positions of each hydrogeological monitoring point within the monitoring range and various types of hydrogeological detection values at each collection moment;
[0019] Divide the monitoring range into several homomorphic sub-ranges with consistent hydrogeological change states according to the various types of hydrogeological detection values of each hydrogeological monitoring point within the historical period;
[0020] Calculate the numerical tolerance of each type of hydrogeological detection value within each homomorphic sub-range according to the numerical distribution span of different types of hydrogeological detection values of all hydrogeological monitoring points within the same collection moment within each homomorphic sub-range;
[0021] Obtain the various types of hydrogeological detection values of each hydrogeological monitoring point within each homomorphic sub-range at the current collection moment;
[0022] Judge whether the detection values of each type of each hydrogeological monitoring point at the current collection moment are normal according to the numerical tolerance of each type of hydrogeological detection value within each homomorphic sub-range;
[0023] If so, continuously obtain and record the various types of hydrogeological detection values of each hydrogeological monitoring point at each collection moment;
[0024] If not, mark the abnormal detection values of the abnormal hydrogeological monitoring points;
[0025] A data rechecking terminal for obtaining the abnormal detection values of the abnormal hydrogeological monitoring points;
[0026] Recheck the abnormal detection values of the abnormal hydrogeological monitoring points.
[0027] The present invention collects hydrogeological data of each hydrographic monitoring point within the detection range through various types of sensors, and then summarizes and analyzes the detection values of each hydrographic monitoring point to divide and obtain a homomorphic sub-range with consistent hydrographic change states, and quickly determines whether there is abnormal hydrogeological data based on this.
[0028] Of course, any product implementing the present invention does not necessarily need to achieve all the above-mentioned advantages simultaneously. Brief Description of the Drawings
[0029] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the drawings required for describing the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0030] Figure 1 It is a schematic diagram of the functional modules and information flow directions of a hydrogeological data management system according to an embodiment of the present invention;
[0031] Figure 2 It is a schematic diagram of the step flow of the data management terminal according to an embodiment of the present invention;
[0032] Figure 3 It is a schematic diagram of the step flow of the data review terminal according to an embodiment of the present invention;
[0033] Figure 4 It is a schematic diagram of step S2 according to an embodiment of the present invention;
[0034] Figure 5 It is a schematic diagram of step S21 according to an embodiment of the present invention;
[0035] Figure 6 It is a schematic diagram of step S22 according to an embodiment of the present invention;
[0036] Figure 7 It is a schematic diagram of step S23 according to an embodiment of the present invention;
[0037] Figure 8 It is a schematic diagram of step S5 according to an embodiment of the present invention;
[0038] In the drawings, the list of components represented by each reference numeral is as follows:
[0039] 1 - Sensor, 2 - Data management terminal, 3 - Data review terminal. Detailed Description of the Embodiments
[0040] To make the objectives, technical solutions, and advantages of this application clearer, the following will further describe the embodiments of this application in detail with reference to the accompanying drawings.
[0041] It should be noted that the terms "first", "second", etc. in this application are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of this application described here can be implemented in an order different from those illustrated or described here. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. On the contrary, they are only examples of devices and methods consistent with some aspects of this application as detailed in the appended claims.
[0042] Please refer to Figures 1 to 2 As shown, the present invention provides a hydrogeological data management system, including a sensor 1, a data management terminal 2, and a data review terminal 3. The sensors 1 are dispersedly arranged at various places within the detection range. The type of the sensor 1 is determined according to the type of hydrogeological data to be collected, such as various types of data including groundwater level, water quality, soil moisture content, rainfall, etc. It may also include the chemical components of groundwater (such as pH value, dissolved oxygen, hardness, ion concentration, etc.) and pollutant content (such as heavy metals, organic substances, etc.), including the flow rate, flow direction, and permeability coefficient of groundwater, and the chemical components, pollutant concentration, and turbidity of surface water. The sensors 1 in this system continuously collect the hydrogeological detection values of each type at each hydrogeological monitoring point within the monitoring range at each collection moment during operation and transmit them to the data management terminal 2 through a network. The data management terminal 2 also needs to input the geographical location of each hydrogeological monitoring point before receiving the hydrogeological data in step S1.
[0043] Please refer to Figure 1 、 2 As shown in and 4, the data management terminal 2 needs to analyze the reference basis for anomaly judgment in combination with historical data before receiving the hydrogeological data for anomaly judgment. Since hydrogeological data changes with seasons, climate, and accidental factors, it is not appropriate to use fixed numerical standards for anomaly judgment. Generally speaking, the anomalies in hydrogeological data may be sensor anomalies or abnormal states in local areas. Therefore, within a large range, the difference in hydrogeological detection values of abnormal hydrogeological monitoring points compared with those of other hydrogeological monitoring points with similar past states increases. Therefore, it is first necessary to divide the hydrogeological monitoring points with similar past states, that is, to perform step S2 to divide the monitoring range into several homomorphic sub-ranges with consistent hydrogeological change states according to the hydrogeological detection values of each type at each hydrogeological monitoring point during the historical period. Specifically, first, step S21 can be performed to select multiple collection moments in the historical period as comparison collection moments.
[0044] Please refer toFigure 5 As shown, during the process of selecting the comparison acquisition time, since the hydrogeological state has timeliness, it is necessary to select the time period of the current season. Specifically, first, step S211 can be executed to obtain the starting time of the geographical unit where the monitoring range is located at the current climate solar term as the comparison acquisition starting time. Then, step S212 can be executed to evenly and intermittently extract some acquisition times from the comparison acquisition starting time to the current time as the comparison acquisition times. This is because the acquisition interval of sensor 1 may be very short. Using all the acquisition times not only involves extremely large analysis and calculation amounts but is also unnecessary. Therefore, evenly and intermittently extracting is sufficient.
[0045] Please refer to Figure 6 As shown, after the comparison acquisition times are selected, the hydrogeological states of each hydrogeological monitoring point can be quantified and calculated, that is, step S22 is executed. For each comparison acquisition time, the hydrogeological detection values of different types at different hydrogeological monitoring points are compared to obtain a combination of hydrogeological monitoring points with consistent hydrogeological states at multiple comparison acquisition times. Specifically, for each comparison acquisition time, first, step S221 can be executed to select several reference hydrogeological monitoring points from all the hydrogeological monitoring points within the monitoring range. It can be randomly selected or set by the staff. Next, step S222 can be executed to use the cumulative value of the differences in the hydrogeological detection values of each type of the hydrogeological monitoring points as the hydrogeological state difference value between the hydrogeological monitoring points, and calculate the hydrogeological state difference values between each reference hydrogeological monitoring point and other reference monitoring points. Next, step S223 can be executed to divide each reference hydrogeological monitoring point other than each reference hydrogeological monitoring point into the same hydrogeological monitoring point combination with the reference hydrogeological monitoring point with the smallest hydrogeological state difference value. Next, step S224 can be executed to determine whether the hydrogeological states of different hydrogeological monitoring points within the current hydrogeological monitoring point combination are consistent. If the above judgment result is consistent, it means that the current classified hydrogeological monitoring point combination has consistent hydrogeological states. Therefore, next, step S225 can be executed to obtain several hydrogeological monitoring point combinations with consistent hydrogeological states at this comparison acquisition time.
[0046] If the above judgment result is negative, it indicates that there is no consistency within the currently classified hydrological monitoring point combination. Therefore, regrouping is required. Specifically, first, step S225 can be executed to calculate the mean values of hydrological detection values of all hydrological monitoring points within each current hydrological monitoring point combination for each type of hydrological detection. Next, step S226 can be executed to use the hydrological monitoring point with the smallest hydrological state difference value from the mean values of hydrological detection values of all hydrological monitoring points within each hydrological monitoring point combination as the reselected reference hydrological monitoring point. Next, step S227 can be executed to re-divide the hydrological monitoring point combination based on the reselected reference hydrological monitoring point, and re-judge whether the hydrological states of different hydrological monitoring points within the re-divided hydrological monitoring point combination are consistent. In the above process, complete grouping is achieved through continuous iteration.
[0047] To supplement the implementation process of the above steps S221 to S227, the source code of some functional modules is provided, and corresponding explanations are given in the comment section. To avoid the leakage of data involving business secrets, some data that does not affect the implementation of the solution is desensitized. The same applies hereinafter.
[0048] #include <iostream>
[0049] #include <vector>
[0050] #include <map>
[0051] #include <cmath>
[0052] #include <algorithm>
[0053] #include <limits>
[0054] / / Define the data structure for hydrological monitoring points
[0055] struct MonitoringPoint {
[0056] int id; / / Monitoring point ID
[0057] std::map<std::string, double> values; / / Hydrological detection values of various types (such as water level, water quality, etc.)
[0058] };
[0059] / / Calculate the difference in hydrological status between two hydrological monitoring points
[0060] double calculateDifference(const MonitoringPoint& point1, const MonitoringPoint& point2) {
[0061] double difference = 0.0;
[0062] for (const auto& value : point1.values) {
[0063] difference += std::abs(point1.values.at(value.first) - point2.values.at(value.first));
[0064] }
[0065] return difference;
[0066] }
[0067] / / Select a reference hydrological monitoring point (simple example: select the first few monitoring points as reference points)
[0068] std::vector <int>selectReferencePoints(const std::vector <monitoringpoint>&points, int numReferences) {
[0069] std::vector <int>referenceIds;
[0070] for (int i = 0; i < numReferences; ++i) {
[0071] referenceIds.push_back(points[i].id);
[0072] }
[0073] return referenceIds;
[0074] }
[0075] / / Divide the hydrological monitoring point combinations
[0076] std::vector<std::vector <int>>divideGroups(const std::vector <monitoringpoint>&points, const std::vector <int>&referenceIds) {
[0077] std::vector<std::vector <int>> groups(referenceIds.size());
[0078] / / Calculate the difference value between each monitoring point and the reference point, and divide it into the group where the reference point with the smallest difference value is located
[0079] for (const auto& point : points) {
[0080] double minDifference = std::numeric_limits <double>::max();
[0081] int groupIndex = -1;
[0082] for (size_t i = 0; i < referenceIds.size(); ++i) {
[0083] double difference = calculateDifference(point, points[referenceIds[i] - 1]);
[0084] if (difference < minDifference) {
[0085] minDifference = difference;
[0086] groupIndex = i;
[0087] }
[0088] }
[0089] if (groupIndex != -1) {
[0090] groups[groupIndex].push_back(point.id);
[0091] }
[0092] }
[0093] return groups;
[0094] }
[0095] / / Determine whether the hydrological status within the hydrological monitoring point combination is consistent
[0096] bool isConsistent(const std::vector <int>&group, const std::vector <monitoringpoint>&points, double tolerance) {
[0097] if (group.empty()) return true;
[0098] / / Calculate the mean value of each type of detection value within the group
[0099] std::map<std::string, double> meanValues;
[0100] for (const auto& value : points[group[0] - 1].values) {
[0101] meanValues[value.first] = 0.0;
[0102] }
[0103] for (int pointId : group) {
[0104] for (const auto& value : points[pointId - 1].values) {
[0105] meanValues[value.first] += value.second;
[0106] }
[0107] }
[0108] for (auto& value : meanValues) {
[0109] value.second / = group.size();
[0110] }
[0111] / / Determine whether the detection value of each monitoring point within the group is within the range allowed by the mean value
[0112] for (int pointId : group) {
[0113] for (const auto& value : points[pointId - 1].values) {
[0114] if (std::abs(points[pointId - 1].values.at(value.first) - meanValues.at(value.first)) > tolerance) {
[0115] return false;
[0116] }
[0117] }
[0118] }
[0119] return true;
[0120] }
[0121] / / Re - select the reference hydrological monitoring point
[0122] std::vector <int>reselectReferencePoints(const std::vector <int>&group, const std::vector <monitoringpoint>&points) {
[0123] std::vector <int>newReferenceIds;
[0124] / / Calculate the mean value of each type of detection value within the group
[0125] std::map<std::string, double> meanValues;
[0126] for (const auto& value : points[group[0] - 1].values) {
[0127] meanValues[value.first] = 0.0;
[0128] }
[0129] for (int pointId : group) {
[0130] for (const auto& value : points[pointId - 1].values) {
[0131] meanValues[value.first] += value.second;
[0132] }
[0133] }
[0134] for (auto& value : meanValues) {
[0135] value.second / = group.size();
[0136] }
[0137] / / Select the monitoring point with the smallest difference from the mean value as the new reference point
[0138] double minDifference = std::numeric_limits <double>::max();
[0139] int newReferenceId = -1;
[0140] for (int pointId : group) {
[0141] double difference = 0.0;
[0142] for (const auto&value : points[pointId - 1].values) {
[0143] difference += std::abs(points[pointId - 1].values.at(value.first) -meanValues.at(value.first));
[0144] }
[0145] if (difference<minDifference) {
[0146] minDifference = difference;
[0147] newReferenceId = pointId;
[0148] }
[0149] }
[0150] if (newReferenceId != -1) {
[0151] newReferenceIds.push_back(newReferenceId);
[0152] }
[0153] return newReferenceIds;
[0154] }
[0155] / / Main function: Divide the hydrological monitoring point combinations for each comparison acquisition time
[0156] std::vector<std::vector <int>>processComparisonTime(const std::vector <monitoringpoint>&points, double tolerance) {
[0157] / / 1. Select reference hydrological monitoring points
[0158] int numReferences = 2; / / Example: Select 2 reference points
[0159] std::vector <int>referenceIds = selectReferencePoints(points,numReferences);
[0160] / / 2. Divide the hydrological monitoring point combinations
[0161] std::vector<std::vector <int>>groups = divideGroups(points,referenceIds);
[0162] / / 3. Determine whether the hydrological states within the combination are consistent. If not, reselect the reference points and re - divide
[0163] for (auto&group : groups) {
[0164] if (!isConsistent(group, points, tolerance)) {
[0165] std::vector <int>newReferenceIds = reselectReferencePoints(group,points);
[0166] group = divideGroups(points, newReferenceIds)[0]; / / Redivide and group
[0167] }
[0168] }
[0169] return groups;
[0170] }
[0171] int main() {
[0172] / / Example hydrological monitoring point data
[0173] std::vector <monitoringpoint>points = {
[0174] {1, {{"water_level", 5.0}, {"water_quality", 6.5}}},
[0175] {2, {{"water_level", 5.1}, {"water_quality", 6.6}}},
[0176] {3, {{"water_level", 4.8}, {"water_quality", 6.0}}},
[0177] {4, {{"water_level", 5.2}, {"water_quality", 6.7}}},
[0178] {5, {{"water_level", 4.9}, {"water_quality", 6.1}}}
[0179] };
[0180] / / Set the tolerance
[0181] double tolerance = 0.2;
[0182] / / Process the comparison collection time
[0183] auto groups = processComparisonTime(points, tolerance);
[0184] / / Output the result
[0185] std::cout << "Combinations of monitoring points with consistent hydrological status: " << std::endl;
[0186] for (size_t i = 0; i < groups.size(); ++i) {
[0187] std::cout << "Combination " << i + 1 << ": ";
[0188] for (int pointId : groups[i]) {
[0189] std::cout << pointId << " ";
[0190] }
[0191] std::cout << std::endl;
[0192] }
[0193] return 0;
[0194] }
[0195] In the above code, the MonitoringPoint structure represents a hydrological monitoring point and contains detection values. During the calculation of the hydrological state difference value, the calculateDifference calculates the hydrological state difference value between two monitoring points. Then, selectReferencePoints selects some monitoring points as reference points. Next, divideGroups divides the monitoring point combinations according to the reference points. During the judgment of the consistency of the hydrological state, isConsistent makes the judgment. Then, reselectReferencePoints performs the re - selection of reference points. The main function processComparisonTime in the code divides the hydrological monitoring point combinations for each comparison acquisition time.
[0196] This code implements a method for dividing hydrological monitoring point combinations based on the hydrological state difference value, which can effectively identify the monitoring point combinations with consistent hydrological states and ensure the consistency of the hydrological states within the combinations by re - selecting reference points. Through this method, a scientific basis can be provided for hydrogeological data analysis.
[0197] Please continue to refer to Figure 4 and 7 As shown, after grouping the hydrological monitoring points for each comparison acquisition time for consistency, it is also necessary to consider the grouping status under the states of all comparison acquisition times within this seasonal period, that is, to perform step S23 on the overlapping status between the hydrological monitoring point combinations with consistent hydrological states for each comparison acquisition time, to obtain several hydrological monitoring point combinations with consistent hydrological change states. Specifically, first, step S231 can be executed to calculate and obtain the cumulative value of the coincidence rate of the hydrological monitoring points included in the hydrological monitoring point combinations for each comparison acquisition time with the hydrological monitoring point combinations of other acquisition times. Next, step S232 can be executed to obtain the hydrological monitoring point combination of the comparison acquisition time with the largest cumulative value of the coincidence rate as the hydrological monitoring point combination with consistent hydrological change states. By analyzing and comparing one by one, the most representative comparison acquisition time is selected.
[0198] To supplement the implementation process of the above steps S231 to S232, the source code of some functional modules is provided, and corresponding explanations are given in the annotation part.
[0199] #include <iostream>
[0200] #include <vector>
[0201] #include <map>
[0202] #include <algorithm>
[0203] / / Define the data structure for the combination of hydrological monitoring points
[0204] using MonitoringGroup = std::vector <int>; / / Monitoring point combination (stores monitoring point IDs)
[0205] / / Calculate the consistency rate between two combinations of hydrological monitoring points
[0206] double calculateConsistencyRate(const MonitoringGroup& group1, const MonitoringGroup& group2) {
[0207] int commonPoints = 0; / / Number of monitoring points included in common
[0208] for (int pointId : group1) {
[0209] if (std::find(group2.begin(), group2.end(), pointId) != group2.end()) {
[0210] commonPoints++;
[0211] }
[0212] }
[0213] / / Consistency rate = Number of common monitoring points / Number of monitoring points in the larger combination
[0214] return static_cast <double>(commonPoints) / std::max(group1.size(),group2.size());
[0215] }
[0216] / / Calculate the cumulative value of the consistency rate of the hydrological monitoring point combinations at each comparison acquisition moment
[0217] std::vector <double>calculateConsistencySums(const std::vector <monitoringgroup>&groups) {
[0218] std::vector <double>consistencySums(groups.size(), 0.0);
[0219] / / Traverse each combination, calculate its consistency rate with all other combinations and accumulate
[0220] for (size_t i = 0; i < groups.size(); ++i) {
[0221] for (size_t j = 0; j < groups.size(); ++j) {
[0222] if (i != j) {
[0223] consistencySums[i] += calculateConsistencyRate(groups[i], groups[j]);
[0224] }
[0225] }
[0226] }
[0227] return consistencySums;
[0228] }
[0229] / / Get the combination of hydrological monitoring points with the largest accumulated consistency rate
[0230] MonitoringGroup getMostConsistentGroup(const std::vector <monitoringgroup>&groups, const std::vector <double>&consistencySums) {
[0231] / / Find the combination with the largest cumulative consistency value
[0232] auto maxIter = std::max_element(consistencySums.begin(), consistencySums.end());
[0233] size_t index = std::distance(consistencySums.begin(), maxIter);
[0234] return groups[index];
[0235] }
[0236] int main() {
[0237] / / Example of combinations of hydrological monitoring points at multiple comparison collection times
[0238] std::vector <monitoringgroup>groups = {
[0239] {1, 2, 4}, / / Combination at time 1
[0240] {2, 3, 4}, / / Combination at time 2
[0241] {1, 3, 5}, / / Combination at time 3
[0242] {2, 4, 5} / / Combination at time 4
[0243] };
[0244] / / 1. Calculate the cumulative value of the consistency rate for each combination
[0245] std::vector <double>consistencySums = calculateConsistencySums(groups);
[0246] / / 2. Obtain the combination with the largest cumulative consistency rate
[0247] MonitoringGroup mostConsistentGroup = getMostConsistentGroup(groups, consistencySums);
[0248] / / Output the result
[0249] std::cout << "Monitoring point combinations with consistent hydrological change states: ";
[0250] for (int pointId : mostConsistentGroup) {
[0251] std::cout << pointId << " ";
[0252] }
[0253] std::cout << std::endl;
[0254] return 0;
[0255] }
[0256] The above code implements a method to obtain combinations of hydrological monitoring points with consistent hydrological change states by calculating cumulative consistency sums. Through this method, combinations of monitoring points with consistent hydrological state changes can be effectively identified, providing support for hydrogeological data analysis.
[0257] Please continue to refer to Figure 4 As shown, since the distribution of hydrological monitoring points is scattered, the distribution range of hydrological monitoring points needs to be considered during the process of dividing homomorphic sub-ranges. Specifically, step S24 can be executed to use the distribution range of the positions of the monitoring points within each combination of hydrological monitoring points with consistent hydrological change states as a homomorphic sub-range, obtaining several homomorphic sub-ranges with consistent hydrological change states within the monitoring range.
[0258] Please continue to refer to Figures 1 to 2 As shown, after completing the division of homomorphic sub - ranges, the next step is to execute step S3 to calculate the numerical tolerance of each type of hydrological detection value within each homomorphic sub - range based on the numerical distribution span of different types of hydrological detection values of all hydrological monitoring points within the same collection moment in each homomorphic sub - range. For each homomorphic sub - range, calculate the difference between the maximum and minimum values of the numerical distribution range of each type of hydrological detection value of all hydrological monitoring points within the homomorphic sub - range at each collection moment as the numerical tolerance of each type of hydrological detection value within the homomorphic sub - range. Next, step S4 can be executed to obtain the hydrological detection values of each type of each hydrological monitoring point within each homomorphic sub - range at the current collection moment.
[0259] Please continue to refer to Figure 2 and 8 As shown, during the process of normal judgment of the hydro - geological state at the current moment, step S5 can be executed to judge whether the detection values of each type of each hydrological monitoring point at the current collection moment are normal according to the numerical tolerance of each type of hydrological detection value within each homomorphic sub - range. Specifically, first, step S51 can be executed. For each type of hydrological detection value of each hydrological monitoring point at the current moment, calculate the mean difference of the corresponding type of hydrological detection values of other hydrological monitoring points belonging to the same homomorphic sub - range as this hydrological monitoring point, and judge whether it is greater than the numerical tolerance corresponding to the homomorphic sub - range to which this hydrological monitoring point belongs. If so, it indicates an anomaly. Therefore, next, step S52 can be executed to regard this hydrological monitoring point as an abnormal hydrological monitoring point at the current moment, and regard the hydrological detection value of this type of this hydrological monitoring point as an abnormal detection value. If not, it indicates that all hydro - geological data at the current moment are normal. Therefore, next, step S53 can be executed without any operation. Of course, the non - operation in this solution here does not mean complete non - response of the system, but rather non - execution of anomaly judgment and operations related to anomaly judgment.
[0260] To supplement the implementation process of the above steps S51 to S53, the source code of some functional modules is provided, and corresponding explanations are given in the comment part.
[0261] #include <iostream>
[0262] #include <vector>
[0263] #include <map>
[0264] #include <algorithm>
[0265] #include <cmath>
[0266] / / Define the data structure of hydrological monitoring points
[0267] struct MonitoringPoint {
[0268] int id; / / Monitoring point ID
[0269] std::map<std::string, double> values; / / Hydrological detection values of various types (such as water level, water quality, etc.)
[0270] };
[0271] / / Define the data structure of the homomorphic sub-range
[0272] struct HomogeneousRange {
[0273] std::vector <int>pointIds; / / List of monitoring point IDs belonging to this sub - range
[0274] std::map<std::string, double> tolerance; / / Numerical tolerance for each type of hydrological detection value
[0275] };
[0276] / / Calculate whether the detection value of each hydrological monitoring point at the current moment is normal
[0277] void checkAbnormalValues(const std::vector <monitoringpoint>&points, const std::vector <homogeneousrange>&ranges) {
[0278] for (const auto& range : ranges) {
[0279] / / Traverse each monitoring point within this homomorphic sub-range
[0280] for (int pointId : range.pointIds) {
[0281] const auto& currentPoint = points[pointId - 1]; / / Current monitoring point
[0282] std::map<std::string, double> meanDifferences; / / Store the mean differences of various types of detection values
[0283] / / Calculate the mean differences between the current monitoring point and other monitoring points within the homomorphic sub-range
[0284] for (const auto& value : currentPoint.values) {
[0285] double sumDifferences = 0.0;
[0286] int count = 0;
[0287] for (int otherPointId : range.pointIds) {
[0288] if (otherPointId != pointId) {
[0289] const auto& otherPoint = points[otherPointId - 1];
[0290] sumDifferences += std::abs(currentPoint.values.at(value.first) - otherPoint.values.at(value.first));
[0291] count++;
[0292] }
[0293] }
[0294] meanDifferences[value.first] = sumDifferences / count;
[0295] }
[0296] / / Determine if the mean difference is greater than the numerical tolerance
[0297] for (const auto&value : currentPoint.values) {
[0298] if (meanDifferences[value.first]>range.tolerance.at(value.first)) {
[0299] std::cout << "The detected value " << value.first << " of monitoring point " << pointId << " is abnormal: " << value.second << std::endl;
[0300] } else {
[0301] std::cout << "The detected value " << value.first << " of monitoring point " << pointId << " is normal: " << value.second << std::endl;
[0302] }
[0303] }
[0304] }
[0305] }
[0306] }
[0307] int main() {
[0308] / / Example hydrological monitoring point data
[0309] std::vector <monitoringpoint>points = {
[0310] {1, {{"water_level", 5.0}, {"water_quality", 6.5}}},
[0311] {2, {{"water_level", 5.1}, {"water_quality", 6.6}}},
[0312] {3, {{"water_level", 4.8}, {"water_quality", 6.0}}},
[0313] {4, {{"water_level", 5.2}, {"water_quality", 6.7}}},
[0314] {5, {{"water_level", 4.9}, {"water_quality", 6.1}}}
[0315] };
[0316] / / Example homomorphic sub-ranges and their numerical tolerances
[0317] std::vector <homogeneousrange>ranges = {
[0318] {{1, 2, 4}, {{"water_level", 0.4}, {"water_quality", 0.2}}}, / / Sub - range 1
[0319] {{3, 5}, {{"water_level", 0.1}, {"water_quality", 0.1}}} / / Sub - range 2
[0320] };
[0321] / / Determine whether the detected values of each hydro - monitoring point at the current moment are normal
[0322] checkAbnormalValues(points, ranges);
[0323] return 0;
[0324] }
[0325] The above code implements a method for judging whether the detected values of hydro - monitoring points are normal according to numerical tolerances, which can effectively identify abnormal values. Through this method, a scientific basis can be provided for hydro - geological data management to support abnormal detection and data analysis.
[0326] Please continue to refer to Figures 1 to 3 As shown, in the judgment of step S5 above, if the result is not normal, then step S6 can be executed next to continuously obtain and record various types of hydro - detection values of each hydro - monitoring point at each acquisition moment. If the judgment result is the opposite, then step S7 can be executed next to mark the abnormal detection values of abnormal hydro - monitoring points. The marked abnormal hydro - geological data also needs to be reviewed, that is, the data review terminal 3 executes step S031 to obtain the abnormal detection values of abnormal hydro - monitoring points. Next, step S032 can be executed to review the abnormal detection values of abnormal hydro - monitoring points. The review in this solution can be for the staff to arrive at the scene to check for hardware failures of sensor 1, or for software troubleshooting using an error - correction algorithm. It should be noted that the abnormal values calculated in this solution are not necessarily incorrect. It may also be that the hydro - state of the hydro - monitoring point is in an unprecedented state, which requires marking the abnormal data in the hydro - geological data even more.
[0327] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatuses, systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved.
[0328] It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented by hardware, such as a circuit or an ASIC (Application Specific Integrated Circuit), that performs the corresponding functions or actions, or can be implemented by a combination of hardware and software, such as firmware, etc.
[0329] Although the present invention has been described in conjunction with the various embodiments, it will be understood by those skilled in the art that other variations of the disclosed embodiments can be understood and effected while practicing the claimed invention, by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not indicate that these measures cannot be combined to produce favorable results.
[0330] The embodiments of the present application have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the market, or to enable other ordinary skilled persons in the art to understand the embodiments disclosed herein.< / homogeneousrange> < / monitoringpoint> < / homogeneousrange> < / monitoringpoint> < / int> < / cmath> < / algorithm> < / map> < / vector> < / iostream> < / double> < / monitoringgroup> < / double> < / monitoringgroup> < / double> < / monitoringgroup> < / double> < / double> < / int> < / algorithm> < / map> < / vector> < / iostream> < / monitoringpoint> < / int> < / int> < / int> < / monitoringpoint> < / int> < / double> < / int> < / monitoringpoint> < / int> < / int> < / monitoringpoint> < / int> < / double> < / int> < / int> < / monitoringpoint> < / int> < / int> < / monitoringpoint> < / int> < / limits> < / algorithm> < / cmath> < / map> < / vector> < / iostream>
Claims
1. A hydrogeological data management method, characterized in that, including continuously obtaining the positions of each hydrological monitoring point within the monitoring range and hydrological detection values of each type at each collection moment selecting multiple collection moments in the historical period as comparison collection moments for each comparison collection moment, comparing the hydrological detection values of each type at different hydrological monitoring points to obtain combinations of hydrological monitoring points with consistent hydrological states at multiple comparison collection moments comparing the coincidence states between combinations of hydrological monitoring points with consistent hydrological states at each comparison collection moment to obtain several combinations of hydrological monitoring points with consistent hydrological change states taking the distribution range of the positions of the monitoring points within each combination of hydrological monitoring points with consistent hydrological change states as a homomorphic sub-range, and obtaining several homomorphic sub-ranges with consistent hydrological change states within the monitoring range calculating the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range according to the numerical distribution span of different types of hydrological detection values of all hydrological monitoring points within each homomorphic sub-range at the same collection moment obtaining the hydrological detection values of each type of each hydrological monitoring point within each homomorphic sub-range at the current collection moment judging whether the detection values of each type of each hydrological monitoring point at the current collection moment are normal according to the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range if so, continuously obtaining and recording the hydrological detection values of each type of each hydrological monitoring point at each collection moment if not, marking the abnormal detection values of the abnormal hydrological monitoring points 2. The method according to claim 1, characterized in that, the step of selecting multiple collection moments in the historical period as comparison collection moments includes obtaining the starting moment of the current climate solar term of the geographical unit where the monitoring range is located as the starting moment of comparison collection uniformly and at intervals extracting some collection moments from the starting moment of comparison collection to the current moment as comparison collection moments 3. The method according to claim 1, characterized in that, the step of, for each comparison collection moment, comparing the hydrological detection values of each type at different hydrological monitoring points to obtain combinations of hydrological monitoring points with consistent hydrological states at multiple comparison collection moments includes for each comparison collection moment, respectively performing the following steps selecting several reference hydrological monitoring points from all hydrological monitoring points within the monitoring range taking the accumulated value of the differences of the hydrological detection values of each type of the hydrological monitoring points as the hydrological state difference value between the hydrological monitoring points, and calculating and obtaining the hydrological state difference value between each reference hydrological monitoring point and other reference monitoring points classifying each other reference monitoring point other than each reference hydrological monitoring point into the same combination of hydrological monitoring points as the reference hydrological monitoring point with the smallest hydrological state difference value judging whether the hydrological states of different hydrological monitoring points within the current combination of hydrological monitoring points are consistent if so, obtaining several combinations of hydrological monitoring points with consistent hydrological states at this comparison collection moment if not, re-dividing the combination of hydrological monitoring points 4. The method according to claim 3, wherein the step of re-dividing the combination of hydrological monitoring points includes calculating the mean value of the hydrological detection values of all hydrological monitoring points within each current combination of hydrological monitoring points for each type Select the hydrological monitoring point with the smallest hydrological state difference value between each hydrological monitoring point combination and all hydrological monitoring points in the mean value of hydrological detection values of each type as the reselected reference hydrological monitoring point. Redivide the hydrological monitoring point combinations according to the reselected reference hydrological monitoring points, and rejudge whether the hydrological states of different hydrological monitoring points in the redivided hydrological monitoring point combinations are consistent.
5. The method according to claim 1, characterized in that The step of comparing the coincidence states between the hydrological monitoring point combinations with consistent hydrological states at each comparison acquisition moment to obtain several hydrological monitoring point combinations with consistent hydrological change states includes: Calculate and obtain the cumulative value of the coincidence rates of the hydrological monitoring points included in each hydrological monitoring point combination at each comparison acquisition moment with the hydrological monitoring point combinations at other acquisition moments. Take the hydrological monitoring point combination at the comparison acquisition moment with the largest cumulative value of the coincidence rate as the hydrological monitoring point combination with consistent hydrological change states.
6. The method according to claim 1 or 5, characterized in that, The step of calculating the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range according to the numerical distribution span of all hydrological monitoring points within each homomorphic sub-range for different types of hydrological detection values at the same acquisition moment includes: For each homomorphic sub-range, calculate and obtain the difference between the maximum and minimum values of the numerical distribution range of each type of hydrological detection value of all hydrological monitoring points within this homomorphic sub-range at each acquisition moment as the numerical tolerance of each type of hydrological detection value within this homomorphic sub-range.
7. The method according to claim 1 or 5, characterized in that The step of judging whether the detection values of each type of each hydrological monitoring point at the current acquisition moment are normal according to the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range includes: For the detection value of each type of each hydrological monitoring point at the current moment, calculate and obtain the mean value of the differences between the detection values of the corresponding types of this hydrological monitoring point and other hydrological monitoring points belonging to the same homomorphic sub-range, and judge whether it is greater than the numerical tolerance corresponding to the homomorphic sub-range to which this hydrological monitoring point belongs; If so, take this hydrological monitoring point as the abnormal hydrological monitoring point at the current moment, and take the detection value of this type of this hydrological monitoring point as the abnormal detection value; If not, no operation is performed.
8. A hydrogeological data management method, characterized in that, includes: Obtain the abnormal detection values of the abnormal hydrological monitoring points in the hydrological and geological data management method described in any one of claims 1 to 7. Recheck the abnormal detection values of the abnormal hydrological monitoring points.
9. A hydrogeological data management system, characterized in that, includes: Several types of sensors for collecting the hydrological detection values of each type of each hydrological monitoring point within the monitoring range at each acquisition moment; The data management terminal is used to continuously obtain the positions of each hydrological monitoring point within the monitoring range and the hydrological detection values of each type at each acquisition moment; Select multiple acquisition moments in the historical period as the comparison acquisition moments; For each comparison acquisition moment, compare the hydrological detection values of each type of different hydrological monitoring points to obtain multiple hydrological monitoring point combinations with consistent hydrological states at the comparison acquisition moments. Compare the coincidence status among combinations of hydrological monitoring points with consistent hydrological states at each comparison and collection moment to obtain several combinations of hydrological monitoring points with consistent hydrological change states; Take the distribution range of the positions of the monitoring points within each combination of hydrological monitoring points with consistent hydrological change states as a homomorphic sub-range, and obtain several homomorphic sub-ranges with consistent hydrological change states within the monitoring range; Calculate the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range according to the numerical distribution span of different types of hydrological detection values of all hydrological monitoring points within each homomorphic sub-range at the same collection moment; Obtain the hydrological detection values of each type of each hydrological monitoring point within each homomorphic sub-range at the current collection moment; Judge whether the detection values of each type of each hydrological monitoring point at the current collection moment are normal according to the numerical tolerance of each type of hydrological detection value within each homomorphic sub-range; If so, continuously obtain and record the hydrological detection values of each type of each hydrological monitoring point at each collection moment; If not, mark the abnormal detection values of the abnormal hydrological monitoring points; A data review terminal, which is used to obtain the abnormal detection values of the abnormal hydrological monitoring points; Review the abnormal detection values of the abnormal hydrological monitoring points.
Citation Information
Patent Citations
Flood disaster risk monitoring system and method based on distributed hydrological model, and storage medium
CN119169768A