A big data governance method, system, electronic device, and storage medium
By calculating the geometric feature parameters and spatial registration of the fence, and combining it with a crowdsourcing mechanism, the problems of accuracy and efficiency in fence labeling in complex areas have been solved, enabling high-quality fence labeling and precise application in urban management.
Patent Information
- Application Number
- CN202511812754.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-04
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2045-12-04
AI Technical Summary
Existing technologies struggle to accurately capture boundary features when marking fences in areas with complex terrain features, resulting in low overall accuracy and efficiency in fence marking.
By calculating the convex hull area ratio and angle change rate of the fence coordinate point sequence, and combining the spatial registration of satellite imagery and map vector data, the land cover classification information is determined, and the cross-boundary ratio is calculated as a task complexity coefficient. The fence labeling task is then reasonably allocated to crowdsourcing users, and the consistency of the labeling results is evaluated based on spatial overlap and geometric similarity. Weighted fusion is then performed to improve accuracy.
This improved the overall quality and efficiency of fence labeling, ensuring the accurate application of electronic fences in urban management.
Smart Images

Figure CN121256515B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, specifically to a big data governance method, system, electronic device, and storage medium. Background Technology
[0002] With the deepening of urban digital transformation, Geographic Information Systems (GIS) are being used more and more widely in urban management. Among them, electronic fence technology, with its precise spatial positioning and flexible boundary delineation capabilities, plays an important role in areas such as business district analysis, delivery management, and traffic scheduling. Electronic fences achieve area monitoring and management by establishing virtual geographic boundaries, and their core is the accuracy and availability of fence labeling data.
[0003] Currently, geofencing annotation is primarily performed by a single processing terminal based on satellite imagery and vector map data to identify and annotate fence boundaries. This approach analyzes image features and land cover attributes to determine fence boundary locations and generate standardized fence data, demonstrating good performance in simple, regular areas.
[0004] However, in practical applications, the difficulty of fence labeling tasks varies significantly due to the complexity of urban feature distribution and the diversity of fence shapes. Especially in densely populated areas, fence boundaries often intertwine with natural features such as roads and waterways, exhibiting irregular geometric characteristics. Labeling using only a single processing terminal often fails to accurately grasp the boundary characteristics of complex areas, affecting the overall accuracy of fence labeling and thus reducing the efficiency of big data governance for fence labeling. Summary of the Invention
[0005] This application provides a big data governance method, system, electronic device, and storage medium that can improve the efficiency of big data governance for fence labeling.
[0006] Firstly, this application provides a big data governance method, including:
[0007] Obtain the first fence annotation data to be processed, which includes fence coordinate point sequence, satellite image data and map vector data;
[0008] The geometric feature parameters of the fence are calculated based on the fence coordinate point sequence, and the geometric feature parameters of the fence include the convex hull area ratio and the angle change rate.
[0009] Spatial registration is performed on the satellite image data and the map vector data to determine the land feature classification information within the fenced area. Based on the distribution of road pixels and water pixels in the land feature classification information, the cross-boundary ratio of the intersection length of the fence boundary line segment with the land feature classification to the total perimeter of the fence is calculated.
[0010] The task complexity coefficient is obtained by weighting and fusing the convex hull area ratio, the angle change rate, and the cross-boundary ratio, and the fence labeling task is assigned to the corresponding crowdsourcing user based on the task complexity coefficient.
[0011] Receive the revised second fence labeling data submitted by the crowdsourcing user;
[0012] When the same fence labeling task receives labeling results submitted by multiple crowdsourcing users, the spatial overlap and geometric similarity between the labeling results are determined based on the second fence labeling data.
[0013] The credibility score of the fence label is calculated based on the spatial overlap and the geometric similarity. When the credibility score of the fence label exceeds a preset threshold, the labeling results are weighted and fused together with the historical accuracy of each crowdsourcing user to obtain the target fence labeling result.
[0014] By adopting the above technical solution, firstly, by calculating the convex hull area ratio and angle change rate of the fence coordinate point sequence, and combining this with the cross-boundary ratio obtained from the land feature classification information after spatial registration, the geometric complexity and land feature interaction degree of the fence labeling task can be comprehensively characterized. Then, a reasonable allocation of fence labeling tasks can be achieved based on a weighted fusion task complexity coefficient. Secondly, by introducing a crowdsourcing mechanism to handle complex fence labeling tasks, and evaluating the consistency of labeling results based on spatial overlap and geometric similarity, and combining this with the historical accuracy of crowdsourcing users for weighted fusion, the accuracy of fence labeling in complex areas can be fully utilized to improve the accuracy of fence labeling in complex areas. This task-level and multi-source collaborative processing method not only improves the overall quality of fence labeling but also significantly enhances the efficiency of big data governance for fence labeling, providing strong support for the precise application of electronic fences in urban management.
[0015] Optionally, the area of the polygon formed by the sequence of fence coordinate points is calculated, and the area of the smallest convex polygon containing the sequence of fence coordinate points is calculated. The ratio of the polygon area to the area of the smallest convex polygon is used as the convex hull area ratio. Based on the sequence of fence coordinate points, the orientation angle of the line segment formed between adjacent fence coordinate points in the coordinate system is determined, and the change value of the orientation angle between adjacent line segments is calculated based on the orientation angle. The cumulative sum of the change values of the orientation angle within a unit perimeter is used as the angle change rate. The convex hull area ratio and the angle change rate are used as the geometric feature parameters of the fence.
[0016] Optionally, feature points with the same geographical location in the satellite image data and the map vector data are selected as control points, and the satellite image data and the map vector data are unified to the same coordinate system through the control points; based on the land feature type identifiers in the map vector data under the unified coordinate system, road vector lines and water body vector surfaces are extracted from the corresponding satellite image data; the road vector lines and the water body vector surfaces are rasterized to generate road pixel distribution maps and water body pixel distribution maps; the fence area is determined according to the fence coordinate point sequence, and the pixel position information in the road pixel distribution map and the water body pixel distribution map is extracted within the fence area as land feature classification information within the fence area.
[0017] Optionally, a rasterization resolution is obtained, and the fence area is divided into multiple grid cells according to the rasterization resolution; for the road vector line, grid cells that intersect with each line segment of the road vector line are marked as road pixels; for the water body vector surface, a ray casting algorithm is used to determine whether the center point of each grid cell is located inside the water body polygon, and grid cells located inside the water body polygon are marked as water body pixels; boundary smoothing processing is performed on the road pixels and the water body pixels; the road pixels after boundary smoothing are topologically connected to generate a road pixel distribution map, and the water pixels after boundary smoothing are topologically connected to generate a water body pixel distribution map.
[0018] Optionally, a set of fence boundary line segments is constructed based on the fence coordinate point sequence, and the total length of the fence boundary line segment set is calculated as the total perimeter of the fence; each line segment in the fence boundary line segment set is traversed to determine whether the line segment intersects with the distribution positions of the road pixels and water pixels; for line segments that intersect, the length of the line segment intersecting with the road pixels and the length of the line segment intersecting with the water pixels are calculated; the lengths of all line segments intersecting with the road pixels are summed to obtain the total length of road intersections, and the lengths of all line segments intersecting with the water pixels are summed to obtain the total length of water intersections; the sum of the total lengths of road intersections and the total lengths of water intersections is divided by the total perimeter of the fence to obtain the cross-boundary ratio.
[0019] Optionally, the historical annotation task information of each crowdsourcing user is obtained, including the historical complexity coefficient, annotation accuracy, and task completion time of completed tasks; based on the historical annotation task information, the annotation task completion rate of each crowdsourcing user under different complexity intervals is calculated; the task complexity coefficient is compared with a preset complexity grading threshold to determine the target complexity interval corresponding to the current fence annotation task; from each crowdsourcing user, candidate users whose annotation task completion rate under the target complexity interval exceeds a preset reliability threshold are selected; based on the current task backlog, average response time, and historical completion rate of each candidate user, the task allocation priority is calculated; the fence annotation task is preferentially allocated to the candidate user with the highest task allocation priority.
[0020] Optionally, when the credibility score of the fence label does not exceed the preset threshold, a dispute classification identifier is generated based on the difference type between the first fence label data and the second fence label data; a dispute report containing the dispute classification identifier, the first fence label data, and the second fence label data is generated; the dispute report is sent to the geographic information expert in the corresponding field for review, and the calculation weight of the task complexity coefficient is updated based on the review results.
[0021] A second aspect of this application provides a big data governance system, the system comprising:
[0022] The data acquisition module is used to acquire the first fence annotation data to be processed, which includes fence coordinate point sequence, satellite image data and map vector data;
[0023] The proportion determination module is used to calculate the geometric feature parameters of the fence based on the fence coordinate point sequence. The geometric feature parameters of the fence include the convex hull area ratio and the angle change rate. The module performs spatial registration of the satellite image data and the map vector data to determine the land feature classification information within the fence area. Based on the distribution of road pixels and water pixels in the land feature classification information, the module calculates the cross-boundary ratio of the intersection length of the fence boundary line segment with the land feature classification to the total perimeter of the fence.
[0024] The crowdsourcing user allocation module is used to perform weighted fusion of the convex hull area ratio, the angle change rate, and the cross-boundary ratio to obtain a task complexity coefficient, and to allocate the fence labeling task to the corresponding crowdsourcing user based on the task complexity coefficient.
[0025] The fence labeling module is used to receive the corrected second fence labeling data submitted by the crowdsourcing users; when the same fence labeling task receives labeling results submitted by multiple crowdsourcing users, it determines the spatial overlap and geometric similarity between the labeling results based on the second fence labeling data; it calculates the fence labeling credibility score based on the spatial overlap and geometric similarity; when the fence labeling credibility score exceeds a preset threshold, it performs weighted fusion of the labeling results in combination with the historical accuracy of each crowdsourcing user to obtain the target fence labeling result.
[0026] A third aspect of this application provides an electronic device including a memory, a processor, and a program stored in the memory and executable on the processor, the program being loaded and executed by the processor to implement a big data governance method.
[0027] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to implement a big data governance method.
[0028] In summary, one or more technical solutions provided in this application have at least the following technical effects or advantages:
[0029] By adopting the above technical solution, firstly, by calculating the convex hull area ratio and angle change rate of the fence coordinate point sequence, and combining this with the cross-boundary ratio obtained from the land feature classification information after spatial registration, the geometric complexity and land feature interaction degree of the fence labeling task can be comprehensively characterized. Then, a reasonable allocation of fence labeling tasks can be achieved based on a weighted fusion task complexity coefficient. Secondly, by introducing a crowdsourcing mechanism to handle complex fence labeling tasks, and evaluating the consistency of labeling results based on spatial overlap and geometric similarity, and combining this with the historical accuracy of crowdsourcing users for weighted fusion, the accuracy of fence labeling in complex areas can be fully utilized to improve the accuracy of fence labeling in complex areas. This task-level and multi-source collaborative processing method not only improves the overall quality of fence labeling but also significantly enhances the efficiency of big data governance for fence labeling, providing strong support for the precise application of electronic fences in urban management. Attached Figure Description
[0030] Figure 1 This is a flowchart illustrating a big data governance method provided in an embodiment of this application;
[0031] Figure 2 This is another flowchart illustrating a big data governance method provided in an embodiment of this application;
[0032] Figure 3 This is a schematic diagram of the structure of a big data governance system provided in an embodiment of this application;
[0033] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0034] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0035] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0036] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0037] This application provides a big data governance method. In one embodiment, please refer to... Figure 1 , Figure 1 This is a flowchart illustrating the big data governance method provided in this application embodiment. This method can be implemented using a computer program, which can be integrated into an application or run as a standalone tool application. The method can also be implemented using a microcontroller or run on a big data governance system based on the von Neumann architecture. Specifically, the method may include the following steps:
[0038] Step 101: Obtain the first fence annotation data to be processed. The first fence annotation data includes the fence coordinate point sequence, satellite image data and map vector data.
[0039] Firstly, fence labeling data is a collection of data used to define and describe the boundaries of a specific geographic area. A fence coordinate point sequence is a set of geographic coordinate points arranged in a certain order, each containing longitude and latitude information; these points are connected sequentially to form a closed polygonal area. Satellite imagery data is surface image data acquired through remote sensing satellites, containing spectral information and texture features of geographic features. Map vector data is geographic feature data stored in vector form, including geometric elements such as points, lines, and polygons. Each feature has spatial location and attribute information, such as road networks, building outlines, and water systems.
[0040] Specifically, initial fence labeling data is obtained through data interfaces or file import. Fence coordinate point sequences are stored in latitude and longitude coordinate pairs, such as "[(116.404, 39.915), (116.405, 39.916), ...]", with the coordinate points stored in a clockwise or counter-clockwise direction to ensure the formation of closed polygons. Satellite imagery data is stored in raster format with specific spatial resolution and band combinations, supporting standard formats such as GeoTIFF. Map vector data uses common formats such as Shapefile or GeoJSON, containing spatial coordinate information and attribute tables. The attribute tables record information such as feature type, name, and code. During data acquisition, the data format is validated to ensure coordinate system consistency, typically using WGS84 or other standard coordinate systems. Data integrity checks include verifying the continuity of fence coordinate points, checking the coverage of image data, and verifying the topological relationships of vector data. When data is missing or abnormal, it is handled through data supplementation or correction mechanisms to ensure the quality of input data for subsequent processing steps.
[0041] Step 102: Calculate the geometric feature parameters of the fence based on the fence coordinate point sequence. The geometric feature parameters of the fence include the convex hull area ratio and the angle change rate.
[0042] Geometric parameters of a fence are numerical indicators describing the complexity of its shape. The convex hull area ratio is the ratio of the area of the original polygon to the area of its smallest convex hull. It measures the degree of concavity and convexity of the fence shape; a smaller ratio indicates a more irregular shape. For example, when the fence shape is a regular rectangle, the convex hull area ratio is 1. When the fence shape has many indentations, the convex hull area ratio will be significantly less than 1. The angular change rate is the cumulative sum of the angular changes of adjacent line segments per unit perimeter. It measures the degree of curvature of the fence boundary. A larger value indicates more frequent boundary transitions. For example, the angular change rate of a straight boundary is 0, while the angular change rate of a jagged boundary is relatively high.
[0043] Specifically, the convex hull area ratio is calculated first. The area of the original polygon is calculated using the coordinate sequence of the fence coordinates, using the formula: Area = 0.5 * |Σ(xi*yi+1 - xi+1*yi)|, where (xi, yi) are the coordinates of the i-th vertex. Then, the Graham scan method is used to construct the minimum convex hull. This algorithm finds the minimum convex polygon containing all vertices through polar angle sorting and stack operations, and the convex hull area is calculated using the coordinate method as well. The convex hull area ratio is obtained by dividing the original area by the convex hull area. Next, the rate of change of angles is calculated. First, the direction angle of each adjacent line segment is calculated using the arctangent function: θ = arctan((y2-y1) / (x2-x1)), requiring angle correction based on quadrant position. For each pair of adjacent line segments, the difference in direction angles Δθ is calculated, taking the absolute value and ensuring the result does not exceed 180 degrees. All angle change values are summed and divided by the fence perimeter to obtain the rate of change of angle per unit perimeter. The perimeter is calculated by summing the lengths of all line segments. The resulting convex hull area ratio and angular change rate together constitute the geometric characteristic parameters of the fence, used for subsequent complexity assessment. Both parameters are represented by standardized values between 0 and 1 for ease of subsequent processing. The combination of these two parameters can comprehensively reflect the regularity of the fence shape and the complexity of its boundaries.
[0044] In one possible implementation, the geometric feature parameters of the fence are calculated based on the fence coordinate point sequence, specifically including steps 1021-1023, as follows:
[0045] Step 1021: Calculate the area of the polygon formed by the sequence of fence coordinate points, and calculate the area of the smallest convex polygon containing the sequence of fence coordinate points. Use the ratio of the polygon area to the area of the smallest convex polygon as the convex hull area ratio.
[0046] The area of a polygon is the size of the closed region formed by connecting the coordinate points of a fence. The minimum convex polygon, also known as the convex hull, is the smallest convex polygon that contains all given coordinate points; its characteristic is that the line connecting any two points lies inside the polygon. The convex hull area ratio is the ratio of the area of the original polygon to the area of its minimum convex hull. This ratio reflects the convex / concave characteristics of the fence shape. For example, for a pentagram-shaped fence, the area of its original polygon is significantly smaller than the area of the regular pentagon (convex hull) enclosing the pentagram, so the convex hull area ratio will be less than 1; while for a rectangular fence, which is itself a convex polygon, the convex hull area ratio is equal to 1.
[0047] Specifically, the area of the original polygon is first calculated using the coordinate method. The sequence of coordinate points of the fence is represented as {(x1, y1), (x2, y2), ..., (xn, yn)}, where n is the number of coordinate points. The formula is: Area = 0.5 * |Σ(xi * yi + 1 - xi + 1 * yi)|, where i ranges from 1 to n-1. Finally, (xn * y1 - x1 * yn) is added to close the polygon. Next, the minimum convex hull is constructed using the Graham scan algorithm: 1) Find the point with the smallest y-coordinate as the starting point; 2) Calculate the polar angle of other points relative to the starting point; 3) Sort by polar angle; 4) Maintain a stack, pushing points onto the stack sequentially. Each time a new point is pushed, check if a left turn (counter-clockwise) is formed. If a right turn is formed, pop the top of the stack until the left turn condition is met. The points remaining in the stack constitute the minimum convex hull. The convex hull area is calculated using the same coordinate method. The convex hull area ratio is obtained by dividing the area of the original polygon by the area of the convex hull. This ratio ranges from 0 to 1. The closer the value is to 1, the closer the fence shape is to a convex polygon; the smaller the value, the more pronounced the convex and concave changes in the fence shape. When the fence is a completely convex polygon, the two areas are equal, and the ratio is 1. When the fence has indentations, the original area is smaller than the convex hull area, and the ratio is less than 1.
[0048] Step 1022: Based on the sequence of fence coordinate points, determine the direction angle of the line segment formed between adjacent fence coordinate points in the coordinate system, and calculate the change value of the direction angle between adjacent line segments based on the direction angle. The cumulative sum of the change values of the direction angle within a unit perimeter is taken as the angle change rate. The convex hull area ratio and the angle change rate are taken as the geometric feature parameters of the fence.
[0049] An orientation angle is the angle between a line segment and the positive direction of the coordinate system, ranging from 0 to 360 degrees. The change in orientation angle is the absolute value of the difference between the orientation angles of two adjacent line segments, reflecting the degree of curvature of the line segment. Perimeter is the actual perimeter of a fence standardized to one unit length. The rate of change of angle represents the cumulative change in angle over a unit perimeter; a larger value indicates a more tortuous fence boundary. For example, a rectangular fence with only four 90-degree corners has a low rate of change of angle, while an irregular polygon with multiple unequal corners has a higher rate of change of angle.
[0050] Specifically, the direction angle of each line segment is first calculated. For adjacent points (xi, yi) and (xi+1, yi+1) in the fence coordinate point sequence {(x1, y1), (x2, y2), ..., (xn, yn)}, the direction angle is calculated using the arctangent function: θi = arctan((yi+1 - yi) / (xi+1 - xi)). Due to the range limitation of the arctangent function, quadrant judgment and angle correction are required based on the sign of the coordinate difference: when Δx > 0 and Δy > 0, θ = arctan(Δy / Δx); when Δx < 0, θ = arctan(Δy / Δx) + 180°; when Δx > 0 and Δy < 0, θ = arctan(Δy / Δx) + 360°. The change in direction angle between adjacent line segments is calculated as Δθi = |θi+1 - θi|. If Δθi > 180°, then 360° - Δθi is taken as the actual angle change value. Calculate the fence perimeter L = Σ(segment length). Sum all angle changes and divide by the perimeter to obtain the angle change rate: R = (ΣΔθi) / L. Finally, combine the convex hull area ratio and the angle change rate to form a two-dimensional feature vector [convex hull area ratio, angle change rate], which serves as parameters describing the fence's geometric characteristics. These two parameters together reflect the fence's shape characteristics, providing fundamental data support for subsequent complexity assessment. In practical implementations, the angle change rate is usually normalized, mapping the value to between 0 and 1, facilitating comprehensive analysis with the convex hull area ratio.
[0051] Step 103: Spatial registration of satellite imagery data and map vector data to determine the land feature classification information within the fenced area, and based on the distribution of road pixels and water body pixels in the land feature classification information, calculate the cross-boundary ratio of the intersection length of the fence boundary line segment and the land feature classification to the total perimeter of the fence.
[0052] Land cover classification information refers to the classification results of land cover types, including feature categories such as roads and water bodies. Road pixels and water body pixels are rasterized land cover features, with each pixel representing a geospatial unit. The cross-boundary ratio is the ratio of the length of the portion where a fence boundary intersects with a land cover feature to the total perimeter, used to measure the degree of overlap between the fence boundary and natural features. For example, if a fence boundary partially follows a river and partially overlaps with a road, the ratio of the cumulative length of this overlapping portion to the fence perimeter is the cross-boundary ratio.
[0053] Specifically, spatial registration is performed first. Obvious intersections of features and building corners in satellite imagery and map vector data are selected as control points, with each control point recording its corresponding coordinates from both data sources. A polynomial transformation model is used to establish coordinate transformation relationships, and the transformation parameters are solved using the least squares method. After registration, road and water features are extracted from the map vector data. Road features are stored as lines, and water features as areas. The extracted features are rasterized, with appropriate pixel sizes set (e.g., 5m x 5m), generating road and water pixel distribution maps. The set of fence boundary segments is determined based on the fence coordinate point sequence, and the sum of the lengths of each segment is calculated as the total perimeter of the fence. Each boundary segment is traversed, and the positional relationship between the segment and road and water pixels is detected. When a segment intersects a pixel area, the length of the intersection is calculated. The intersection lengths of all segments are accumulated to obtain the total intersection length Lr with roads and the total intersection length Lw with water bodies. Dividing the total intersection length (Lr+Lw) by the total perimeter of the fence yields the cross-boundary ratio. This ratio reflects the degree of conformity between the fence boundary and natural features, and is used to assess the rationality of fence labeling.
[0054] In one possible implementation, based on the distribution locations of road pixels and water body pixels in the land feature classification information, the cross-boundary ratio of the intersection length of the fence boundary line segment with the land feature classification to the total perimeter of the fence is calculated. Specifically, this includes steps 1031-1033, as follows:
[0055] Step 1031: Construct a set of fence boundary line segments based on the fence coordinate point sequence, and calculate the total length of the fence boundary line segment set as the total perimeter of the fence.
[0056] A fence boundary segment set is a series of straight line segments formed by connecting adjacent coordinate points. Each segment has start and end coordinates. The total perimeter of the fence is the sum of the lengths of all boundary segments, representing the complete length of the fence boundary. For example, for a quadrilateral fence, its boundary segment set contains four segments, each defined by two adjacent coordinate points, and the total perimeter is the sum of the lengths of these four segments.
[0057] Specifically, the input sequence of fence coordinate points {(x1, y1), (x2, y2), ..., (xn, yn)} is first processed. For two adjacent coordinate points, a line segment object is constructed, recording the starting coordinates (xi, yi) and ending coordinates (xi+1, yi+1) of the line segment. For the last coordinate point, it is connected to the first coordinate point to form a closed fence boundary. Each line segment object contains the following attributes: starting coordinates, ending coordinates, line segment length, and line segment direction angle. The line segment length is calculated using the coordinate formula: Li = ((xi+1 - xi)² + (yi+1 - yi)²)^0.5. All line segment objects are stored in a line segment set, the size of which is equal to the number of coordinate points. The line segment set is traversed, and the lengths of each line segment are accumulated: the total perimeter L = ΣLi (i from 1 to n). The resulting line segment set and total perimeter will be used for subsequent calculations of the cross-boundary ratio. Each line segment object in the line segment set is assigned a unique identifier for easy reference and lookup in subsequent processing. The total perimeter calculation result is stored in meters and rounded to two decimal places.
[0058] Step 1032: Traverse each line segment in the fence boundary line segment set and determine whether the line segment intersects with the distribution positions of road pixels and water pixels; for line segments that intersect, calculate the length of the line segment intersecting with the road pixels and the length of the line segment intersecting with the water pixels.
[0059] Line segment intersection determination refers to determining whether a line segment overlaps with a road pixel or water pixel area. The intersection length is the length of the overlapping portion between the line segment and the pixel area. The road pixel distribution location refers to the spatial distribution of rasterized road elements. The water pixel distribution location refers to the spatial distribution of rasterized water elements. For example, in a 100-meter fence boundary line segment, 30 meters overlap with a road and 20 meters overlap with water. Therefore, the road intersection length of this line segment is 30 meters, and the water intersection length is 20 meters.
[0060] Specifically, a spatial index structure is first established, storing road and water pixels according to a grid to improve spatial query efficiency. For each line segment in the fence boundary line segment set, the following processing is performed: construct the bounding rectangle of the line segment to quickly filter pixel regions that may intersect. For road pixels, an intersection test algorithm between the line segment and the pixel boundary is used: find the intersection of the line segment's parametric equation with the pixel boundary line and record the intersection coordinates. If an intersection exists, the line segment is divided based on the intersection, and it is determined whether the midpoint of each segment falls within the road pixel. The lengths of the segments within the road pixel are accumulated to obtain the length intersecting with the road. For water pixels, a similar method is used: first, determine the intersection of the line segment with the water pixel boundary, then determine the inclusion relationship of the line segment segments. The start point, end point, and intersection point of the line segment are sorted according to the line segment direction, and the distance between two adjacent points is the length of that part. For each segment, the ray casting method is used to determine whether its midpoint is within the water pixel. The lengths of the segments within the water pixel are accumulated to obtain the length intersecting with the water. All intersection lengths are recorded in meters and rounded to two decimal places. For line segments that intersect with both roads and water bodies, they are assigned to the category closest to them. The processing result for each line segment includes: line segment identifier, road intersection length, and water body intersection length.
[0061] Step 1033: Sum the lengths of all line segments intersecting with road pixels to obtain the total road intersection length; sum the lengths of all line segments intersecting with water pixels to obtain the total water intersection length; divide the sum of the total road intersection length and the total water intersection length by the total perimeter of the fence to obtain the cross-boundary ratio.
[0062] The total intersection length of roads is the sum of the intersection lengths of all fence boundary segments with road pixels, representing the total distance at which the fence boundary coincides with the road. The total intersection length of water bodies is the sum of the intersection lengths of all fence boundary segments with water pixels, representing the total distance at which the fence boundary coincides with the water body. The boundary crossing ratio is the ratio of the total intersection length to the total perimeter of the fence, reflecting the degree of overlap between the fence boundary and natural features. For example, if a fence has a total perimeter of 1000 meters, with 300 meters coinciding with roads and 200 meters coinciding with water bodies, then the total intersection length with roads is 300 meters, the total intersection length with water bodies is 200 meters, and the boundary crossing ratio is (300 + 200) / 1000 = 0.5.
[0063] Specifically, the intersection data of each line segment is processed first. Accumulator variables `road_total` and `water_total` are created, initially set to 0. The processing results of each line segment in the fence boundary segment set are traversed, adding the road intersection length to `road_total` and the water body intersection length to `water_total`. After accumulation, `road_total` records the total intersection length between the fence boundary and the road, and `water_total` records the total intersection length with the water body. The total perimeter of the fence is obtained from the previous steps. The cross-boundary ratio is calculated: `ratio = (road_total + water_total) / perimeter`. The ratio value is between 0 and 1, where 0 indicates that the fence boundary does not coincide with either the road or the water body, and 1 indicates that the fence boundary coincides with either the road or the water body. The calculation result is rounded to four decimal places, generating a result object containing the following information: total road intersection length, total water body intersection length, total fence perimeter, and cross-boundary ratio. These data will be used to assess the rationality of fence boundaries; a high cross-boundary ratio indicates that fence boundaries are largely dependent on natural land features.
[0064] Step 104: The convex hull area ratio, angle change rate, and cross-boundary ratio are weighted and fused to obtain the task complexity coefficient, and the fence labeling task is assigned to the corresponding crowdsourcing user based on the task complexity coefficient.
[0065] The task complexity coefficient is a comprehensive indicator representing the difficulty of fence annotation, ranging from 0 to 1, with higher values indicating greater task complexity. Crowdsourced users are the annotators participating in fence annotation tasks, each with different annotation abilities and historical performance. For example, a fence with a convex hull area ratio of 0.7, an angle change rate of 0.4, and a cross-boundary ratio of 0.3, weighted at 0.3, 0.4, and 0.3 respectively, yields a task complexity coefficient of 0.46.
[0066] Specifically, first, weight coefficients are set for three feature parameters: w1 represents the convex hull area ratio weight, w2 represents the angle change rate weight, and w3 represents the cross-boundary ratio weight, satisfying w1+w2+w3=1. The convex hull area ratio is denoted as r1, the angle change rate as r2, and the cross-boundary ratio as r3. Since the convex hull area ratio is negatively correlated with task complexity, a conversion is needed: r1'=1-r1. The task complexity coefficient is calculated as: complexity=w1×r1'+w2×r2+w3×r3. The task complexity coefficient is divided into multiple intervals: [0, 0.2) for simple tasks, [0.2, 0.4) for relatively simple tasks, [0.4, 0.6) for medium tasks, [0.6, 0.8) for relatively complex tasks, and [0.8, 1] for complex tasks. A user ability rating system is established, classifying users into different levels based on the complexity and accuracy of tasks completed historically. Simple tasks are assigned to novice users, and complex tasks are assigned to advanced users. When assigning tasks, matching starts with the highest-level user. If the current level of users is full, the process shifts to the next highest-level user. The task assignment results are recorded, including task ID, complexity coefficient, assigning user ID, and assignment time.
[0067] In one possible implementation, the fence labeling task is assigned to the corresponding crowdsourcing user based on the task complexity coefficient, specifically including steps 1041-1043, as follows:
[0068] Step 1041: Obtain historical annotation task information for each crowdsourcing user. The historical annotation task information includes the historical complexity coefficient, annotation accuracy, and task completion time of completed tasks. Based on the historical annotation task information, calculate the annotation task completion rate of each crowdsourcing user under different complexity ranges.
[0069] Historical annotation task information is a dataset recording a user's past task performance. Historical complexity coefficients are a sequence of complexity values for tasks completed by the user. Annotation accuracy is the degree to which the user's annotation results match the standard answer. Task completion time is the actual time taken by the user to complete the task. Annotation task completion rate is the proportion of tasks successfully completed by the user within a specific complexity range. For example: If a user accepts 10 tasks within the complexity range [0.4, 0.6) and successfully completes 8, then the task completion rate for that range is 0.8.
[0070] Specifically, the process begins by extracting historical task information for each user from the user task record database. A task record table is created for each user, containing fields such as: Task ID, Start Time, Completion Time, Task Complexity, Annotation Result, and Review Result. Task complexity is divided into five intervals: [0, 0.2), [0.2, 0.4), [0.4, 0.6), [0.6, 0.8), and [0.8, 1]. For each user within each complexity interval, statistics are performed: first, all task records within that interval are filtered out, and the total number of tasks, n_total, is calculated. The number of successfully completed tasks, n_success, is then counted. Successful completion requires the task status to be "completed," the annotation accuracy to exceed a threshold (e.g., 0.8), and the completion time to be within a specified range. The task completion rate for that interval is calculated as: completion_rate = n_success / n_total. A user capability profile is generated, recording the user's task completion rate, average accuracy, and average completion time for each complexity interval. A user task completion rate matrix M is created, where rows represent users, columns represent complexity intervals, and matrix elements represent the corresponding completion rates. This matrix can intuitively reflect the differences in user performance on tasks of varying difficulty. For new users, task records are accumulated starting from the lowest complexity range to gradually build a complete capability profile.
[0071] Step 1042: Compare the task complexity coefficient with the preset complexity classification threshold to determine the target complexity range corresponding to the current fence labeling task.
[0072] The task complexity coefficient is a comprehensive index obtained by weighting and fusing the convex hull area ratio, angle change rate, and cross-boundary ratio, with a value range between 0 and 1. The complexity grading threshold is a pre-defined sequence of boundary values used to classify tasks into different difficulty levels. The target complexity interval is the difficulty interval to which the task complexity coefficient belongs. For example, if the complexity grading threshold is set to [0.2, 0.4, 0.6, 0.8], and the complexity coefficient of a task is 0.45, its target complexity interval is [0.4, 0.6), which belongs to the medium difficulty task category.
[0073] Specifically, firstly, the complexity grading threshold sequence `threshold_array = [0.2, 0.4, 0.6, 0.8]` is read from the configuration information. These thresholds divide the task complexity space into 5 intervals. A complexity interval description table is established: interval 1 [0, 0.2) is for simple tasks, interval 2 [0.2, 0.4) is for relatively simple tasks, interval 3 [0.4, 0.6) is for medium tasks, interval 4 [0.6, 0.8) is for relatively complex tasks, and interval 5 [0.8, 1.0] is for complex tasks. The complexity coefficient `complexity` of the current task is obtained. The interval positioning algorithm is executed: traversing `threshold_array` from left to right, the first threshold `position` greater than `complexity` is found. If `position` is the first threshold (0.2), the task belongs to interval 1; if no threshold greater than `complexity` is found, the task belongs to interval 5; otherwise, the task belongs to the interval corresponding to `position`. An interval identifier object is generated, containing: interval number, interval start value, interval end value, and difficulty level description. Associate interval identifiers with task information for subsequent task allocation. For tasks at interval boundaries (where complexity exactly equals a certain threshold), assign them to adjacent, higher-difficulty intervals to ensure safe task allocation. Record the basis for interval determination, including complexity coefficient values, the threshold sequence used, and the final interval information.
[0074] Step 1043: Select candidate users from the crowdsourcing users whose completion rate of annotation tasks within the target complexity range exceeds the preset reliability threshold.
[0075] The task completion rate is the ratio of the number of tasks successfully completed by a user within a specific complexity range to the total number of tasks accepted. A preset reliability threshold is a completion rate standard used to filter qualified users, typically set between 0.7 and 0.9. Candidate users are the set of users who meet the completion rate requirement. For example, within the complexity range [0.4, 0.6), user A has a completion rate of 0.85%, and user B has a completion rate of 0.65. When the reliability threshold is set to 0.8, user A becomes a candidate user, while user B is eliminated.
[0076] Specifically, first, obtain the target complexity range [lower_bound, upper_bound] and the pre-set confidence threshold [confidence_threshold]. Create a user filtering table containing fields: user ID, historical completion rate, average accuracy, and average completion time. Extract task records for each user within the target complexity range from the user task record database. Perform the following statistics for each user: count the total number of tasks n_total within the target range, count the number of successfully completed tasks n_success, and calculate the completion rate completion_rate = n_success / n_total. Create a candidate user list candidate_list, initially empty. Iterate through the statistical results of all users, adding them to the candidate user list when they meet the following conditions: completion rate greater than the confidence threshold (completion_rate > confidence_threshold); the number of tasks completed within the target range exceeds the minimum task count requirement (n_total ≥ min_task_count); and the average accuracy of recent tasks meets the accuracy requirement (accuracy ≥ min_accuracy). For users in the candidate user list, record their detailed information: historical completion rate, average accuracy rate, average completion time, time of most recently completed task, and current task backlog. Generate a candidate user report, including: the number of users who meet the criteria, each user's qualification information, and the selection criteria. The candidate user list will be used for subsequent prioritization and task allocation.
[0077] Step 1044: Calculate the task allocation priority based on the current task backlog, average response time, and historical completion rate of each candidate user; prioritize the allocation of fenced-marked tasks to the candidate user with the highest task allocation priority.
[0078] The current task backlog is the number of tasks a user has accepted but not yet completed. Average response time is the average time interval between a user receiving a task and starting execution. Historical completion rate is the ratio of successfully completed tasks to the total number of tasks accepted. Task allocation priority is a ranking score obtained by comprehensively evaluating various user metrics. For example: User A has a task backlog of 2, an average response time of 30 minutes, and a historical completion rate of 0.9; User B has a task backlog of 5, an average response time of 120 minutes, and a historical completion rate of 0.8. Therefore, User A has a higher priority than User B.
[0079] Specifically, firstly, an evaluation metric vector is constructed for each candidate user: `backlog_tasks` represents the current task backlog, `response_time` represents the average response time (minutes), and `completion_rate` represents the historical completion rate. Each metric is then normalized: the normalized backlog value is `n_backlog = 1 - (backlog_tasks / max_backlog_limit)`, where `max_backlog_limit` is the maximum allowed backlog; the normalized response time value is `n_response = 1 - (response_time / max_response_time)`, where `max_response_time` is the maximum allowed response time; and the normalized completion rate value is `n_completion = completion_rate`. Weighting coefficients are set for each metric: `w1` represents the backlog weight, `w2` represents the response time weight, and `w3` represents the completion rate weight, satisfying `w1 + w2 + w3 = 1`. Finally, the priority score for each candidate user is calculated: `priority_score = w1 × n_backlog + w2 × n_response + w3 × n_completion`. Create a priority queue (priority_queue) and sort candidate users in descending order of priority_score. Select the highest-priority user from the top of the priority_queue and check if they meet the conditions for accepting new tasks: current backlog not exceeding the limit, recent response time within the threshold, and no task conflicts. Send a task assignment request to the selected user, including: task ID, task description, complexity level, and expected completion time. Record the task assignment result and update the user's task backlog and task assignment timestamp. If assignment fails, select the next user in the priority queue for assignment.
[0080] Step 105: Receive the corrected second fence annotation data submitted by crowdsourcing users; when the same fence annotation task receives annotation results submitted by multiple crowdsourcing users, determine the spatial overlap and geometric similarity between the annotation results based on the second fence annotation data.
[0081] The second fence annotation data consists of fence boundary data submitted by crowdsourced users after corrections, including the corrected coordinate point sequence and modification descriptions. Spatial overlap is the ratio of the overlapping area of two fence regions to the area of the larger fence, used to measure the spatial consistency of the annotation results. Geometric similarity compares the similarity of the shape features of two fences, including the degree of matching of boundary contours and corner features. For example: if two annotation results A and B have an overlapping area of 800 square meters, A has an area of 1000 square meters, and B has an area of 900 square meters, then the spatial overlap is 800 / 1000 = 0.8.
[0082] Specifically, the process begins by receiving and validating submitted annotation data. For each submitted data, a format check is performed: verifying the completeness of the coordinate point sequence, the validity of the coordinate values, and the closure of the polygons. All valid submissions are stored in a result set (result_set), with each result containing: user ID, submission time, coordinate sequence, and modification description. When the number of results in result_set is greater than one, result comparison is performed. First, spatial overlap is calculated: the coordinate sequence of each pair of annotation results is converted into polygon objects polygon1 and polygon2, and the intersection area (intersection_area) of the polygons is calculated. The areas (area1 and area2) of the two polygons are calculated separately, and the larger value (max_area) is taken. The spatial overlap (overlap_ratio) is calculated as intersection_area / max_area. Then, geometric similarity is calculated: feature vectors of the two polygons are extracted, including perimeter ratio, area ratio, principal axis direction, corner distribution, etc., and cosine similarity is used to calculate the similarity (geometry_similarity) between the feature vectors. A comparison report is generated for each pair of annotation results, including: result pair ID, spatial overlap, geometric similarity, and description of the difference region. A similarity matrix (similarity_matrix) is constructed, where rows and columns represent different annotation results, and matrix elements are the weighted average of spatial overlap and geometric similarity for corresponding result pairs. These similarity metrics will be used for subsequent result fusion and quality assessment.
[0083] Step 106: Calculate the fence label credibility score based on spatial overlap and geometric similarity. When the fence label credibility score exceeds the preset threshold, the labeling results are weighted and fused together with the historical accuracy of each crowdsourcing user to obtain the target fence labeling result.
[0084] The fence annotation confidence score is a confidence level of the annotation results calculated based on spatial overlap and geometric similarity. Historical accuracy is the statistical value of the accuracy of a user's past annotation tasks. The target fence annotation result is the final annotation data obtained after fusion. For example: User A has a historical accuracy of 0.9, and User B has a historical accuracy of 0.8. When the coordinates of the two users' annotation results at a certain point are (116.404, 39.915) and (116.405, 39.916) respectively, the weighted fused coordinates are (116.404×0.9+116.405×0.8) / (0.9+0.8) and (39.915×0.9+39.916×0.8) / (0.9+0.8).
[0085] Specifically, the reliability score is calculated first. Spatial overlap weight `w_overlap` and geometric similarity weight `w_geometry` are set, satisfying `w_overlap + w_geometry = 1`. A weighted score is calculated for each pair of annotations: `pair_score = w_overlap × overlap_ratio + w_geometry × geometry_similarity`. When there are n annotations, there are C(n, 2) result pairs. The average score of all result pairs is calculated as the reliability score `reliability_score`. The reliability score is compared with a preset threshold `threshold`. When `reliability_score > threshold`, weighted fusion is performed. The historical accuracy (`historical_accuracy`) of all participating users is obtained. For each annotation result's coordinate point sequence, a weighted average is calculated based on the user's historical accuracy: the corresponding coordinate points of all annotation results are traversed, and the weighted average coordinates are calculated. Let the historical accuracy of the i-th user be ai, and its j-th labeled coordinate point be (xij, yij). Then, the formula for calculating the j-th coordinate point after fusion is: xj = Σ(ai × xij) / Σai, yj = Σ(ai × yij) / Σai. The fused coordinate sequence is smoothed to ensure the continuity of the fence boundary. The target fence labeling results are generated, including: the fused coordinate sequence, confidence score, list of users participating in the fusion, and fusion weights. Detailed information about the fusion process is recorded, including the contribution of each labeling result, the handling of outliers, and the evaluation metrics of the final result.
[0086] In the above embodiments, a basic data processing framework for fence labeling was established through basic fence coordinate acquisition and geometric feature calculation. To further improve the adaptability of fence labeling in complex geographical environments and reduce the impact of terrain feature changes on labeling quality, this application also provides a big data governance method. This method intelligently adjusts the registration strategy by identifying changes in terrain feature types and analyzing spatial relationships, enabling the system to more accurately handle the labeling needs of complex terrain and diverse terrain feature combinations. The following section combines... Figure 2 Another big data governance method in the embodiments of this application is described below:
[0087] Please see Figure 2 This is another flowchart illustrating a big data governance method in this application embodiment.
[0088] Step 201: Select feature points with the same geographical location in the satellite image data and map vector data as control points, and unify the satellite image data and map vector data into the same coordinate system through the control points.
[0089] Feature points are geographical features that can be clearly identified in both satellite imagery and map vector data, such as fixed geographical features like road intersections, building corners, and bridge endpoints. Control points are pairs of feature points used to establish spatial correspondence between two data sources; each pair of control points contains the coordinate values of corresponding locations in both data sources. A coordinate system is the process of transforming spatial coordinates from different data sources to the same reference coordinate system. For example, a road intersection has coordinates (116.404, 39.915) in satellite imagery and (116.405, 39.916) in map vector data; this pair of locations can be used as a control point for coordinate transformation.
[0090] Specifically, feature points are first identified from two data sources. Obvious ground features are extracted from satellite imagery: intersections are identified using the intersection of road centerlines, building corners using the turning points of outlines, and bridge endpoints using the edge points of the bridge structure. Simultaneously, the corresponding feature locations are located in the map vector data. A feature point mapping table is established, recording the coordinates of each feature point in both data sources: `source_points` stores the coordinates from the satellite imagery, and `target_points` stores the coordinates from the vector data. Evenly distributed feature points are selected as control points, with at least four control points covering all four quadrants of the area to be processed. Coordinate transformation parameters are calculated: an affine transformation model is used to establish a system of coordinate transformation equations: `x'=ax+by+c, y'=dx+ey+f`, where (x, y) are the source coordinates, (x', y') are the target coordinates, and a, b, c, d, e, and f are the transformation parameters to be solved. The transformation parameters are solved using the least squares method: an overdetermined system of equations is constructed, and the observation equations are established using the coordinates of all control points to solve for the optimal transformation parameters. The obtained transformation parameters are used to perform coordinate transformation on the satellite imagery data to align it with the map vector data. The residuals after transformation are calculated to evaluate the registration accuracy: the distance difference between the transformed coordinates and the target coordinates is calculated for each control point, and the root mean square error is calculated. The registration results are recorded, including: information on the control points used, transformation parameters, and registration accuracy indicators.
[0091] Step 202: Based on the feature type identifiers in the map vector data under a unified coordinate system, extract road vector lines and water body vector surfaces from the corresponding satellite image data.
[0092] Land feature type identifiers are attribute labels used in map vector data to distinguish different land feature elements, including type codes for roads, water bodies, etc. Road vector lines are linear geometric elements describing the direction of a road's centerline, containing information about the road's spatial location and shape. Water body vector polygons are planar geometric elements describing the outline of a water body, containing information about its boundaries and extent. For example, a road in vector data might be identified as "highway," and its geometric representation would be a series of continuous coordinate points forming the road's centerline; a lake might be identified as "water," and its geometric representation would be a sequence of coordinates representing the boundary of a closed polygon.
[0093] Specifically, the process begins by extracting road and water features from the map vector data. Features are then filtered according to their land cover type: road types include "highway," "road," and "street," while water types include "river," "lake," and "pond." Geometric data for road features is extracted, forming a set of road segments (`road_lines`), each containing the coordinates of its start and end points. Geometric data for water features is extracted, forming a set of water polygons (`water_polygons`), each containing a sequence of boundary points. These features are then located on satellite imagery: the coordinates of the road segments are mapped to the image coordinate system, generating the road coverage area (`mask_road`). Morphological algorithms are used to process the road mask: dilation expands the road width, and median filtering removes noise. For water polygons, the boundary coordinates are mapped to the image coordinate system, generating the water coverage area (`mask_water`). The water mask's boundaries are smoothed: Gaussian filtering removes jagged edges, and morphological closing operations fill small holes. The processed mask is then overlaid with satellite imagery for analysis: image features within the mask area are extracted, including spectral and textural features. Based on these characteristics, feature boundaries are adjusted: edge detection algorithms are used to accurately locate road edges, and region growing algorithms are used to optimize water body boundaries. The final result is accurate road vector lines and water body vector surface data, with each feature containing: geometric coordinates, feature type, and extraction accuracy index.
[0094] Step 203: Rasterize the road vector lines and water vector surfaces to generate road pixel distribution maps and water pixel distribution maps.
[0095] A road pixel distribution map is a binary raster image representing the location of roads. A pixel value of 1 indicates the presence of a road at that location, while 0 indicates the absence of a road. A water body pixel distribution map is a binary raster image representing the distribution of water bodies. A pixel value of 1 indicates the location of a water body, while 0 indicates the absence of a water body. For example, a road 10 meters wide will appear as a line with a width of 2-3 pixels in a 5-meter resolution rasterization process; a water body with an area of 1 hectare will appear as a continuous area of approximately 400 pixels at the same resolution.
[0096] Specifically, first determine the rasterization parameters. Set the raster resolution (e.g., 5 meters), determine the bounding rectangle of the processing area (bounds), and calculate the number of rows and columns: rows = (bounds.ymax - bounds.ymin) / resolution, cols = (bounds.xmax - bounds.xmin) / resolution. Create blank raster matrices road_grid and water_grid with a size of rows × cols, and initialize all values to 0. Rasterize the road vector lines: traverse each road segment and use the Bresenham line algorithm to determine the pixel positions covered by the segment. For the start point (x1, y1) and end point (x2, y2) of each segment, calculate the corresponding raster coordinates: row = (y - bounds.ymin) / resolution, col = (x - bounds.xmin) / resolution. Set the corresponding pixel value to 1 along the segment path. Considering the road width, also assign a value of 1 to the pixels on both sides of the center line. The width is determined by the road level. The water body vector surface is rasterized: Each water body polygon is traversed, and a scan-line fill algorithm is used to determine the pixels inside the polygon. The polygon vertices are converted to raster coordinates, and a set of boundary line segments is constructed. For each row of pixels, the intersection points with the polygon boundaries are calculated, and pixels between these intersection points are assigned a value of 1. The rasterized results are post-processed: Morphological operations are used to eliminate isolated pixels and small areas, maintaining the continuity of features. Skeleton extraction is performed on road pixels to ensure uniform road width. Boundary smoothing is applied to water body pixels to reduce jagged edges. The final generated road and water body pixel distribution maps are stored in two-dimensional arrays, simultaneously recording rasterization parameters: resolution, range coordinates, and number of rows and columns.
[0097] In one possible implementation, the road vector lines and water body vector surfaces are rasterized to generate road pixel distribution maps and water body pixel distribution maps, specifically including steps 2031-2033, as follows:
[0098] Step 2031: Obtain the rasterization resolution and divide the fenced area into multiple grid cells according to the rasterization resolution.
[0099] Rasterization resolution refers to the spatial precision of raster data, representing the size of each grid cell in actual geographic space. A grid cell is a regularly sized square area and is the basic building block of raster data. The fenced area is the geographic space that needs to be rasterized, a polygonal region defined by a sequence of fence coordinate points. For example, when the rasterization resolution is set to 5 meters, a 100m × 100m fenced area will be divided into 400 5m × 5m grid cells, each corresponding to one pixel.
[0100] Specifically, first, set the rasterization resolution. Depending on the application requirements, a resolution of 2-10 meters is typically chosen, balancing computational efficiency and accuracy. Determine the spatial extent of the fenced area: extract the minimum and maximum coordinate values from the fence coordinate point sequence to construct the circumscribed rectangle (bbox). Calculate the dimensions of the circumscribed rectangle: width = bbox.xmax - bbox.xmin, height = bbox.ymax - bbox.ymin. Calculate the required number of grid cells: cols = ceiling(width / resolution), rows = ceiling(height / resolution), using rounding up to ensure complete coverage of the fenced area. Create a grid index matrix `grid_index` with dimensions `rows × cols`, where each element contains: row number, column number, top-left corner coordinates, and bottom-right corner coordinates. Assign a unique identifier to each grid cell: `grid_id = row * cols + col`. Establish the geographic coordinate mapping relationship for the grid cells: for grid cell (i, j), its top-left corner coordinates are (bbox.xmin + j × resolution, bbox.ymax - i × resolution). Create a grid property table `grid_properties` to record the attributes of each grid cell: grid ID, geographic coordinate range, and whether it is located inside the fence. Use ray casting to determine whether the center point of each grid cell is inside the fence polygon and mark the valid grid cells. Finally, generate the grid division result, which includes: grid parameters (resolution, number of rows, number of columns), grid index, list of valid grids, and spatial reference information.
[0101] Step 2032: For road vector lines, mark the grid cells that intersect with each line segment in the road vector line as road pixels.
[0102] A road vector line is a geometric element composed of a series of line segments, each defined by its start and end coordinates. A road pixel is a grid cell that is crossed or covered by a road line segment. For example, a road line segment extending from coordinates (100, 100) to (150, 120) will cross multiple grid cells when using a 10-meter resolution grid; these grid cells are all labeled as road pixels.
[0103] Specifically, first, a grid index structure `grid_index` is constructed to quickly locate grid cells where line segments may intersect. For each road segment, processing is performed: the coordinates of the segment endpoints (x1, y1) and (x2, y2) are obtained, and the bounding rectangle `bbox_segment` of the segment is calculated. The grid range to be checked is determined: `min_row = floor((bbox_segment.ymin - grid.ymin) / resolution), max_row = ceil((bbox_segment.ymax - grid.ymin) / resolution), min_col = floor((bbox_segment.xmin - grid.xmin) / resolution), max_col = ceil((bbox_segment.xmax - grid.xmin) / resolution)`. Within the determined grid range, an intersection test is performed on each grid cell: the four boundary lines of the grid cell `boundary_lines` are calculated, and a line segment intersection algorithm is used to detect whether `road_segment` intersects with any line segment in `boundary_lines`. The line segment intersection algorithm uses the vector cross product method: a cross product is performed on the endpoint coordinates of two line segments, and the sign of the cross product result determines whether they intersect. When an intersection is detected, the marker value of that grid cell is set to 1, indicating that it is a road pixel. Simultaneously, the intersection position information is recorded: `intersection_points` stores the coordinates of the intersection points between the line segment and the grid boundary. Connectivity analysis is performed on the grid cells marked as road pixels to ensure road continuity: the marker status of adjacent grid cells is checked, and any gaps are filled. Finally, a road pixel distribution matrix `road_pixels` is generated, where elements with a value of 1 represent road pixels, and elements with a value of 0 represent non-road pixels. The processing results are recorded: the number and distribution positions of road pixels.
[0104] Step 2033: For the water body vector surface, use the ray casting algorithm to determine whether the center point of each grid cell is located inside the water body polygon, and mark the grid cells located inside the water body polygon as water body pixels.
[0105] A water body vector surface is a closed polygon defined by a series of vertex coordinates, representing the boundary of the water body. Ray casting is a spatial algorithm for determining whether a point is inside the polygon; it determines the point's position by calculating the number of intersections between the ray emanating from that point and the polygon's boundary. The center point of a grid cell is the geometric center coordinate of that grid cell. A water body pixel is a grid cell whose center point is inside the water body polygon. For example, a pond with an area of 1 hectare is represented as a polygon. When using a 5-meter resolution grid, it is necessary to determine whether the center point of each grid cell lies inside this pond polygon.
[0106] Specifically, first, the center point coordinates of each grid cell are calculated. For grid cell (i, j), its center point coordinates are: x_center = grid.xmin + (j + 0.5) × resolution, y_center = grid.ymax - (i + 0.5) × resolution. A water polygon object, water_polygon, is constructed, containing the vertex sequence vertices and the boundary line segment set edges. A ray casting algorithm is executed on the center point of each grid cell: a horizontal ray is emitted from the center point to the right, and the number of intersections between the ray and the polygon boundary is counted. Each boundary line segment edge of the polygon is traversed: it is determined whether the two endpoints of the line segment are on either side of the ray, i.e., whether the y-coordinates of the endpoints are on either side of the center point's y-coordinate. If the line segment crosses the ray, the x-coordinates of the intersection points are calculated: x_intersect = x1 + (y_center - y1) × (x2 - x1) / (y2 - y1), where (x1, y1) and (x2, y2) are the endpoint coordinates of the line segment. If x_intersect is greater than the x-coordinate of the center point, a valid intersection point is recorded. The number of valid intersection points, intersection_count, is counted. If the number of intersection points is odd, the center point is located inside the polygon. The determination result is stored in the grid matrix water_grid: for grid cells containing internal points, the marker value is set to 1; for grid cells containing external points, the marker value is set to 0. Post-processing is performed on the marker results: morphological operations are used to eliminate isolated pixels, fill small holes, and maintain the continuity of the water area. Finally, a water pixel distribution matrix is generated, and the processing results are recorded: the number of water pixels, their distribution range, and connected component identifiers.
[0107] Step 2034: Perform boundary smoothing on road pixels and water pixels; perform topological connection on the smoothed road pixels to generate a road pixel distribution map, and perform topological connection on the smoothed water pixels to generate a water pixel distribution map.
[0108] A road pixel distribution map is a raster dataset representing the spatial distribution of roads. A water body pixel distribution map is a raster dataset representing the spatial distribution of water bodies. For example, a road 15 meters wide, after being rasterized, forms a strip region 3-4 pixels wide. Through boundary smoothing and topological connectivity, the road boundaries are ensured to be smooth and the pixels are continuously distributed.
[0109] Specifically, the road pixels are first smoothed. Gaussian filtering is used for smoothing: a 5×5 Gaussian kernel (matrix_gaussian) with a standard deviation σ=1.0 is constructed, and convolution is performed on the road pixel matrix. The smoothed result is then binarized: an adaptive threshold (threshold=mean(smooth_value)) is used, setting pixels greater than the threshold to 1 and pixels less than the threshold to 0. Morphological operations are performed: an opening operation (erosion followed by dilation) is performed using a 3×3 structuring element to eliminate protruding and concave boundaries. The same smoothing process is performed on the water pixels. Topological connections are established for the road pixels: an 8-neighborhood connected graph (graph_road) is constructed, where nodes are road pixels and edges represent connections between adjacent pixels. A depth-first search algorithm is used to find all connected components (components_road). The principal direction is calculated for each connected component: Principal component analysis (PCA) is used to determine the principal axis direction of the pixel set. Pixels are aligned along the principal direction: the positions of edge pixels are adjusted to align with the principal direction. Gaps between pixels are filled: when the distance between adjacent road pixels is less than 2 pixels, connecting pixels are added. Perform topological connectivity for water pixels: Construct a connected graph `graph_water`, merging water regions with distances less than a threshold. Optimize the boundaries of each water region: Use the ActiveContour model to adjust the boundary shape, maintaining boundary smoothness. Generate the final distribution map: Create two binary matrices, `road_distribution` and `water_distribution`, to record the processed pixel distribution. Record attributes for each pixel: location coordinates, connected region ID, and boundary feature label. Output processing results statistics: number of connected regions, average region size, and boundary smoothness index.
[0110] Step 204: Determine the fence area range based on the fence coordinate point sequence, and extract the pixel location information from the road pixel distribution map and water body pixel distribution map within the fence area as the land feature classification information within the fence area.
[0111] The fenced area is a closed region defined by a sequence of fence coordinate points, encompassing the geographic spatial range to be analyzed. Pixel location information consists of the row and column indices and corresponding geographic coordinates of each pixel in the raster data. Feature classification information is a dataset describing the distribution of roads and water bodies within the area, recording the spatial location and type attributes of each feature pixel. For example, if a fenced area contains a road and a pond, its feature classification information includes the location sequence of road pixels {(row1, col1), (row2, col2), ...} and the location sequence of water body pixels {(row3, col3), (row4, col4), ...}.
[0112] Specifically, first, a polygon object `fence_polygon` is constructed based on the fence coordinate point sequence. The bounding rectangle `bbox` of the fence area is calculated to determine the grid range to be processed: `min_row = (bbox.ymin - grid.ymin) / resolution`, `max_row = (bbox.ymax - grid.ymin) / resolution`, `min_col = (bbox.xmin - grid.xmin) / resolution`, `max_col = (bbox.xmax - grid.xmin) / resolution`. A mask matrix `mask` is created, with dimensions corresponding to `bbox`, and an initial value of 0. A polygon filling algorithm is used to map `fence_polygon` onto the mask, setting pixels inside the fence to 1. Road pixels are extracted: a pixel-by-pixel AND operation is performed between `road_grid` and `mask` to obtain the road pixel distribution within the fence. The resulting matrix is traversed, recording the pixel positions with a value of 1, and a road pixel list `road_pixels` is constructed, where each element contains: row index, column index, and geographic coordinates. Water pixels are extracted: a pixel-by-pixel AND operation is performed between `water_grid` and `mask` to obtain the water pixel distribution within the fence. The process iterates through the result matrix, recording the pixel locations with a value of 1, and constructs a water pixel list (water_pixels), where each element contains a row index, column index, and geographic coordinates. The road pixel list and the water pixel list are merged to generate feature classification information (classification_info), which includes pixel type (road / water), pixel location, and coverage area statistics. Connectivity analysis is performed on the extracted pixels to label consecutive road segments and water areas, assigning a unique identifier to each consecutive area. Statistical information of the extraction results is recorded: total number of road pixels, total number of water pixels, number of road segments, and number of water areas.
[0113] In the above embodiments, a reliability evaluation framework for fence labeling results was implemented through the calculation of spatial overlap and geometric similarity. To further ensure the reliability of labeling quality and achieve closed-loop optimization of labeling effects, this application also provides a labeling dispute handling method based on expert review. This method dynamically adjusts the complexity evaluation model by analyzing the types of labeling differences and collecting expert review opinions, enabling the system to more accurately cope with the labeling difficulty assessment under different scenarios and ensuring that each fence labeling task receives reasonable quality control. Specifically, it includes steps 301-303:
[0114] Step 301: When the credibility score of the fence label does not exceed the preset threshold, generate a dispute classification label based on the difference type between the first fence label data and the second fence label data.
[0115] The difference type is a classification index describing the differences in geometry and spatial location between two sets of fence annotation data, including types such as boundary offset, shape deformation, and region segmentation. The dispute classification identifier is a code used to categorize the annotation differences and identify the specific dispute type. The first fence annotation data is the original fence data to be processed. The second fence annotation data is the fence data submitted by the crowdsourcing user after correction. For example, when the original fence is labeled along the road boundary, while the corrected fence is labeled along the building boundary, this difference will be classified as "inconsistent boundary reference" and a corresponding dispute identifier code will be generated.
[0116] Specifically, the process begins by calculating the differences between the two sets of labeled data. Geometric features of the fence are extracted: the vertex sequence, boundary segments, area, and perimeter of the two sets of data are calculated. A difference feature vector is constructed: the displacement_vector between corresponding vertices, the angle_difference of the boundary segments, and the area_ratio of the area change are calculated. Rules for determining the difference type are set: when the maximum displacement exceeds the threshold max_displacement (e.g., 20 meters), it is marked as "significant positional offset"; when the cumulative value of the directional difference exceeds the threshold total_angle_diff (e.g., 360 degrees), it is marked as "severe shape deformation"; when the area change ratio exceeds the threshold area_change_ratio (e.g., 0.3), it is marked as "significant range change". Spatial analysis is performed: the intersection and union regions of the two sets of data are calculated, generating the difference region map_difference. Feature extraction is performed on the difference region: the relationship between the difference region and the distribution of land features is analyzed, such as the positional relationship with roads and water bodies. Establish a dispute type coding system: using a two-digit code, the first digit representing the main difference type (1-location, 2-shape, 3-range), and the second digit representing the specific subtype. Generate dispute classification results: including dispute type code, difference feature description, key parameter values, and related geographic feature information. Record the basis for generating dispute identifiers: including the judgment rules used, threshold settings, and feature calculation methods. Establish a dispute type index for subsequent expert review and processing.
[0117] Step 302: Generate a dispute report containing dispute classification identifiers, first fence label data, and second fence label data.
[0118] Dispute classification identifiers are coding systems used to quickly identify and classify dispute situations, representing the types of differences in labeled data. A dispute report is a document that details these label differences, including quantitative indicators and visual descriptions of the spatial data discrepancies. The first fence label data is the original set of labeled data, serving as a comparison benchmark. The second fence label data is the revised set of labeled data, compared with the benchmark data. For example, a dispute report for a commercial area fence includes the dispute type code "21" (indicating shape deformation - outline simplification), the coordinate data of the original and revised fences, and detailed difference analysis results.
[0119] Specifically, the data structure for the dispute report is constructed first. A report header is created, including the task ID, generation time, involved user IDs, and fence location information. Basic statistics are recorded: the number of vertices, perimeter, and area of the original fence; the number of vertices, perimeter, and area of the corrected fence; and the percentage change in these values. Spatial feature comparison analysis is generated: the positional offset of each vertex is calculated, recording the maximum offset, average offset, and standard deviation; the direction change of boundary line segments is calculated, recording the positions and angles of significantly changed segments; and the area overlap rate and centroid offset distance are calculated. Terrain analysis is added: the spatial relationship between the fence boundary and surrounding features (roads, water bodies, etc.) is extracted, recording the type and location of reference features. Difference descriptions are generated: for each significantly different region, its location, area, shape characteristics, and possible causes of change are recorded. Visualization data is created: heatmap data of the difference regions is generated, marking the coordinates and attributes of key change points. Dispute classification conclusions are added: the dispute type code, judgment criteria, and confidence score are recorded. Generate processing recommendations: Based on the type and degree of difference in the dispute, provide specific review suggestions and processing directions. Integrate all information into a standard-format dispute report document (report_document), including: text descriptions, data tables, statistical charts, and spatial visualizations. Generate a unique identifier (report_id) for the report, establishing a link with the task record.
[0120] Step 303: Send the dispute report to the geographic information expert in the corresponding field for review, and update the calculation weight of the task complexity coefficient based on the review results.
[0121] The Geographic Information Expert Platform is an operational platform for professionals to review data and make decisions. The review results represent the expert's professional judgment on disputed content, including the judgment conclusion and suggested corrections. The task complexity coefficient is a comprehensive indicator for evaluating the difficulty of fence labeling, calculated by weighting multiple feature parameters. The calculation weights are the importance coefficients of each feature parameter in the complexity calculation. For example, the complexity coefficient of a fence labeling task was originally calculated using the convex hull area ratio (weight 0.3), angle change rate (weight 0.4), and cross-boundary ratio (weight 0.3). After expert review, it was found that the angle change feature is more important in this type of area, and the weights were adjusted accordingly to 0.2, 0.5, and 0.3.
[0122] Specifically, the first step is to establish an expert review workflow. This involves creating a review task record: assigning a unique review ID, setting a review deadline, and recording relevant expert information. Constructing a review data package (review_package): including the dispute report file, original annotation data, corrected annotation data, and relevant geographic information data. Sending a review request: transmitting the data package to the expert system to notify relevant experts to initiate the review. Experts execute the review process: analyzing the dispute type, assessing the degree of difference, confirming reference features, and determining the rationality of corrections. Recording the review results (review_result): review conclusions (approval / rejection / modification suggestions), dispute resolution opinions, and weight adjustment suggestions. Updating weight coefficients based on the review results: extracting the feature importance assessment from the review report and constructing a feature weight matrix (weight_matrix). For each feature dimension, calculating its impact_score in dispute determination. Calculating new weight coefficients: adjusting the original weights based on the impact_score to ensure the sum of the weights is 1. Applying the updated weights: recalculating the complexity coefficient of the current task using the new weights and verifying the rationality of the calculation results. Establish a weight update log (weight_update_log): record weight changes, update basis, and scope of impact. Update the task classification model: apply the new weight coefficients to the evaluation of similar types of tasks. Generate a weight update report: record the weight adjustment process, verification results, and application effects.
[0123] Reference Figure 3 This application provides a big data governance system, which includes: a data acquisition module, a proportion determination module, a crowdsourcing user allocation module, and a fence labeling module, wherein:
[0124] The data acquisition module is used to acquire the first fence annotation data to be processed. The first fence annotation data includes fence coordinate point sequence, satellite image data and map vector data.
[0125] The proportion determination module is used to calculate the geometric feature parameters of the fence based on the fence coordinate point sequence. The geometric feature parameters of the fence include the convex hull area ratio and the angle change rate. It performs spatial registration of satellite image data and map vector data to determine the land feature classification information within the fence area. Based on the distribution of road pixels and water body pixels in the land feature classification information, it calculates the cross-boundary ratio of the intersection length of the fence boundary line segment and the land feature classification to the total perimeter of the fence.
[0126] The crowdsourcing user allocation module is used to perform weighted fusion of convex hull area ratio, angle change rate and cross-boundary ratio to obtain task complexity coefficient, and allocate fence labeling tasks to corresponding crowdsourcing users based on task complexity coefficient;
[0127] The fence labeling module is used to receive the corrected second fence labeling data submitted by crowdsourcing users. When multiple crowdsourcing users submit labeling results for the same fence labeling task, the module determines the spatial overlap and geometric similarity between the labeling results based on the second fence labeling data. The module calculates the fence labeling credibility score based on the spatial overlap and geometric similarity. When the fence labeling credibility score exceeds a preset threshold, the module combines the historical accuracy of each crowdsourcing user to perform weighted fusion of the labeling results to obtain the target fence labeling result.
[0128] Based on the above embodiments, the ratio determination module is also used to calculate the area of the polygon formed by the sequence of fence coordinate points, and to calculate the area of the smallest convex polygon containing the sequence of fence coordinate points. The ratio of the polygon area to the area of the smallest convex polygon is used as the convex hull area ratio. According to the sequence of fence coordinate points, the orientation angle of the line segment formed between adjacent fence coordinate points in the coordinate system is determined, and the orientation angle change value between adjacent line segments is calculated according to the orientation angle. The cumulative sum of the orientation angle change values within a unit perimeter is used as the angle change rate. The convex hull area ratio and the angle change rate are used as the geometric feature parameters of the fence.
[0129] Based on the above embodiments, the scale determination module is also used to select feature points with the same geographical location in satellite image data and map vector data as control points, and to unify satellite image data and map vector data into the same coordinate system through control points; based on the land feature type identifier in the map vector data under the unified coordinate system, road vector lines and water body vector surfaces are extracted from the corresponding satellite image data; the road vector lines and water body vector surfaces are rasterized to generate road pixel distribution maps and water body pixel distribution maps; the fence area is determined according to the fence coordinate point sequence, and the pixel position information in the road pixel distribution map and water body pixel distribution map is extracted within the fence area as land feature classification information within the fence area.
[0130] Based on the above embodiments, the scaling module is also used to obtain the rasterization resolution and divide the fence area into multiple grid units according to the rasterization resolution; for road vector lines, grid units that intersect with each line segment in the road vector line are marked as road pixels; for water vector surfaces, a ray casting algorithm is used to determine whether the center point of each grid unit is located inside the water polygon, and grid units located inside the water polygon are marked as water pixels; boundary smoothing is performed on road pixels and water pixels; the smoothed road pixels are topologically connected to generate a road pixel distribution map, and the smoothed water pixels are topologically connected to generate a water pixel distribution map.
[0131] Based on the above embodiments, the proportion determination module is further used to construct a set of fence boundary line segments according to the fence coordinate point sequence, calculate the total length of the fence boundary line segment set as the total perimeter of the fence; traverse each line segment in the fence boundary line segment set, and determine whether the line segment intersects with the distribution positions of road pixels and water pixels; for line segments that intersect, calculate the length of the line segment intersecting with road pixels and the length of the line segment intersecting with water pixels; sum up the lengths of all line segments intersecting with road pixels to obtain the total length of road intersections, and sum up the lengths of all line segments intersecting with water pixels to obtain the total length of water intersections; divide the sum of the total lengths of road intersections and the total lengths of water intersections by the total perimeter of the fence to obtain the cross-boundary proportion.
[0132] Based on the above embodiments, the crowdsourcing user allocation module is further configured to obtain historical annotation task information for each crowdsourcing user, including historical complexity coefficients, annotation accuracy rates, and task completion times for completed tasks; calculate the annotation task completion rate for each crowdsourcing user under different complexity ranges based on the historical annotation task information; compare the task complexity coefficients with preset complexity grading thresholds to determine the target complexity range corresponding to the current fence annotation task; select candidate users from among the crowdsourcing users whose annotation task completion rate under the target complexity range exceeds a preset reliability threshold; calculate the task allocation priority based on the current task backlog, average response time, and historical completion rate of each candidate user; and preferentially allocate the fence annotation task to the candidate user with the highest task allocation priority.
[0133] Based on the above embodiments, the fence labeling module is also used to generate a dispute classification identifier based on the difference type between the first fence labeling data and the second fence labeling data when the fence labeling credibility score does not exceed a preset threshold; generate a dispute report containing the dispute classification identifier, the first fence labeling data, and the second fence labeling data; send the dispute report to the geographic information expert in the corresponding field for review, and update the calculation weight of the task complexity coefficient based on the review results.
[0134] It should be noted that the above embodiments of the apparatus are only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0135] This application also discloses an electronic device. (See reference...) Figure 4 , Figure 4This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application. The electronic device 400 may include: at least one processor 401, at least one network interface 404, a user interface 403, a memory 405, and at least one communication bus 402.
[0136] The communication bus 402 is used to enable communication between these components.
[0137] The user interface 403 may include a display interface and a camera interface. Optionally, the user interface 403 may also include a standard wired interface and a wireless interface.
[0138] The network interface 404 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).
[0139] The processor 401 may include one or more processing cores. The processor 401 connects to various parts of the server using various interfaces and lines, and performs various server functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in memory 405, and by calling data stored in memory 405. Optionally, the processor 401 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 401 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface graphics, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 401 and may be implemented as a separate chip.
[0140] The memory 405 may include random access memory (RAM) or read-only memory. Optionally, the memory 405 may include a non-transitory computer-readable storage medium. The memory 405 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 405 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 405 may also be at least one storage device located remotely from the aforementioned processor 401. (Refer to...) Figure 4 The memory 405, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and an application program for a big data governance method.
[0141] exist Figure 4 In the illustrated electronic device 400, the user interface 403 is mainly used to provide an input interface for the user and to acquire user input data; while the processor 401 can be used to call an application program storing a big data governance method in the memory 405. When executed by one or more processors 401, the electronic device 400 performs one or more methods as described in the above embodiments. It should be noted that, for the foregoing method embodiments, for the sake of simplicity, they are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, because according to this application, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0142] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0143] In the various embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some service interface; the indirect coupling or communication connection between apparatuses or units may be electrical or other forms.
[0144] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0145] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0146] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks, or optical disks.
[0147] The above are merely exemplary embodiments of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Other embodiments of this disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practical disclosure.
[0148] This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure. The specification and embodiments are to be considered exemplary only.
Claims
1. A big data governance method, characterized in that, The method comprises: acquiring first fence annotation data to be processed, the first fence annotation data comprising a fence coordinate point sequence, satellite image data and map vector data; calculating fence geometric feature parameters based on the fence coordinate point sequence, the fence geometric feature parameters comprising a convex hull area ratio and an angle change rate; spatially registering the satellite image data and the map vector data to determine ground object classification information in a fence region, and calculating a cross-border proportion of an intersection length of a fence boundary line segment and the ground object classification to a total perimeter of the fence according to distribution positions of road pixels and water body pixels in the ground object classification information; weighting and fusing the convex hull area ratio, the angle change rate and the cross-border proportion to obtain a task complexity coefficient, and distributing a fence annotation task to a corresponding crowd-sourcing user based on the task complexity coefficient; receiving second fence annotation data submitted by the crowd-sourcing user; when multiple crowd-sourcing users submit annotation results for the same fence annotation task, determining spatial overlap and geometric similarity between the annotation results based on the second fence annotation data; calculating a fence annotation credibility score based on the spatial overlap and the geometric similarity, and when the fence annotation credibility score exceeds a preset threshold, weighting and fusing the annotation results according to historical accuracy rates of the crowd-sourcing users to obtain a target fence annotation result. 2.The big data governance method of claim 1, wherein, The method further comprises: calculating a polygon area formed by the fence coordinate point sequence, and calculating a minimum convex polygon area containing the fence coordinate point sequence, taking a ratio of the polygon area to the minimum convex polygon area as the convex hull area ratio; determining a direction angle of a line segment formed between adjacent fence coordinate points in a coordinate system according to the fence coordinate point sequence, and calculating a direction angle change value between adjacent line segments according to the direction angle, taking a cumulative sum of the direction angle change value within a unit perimeter as the angle change rate; and taking the convex hull area ratio and the angle change rate as the fence geometric feature parameters. 3.The big data governance method of claim 1, wherein, The method further comprises: selecting feature points at the same geographical position in the satellite image data and the map vector data as control points, and unifying the satellite image data and the map vector data to the same coordinate system through the control points; extracting road vector lines and water body vector surfaces in the corresponding satellite image data based on ground object type identifiers in the map vector data in the unified coordinate system; performing rasterization processing on the road vector lines and the water body vector surfaces to generate a road pixel distribution map and a water body pixel distribution map; determining a fence region range according to the fence coordinate point sequence, and extracting pixel position information in the road pixel distribution map and the water body pixel distribution map within the fence region range as ground object classification information in the fence region.
4. The big data governance method of claim 3, wherein, The method further comprises: acquire a raster resolution, and divide the range of the fence area into a plurality of grid cells according to the raster resolution; for the road vector line, mark the grid cells intersecting with each line segment in the road vector line as road pixels; for the water body vector surface, use a ray casting algorithm to determine whether the center point of each grid cell is inside the water body polygon, and mark the grid cells inside the water body polygon as water body pixels; perform boundary smoothing processing on the road pixels and the water body pixels; topologically connect the road pixels after boundary smoothing processing to generate a road pixel distribution map, and topologically connect the water body pixels after boundary smoothing processing to generate a water body pixel distribution map. 5.The big data governance method of claim 1, wherein, The calculation of the cross-border proportion of the intersection length of the fence boundary line segment and the ground object classification according to the distribution position of the road pixels and the water body pixels in the ground object classification information includes: constructing a fence boundary line segment set according to the sequence of the fence coordinate points, and calculating the total length of the fence boundary line segment set as the total perimeter of the fence; traversing each line segment in the fence boundary line segment set to determine whether the line segment intersects with the distribution position of the road pixels and the water body pixels; for the line segments that exist intersection, calculating the length of the intersection of the line segment and the road pixels and the length of the intersection of the line segment and the water body pixels; adding up the length of the intersection of all line segments and the road pixels to obtain the total intersection length of the road pixels, and adding up the length of the intersection of all line segments and the water body pixels to obtain the total intersection length of the water body pixels; dividing the sum of the total intersection length of the road pixels and the total intersection length of the water body pixels by the total perimeter of the fence to obtain the cross-border proportion. 6.The big data governance method of claim 1, wherein, The method for assigning a fence labeling task to a corresponding crowd-sourcing user based on the task complexity coefficient includes: acquiring historical labeling task information of each crowd-sourcing user, the historical labeling task information including historical complexity coefficients, labeling accuracy rates, and task completion time lengths of completed tasks; calculating labeling task completion rates of each crowd-sourcing user in different complexity intervals according to the historical labeling task information; comparing the task complexity coefficient with a preset complexity classification threshold to determine a target complexity interval corresponding to the current fence labeling task; from each crowd-sourcing user, filtering out candidate users whose labeling task completion rates in the target complexity interval exceed a preset confidence threshold; calculating task assignment priorities according to current task backlogs, average response times, and historical completion rates of each candidate user; preferentially assigning the fence labeling task to a candidate user with the highest task assignment priority. 7.The big data governance method of claim 1, wherein, After calculating the fence labeling confidence score based on the spatial overlap degree and the geometric similarity, the method further includes: when the fence labeling confidence score does not exceed the preset threshold, generating a dispute classification identifier according to the difference type between the first fence labeling data and the second fence labeling data; generating a dispute report containing the dispute classification identifier, the first fence labeling data, and the second fence labeling data. The dispute report is sent to a geographic information expert terminal of a corresponding field for auditing, and a calculation weight of the task complexity coefficient is updated based on an auditing result after the auditing.
8. A big data governance system, characterized by, The system comprises: A data acquisition module is configured to acquire first fence annotation data to be processed, the first fence annotation data comprising a fence coordinate point sequence, satellite image data, and map vector data. A proportion determination module is configured to calculate fence geometric feature parameters based on the fence coordinate point sequence, the fence geometric feature parameters comprising a convex hull area ratio and an angle change rate; perform spatial registration on the satellite image data and the map vector data to determine ground object classification information in a fence region, and calculate a cross-border proportion of an intersection length of a fence boundary line segment and the ground object classification over a total perimeter of the fence according to distribution positions of road pixels and water body pixels in the ground object classification information. A crowd-sourcing user allocation module is configured to weight and fuse the convex hull area ratio, the angle change rate, and the cross-border proportion to obtain a task complexity coefficient, and allocate a fence annotation task to a corresponding crowd-sourcing user based on the task complexity coefficient. A fence annotation module is configured to receive second fence annotation data submitted by the crowd-sourcing user; when multiple crowd-sourcing users submit annotation results for the same fence annotation task, determine spatial overlap and geometric similarity between the annotation results based on the second fence annotation data; calculate a fence annotation credibility score based on the spatial overlap and the geometric similarity; when the fence annotation credibility score exceeds a preset threshold, weight and fuse the annotation results in combination with historical accuracy rates of the crowd-sourcing users to obtain a target fence annotation result.
9. An electronic device, comprising: The electronic device comprises a processor, a memory, a user interface, and a network interface, the memory is configured to store instructions, the user interface and the network interface are configured to communicate with other devices, and the processor is configured to execute the instructions stored in the memory to enable the electronic device to perform the big data governance method according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions, when the instructions are executed, the big data governance method according to any one of claims 1-7 is performed.
Citation Information
Patent Citations
Electronic fence method and system based on multi-source algorithm
CN112802302A
Major language model-based map plotting method, apparatus and device, and medium
CN120104716A