Resource data retrieval method and system based on GIS map area frame selection
Through the GIS map-based area box selection method and distributed search service, the problem of low retrieval efficiency of map resource data in the existing technology is solved, and the rapid and accurate retrieval and real-time display of resource data in the target area is achieved, and the efficiency of emergency response and resource scheduling is improved.
Patent Information
- Application Number
- CN202411644034.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-02-28
AI Technical Summary
The existing map resource data retrieval methods are cumbersome and have low retrieval efficiency. Especially in special scenarios, the resources required cannot be quickly located and displayed, which affects the rapid scheduling of emergency events and the rapid allocation of resources.
The area box selection method based on GIS map is adopted, and the box selection mode of combining circles, rectangles and any polygons is supported. It combines distributed search services and search algorithm services to achieve rapid retrieval and real-time display of resource data in the target area.
It improves the accuracy and efficiency of resource data retrieval, reduces operation complexity, and can complete retrieval tasks within millisecond response time. It is suitable for retrieval scenarios of TB-level data volume, improving the efficiency of emergency response and resource scheduling.
Smart Images

Figure CN119537717A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of map data processing, and in particular relates to a resource data retrieval method and system based on GIS map area selection, and the method is used for data visualization application. Background Art
[0002] In recent years, with the development of the Internet, in the context of the big data era, the demand for map resource data retrieval and visualization has been increasing. Because of its vivid, intuitive, fast and convenient display methods, it has been widely used in various industries. Urban traffic diversion, forest fire monitoring, urban park passenger flow monitoring, garden greening patrol, pest and disease early warning and prevention, and nature reserve monitoring all require accurate searches of existing videos and IoT devices, and require the ability to quickly locate and display in real time. The existing method generally searches through text comparison and drop-down selection, that is, the operator enters or selects the name of the device resource to be searched in the drop-down box, and the corresponding target resource is displayed on the map. This method has great limitations. In addition to cumbersome operations and low retrieval efficiency, it cannot achieve ideal results in some special scenarios. For example, in the event of a sudden forest fire, the best way to search is to search for personnel, water sources, supplies, rescue teams, etc. around the fire point. However, if the names of the above resources are entered in the input box, all resources in the entire area will be included, which not only wastes the resources of the map search engine, but also easily detects resources that do not match user needs, so that secondary or even more repeated searches have to be performed, affecting the search efficiency, and also affecting the rapid dispatch of emergency events and the rapid allocation of resources. Of course, there are currently map area frame selection technologies, but they all use a single graphic frame selection. In some special scenes with complex areas, it is impossible to accurately match the shape of the area, and it is difficult to achieve a more ideal search effect. Therefore, people in this field are in urgent need of finding a new resource data retrieval method to solve the above problems. The present invention relates to a resource data retrieval method and system based on GIS map area frame selection, which mainly solves the above problems. The frame selection mode of a combination of circles, rectangles and arbitrary polygons is adopted to more accurately match the target area, improve the search efficiency, and make the data display more vivid. Summary of the invention
[0003] The present invention is a resource data retrieval method based on GIS map area selection, which is committed to breaking the traditional text and drop-down screening and single graphic selection mode. Through the map visualization of multiple shapes (circle, rectangle and arbitrary polygon) combined selection method, it can more accurately match the target area, make the resources what you see is what you get, and quickly retrieve the resource data of video equipment, Internet of Things equipment and other resource data within the specified area, and can realize functions such as data display and real-time playback of video equipment, improve retrieval efficiency, and thus reduce the workload of operators.
[0004] A resource data retrieval system based on GIS map area selection includes a front-end operation / visualization module, a GIS map engine module, a back-end proxy service module, a distributed retrieval service module, and a retrieval algorithm service module; the front-end operation / visualization module is developed and implemented in Vue language to complete user interface rendering and operation logic, the GIS map engine module is implemented through GIS map in conjunction with Cesium component library, and through operations such as loading, initialization, and layer overlay of the GIS map engine; the back-end proxy service module is written in Java language, receives the selection parameters of the front-end operation / visualization module through an API interface, and forwards them to the back-end distributed retrieval service module for retrieval after encapsulation, escape, and other operations, and the retrieval results of the back-end distributed retrieval service are again encapsulated and escaped and forwarded to the front-end operation / visualization module for visual display; the retrieval algorithm service module determines whether a known coordinate point is within a given area, and then retrieves and determines all points within the given area.
[0005] A method for using a resource data retrieval system based on GIS map area selection includes the following steps: S1, login module to enter the system; S2. Select the data asset map to enter the map interface; S3. According to the actual needs of customers, select different shapes of frame selection graphics such as circle, rectangle, and arbitrary polygon to select the map area, and pass the frame selection parameters to the backend proxy service module in the form of API; S4 calls the API service getAllEqAreaPoints to pass the parameters in S3 to the backend proxy service module, which sends the received information to the distributed retrieval service module through operations such as encapsulation and escape; After receiving the search task, the S5 distributed search service module allocates the nodes to the working nodes in the cluster to perform the actual search work, and returns the search results to the backend proxy service module; The working node that executes the specific retrieval subtask in the S6 cluster will call the specific retrieval algorithm service module to determine whether the given point is in the area, and mark it and return it; S7 distributed search service module node receives the results fed back by the working node and marks them, and executes S5-S6 in a loop until the search task is completely completed, and returns the task completion mark to the backend proxy service module; The S8 backend proxy service returns the search results to the frontend operation / visualization module in JSON data format; The S9 front-end operation / visualization module displays the device information on a map by feeding back the longitude and latitude coordinate information.
[0006] The specific step-by-step operation of the S5 distributed retrieval service module is as follows: S501 service starts, and each working node registers with the master node; S502 The master node persists the registration information and each node information to the database middleware mysql, and detects the health status of each working node through heartbeat; S503 After the backend search service receives the task request, the master node constructs a Job object and then persists the scheduled job to the database middleware mysql; S504 The master node divides the received task into a plurality of independent subtasks; S505: The master node starts the scheduling thread and periodically scans the jobs to be scheduled to obtain the available working nodes and the load data of the nodes; S506 The master node allocates the divided subtasks to corresponding working nodes according to the cluster resource situation, and calls the execution interface to execute the task.
[0007] S507 The working node calls a specific retrieval algorithm service, actually executes the retrieval task, and feeds back the execution status to the master node in real time; S508 The master node executes steps S505 to S507 in a loop until all subtasks are completed; After the S509 task is executed, the master node aggregates the results of each working node and returns them uniformly, thus completing the execution of the entire retrieval task.
[0008] The process of the S6 working node calling the retrieval algorithm service is described as follows. The point to be determined is P. S601 creates and initializes the algorithm result set aResultSet; S602 Initialize algorithm parameters and point index, and select any point p[i]; S603 calculates the outer bounding matrix of the polygon according to the known polygonal region vertices, and determines the position of point p[i]. If the point is outside the outer bounding matrix, continue to select the next point and continue S603; S604 determines whether p[i] is on an edge of the polygon. If so, the point is added to the result set aResultSet, and the next point is selected, and S603 is continued. S605 calculates the total number of intersections M of the horizontal rightward ray with p[i] as the starting point and each edge of the polygon; S606 determines the parity of the number M. If M is an odd number, the point is added to the result set aResultSet, and the next point is selected and the process continues to S603. Otherwise, the next point is directly selected and the process continues to S603. S607 After traversing all points, the system returns a result set aResultSet of all points in the area.
[0009] Beneficial Effects of the Invention The present invention discloses a resource data retrieval method and system based on GIS map area selection. The key protection points of the technology include: The present invention relates to an overall map data screening method, that is, an overall solution through map area selection, parameter configuration, interface call, distributed search, result feedback and visual display. The map selection involved in the present invention is aimed at special and complex scenes, such as: circular squares, rectangular green spaces, that is, any irregular polygonal streets, communities and other areas, and supports multiple area combination selections, including circular, rectangular and arbitrary polygonal selections, which improves the accuracy of resource search scope and the accuracy of search results. The present invention introduces the distributed architecture concept of the master-slave mode into the retrieval service module, adopts the cluster mode, splits large tasks into independent subtasks for separate execution, improves the stability and efficiency of the retrieval service, and is particularly suitable for retrieval scenarios for TB-level data volumes.
[0010] The regional retrieval algorithm involved in the present invention determines whether the point to be retrieved falls within a known closed figure (circle, rectangle, arbitrary polygon), thereby achieving the purpose of rapid retrieval. It has a complete set of map data retrieval and visualization systems, and guarantees performance requirements, including: the response time requires milliseconds to meet the use of various scenarios; the system must provide reliable functional support; the system runs continuously for 7×24 hours; the system availability (A= MTBF (mean time between failures) / MTBF + MTTR (mean time to repair)) is at least 99.5%. Attention should also be paid to the consideration of the number of concurrent users supported, which determines the availability and scalability of the system.
[0011] The application scenarios of the present invention include but are not limited to video surveillance, forest fire prevention, garden patrol, pest control, etc. The system only implements the best practices in forest fire prevention business and is not intended to limit the present invention. It should be pointed out that any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention, such as applying the technology to industries such as garden patrol and traffic diversion, and user retrieval of other resource data besides the IoT and visual devices mentioned in the present invention, should be included in the protection scope of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1This is a schematic diagram of the distributed retrieval service architecture; Figure 2 This is a schematic diagram of the system logic architecture; Figure 3 This is a schematic diagram of the principle of polygonal area point determination; Figure 4 Retrieve algorithmic schematics for the region; Figure 5 This is a display diagram of the circular area search results; Figure 6 This is a display diagram of the rectangular area search results; Figure 7 Display the search results for any polygonal area; Figure 8 The following diagram shows the application scenario. DETAILED DESCRIPTION
[0013] Technical solution description The present invention discloses a resource data retrieval method and system based on GIS map area selection, which mainly includes a front-end operation / visualization module, a GIS map engine module, a back-end proxy service module, a distributed retrieval service module, a retrieval algorithm service module, etc.
[0014] System Module Description 6.2.1. Front-end operation / visualization module The front-end operation / visualization module is developed and implemented in Vue language, which mainly completes the user interface rendering and operation logic, bringing a more intuitive experience to users. This module receives the user's operation information (such as click, select, draw, submit, etc.), and passes this information to the back-end service in a specific format and parameterized form to perform operations such as request and submission. At the same time, it also receives the structured (such as JSON, XML) information returned by the back-end service, and synchronously renders the information to the front-end page to achieve the purpose of data visualization.
[0015] 6.2.2 GIS map engine module The GIS map engine module is implemented by cooperating with the Cesium component library through the GIS map. Through the loading, initialization, layer overlay and other operations of the GIS map engine, the visualization function of the map is realized and the interaction with the map is completed, so that the user can operate the map through the visualization interface (such as: zoom in, zoom out, draw points, draw lines, measure, etc.). The present invention mainly adopts functions such as map dotting and area selection (circle, rectangle, arbitrary polygon) to realize area selection and mark the map.
[0016] 6.2.3. Backend proxy service module The back-end proxy service module is written in Java and mainly receives the selection parameters of the front-end module (6.2.1) (such as the center point and radius of the circular area, the points of the vertices of the rectangular area, and the points and areas of each vertex of any polygon) through the API interface, and forwards these parameters to the back-end distributed search service (6.2.4) for retrieval after encapsulation, escape and other operations, and encapsulates and escapes the search results of the back-end distributed search service again and forwards them to the front-end (6.2.1) for visual display. It is a bridge for front-end and back-end message forwarding, and plays a role in front-end and back-end call load balancing and dynamic peak shaving.
[0017] 6.2.4 Distributed retrieval service module The distributed retrieval service module, such as Figure 1 As shown in the figure, the module consists of a master node and three worker nodes. The master node is responsible for receiving the call tasks of Http and Feign from the client, and determines which worker node to dispatch to for specific execution according to the situation of cluster resources. In addition, it is also responsible for resource management, task scheduling, status update and other tasks. After the system worker node is started, it will first register with the master node and keep in touch with the master node through heartbeat. The master node regularly persists the current cluster job information to the middleware mysql database. When the master node does not receive the heartbeat information of the worker node within 30s, it is considered that the worker node has been down, and the latest job execution information of the node is read from the mysql database in time and dispatched to other normal nodes for continued execution; when it is found that the execution time of a certain worker node is too long, exceeding 60s, the master node will re-determine the status of cluster resources and other nodes. If there is an idle node, the task will be transferred, which maximizes the reliability of the system and gives full play to the advantages of the cluster, thereby efficiently completing the execution of tasks and the output of results.
[0018] 6.2.5. Retrieval algorithm service module The retrieval algorithm service module is mainly used to determine whether a known coordinate point is within a given area, and then retrieve all points within the given area. The area set in the present invention includes a circular area, a rectangular area and an arbitrary polygon area. Since a rectangle is a special arbitrary polygon, all attributes of an arbitrary polygon are also applicable to a rectangle. Therefore, the above three types of areas can be divided into two categories: a circle and an arbitrary polygon.
[0019] 6.2.5.1. Determine whether a known point is within a circular area Problem to be solved: When the given area is circular, how to determine whether the known points are inside the area and retrieve all the points inside the area.
[0020] Known conditions: a certain point is known The center of the circular area is , the radius is .
[0021] Judgment principle: Since the area is a regular shape, it can be judged by Click to Distance between points and radius of circle When the distance is greater than the radius of the circle When it is large, judge the point If it is outside the circle area, otherwise it is inside the circle area and meets the search conditions.
[0022] Judgment process: Click to The distance between the points is ,but: when ≤ When, judgment point Falling in circle region; otherwise, the point is judged to fall within the circle outside the area.
[0023] Therefore, in order to retrieve all the points in the circular area, we only need to find the point that is closest to the center of the circle. The distance is less than the radius The set of all points of .
[0024] 6.2.5.2. Determine whether a known point is within any polygonal area (including rectangle) Problem to be solved: When the given area is an arbitrary polygon, how to determine whether the known points are inside the area and retrieve all the points inside the area.
[0025] Judgment principle: Starting from the point, make a ray along a certain direction (the present invention chooses to make a ray along the horizontal x-axis direction), and count the number of intersections between the ray and each edge of any polygon. If the number of intersections is an odd number, the point is determined to be inside the polygon area; if it is an even number, the point is determined to be outside the polygon area. Its correctness is easy to understand, because every time the ray passes through the edge of the polygon, its inside and outside parity will change (because the boundary always separates the inside and outside). In the end, any ray ends outside the boundary polygon. Therefore, if the point is inside the polygon, then the order of crossing the boundary must be (the ray from the inside of the area to the outside of the area is represented by out; the ray from the outside of the area to the inside of the area is represented by in): out->in->...->out, therefore, the number of intersections (i.e.: the total number of out and in) must be an odd number; similarly, if the point is outside the polygon, then the order of crossing the boundary must be in->out->...->in->out, therefore, the number of intersections must be an even number.
[0026] Judgment steps (based on Figure 3 Take the polygonal area as an example to determine the points within the area): like Figure 3 As shown, determine whether the known points A, B, C, D, E, F, and G are within the known arbitrary polygon area.
[0027] ① Take the above points (point A to point G) as the starting point and draw a ray along the horizontal x-axis direction; ② Calculate the number of intersections between each ray and the polygon edge; ③ Case 1 (points B and C): This is the most general case. According to the algorithm principle, when the number of intersections between the ray and the edge is an odd number, the point is determined to be within the region; when the number of intersections between the ray and the edge is an even number, the point is determined to be outside the region. In this figure, the number of intersections between point B and each edge is 3 (odd number), so point B is determined to be a point within the region. The total number of intersections between point C and each edge is 4 (even number), so point C is determined to be a point outside the region.
[0028] ④ Case 2 (point G): When the point is on an edge, it is determined to be within the region and meets the screening condition. In this figure, point G is determined to be within the region.
[0029] ⑤ Case 3 (point A): When the ray starting from this point coincides with an edge, it is certain that two other edges (RS and OP) can be found in addition to the coincident edge. When these two edges are on the same side of the ray, the intersection is recorded as 0 (or other even numbers); if these two edges are on the upper and lower sides of the ray, the intersection is recorded as 1 (or other odd numbers). The above results plus the number of intersections between the ray and other edges, the final result is determined according to case 1. In this figure, the edge RS and the edge OP are on the same side of the ray A, and the number of intersections is recorded as 0. Since the ray has no intersections with other edges, the total number of intersections is 0, and point A is determined to be a point outside the area.
[0030] ⑥ Case 4 (points D, E, and F): When a vertex of the polygon falls exactly on the ray, the judgment method follows the rules of case 3. In this figure, the two edges OP and QP that intersect with ray D are on the same side of the ray, and the intersection point is recorded as 0. At the same time, since the ray has another intersection with the other edge UT, the final calculated total number of intersections is 1 (odd number), so point D is determined to be a point in the area. Similarly, point F is also a point in the area. As for point E, the two edges UT and UV that intersect with the ray are on both sides of the ray, the number of intersections is recorded as 1, and there is no intersection with other edges. The final calculated total number of intersections is 1 (odd number), so point E is determined to be in the area.
[0031] Method steps description like Figure 2 As shown, the area selection on the map is realized through the front-end operation / visualization module (6.2.1), and the obtained selection parameters are transmitted to the back-end proxy service module (6.2.3) in a specific format (such as: JSON, XML) through the API interface. The back-end proxy module encapsulates and escapes the parameter information passed in, and forwards it to the back-end distributed retrieval service module (6.2.4). The module adopts a master-slave distributed architecture mode, which is divided into a master node and a number of (the present invention selects three working nodes of n=3) working nodes. In order to improve the retrieval efficiency and system stability, the distributed retrieval component is dynamically allocated to different working nodes for specific data retrieval according to the execution status of the task and the resource status. Each working node calls the retrieval algorithm service module (6.2.5) respectively to complete the retrieval task in the massive data, and transmits the retrieval results back to the front-end operation / visualization module (6.2.1) in a structured manner through the back-end proxy module again, and then the retrieved data is visualized on the front end.
[0032] In view of the above description, the specific implementation logic is described as follows: S1 enters the system through the system login module; S2 selects the data asset map to enter the map interface; S3 selects different shapes of frame selection graphics (circle, rectangle, arbitrary polygon) to select the map area according to the actual needs of the customer, and passes the frame selection parameters to the backend proxy service module (6.2.3) in the form of API; S4 calls the API service getAllEqAreaPoints to pass the parameters in S3 to the backend proxy service module (6.2.3), which sends the received information to the distributed retrieval service module (6.2.4) through operations such as encapsulation and escape. After receiving the search task, the S5 distributed search service module (6.2.4) distributes it to the working nodes in the cluster through the master node to perform the actual search work, and returns the search results to the backend proxy service module (6.2.3); The working node that executes the specific retrieval subtask in the S6 cluster will call the specific retrieval algorithm service module (6.2.5) to determine whether the given point is in the area and mark it and return it; S7 distributed search service module (6.2.4) The master node receives the results fed back by the working node and marks them, and executes S5~S6 in a loop until the search task is completely completed, and returns the task completion mark to the backend proxy service module (6.2.3); The S8 backend proxy service returns the search results to the frontend page in JSON data format. The specific returned data example is as follows: "status": 200, "message": null, "requestId": null, "data": [ { "id": "579400", "equipmentId": "51018100981316130114@hkplat", "equipmentName": "Xueliang Project XXX City XX Town XX Community XX Community 1st Group 50", "subName": null, "equipmentType": "2", "longitude": "113.6742890", "latitude": "80.7835750", "status": 1, "offlineStatus": null, "liveUrl": null, "liveType": 2, "useType": null, "imei": "51018100981316130114@hkplat" }, ... { "id": "611048", "equipmentId": "51018498001310900034@hkplat", "equipmentName": "Xueliang Project XX City XX Town XX Village XX Group Intersection", "subName": null, "equipmentType": "2", "longitude": "113.6863750", "latitude": "80.7692190", "status": 0, "offlineStatus": null, "liveUrl": null, "liveType": 2, "useType": null, "imei": "51018498001310900034@hkplat" } ], "success": true, "params": null } The S9 front end displays the device information on the map by feedback of longitude and latitude coordinate information. Figure 5 The display shows the device results retrieved by selecting the circular area; Figure 6 The display shows the device results retrieved by selecting a rectangular area. Figure 7 What is displayed is the device results retrieved by selecting any polygonal area.
[0033] So far, S1~S9 have realized the complete process of quickly retrieving and displaying map resource data through box selection.
[0034] The S3 selection box selection graphics are used to select the area, including a circle, a rectangle and any polygon, as follows: S301 When a circle is selected in the box selection, the parameter examples passed in are: { "equipmentManagements":[], "type":1, "radius":3.6229497518807903, "points":[{"x":113.6615,"y":80.85015}] } S302 When the selected graphic is a rectangle, the parameter examples passed in are: { "equipmentManagements":[], "type":2, "points":[ {"x":113.63712,"y":80.72649}, {"x":113.63712,"y":80.69731}, … ] } S303 When the selected graphic is a rectangle, the parameter examples passed in are: { "equipmentManagements":[], "type":2, "points":[ {"x":113.66814,"y":80.79493}, {"x":113.71552,"y":80.77296}, … ] } The specific working principle of the S5 distributed retrieval service module is combined with Figure 1 , the description is as follows: S501 service starts, and each working node registers with the master node; S502 The master node persists the registration information and each node information to the database middleware mysql, and detects the health status of each working node through heartbeat; S503 After the backend search service receives the task request, the master node constructs a Job object and then persists the scheduled job to the database middleware mysql; S504 The master node divides the received task into a plurality of independent subtasks; S505: The master node starts the scheduling thread and periodically scans the jobs to be scheduled to obtain the available working nodes and the load data of the nodes; S506 The master node allocates the divided subtasks to corresponding working nodes according to the cluster resource situation, and calls the execution interface to execute the task.
[0035] S507 The working node calls the specific retrieval algorithm service (6.2.5), actually executes the retrieval task, and feeds back the execution status to the master node in real time; S508 The master node executes steps S505 to S507 in a loop until all subtasks are completed; After the S509 task is executed, the master node aggregates the results of each working node and returns them uniformly, thus completing the execution of the entire retrieval task.
[0036] The process of the S6 working node calling the retrieval algorithm service is described as follows. Assume that the point to be determined is P. Figure 4 : S601 creates and initializes the algorithm result set aResultSet; S602 Initialize algorithm parameters and point index, and select any point p[i]; S603 calculates the outer bounding matrix of the polygon according to the known polygonal region vertices, and determines the position of point p[i]. If the point is outside the outer bounding matrix, continue to select the next point and continue S603; S604 determines whether p[i] is on an edge of the polygon. If so, the point is added to the result set aResultSet, and the next point is selected, and S603 is continued. S605 calculates the total number of intersections M of the horizontal rightward ray with p[i] as the starting point and each edge of the polygon; S606 determines the parity of the number M. If M is an odd number, the point is added to the result set aResultSet, and the next point is selected and the process continues to S603. Otherwise, the next point is directly selected and the process continues to S603. S607 After traversing all points, the system returns a result set aResultSet of all points in the area.
[0037] Application scenario description The present invention discloses a method and system for retrieving resource data by selecting a frame on a GIS map, which is applicable to multiple business fields including video monitoring, forest fire prevention, garden patrol, pest control, etc. At present, the method has been successfully applied to forest and grassland fire prevention business, such as Figure 8As shown. When the system receives a fire alarm, the large display screen in the leader's cockpit can intuitively display the precise location of the fire point, and search for monitoring equipment, water sources, fire prevention and extinguishing materials, rescue teams and other firefighting resources in the surrounding areas with the fire point as the center, so as to achieve the purpose of "finding objects by map and quickly locating", timely understand the distribution of materials and personnel around the fire source, and provide a strong basis for formulating scientific and reasonable processing procedures and emergency plans. According to the actual distribution of resources and the location of personnel, the deployment and dispatch of firefighting forces are reasonably planned to ensure that each key area can be responded to in a timely and effective manner. And through the information transmitted in real time by the monitoring video, the processing process and emergency plan are dynamically adjusted to adapt to the ever-changing fire situation, so that fire prevention work is always in an active position.
[0038] The technical requirements of the present invention are as follows: 1. It breaks the traditional single data retrieval method such as text matching or drop-down selection. By selecting the map area, users can quickly find the distribution of the required resources in the area, achieving the purpose of "finding objects by map and rapid positioning". The whole process effectively avoids the retrieval of resources in useless areas, improves the retrieval efficiency and the accuracy of retrieval equipment resources, and can meet the user's personalized selection of any target area on demand, greatly facilitating the retrieval and scheduling of resources.
[0039] 2. Through batch and distributed retrieval methods, the speed of data retrieval is improved and the operation complexity is reduced.
[0040] 3. The accuracy of map data retrieval is greatly improved by searching for different combination areas such as circles, rectangles and arbitrary polygons.
[0041] 4. This method realizes what you see is what you get, converts the search result data into visual language and displays it on the screen, and distinguishes different types of result data (video device data, IoT device data, etc.) through different labels, which is convenient for users to make different choices and realizes the combined operation mode of the map interface.
[0042] 5. This method is applicable to a variety of fields, including but not limited to video surveillance, forest fire prevention, garden patrol, pest control, etc., fully empowering the business and thereby improving the work efficiency and quality of business personnel.
[0043] Glossary GIS (Geographic Information System or Geo-Information system, GIS): is a technical system that, with the support of computer hardware and software systems, collects, stores, manages, calculates, analyzes, displays and describes relevant geographical distribution data in the entire or part of the earth's surface (including the atmosphere).
[0044] Cesium: A cross-platform, cross-browser JavaScript library for displaying 3D earth and maps. It is an open source virtual earth browser and geographic information system (GIS) platform that uses WebGL for hardware-accelerated graphics. It is based on an Apache 2.0 open source program and is free for commercial and non-commercial use.
[0045] Vue: Vue (pronounced / vjuː / , similar to view) is a JavaScript framework for building user interfaces. It is built on standard HTML, CSS, and JavaScript, and provides a declarative, component-based programming model to help you develop user interfaces efficiently. Whether it is a simple or complex interface, Vue can handle it.
[0046] API (Application Programming Interface): The agreement for connecting different components of a software system.
[0047] MTBF (Mean Time Between Failure): Mean time between failures, is an indicator to measure the reliability of a product.
[0048] MTTR (Mean time to repair): Average repair time, the average repair time when the product is converted from a faulty state to a working state.
[0049] MYSQL: It is the most popular relational database management system. In terms of WEB applications, MySQL is one of the best RDBMS (Relational Database Management System) application software.
[0050] XML (Extensible Markup Language): is a language similar to HTML, but does not use predefined tags. Therefore, you can define your own tags according to your design requirements.
[0051] JSON (JavaScript Object Notation): refers to JavaScript Object Notation, which is a lightweight text data exchange format that uses JavaScript syntax to describe data objects.
Claims
1. A resource data retrieval system based on GIS map area selection, characterized by It includes a front-end operation / visualization module, a GIS map engine module, a back-end proxy service module, a distributed search service module, and a search algorithm service module; the front-end operation / visualization module is developed and implemented in Vue language to complete user interface rendering and operation logic; the GIS map engine module is implemented through GIS map in conjunction with Cesium component library, through operations such as loading, initialization, and layer overlay of the GIS map engine; the back-end proxy service module is written in Java language, and receives the selection parameters of the front-end operation / visualization module through API interface, and is forwarded to the back-end distributed search service module for retrieval after encapsulation, escape, and other operations, and the search results of the back-end distributed search service are again encapsulated and escaped and forwarded to the front-end operation / visualization module for visual display; the search algorithm service module determines whether the known coordinate point is within the given area, and then retrieves and determines all the points within the given area.
2. According to claim 1, a method for using a resource data retrieval system based on GIS map area selection is characterized in that The steps include: S1, login module to enter the system; S2. Select the data asset map to enter the map interface; S3. According to the actual needs of customers, select different shapes of frame selection graphics such as circle, rectangle, and arbitrary polygon to select the map area, and pass the frame selection parameters to the backend proxy service module in the form of API; S4 calls the API service getAllEqAreaPoints to pass the parameters in S3 to the backend proxy service module, which sends the received information to the distributed retrieval service module through operations such as encapsulation and escape; After receiving the search task, the S5 distributed search service module allocates the nodes to the working nodes in the cluster to perform the actual search work, and returns the search results to the backend proxy service module; The working node that executes the specific retrieval subtask in the S6 cluster will call the specific retrieval algorithm service module to determine whether the given point is in the area, and mark it and return it; S7 distributed search service module node receives the results fed back by the working node and marks them, and executes S5-S6 in a loop until the search task is completely completed, and returns the task completion mark to the backend proxy service module; The S8 backend proxy service returns the search results to the frontend operation / visualization module in JSON data format; The S9 front-end operation / visualization module displays the device information on a map by feeding back the longitude and latitude coordinate information.
3. According to claim 2, a method for using a resource data retrieval system based on GIS map area selection is characterized in that The specific step-by-step operation of the S5 distributed retrieval service module is as follows: S501 service starts, and each working node registers with the master node; S502 The master node persists the registration information and each node information to the database middleware mysql, and detects the health status of each working node through heartbeat; S503 After the backend search service receives the task request, the master node constructs a Job object and then persists the scheduled job to the database middleware mysql; S504 The master node divides the received task into a plurality of independent subtasks; S505: The master node starts the scheduling thread and periodically scans the jobs to be scheduled to obtain the available working nodes and the load data of the nodes; S506 The master node assigns the divided subtasks to the corresponding working nodes according to the cluster resource situation, and calls the execution interface to execute the task; S507 The working node calls a specific retrieval algorithm service, actually executes the retrieval task, and feeds back the execution status to the master node in real time; S508 The master node executes steps S505 to S507 in a loop until all subtasks are completed; After the S509 task is executed, the master node aggregates the results of each working node and returns them uniformly, thus completing the execution of the entire retrieval task.
4. The method for using the resource data retrieval system based on GIS map area selection according to claim 2 is characterized in that The process of the S6 working node calling the retrieval algorithm service is described as follows. The point to be determined is P. S601 creates and initializes the algorithm result set aResultSet; S602 Initialize algorithm parameters and point index, and select any point p[i]; S603 calculates the outer bounding matrix of the polygon according to the known polygonal region vertices, and determines the position of point p[i]. If the point is outside the outer bounding matrix, continue to select the next point and continue S603; S604 determines whether p[i] is on an edge of the polygon. If so, the point is added to the result set aResultSet, and the next point is selected, and S603 is continued. S605 calculates the total number of intersections M of the horizontal rightward ray with p[i] as the starting point and each edge of the polygon; S606 determines the parity of the number M. If M is an odd number, the point is added to the result set aResultSet, and the next point is selected, and S603 is continued; otherwise, the next point is directly selected, and S603 is continued; S607 After traversing all points, the system returns a result set aResultSet of all points in the area.
Citation Information
Cited By
Channel point location aggregation and frame selection query method based on electronic map
CN121919244A
A method for channel point aggregation and bounding box query based on electronic maps
CN121919244B