Methods and apparatus for dividing star catalogs
By dividing the astronomical star catalog into equal-area pixel grids (HEALPix NEST) and quadtrees at the same latitude, uniform subset files of the star catalog are generated, solving the problem of low efficiency in large-scale astronomical star catalog retrieval and realizing fast and efficient celestial object search.
Patent Information
- Application Number
- CN202210941039.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-05
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2042-08-05
AI Technical Summary
Existing technologies are inefficient in large-scale astronomical catalog searches, unable to quickly locate specific celestial objects, especially in large fields of view where efficient searching is not possible, and computer memory and hard drive read/write speeds limit data processing capabilities.
The target celestial sphere is hierarchically divided using HEALPix NEST with equal area pixels at the same latitude and a quadtree. The celestial sphere is divided according to the number of celestial bodies and a predetermined threshold T for the number of segments, generating a uniform subset of star catalog files. Only the subset of star catalogs in the target region is read for retrieval.
It improves the efficiency of astronomical star catalog retrieval, reduces hard drive read/write time, enhances computer processing power, and ensures retrieval speed and accuracy.
Smart Images

Figure CN115374313B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more specifically to a method, apparatus, electronic device, and storage medium for segmenting a star catalog. Background Technology
[0002] Transient sources (variable sources) and sudden astronomical events are generally accompanied by violent energy release processes, providing rare opportunities to study physics under extreme conditions. Searching for transient sources requires large-field-of-view sky survey equipment to continuously and rapidly photograph various sky regions, and then quickly cross-reference and verify the observed data with existing large-scale astronomical catalogs to identify changing celestial objects and issue early warnings. The entire data processing workflow must be completed within one exposure cycle to avoid affecting the next cycle's exposure.
[0003] Astronomical star catalogs are a way of archiving observational data, with each row representing information about a celestial object. Existing large-scale astronomical star catalogs often contain billions of rows of information. Since the search field of transient sources often reaches hundreds of square degrees, an efficient retrieval technology is needed to achieve rapid searching of large-scale star catalogs under such a large field of view.
[0004] For example, given an unordered star catalog of size N, searching for M specific celestial objects would have an average time complexity of O(M × N) if the catalog were searched sequentially from beginning to end without any processing. An improved approach is to use multidimensional data structures such as KD-Trees to create an index to speed up the search. Due to limitations in current computer architecture, data must be read from the hard drive into memory before processing. Large-scale star catalogs can easily be several terabytes or even tens of terabytes in size, making it impossible for ordinary computers to read them all into memory at once. Furthermore, hard drive read / write speeds are limited, and traversing the entire catalog would consume a significant amount of time. However, the temporary source only needs to search for objects within its field of view, without needing to read the entire catalog. Therefore, the catalog can be pre-divided according to coordinates, with adjacent catalogs grouped into the same subset and numbered. During the search, it is only necessary to calculate the catalog numbers covered by the region to be searched and read the corresponding catalogs.
[0005] To improve retrieval efficiency, the size of the resulting star table should be appropriate and uniform. If a single subset is too large, the reading time and indexing time during retrieval will be longer, affecting retrieval efficiency. If a subset is too small, each retrieval requires loading a large number of star table subsets, and the random read / write speed of the hard drive for small files is much slower than sequential read / write. Retrieval will need to traverse multiple star table sets, and in extreme cases, it may even degenerate into a sequential retrieval, resulting in a decrease in efficiency. Summary of the Invention
[0006] In view of the above problems, this disclosure provides a method, apparatus, device, medium and program product for segmenting a star catalog.
[0007] According to a first aspect of this disclosure, a method for segmenting a star catalog is provided, comprising: acquiring a target star catalog file corresponding to a target celestial sphere, the target star catalog file including observation data of M celestial bodies in the target celestial sphere; dividing the target celestial sphere into N division regions and N region numbers corresponding one-to-one with the N division regions based on a predetermined maximum segmentation level K; determining the number of celestial bodies in each region represented by each of the N region numbers based on the observation data of the M celestial bodies in the target star catalog file, thereby obtaining a determination result of the number of N celestial bodies; and segmenting the target star catalog file according to the matching result of the determination result of the number of N celestial bodies and a predetermined segmentation number threshold T, thereby determining multiple star catalog subset files corresponding to the target star catalog file; wherein M, N, and T are all positive integers, and K is a natural number.
[0008] According to embodiments of this disclosure, the step of dividing the target celestial sphere into N partitioned regions and N region numbers corresponding one-to-one with the N partitioned regions, based on a predetermined maximum slicing level K, includes: dividing the target celestial sphere into N partitioned regions using a HEALPix NEST pixel grid of equal area at the same latitude based on the predetermined maximum slicing level K, resulting in 4 k+2 -4 division regions and the 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 -4 area codes.
[0009] According to an embodiment of this disclosure, the step of determining the number of celestial bodies in each region represented by each of the N region numbers based on the observation data of M celestial bodies in the target star catalog file, and obtaining the result of determining the number of N celestial bodies, includes: generating a target quadtree, wherein the target quadtree includes data from M celestial bodies in the target star catalog file and the data from the N region numbers. k+2 -4 area codes corresponding to 4 k+2 -4 nodes; based on the observation data of M celestial bodies in the target star catalog file, determine 4 respectively. k+2 - The numerical information of each of the 4 nodes; and the 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined.
[0010] According to embodiments of this disclosure, the step of segmenting the target star catalog file based on the matching result of the determination of the number of N celestial bodies and the predetermined segmentation number threshold T, and determining multiple star catalog subset files corresponding to the target star catalog file, includes: based on the target quadtree, in the 4 k+2 - Identify the target node, its parent node, and child nodes from the four nodes; determine the numerical information of the target node, its parent node, and its child nodes; determine the matching results of the numerical information of the target node, its parent node, and its child nodes with a predetermined segmentation threshold T, obtaining multiple matching results; determine whether to generate a segmentation instruction corresponding to the target node based on the multiple matching results, the segmentation instruction being used to determine the observation data of celestial bodies corresponding to the target region, the target region including the region represented by the number corresponding to the target node; and segment the target star catalog file according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region.
[0011] According to embodiments of this disclosure, the method further includes: merging the plurality of star table subset files to obtain a merged file.
[0012] According to an embodiment of this disclosure, the method further includes: in response to receiving a query instruction from a user, determining coordinate information corresponding to the query instruction; based on the coordinate information, determining a target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file; determining a target celestial body corresponding to the coordinate information in the target star catalog subset file; and sending observation data of the target celestial body to the user.
[0013] According to an embodiment of this disclosure, the query instruction includes a distance threshold; determining the target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information, includes: determining at least one target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information and the distance threshold.
[0014] The second aspect of this disclosure provides an apparatus for segmenting a star catalog, comprising: a star catalog acquisition module for acquiring a target star catalog file corresponding to a target celestial sphere, the target star catalog file including observation data of M celestial bodies in the target celestial sphere; a numbering module for dividing the target celestial sphere into N division regions and N region numbers corresponding one-to-one with the N division regions based on a predetermined maximum segmentation level K; a first determination module for determining the number of celestial bodies in each region represented by each of the N region numbers based on the observation data of the M celestial bodies in the target star catalog file, thereby obtaining a determination result of the number of N celestial bodies; and a second determination module for segmenting the target star catalog file according to the matching result of the determination result of the number of N celestial bodies and a predetermined segmentation number threshold T, thereby determining multiple star catalog subset files corresponding to the target star catalog file; wherein M, N, and T are all positive integers, and K is a natural number.
[0015] A third aspect of this disclosure provides an electronic device comprising: one or more processors; and a memory for storing one or more programs, wherein, when the one or more programs are executed by the one or more processors, the one or more processors perform the methods disclosed above.
[0016] A fourth aspect of this disclosure also provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, cause the processor to perform the methods disclosed above. Attached Figure Description
[0017] The foregoing contents, as well as other objects, features, and advantages of this disclosure, will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0018] Figure 1 A flowchart illustrating a method for segmenting a star table according to an embodiment of the present disclosure is shown schematically;
[0019] Figure 2 This illustration schematically shows the execution of observational data for determining a target celestial body according to an embodiment of the present disclosure;
[0020] Figure 3 A schematic block diagram of a device for dividing a star catalog according to an embodiment of the present disclosure is shown; and
[0021] Figure 4 A block diagram schematically illustrates an electronic device suitable for implementing a method of splitting a star catalog according to an embodiment of the present disclosure. Detailed Implementation
[0022] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0023] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0024] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0025] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0026] Embodiments of this disclosure provide a method and apparatus for segmenting a star catalog, which involves obtaining a target star catalog file corresponding to a target celestial sphere, the target star catalog file including observation data of M celestial bodies in the target celestial sphere; dividing the target celestial sphere into N division regions and N region numbers corresponding one-to-one with the N division regions based on a predetermined maximum segmentation level K; determining the number of celestial bodies in each region represented by each of the N region numbers based on the observation data of the M celestial bodies in the target star catalog file, obtaining a result for determining the number of N celestial bodies; and segmenting the target star catalog file according to the matching result of the result for determining the number of N celestial bodies and a predetermined segmentation threshold T, to determine multiple star catalog subset files corresponding to the target star catalog file; wherein M, N, and T are all positive integers, and K is a natural number.
[0027] pass Figure 1 The method for segmenting the star table according to the disclosed embodiments will be described in detail.
[0028] Figure 1A flowchart illustrating a method for segmenting a star table according to an embodiment of this disclosure is shown schematically. Figure 1 As shown, this embodiment includes operations S101 to S104.
[0029] In operation S101, the target star catalog file corresponding to the target celestial sphere is obtained. The target star catalog file includes observation data of M celestial bodies in the target celestial sphere.
[0030] In operation S102, based on the predetermined maximum cutting level K, the target celestial sphere is divided into levels to obtain N division regions and N region numbers corresponding to the N division regions.
[0031] In operation S103, based on the observation data of M celestial bodies in the target star catalog file, the number of celestial bodies in each region represented by each of the N region numbers is determined, and the result of determining the number of N celestial bodies is obtained.
[0032] In operation S104, based on the matching result of the determination of the number of N celestial bodies and the predetermined segmentation threshold T, the target star catalog file is segmented to determine multiple star catalog subset files corresponding to the target star catalog file; where M, N and T are all positive integers, and K is a natural number.
[0033] The size of the segmented star list, i.e. the size of the star list subset files, directly affects the retrieval speed. Therefore, it is necessary to reasonably segment large-scale star list files into appropriate file size ranges so that the size of the star list subset files obtained after segmentation is within this range, thereby achieving better retrieval results.
[0034] It is understandable that efficient retrieval of large-scale star catalogs involves the fusion of star catalogs. To improve retrieval efficiency, star catalogs can be preprocessed before retrieval, dividing celestial bodies in the catalog into different catalog subsets according to their location. During retrieval, only the catalog subset corresponding to the region is read, thereby improving retrieval speed.
[0035] While the positional coordinates of celestial bodies in a star catalog are among the most important pieces of information and are suitable as the primary basis for segmentation, right ascension and declination are spherical coordinates used in the celestial coordinate system. Regions divided according to these values will have unequal areas. For example, two circles of the same diameter will cover a much wider range of longitudes when placed near the poles than when placed near the equator. This embodiment introduces multiple coverages of a specific region to achieve uniform segmentation of the star catalog (i.e., the target star catalog). First, a segmentation level threshold is set, i.e., a predetermined maximum segmentation level, to prevent infinite segmentation and excessively small region division. The target celestial sphere can be divided hierarchically based on K. For example, using a HEALPix pixel grid with equal area at the same latitude, when K=0, one layer is divided, i.e., the celestial sphere is divided into 12 large regions of equal area; when K=1, the division continues, creating a second layer, i.e., each of the 12 large regions in the first layer is divided into four smaller regions of equal area; this process continues, dividing the celestial sphere into 12*4... k Given regions of equal area, it's understood that the larger the K value, the finer the division. After division, each region is numbered, resulting in N divided regions and their corresponding region numbers. The region range and location can then be determined based on these region numbers.
[0036] By reading the observational data of M celestial bodies from the target star catalog file, the location of any one of the M celestial bodies in the celestial sphere can be determined, thus determining the distribution of the M celestial bodies. Then, based on the distribution of celestial bodies, the number of celestial bodies in each region represented by one of the N region numbers is determined, resulting in the determination of the number of N celestial bodies.
[0037] It is understandable that although a pixel grid of equal area at the same latitude uniformly divides the celestial sphere, the distribution of celestial bodies within the celestial sphere is not uniform. For example, for a star catalog targeting stars within the Milky Way, the density of celestial bodies in the direction of the galactic center is often greater than in the direction opposite the galactic center or perpendicular to the galactic plane. Therefore, to ensure that the resulting star catalog subset files are relatively uniform, it is necessary to consider the segmentation of a certain region based on the number of celestial bodies, and how to segment it. For example, the number of celestial bodies in the region is compared with a predetermined segmentation threshold T. If the difference is large and exceeds the matching range, it is considered a mismatch, and no segmentation instruction is generated to segment the target star catalog file, resulting in a star catalog subset representing that region. Matching conditions can be set according to requirements; for example, if the number of celestial bodies in the region is less than T, the target star catalog file is segmented to determine the star catalog subset file corresponding to the target star catalog file.
[0038] The method for segmenting star catalogs provided in this embodiment can segment a target star catalog file based on the matching result of the determination of the number of N celestial bodies and the predetermined segmentation number threshold T, thereby obtaining multiple star catalog subset files corresponding to the target star catalog file. The size of these multiple star catalog subset files is relatively uniform, which is beneficial to improving retrieval efficiency during retrieval.
[0039] Based on a predetermined maximum cutting level K, the target celestial sphere is divided into layers, resulting in N partitioned regions and N region numbers corresponding to each partitioned region. This includes: based on the predetermined maximum cutting level K, using a HEALPix NEST pixel grid with equal area at the same latitude to partition the target celestial sphere into layers, resulting in 4... k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 -4 area codes.
[0040] In this embodiment, the HEALPix pixel grid with equal area at the same latitude supports the NEST (i.e., NESTED) mode. The target celestial sphere is divided into layers using the HEALPix NEST pixel grid with equal area at the same latitude. At the i-th layer, such as i=1, i.e., K=0, the celestial sphere is divided into 12 (4 k+2 -4) regions; at the i-th level, such as i=2, i.e., K=1, the celestial sphere is divided into 48 regions, for a total of 60 (4 k+2 -4) regions; at the i-th level, such as i=3, i.e., K=2, the celestial sphere is divided into 192 regions, for a total of 252 (4) regions. k+2 -4) regions, etc. Therefore, based on the predetermined maximum slicing level K, the target celestial sphere is divided into layers using a HEALPix NEST pixel grid of equal area at the same latitude, resulting in 4 k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 -4 area codes.
[0041] The method for segmenting the star catalog provided in this embodiment uses a HEALPix NEST pixel grid of equal area at the same latitude to divide the target celestial sphere into layers, resulting in 4 k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 - 4 area codes; this helps determine the area code corresponding to each subdivision in each level, thus facilitating subsequent retrieval.
[0042] Based on the observational data of M celestial bodies in the target star catalog file, the number of celestial bodies in each region represented by one of the N region numbers is determined, resulting in the determination of the number of N celestial bodies. This includes generating a target quadtree, which includes data from 4...k+2 -4 area codes corresponding to 4 k+2 -4 nodes; based on the observation data of M celestial bodies in the target star catalog file, determine 4 nodes respectively. k+2 - The numerical information of each of the 4 nodes; and the 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined.
[0043] It is understandable that by using HEALPix NEST, a pixel grid with the same latitude and area, to divide the target celestial sphere into layers, each division region of the i-th layer can be further divided into four parts to obtain the division region (sub-division region) of the i+1-th layer. This characteristic is suitable for the application of quadtrees.
[0044] A quadtree is a hierarchical data structure based on spatial recursive decomposition. A quadtree can divide a plane into four regions, each represented by a node. Each region can be further divided into four smaller regions, and so on recursively until the desired resolution is reached, i.e., the division reaches the K+1 level.
[0045] A quadtree can be constructed, where the root node of each tree represents the first layer, the region corresponding to K=0. The four child nodes under the root node represent the second layer, the four smaller regions divided from the larger region when K=1; similarly, the nodes of the i-th layer of each tree correspond exactly to the regions divided when K=i-1. Each non-leaf node has four child nodes, representing the four sub-regions after the division. The quadtree is implemented to correspond one-to-one with the division results of the target celestial sphere by the HEALPix NEST pixel grid of the same latitude and area according to the hierarchy, so as to facilitate ordered access to the celestial region using relevant quadtree processing.
[0046] For example, construct twelve quadtrees, K=0, to divide the celestial sphere into 12 (4) quadtrees. k+2 -4) regions, mapping the quadtree to the partitioning results, such as the target quadtree including 4 k+2 -4 area codes corresponding to 4 k+2 -4 nodes. By reading the observation data of M celestial bodies in the target star catalog file, the distribution of the M celestial bodies can be determined. Then, based on the distribution, the number of celestial bodies in each region represented by one of the N region numbers can be determined. Since there is a correspondence between region numbers and nodes, the number of 4 nodes can be determined separately. k+2 - The numerical information of each of the 4 nodes; and the 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2- The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined.
[0047] To better understand this embodiment, the content of this disclosure will be further described below in conjunction with the embodiments, but this disclosure is not limited to the following embodiments.
[0048] For example, first specify the maximum segmentation level K, such as K equals 13, to determine the highest resolution of the star catalog segmentation, which correspondingly determines the maximum level of the quadtree. Read the target star catalog and build the quadtrees; for example, build 12 quadtrees, which will have a total of 4... k+2 The quadtree has 4 nodes, each with a corresponding region number. Each node has a variable value representing the number of targets within its covered region; that is, the numerical information of each node represents the number of celestial bodies in the region represented by each corresponding region number. Initially, the value is 0. For each target celestial body read, the Pix value of HEALPix at level K is calculated based on its right ascension and declination. Then, the corresponding region number is determined based on this Pix value, and the variable value of the quadtree node corresponding to the region number is incremented by one. Then, utilizing the relationship between Pix values at different levels in NEST mode, this value can be divided by 4 and rounded down to obtain the Pix value of the level above that region. After calculating the region number, the variable value of the corresponding node is incremented by one, and so on, until the root node, completing the indexing of the target celestial body in the quadtree.
[0049] The method for segmenting the star table provided in this embodiment introduces a quadtree, establishes a correspondence between nodes in the quadtree and region numbers, and segments the star table into a 4-way tree. k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined.
[0050] Based on the matching results of the determined number of N celestial bodies with the predetermined segmentation threshold T, the target star catalog file is segmented to determine multiple star catalog subset files corresponding to the target star catalog file, including: based on the target quadtree, in 4 k+2- Identify the target node, its parent node, and child nodes from the four nodes; determine the numerical information of the target node, its parent node, and its child nodes; determine the matching results of the numerical information of the target node, its parent node, and its child nodes with the predetermined segmentation threshold T, obtaining multiple matching results; determine whether to generate a segmentation instruction corresponding to the target node based on the multiple matching results. The segmentation instruction is used to determine the observation data of celestial bodies corresponding to the target region, which includes the region represented by the number corresponding to the target node; and segment the target star catalog file according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region.
[0051] The approach is as follows: First, a threshold value T for the number of segments is specified. Then, each node in the quadtree is traversed as the target node. If the target node is the root node, it has no parent node, so there is no need to determine the value of the parent node or its matching with the predetermined threshold value T. Similarly, if the target node is a leaf node, it has no child nodes, so there is no need to determine the value of the child nodes or their matching with the predetermined threshold value T. In other words, when a target node has both a parent and child nodes, determining the value of the target node, its parent node, and its child nodes respectively determines the total number of celestial bodies within the coverage area represented by that node. Next, determine the matching results between the numerical information of the target node, the numerical information of the target node's parent node, and the numerical information of the target node's child nodes and the predetermined segmentation threshold T, and decide whether to generate a segmentation instruction and perform segmentation. For example, the segmentation instruction may be to segment all target celestial bodies in the region into the same star catalog subset; or, to instruct the next level node, i.e., the child node, to recursively determine whether to perform the specified segmentation based on the matching results.
[0052] It's understandable that three situations might be encountered when recursively splitting nodes:
[0053] The first scenario is that if the numerical information of the parent node and the numerical information of all four child nodes are greater than the threshold T, then it is necessary to continue traversing the child nodes.
[0054] The second scenario involves a target node where the parent node's numerical information is greater than the threshold T, and there exists a target node whose child node's numerical information is less than the threshold T. In this case, the following processing can be performed:
[0055] For child nodes whose numerical information is greater than a threshold T, recursion is performed, and a return value R is recorded, indicating that there are R celestial bodies in the corresponding region that have not been segmented. Child nodes whose numerical information is less than the threshold T are not segmented; instead, the numerical information of the child node is fed back to the parent node and recorded, and the recursion stops. The parent node summarizes the feedback values received from each child node. If the total is greater than the threshold T, these feedback values are output; if they are less than the threshold T, the feedback continues upwards until the total reaches the threshold T, at which point it is output, or when the root node is reached.
[0056] By using backtracking feedback, the number of unsegmented target items is passed to the parent node. When the sum reaches the threshold T, the data is segmented in the name of the parent node. This ensures that the number of segmented star table subsets is between [T, 4T], and that the file sizes of the multiple segmented star table subsets are balanced, which helps improve retrieval efficiency.
[0057] The third approach is to reach the lowest level, i.e., the target node is a leaf node, then split the leaf node and stop traversing downwards.
[0058] It should be noted that in cases where the star catalog is unevenly distributed, such as in the southern sky region of a star catalog generated by a ground-based telescope in the Northern Hemisphere, there may be cases where the value of the root node is less than the threshold T. In such cases, all target objects in that root node can be treated as a subset file of the star catalog.
[0059] The method for segmenting the star table provided in this embodiment can be based on the target quadtree, in 4 k+2 - Identify the target node, its parent node, and child nodes from the four nodes. Determine the numerical information of the target node, its parent node, and its child nodes. Match these numerical information with a predetermined segmentation threshold T to obtain multiple matching results. Based on these matching results, determine whether to generate a segmentation instruction corresponding to the target node. The segmentation instruction is used to determine the observation data of celestial bodies corresponding to the target region, which includes the region represented by the number corresponding to the target node. The target star catalog file is then segmented according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region. The resulting multiple star catalog subset files are relatively evenly sized, which helps improve retrieval efficiency.
[0060] Another method for splitting the star catalog is to merge multiple star catalog subset files to obtain a merged file.
[0061] Understandably, due to memory limitations, the size of each star table partition cannot exceed the available memory size. Therefore, the star table needs to be divided into multiple parts. For example, if the available memory space of the computer is P, the size of a large-scale star table is generally much larger than the available space P, such as a star table size of QP, where Q is greater than 1. Therefore, the star table needs to be divided into Q parts. Each partition involves reading a portion of the star table of size P and performing the partitioning. Then, the star tables resulting from these partitions, i.e., multiple subset files of the star table, are merged to obtain a merged file.
[0062] For example, S1 builds 12 quadtrees, and the level of each quadtree is the maximum value K.
[0063] S2 performs a depth-first traversal of each quadtree starting from the root node.
[0064] For each target node encountered during S3 traversal, if the target node is in a subset of the locally partitioned star list, i.e., there exists a star list with the target node as the partitioning node, then it is read into memory.
[0065] S4 repeats S3 until the memory limit is reached.
[0066] Once S5 reaches its memory limit, it will perform a specified partitioning, such as...
[0067] The method for segmenting the star table provided in this embodiment is based on the target quadtree and, in 4 k+2 - Identify the target node, its parent node, and child nodes from the four nodes; determine the numerical information of the target node, its parent node, and its child nodes; determine the matching results of the numerical information of the target node, its parent node, and its child nodes with the predetermined segmentation threshold T, obtaining multiple matching results; determine whether to generate a segmentation instruction corresponding to the target node based on the multiple matching results. The segmentation instruction is used to determine the observation data of celestial bodies corresponding to the target region, which includes the region represented by the number corresponding to the target node; and segment the target star catalog file according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region.
[0068] S6 clears memory.
[0069] S7 repeats S1~S6 until all multiple star catalog subset files have been merged, resulting in a merged file. This merged file can be used as the splitting result of the target star catalog.
[0070] For example, star catalogs with the same number can also be merged.
[0071] The method for segmenting star catalogs provided in this embodiment can merge multiple star catalog subset files to obtain a merged file, which facilitates subsequent celestial object retrieval based on the merged file.
[0072] The method for segmenting the star catalog also includes: in response to receiving a query command from a user, determining the coordinate information corresponding to the query command; based on the coordinate information, determining the target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file; determining the target celestial body corresponding to the coordinate information in the target star catalog subset file; and sending the observation data of the target celestial body to the user.
[0073] Figure 2 This illustration schematically shows an example of the execution of observational data for determining a target celestial body according to an embodiment of the present disclosure. See also Figure 2 First, the user sends a query command via client 210, such as providing coordinate information. Upon receiving the query command from the user, server 220 forwards the command, including the coordinate information, to the star catalog segmentation device 230. The star catalog segmentation device 230, upon receiving the command, determines the target star catalog subset file corresponding to the coordinate information. To avoid boundary issues, this target star catalog subset file can include one or more target star catalog subset files; for example, the star catalog subset file containing the coordinate information, as well as star catalog subset files corresponding to one or more adjacent regions based on the region corresponding to that file, can also be used as target star catalog subset files. Within the target star catalog subset file, the target celestial body corresponding to the coordinate information is identified, and observational data for that target celestial body is acquired. The star catalog segmentation device 230 can then send the observational data of the target celestial body to client 210. This allows the user to quickly obtain observational data and produce more valuable scientific results.
[0074] The method for segmenting star catalogs provided in this embodiment improves retrieval speed by using star catalog subset files of relatively uniform and appropriate size, thereby enabling users to quickly obtain observation data of target celestial bodies.
[0075] The query command includes a distance threshold; determining the target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information and the distance threshold, includes determining at least one target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file.
[0076] The existence and quantity of target celestial bodies corresponding to the coordinate information and distance threshold can be determined in at least one subset of the target star catalog file corresponding to the coordinate information; and observation data of the relevant target celestial bodies can be sent to the user.
[0077] For example, given coordinate information and a distance threshold, the goal is to retrieve all targets within a circle centered at the coordinates and with the threshold as the radius. This can be achieved by identifying at least one target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information and the distance threshold. Then, astronomical observation data from this at least one target star catalog subset file, representing objects whose distance from the given coordinates is less than the threshold, can be sent to the user, allowing the user to obtain observation data corresponding to the target (coordinate information and distance threshold).
[0078] The method for segmenting star tables provided in this embodiment is beneficial for achieving efficient retrieval of high-dimensional data.
[0079] Figure 3 A schematic block diagram of a device for splitting a star catalog according to an embodiment of the present disclosure is shown.
[0080] like Figure 3 As shown, the device 300 for segmenting the star catalog in this embodiment includes a star catalog acquisition module 301, a numbering module 302, a first determination module 303, and a second determination module 304.
[0081] The system comprises: a star catalog acquisition module 301, used to acquire a target star catalog file corresponding to a target celestial sphere, the target star catalog file including observation data of M celestial bodies in the target celestial sphere; a numbering module 302, used to divide the target celestial sphere into N division regions and N region numbers corresponding to the N division regions based on a predetermined maximum division level K; a first determination module 303, used to determine the number of celestial bodies in each region represented by each of the N region numbers based on the observation data of the M celestial bodies in the target star catalog file, to obtain a determination result of the number of N celestial bodies; and a second determination module 304, used to divide the target star catalog file according to the matching result of the determination result of the number of N celestial bodies and a predetermined division number threshold T, to determine multiple star catalog subset files corresponding to the target star catalog file; wherein M, N, and T are all positive integers, and K is a natural number.
[0082] In some embodiments, the numbering module is used to: divide the target celestial sphere into layers according to a predetermined maximum cutting level K using a HEALPix NEST pixel grid of the same latitude and equal area, resulting in 4 k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 -4 area codes.
[0083] In some embodiments, the first determining module is configured to generate a target quadtree, the target quadtree comprising a quadtree and a quadtree. k +2 -4 area codes corresponding to 4 k+2-4 nodes; based on the observation data of M celestial bodies in the target star catalog file, determine 4 nodes respectively. k +2 - The numerical information of each of the 4 nodes; and the 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k +2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined.
[0084] In some embodiments, the second determining module is configured to: based on the target quadtree, in 4 k+2 - Identify the target node, its parent node, and child nodes from the four nodes; determine the numerical information of the target node, its parent node, and its child nodes; determine the matching results of the numerical information of the target node, its parent node, and its child nodes with the predetermined segmentation threshold T, obtaining multiple matching results; determine whether to generate a segmentation instruction corresponding to the target node based on the multiple matching results. The segmentation instruction is used to determine the observation data of celestial bodies corresponding to the target region, which includes the region represented by the number corresponding to the target node; and segment the target star catalog file according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region.
[0085] In some embodiments, the apparatus further includes a merging module for merging multiple star table subset files to obtain a merged file.
[0086] In some embodiments, the apparatus further includes: a third determining module, configured to determine coordinate information corresponding to the query instruction in response to receiving a query instruction from a user; a fourth determining module, configured to determine, based on the coordinate information, a target star catalog subset file corresponding to the coordinate information among multiple star catalog subset files corresponding to the target star catalog file; a fifth determining module, configured to determine a target celestial body corresponding to the coordinate information in the target star catalog subset file; and a sending module, configured to send observation data of the target celestial body to the user.
[0087] In some embodiments, the query instruction includes a distance threshold; the fourth determining module is used to: determine at least one target star catalog subset file corresponding to the coordinate information from among multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information and the distance threshold.
[0088] According to embodiments of this disclosure, any multiple modules among the star catalog acquisition module 301, numbering module 302, first determination module 303, and second determination module 304 can be combined into one module, or any one of these modules can be split into multiple modules. Alternatively, at least some of the functions of one or more of these modules can be combined with at least some of the functions of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the star catalog acquisition module 301, numbering module 302, first determination module 303, and second determination module 304 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or implemented by any other reasonable means of integrating or packaging the circuitry, or implemented in any one of the three methods of software, hardware, and firmware, or in a suitable combination of any of these. Alternatively, at least one of the star catalog module 301, numbering module 302, first determination module 303, and second determination module 304 can be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is run.
[0089] Figure 4 A block diagram schematically illustrates an electronic device suitable for implementing a method of splitting a star catalog according to an embodiment of the present disclosure.
[0090] like Figure 4 As shown, an electronic device 400 according to an embodiment of the present disclosure includes a processor 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage portion 408 into a random access memory (RAM) 403. The processor 401 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 401 may also include onboard memory for caching purposes. The processor 401 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0091] RAM 403 stores various programs and data required for the operation of electronic device 400. Processor 401, ROM 402, and RAM 403 are interconnected via bus 404. Processor 401 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 402 and / or RAM 403. It should be noted that the programs may also be stored in one or more memories other than ROM 402 and RAM 403. Processor 401 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in said one or more memories.
[0092] According to embodiments of this disclosure, the electronic device 400 may further include an input / output (I / O) interface 405, which is also connected to a bus 404. The electronic device 400 may also include one or more of the following components connected to the I / O interface 405: an input section 406 including a keyboard, mouse, etc.; an output section 407 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 410 as needed so that computer programs read from it can be installed into the storage section 408 as needed.
[0093] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.
[0094] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 402 and / or RAM 403 and / or one or more memories other than ROM 402 and RAM 403 described above.
[0095] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement the item recommendation method provided in the embodiments of this disclosure.
[0096] When the computer program is executed by the processor 401, it performs the functions defined in the system / apparatus of this disclosure embodiments. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0097] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 409, and / or installed from the removable medium 411. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0098] In such an embodiment, the computer program can be downloaded and installed from a network via communication section 409, and / or installed from removable medium 411. When the computer program is executed by processor 401, it performs the functions defined in the system of this disclosure embodiment. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0099] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on a user's computing device, partially on a user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0100] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0101] Those skilled in the art will understand that the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. In particular, the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0102] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of this disclosure is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A method for dividing a star catalog, comprising: Obtain the target star catalog file corresponding to the target celestial sphere, wherein the target star catalog file includes observation data of M celestial bodies in the target celestial sphere; Based on a predetermined maximum slicing level K, the target celestial sphere is divided into levels using a HEALPixNEST pixel grid with equal area at the same latitude, resulting in 4 k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 - 4 area codes; Generate a target quadtree, the target quadtree comprising 4 k+2 -4 area codes corresponding to 4 k+2 -4 nodes; based on the observation data of M celestial bodies in the target star catalog file, determine 4 respectively. k+2 - The numerical information of each of the 4 nodes; The 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 - Results of determining the number of 4 celestial bodies; and According to the above 4 k+2 The matching results of the determination of the number of 4 celestial bodies with the predetermined segmentation threshold T are used to segment the target star catalog file and determine multiple star catalog subset files corresponding to the target star catalog file; Where M and T are both positive integers, and K is a natural number.
2. The method according to claim 1, wherein, According to the 4 k+2 The matching results of the determination of the number of 4 celestial bodies with the predetermined segmentation threshold T are used to segment the target star catalog file, determining multiple star catalog subset files corresponding to the target star catalog file, including: Based on the target quadtree, in the 4 k+2 - Identify the target node, its parent node, and its child nodes from among the four nodes; The numerical information of the target node, the numerical information of the target node's parent node, and the numerical information of the target node's child nodes are determined respectively. The matching results of the numerical information of the target node, the numerical information of the target node's parent node, and the numerical information of the target node's child nodes with the predetermined segmentation number threshold T are determined to obtain multiple matching results; Based on multiple matching results, it is determined whether to generate a segmentation instruction corresponding to the target node. The segmentation instruction is used to determine the observation data of celestial bodies corresponding to the target region, where the target region includes the region represented by the number corresponding to the target node; and The target star catalog file is segmented according to the segmentation instruction to obtain a star catalog subset file corresponding to the target region.
3. The method according to claim 1, further comprising: The multiple star table subset files are merged to obtain a merged file.
4. The method according to claim 1, further comprising: In response to receiving a query command from a user, determine the coordinate information corresponding to the query command; Based on the coordinate information, determine the target star catalog subset file corresponding to the coordinate information from among multiple star catalog subset files corresponding to the target star catalog file; In the target star catalog subset file, the target celestial body corresponding to the coordinate information is determined; as well as The observation data of the target celestial body is sent to the user.
5. The method according to claim 4, wherein, The query instruction includes a distance threshold; determining the target star catalog subset file corresponding to the coordinate information from multiple star catalog subset files corresponding to the target star catalog file, based on the coordinate information, includes: Based on the coordinate information and the distance threshold, at least one target star catalog subset file corresponding to the coordinate information is determined from among multiple star catalog subset files corresponding to the target star catalog file.
6. A device for dividing a star catalog, comprising: The star catalog acquisition module is used to acquire the target star catalog file corresponding to the target celestial sphere, wherein the target star catalog file includes observation data of M celestial bodies in the target celestial sphere; The numbering module is used to divide the target celestial sphere into layers according to a predetermined maximum cutting level K, using a HEALPixNEST pixel grid with equal area at the same latitude, resulting in 4. k+2 - 4 division areas and 4 k+2 - 4 divisions, one-to-one corresponding to 4 k+2 - 4 area codes; A generation module is used to generate a target quadtree, the target quadtree comprising 4... k+2 -4 area codes corresponding to 4 k +2 -4 nodes; based on the observation data of M celestial bodies in the target star catalog file, determine 4 respectively. k+2 - Numerical information of each of the 4 nodes The first determining module is used to determine the 4 k+2 - The numerical information of each of the 4 nodes, as a combination of 4 k+2 - The number of celestial bodies in each of the four region numbers is obtained by representing the region itself. k+2 The number of -4 celestial bodies has been determined. as well as The second determining module is used to determine the following based on the 4 k+2 The matching results of the determination of the number of 4 celestial bodies with the predetermined segmentation threshold T are used to segment the target star catalog file and determine multiple star catalog subset files corresponding to the target star catalog file; Where M and T are both positive integers, and K is a natural number.
7. An electronic device, comprising: One or more processors; Storage device for storing one or more programs. Wherein, when the one or more programs are executed by the one or more processors, the one or more processors perform the method according to any one of claims 1 to 5.
8. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Spark-based sky region coverage generation method for large-scale astronomical data
CN107491471A
Large-scale oblique photography model organization and scheduling method
CN110992458A