A method for storing, retrieving and drawing mass geophysical data in mobile terminal map in offline state
By using an SQLite database and a thinning algorithm on mobile devices to optimize geophysical data storage and rendering, the problem of low data display efficiency in geophysical construction has been solved, achieving efficient storage and display of massive amounts of data and improving construction efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SINOPEC OILFIELD SERVICE CORPORATION
- Filing Date
- 2022-12-07
- Publication Date
- 2026-06-09
AI Technical Summary
In harsh construction environments, geophysical data is large in volume and complex in distribution. Existing technologies cannot effectively store and display it offline on mobile devices, resulting in low construction efficiency and difficulty in quickly accessing shot point and geophone data and planning vehicle routes.
The geophysical data is stored using an embedded relational database, SQLite. Tables are created according to project and view levels. Indexing and thinning algorithms are used to optimize data storage and retrieval. The rendering process is optimized by combining time slicing and interruption mechanisms to ensure smooth data display.
It enables efficient storage and display of massive geophysical data on mobile devices, improves the efficiency of construction planning and management and vehicle navigation, solves the problems of data retrieval and route planning during construction, and enhances construction efficiency.
Smart Images

Figure CN115952166B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for storing, retrieving, and mapping massive amounts of geophysical data in a mobile map under offline conditions, belonging to the field of geophysical exploration and geographic information systems. Background Technology
[0002] Seismic exploration is a mobile operation characterized by harsh working environments, complex construction areas, and numerous pieces of equipment. The entire operation is characterized by numerous points of contact, long lines of communication, and wide coverage. Particularly in extremely harsh environments such as the Gobi Desert and other deserts, network communication facilities are severely lacking, making construction management extremely complex and difficult. In recent years, with the widespread application of high-precision, high-volume seismic acquisition methods, a single exploration project can involve one or two thousand, or even several thousand, workers, hundreds of sets of mobile equipment, and a daily production capacity of over a thousand shots. Controlled source seismic operations can reach tens of thousands of shots, and the number of shot points and receiver points can even reach millions.
[0003] Currently, geophysical exploration work is mostly conducted in remote areas with no or very unstable communication signals, which affects construction efficiency, safety, and quality. The current practice involves issuing paper documents, and due to the lack of effective offline geophysical deployment maps, bulldozers can only push blindly or measure the route. Furthermore, with hundreds of thousands or even millions of work sites, searching through paper documents is extremely inconvenient and unintuitive. Even with GPS equipment for positioning, construction is very inefficient.
[0004] Some project teams' construction technicians are also constantly trying to find ways to import offline business data using third-party mobile map software. However, some software does not support offline import of proprietary data; and some software, after importing, uses local file storage and does not optimize for massive amounts of data (hundreds of thousands to millions of records), causing the mobile device to completely freeze and become unusable.
[0005] In summary, geophysical data exhibits very distinct industry characteristics, including large data volume, wide range, predominantly point data, and regular distribution. Currently, there are no relevant patents or technologies that effectively address the problems related to geophysical data and the geophysical work environment. Therefore, there is an urgent need to invent a system that can offline store massive amounts of data (hundreds of thousands to millions of records) on mobile devices and display them smoothly on mobile maps, tailored to the specific characteristics of geophysical data formats and work environments. This would completely solve the aforementioned problems, significantly improve geophysical work efficiency, and reduce the difficulty of the work. Summary of the Invention
[0006] The purpose of this invention is to provide a method for storing, retrieving, and mapping massive amounts of geophysical data offline on a mobile map. This allows field personnel to quickly view basic project information, rationally plan personnel and special vehicle routes, accurately locate their current position, and input and save operational data on a handheld terminal map. By addressing the problems of existing technologies, this invention can bring significant and intuitive efficiency improvements to geophysical project construction planning and management, vehicle navigation, and efficient production organization, demonstrating a very broad prospect and great importance.
[0007] To achieve the above objectives, the technical solution adopted by this invention is: a method for storing, retrieving, and rendering massive amounts of geophysical data in a mobile map under offline conditions, comprising: offline storage of geophysical data on a mobile device, efficient retrieval of geophysical data, efficient rendering of geophysical data, and optimization of the default map view, wherein:
[0008] (1) Offline storage of geophysical data on mobile devices: Geophysical data on mobile devices is stored using an embedded relational database, SQLite, with tables created according to project and view levels; and coordinate data is stored as a separate field as a numeric type and indexed.
[0009] (2) Efficient retrieval of geophysical data: When the map program is running, at lower levels, data is retrieved and rendered in the corresponding data tables according to the map display level, view range, and project permissions; at higher levels, only all line data that meet the conditions are rendered according to project permissions, ensuring an intuitive display of the geophysical site area.
[0010] (3) Efficient rendering of geophysical data: Each time a user performs map zooming or moving operations, the geophysical data retrieval operation is performed first, and the data is rendered in layers and batches according to the retrieval results; the data retrieval is an asynchronous operation, during which the data points that have been rendered on the map are cleared, so that the total amount of data rendered is always kept to a minimum;
[0011] (4) Optimization of the default map view: The default map range when the map application is first opened is controlled and fixed to the location of the hierarchical project. Data at the default location is cached separately, and the SQLite retrieval operation is omitted during initialization.
[0012] Furthermore, in offline storage, the view level is the map scale range, which is evenly divided into several parts according to the scale allowed by the application. These range segments are defined as several levels in descending order of scale. At the same time, according to the specific project requirements, in the lower level table, the map field of view is larger, and the geophysical data is thinned according to the principle of cartographic generalization before being stored in the data table; in the higher level table, the map field of view is smaller, and complete and all geophysical data are stored.
[0013] Furthermore, the thinning calculation refers to sampling data with the same column number at uniform intervals, which significantly reduces the total amount of data on the map while ensuring that the overall geophysical exploration area is not distorted, based on the principle of cartographic generalization.
[0014] Furthermore, at the lowest level with a scale of 1:50000 or less, the entire geophysical exploration area and even multiple geophysical exploration areas are displayed simultaneously. Geophysical data with the same column number are connected and converted into line segments. The Douglas-Puk algorithm is used to thin out the broken lines before storing them in a data table.
[0015] Furthermore, in efficient retrieval, the view range refers to the area of the rectangle formed by the device screen, which is the visible part of the map at the current scale. It can be determined by the coordinates of the upper left and lower right corners of the screen on the map. Based on the view range, data that meets the conditions is retrieved from the data table at the corresponding level using SQL statements and rendered onto the map.
[0016] Furthermore, in efficient retrieval, the system performs merged condition searches based on the current map display level and current coordinate range, and uses a spatial topology query algorithm for rapid retrieval. For lower levels, it queries the online data table and returns line data; for higher levels, it queries the point data table and returns point data. If the search results exceed 2000 records, the data is thinned to ensure that the results of each search do not exceed 2000 records. The returned data is in pre-processed GeoJSON format.
[0017] Furthermore, in efficient rendering, the clearing and rendering operations are modified using time slicing. Specifically, a large number of long tasks are divided into several short tasks, with a uniform time interval maintained between the short tasks, and thread control is released periodically.
[0018] Furthermore, based on time slicing of the rendering task, an interruption mechanism is provided for the retrieval and rendering operations. If the user has already performed map operations before the rendering is completed, the current retrieval or rendering task is immediately interrupted, and the geophysical data retrieval operation is restarted according to the latest range.
[0019] Furthermore, for each layer, the data is paused for 5ms after every 500 features are deployed; after the current layer is deployed, the data is paused for 5ms before deploying other layers, until all layers have been deployed.
[0020] Compared with existing technologies, the beneficial effects of this invention are as follows: This invention provides a method for storing, retrieving, and drawing massive amounts of geophysical data in a mobile map under offline conditions. It can store massive amounts of data urgently needed on-site during geophysical exploration construction offline and display them efficiently. It solves the key technical problems that have long plagued geophysical exploration construction, such as the inability to quickly access shot point and receiver point data and the inability to quickly plan the routes of special vehicles. It can bring a very intuitive improvement in efficiency for geophysical project construction planning and management, rapid data retrieval, vehicle navigation, and efficient production organization. It has a very broad prospect and is of great significance. Attached Figure Description
[0021] Figure 1 This is a technical architecture diagram of the present invention;
[0022] Figure 2 This is a flowchart of the present invention;
[0023] Figure 3 This is a diagram illustrating the effect of using the present invention; Detailed Implementation
[0024] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.
[0025] A method for storing, retrieving, and rendering massive amounts of offline geophysical data on a mobile map includes the following parts:
[0026] (1) Mobile geophysical data is stored in an embedded relational database, SQLite. Tables are created according to the project and view levels. Based on the lightweight, low resource consumption and fast processing speed of SQLite, the total amount of data in a single data table is reduced. Coordinate (latitude and longitude) data is stored as a separate field as a numerical type and indexed to make full use of the database retrieval capabilities to obtain data within a specific range.
[0027] Among them, the view level refers to the map scale range. The allowed scale range of the application is evenly divided into several parts, and these range segments are defined as several levels in descending order of scale.
[0028] Depending on the specific project requirements, in lower-level tables (smaller scale), the map's field of view is larger, and the geophysical data is thinned according to the principles of cartographic generalization before being stored in the data table; in higher-level tables (larger scale), the map's field of view is smaller, and complete and all geophysical data is preserved.
[0029] Geophysical data exhibits strong spatial regularity, with each data point having its own row and column numbers. The aforementioned thinning calculation refers to sampling data with the same column number at uniform intervals. Based on the principle of cartographic generalization, this significantly reduces the total amount of data while ensuring that the overall geophysical exploration area is not distorted on the map.
[0030] At the lowest level (generally with a scale of 1:50000 or less), the map display area is large, and it is necessary to display the entire geophysical exploration area or even multiple geophysical exploration areas at the same time. Geophysical data (point data) with the same column number are converted into line segments (line data) by connection. The Douglas-Puk algorithm is used to thin the polyline before storing it in the data table.
[0031] The Douglas-Peucker algorithm is a classic algorithm for thinning linear features. It can be used to process large amounts of redundant geometric data points, achieving both data reduction and significant preservation of the geometric skeleton.
[0032] (2) During map program execution, at lower levels, data is retrieved and rendered from the corresponding data tables based on the map display level, view range, and project permissions. At higher levels (stored as line data), only all line data that meets the conditions are rendered based on project permissions, ensuring an intuitive display of the geophysical exploration site area.
[0033] The view extent refers to the area of the rectangle formed by the device screen that is visible on the map at the current scale. It is generally determined by the coordinates of the top left and bottom right corners of the screen on the map. Based on the view extent, data that meets the conditions is retrieved from the corresponding level of data tables using SQL statements and rendered onto the map.
[0034] (3) Each time the user performs map zooming or moving operations, the operation described in (2) is performed first. Data retrieval in (2) is an asynchronous operation. During this period, the data points that have been rendered and drawn on the map are cleared so that the total amount of drawn data is always kept to a minimum, thereby reducing memory usage and optimizing response speed.
[0035] After processing using the above methods, the retrieval time and the amount of data rendered at the same time were significantly reduced. However, there are still cases where the data volume is too large, the rendering time is too long, and the program is blocked, causing the application to appear to freeze. Therefore, the clearing and rendering operations in (3) are modified by using time slicing. Time slicing refers to dividing a large number of long tasks into several short tasks, maintaining a uniform time interval between the short tasks, and releasing the thread control at regular intervals. The overall time taken to complete the task is extended, but because the thread is released during the period, the program can still respond to user operations during the rendering period, avoiding the occurrence of a freeze. Specifically, the operation of continuously drawing and clearing hundreds or thousands or even more data segments is changed to pausing for 10 milliseconds after clearing and rendering dozens of points before continuing to draw, and repeating continuously until the operation is completed.
[0036] In addition, based on time slicing of the rendering task, an interruption mechanism is provided for the retrieval and rendering operations. If the user has already performed map operations before the rendering is completed, the current retrieval or rendering task will be interrupted immediately and the operation will restart according to the latest range (2).
[0037] (4) Based on the above measures, the default map range when the map application is first opened is controlled and fixed as the location of the hierarchical project. The data of the default location is cached separately and the SQLite retrieval operation is omitted during initialization to maximize user experience and work efficiency.
[0038] like Figure 2 As shown, the general process of a method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map is as follows:
[0039] Step 1: In mobile map software, when the map is panned or zoomed, it is necessary to obtain the current display level and current coordinate range of the map.
[0040] Step 2 requires querying and retrieving the SQLite database. Select the appropriate SQLite data table based on the current map level and perform a fast retrieval using a spatial topology query algorithm.
[0041] Step 3: When the search results exceed 2000 records, data thinning is required. The Douglas-Puk thinning algorithm is used to perform necessary thinning while retaining key critical information.
[0042] Step 4: Format the thinned query results and encapsulate them into a standard geojson format for easier use on the front end.
[0043] Step 5: Render the retrieved GeoJSON data in layers and batches. For each layer, pause for 5ms after every 500 features are rendered; after the current layer is rendered, pause for 5ms and continue rendering other layers until all layers are rendered.
[0044] Step 6: If the map view is the project's default view at the time, cache the current query results locally for use when opening the project in the next step.
[0045] Figure 3This document describes a method for storing, retrieving, and rendering massive amounts of offline geophysical data on a mobile map, developed in this invention, within a 3D seismic geophysical exploration project in Dongying. The screenshot shows the offline display of the geophysical data on a mobile device. In this project, there were approximately 1.2 million shot points and receiver points. The data was preprocessed, merging the point data into approximately 360 lines. At lower levels (levels 1-12), the merged line data was displayed. At higher levels, data was queried and thinned based on the scope and level, displaying no more than 2000 point data points. Practical verification showed that importing all geophysical data into a mobile device and performing map panning and zooming resulted in an average response time of less than 1 second, meeting the project's requirements.
[0046] In summary, the key technical points of this invention can be summarized into the following four points:
[0047] (1) Offline storage of geophysical data on mobile devices: SQLite file-based database is used. Data needs to be saved by project and category. The stored data needs to be hierarchically processed. The lower level (levels 1-12) is displayed as line data and the higher level (levels 13-19) is displayed as point data. The sequence number field is indexed.
[0048] (2) Efficient retrieval of geophysical data: Retrieval should be performed based on the currently displayed map level and coordinate range, using a spatial topology query algorithm for rapid retrieval. For lower levels (levels 1-12), the data is queried from the online data table and returned as line data. For higher levels (levels 13-19), the data is queried from the point data table and returned as point data. If the retrieval results exceed 2000 records, data thinning is required to ensure that each retrieval does not exceed 2000 records. The returned data is in pre-processed GeoJSON format.
[0049] (3) Efficient rendering of geophysical data: Each time the map is panned or zoomed, geophysical data retrieval is triggered. Based on the retrieval results, the data is rendered in layers and batches. For each layer, the rendering pauses for 5ms after every 500 features are rendered. After the rendering of the current layer is completed, the rendering pauses for 5ms and then continues to render other layers until all layers are rendered. This ensures that the client software will not be frozen.
[0050] (4) Optimization of the default map view: Based on the geophysical project to which an individual belongs, when the map is first opened, the low-level macroscopic data distribution of that geophysical project is displayed by default, and the data displayed in the current default view is cached. The next time the map is opened, there is no need to retrieve the data; the data can be directly read from the cache and deployed.
[0051] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the above embodiments do not limit the scope of protection of the present invention in any way, and all technical solutions obtained by equivalent substitution or other means fall within the scope of protection of the present invention.
[0052] All parts not covered in this invention are the same as or can be implemented using existing technologies.
Claims
1. A method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map, characterized in that... include: Offline storage of geophysical data on mobile devices, efficient retrieval of geophysical data, efficient rendering of geophysical data, and optimization of the default map view, among which: (1) Offline storage of geophysical data on mobile devices: Geophysical data on mobile devices is stored using an embedded relational database, SQLite. Tables are created according to the project and view level. Coordinate data is stored as a separate field as a numerical type and indexed. In offline storage, the view level is the map scale range. The allowed scale range is evenly divided into several parts. These range segments are defined as several levels in descending order of scale. At the same time, according to the specific project requirements, in lower level tables, the map field of view is larger. Geophysical data is thinned according to the principle of cartographic generalization before being stored in the data table. In higher level tables, the map field of view is smaller. Complete and all geophysical data are stored. (2) Efficient retrieval of geophysical data: When the map program is running, at lower levels, data is retrieved and rendered in the corresponding data tables according to the map display level, view range, and project permissions; at higher levels, only all line data that meet the conditions are rendered according to project permissions to ensure an intuitive display of the geophysical site range; in efficient retrieval, the retrieval is performed according to the current map display level and current coordinate range, and the retrieval is performed quickly through the spatial topology query algorithm; if it is a lower level, the line data is queried in the online data table and returned; if it is a higher level, the point data is queried in the point data table and returned; if the retrieval result exceeds 2000 records, the data is thinned to ensure that the result of each retrieval does not exceed 2000 records; the data return format is the pre-processed geojson format; (3) Efficient rendering of geophysical data: Each time the user performs map zooming or moving operations, the geophysical data retrieval operation is performed first. Based on the retrieval results, the data is rendered in layers and batches. The data retrieval is an asynchronous operation. During this period, the data points that have been rendered on the map are cleared to keep the total amount of data rendered to a minimum. In efficient rendering, the clearing and rendering operations are modified by time slicing. Specifically, a large number of long tasks are divided into several short tasks. A uniform time interval is maintained between the short tasks, and the thread control is released periodically. Based on the time slicing of the rendering task, an interruption mechanism is provided for the retrieval and rendering operations. If the user has already performed map operations before the rendering is completed, the current retrieval or rendering task is immediately interrupted, and the geophysical data retrieval operation is restarted according to the latest range. (4) Optimization of the default map view: The default map range when the map application is first opened is controlled and fixed to the location of the hierarchical project. Data at the default location is cached separately and SQLite retrieval operation is omitted during initialization.
2. The method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map according to claim 1, characterized in that, The thinning calculation refers to sampling data with the same column number at uniform intervals, which significantly reduces the total amount of data on the map while ensuring that the overall geophysical exploration area is not distorted, based on the principle of cartographic generalization.
3. The method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map according to claim 1, characterized in that, At the lowest level with a scale of 1:50000 or less, the entire geophysical exploration area or even multiple geophysical exploration areas are displayed simultaneously. Geophysical data with the same column number are connected and converted into line segments. The Douglas-Puk algorithm is used to thin out the broken lines before storing them in the data table.
4. The method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map according to claim 1, characterized in that, In efficient retrieval, the view range refers to the rectangle formed by the device screen, the visible part of the map at the current scale. It can be determined by the coordinates of the upper left and lower right corners of the screen on the map. Based on the view range, data that meets the conditions is retrieved from the data table at the corresponding level using SQL statements and rendered onto the map.
5. The method for storing, retrieving, and drawing massive amounts of offline geophysical data on a mobile map according to claim 1, characterized in that, After each layer has 500 features deployed, the process pauses for 5ms. Once the current layer has been deployed, the process pauses for 5ms before deploying other layers, continuing until all layers have been deployed.