Address coding character set for information exchange

By designing a relational-tree database structure with the first 5 levels of partitioning, the problem of data correspondence between Chinese character codes and graphic codes was solved, database maintenance was simplified, server pressure was reduced, and two- or three-digit address encoding was implemented, thereby improving retrieval efficiency.

CN121597676APending Publication Date: 2026-03-03ZHANGJIAJIE YONGDING ZHIZHEN SME SERVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310903664.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-23
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

In existing technologies, the data correspondence between Chinese character codes and graphic codes is insufficient, resulting in low retrieval efficiency, difficulty in database maintenance, excessive computational pressure on the server side, and difficulty in implementing address encoding of two- or three-digit exchange codes.

Method used

The design employs a relational-tree database structure with five levels of regional divisions. Through regional tables, exchange tables, and index tables, addresses and full codes are generated using record IDs, parent IDs, and exchange codes. Combined with GB/T2312 tables, exchange codes and graphic codes are generated to achieve the correspondence between Chinese codes and numeric codes. Most of the calculations are performed on the client side to reduce the server load.

Benefits of technology

It achieves efficient correspondence between Chinese character codes and graphic codes, simplifies database maintenance, reduces server computational burden, and implements two- or three-digit address encoding, thereby improving retrieval efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121597676A_ABST
    Figure CN121597676A_ABST
Patent Text Reader

Abstract

The address coding character set for information exchange is mainly characterized in that an address table, an exchange table and an index table of the first five-level division are designed, and the address table of a place is set on the basis of the address table and the index table of the first five-level division; obtaining a Chinese code, a digital code and a graphic code through the setting of a data table, and obtaining an address according to a parent ID; according to the method, the address table is divided into the tree-shaped modules, the index table is divided into the index modules, data of the address table is processed in the tree-shaped modules, maintenance of the data table is facilitated, the exchange value is written for the exchange code, the code value of the exchange value corresponds to the tree-shaped ID and the record ID, and the Chinese code can be converted into the ID at the client side / browser side through an intermediate page. Most calculations are designed at a client / browser end, the pressure of a server end is relieved, and 2-bit or 3-bit coding is realized by classifying and counting exchange codes and extracting key exchange codes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application pertains to Internet of Things (IoT) technology, and in particular relates to an address encoding system. Background Technology

[0002] Distinctive naming of geographical spaces can all be considered address codes. When naming place names at the same level, all names have the same number of characters. This naming rule is called a fixed-length naming rule, and this type of encoding is called a fixed-length encoding. For example, my country's postal codes are 6 digits long, which is a fixed-length encoding. In some naming rules, the number of characters is not the same. This naming rule is called a non-fixed-length naming rule, and this type of encoding is called a non-fixed-length encoding. For example, my country's place names are non-fixed-length encodings. Place names often have certain historical and cultural connotations. However, non-fixed-length encodings also have obvious drawbacks. They are not conducive to computer processing. Some non-fixed-length encodings have a large number of characters, some of which are rare characters, which pose considerable difficulties in input, reading, and dissemination. For this reason, my country has various forms of encoding involving place names.

[0003] 1. Telephone area code: Telephone area codes basically overlap with prefecture-level administrative divisions and are a type of address code for prefecture-level administrative divisions; 2. Postal Code: Postal codes basically overlap with township administrative divisions and serve as an address code for township-level administrative divisions; 3. The first 6 digits of the ID card number: The first 6 digits of the ID card number coincide with the county-level administrative region, serving as an address code for the county-level administrative division; 4. Statistical Administrative Division Code: The statistical administrative division code is 15 digits and is an address code for administrative divisions at the village level and above; 5. License plate number: The first two digits of the license plate number basically coincide with the prefecture-level administrative region, serving as an address code for the prefecture-level administrative region. The license plate number is a mixed code of Chinese characters, numbers, and uppercase letters.

[0004] The statistics on the number of addresses in my country are only approximate, as address data is updated annually.

[0005] In GB / T2312, there are 3755 Level 1 Chinese characters and 3008 Level 2 Chinese characters. Therefore, GB / T2312 has a total of 6763 Chinese characters. Adding the 26 uppercase letters, there are a total of 6789 coded characters.

[0006] From a communication perspective, given the same level of attention, two- or three-character Chinese names are significantly easier to remember than license plate numbers and ID card numbers. This is also why, throughout history, Chinese personal names and place names have primarily been two or three characters long.

[0007] The applicant previously filed two related patents: application number 2022117064575, invention title: Address Encoding Character Set for Information Exchange; and application number 2023102309004, invention title: Method for Implementing Tree Structure in Relational Databases. However, these patents have significant shortcomings in terms of energy saving and retrieval efficiency. For example, in patent 2022117064575, the retrieval efficiency for Chinese characters is not high. Furthermore, while the retrieval efficiency for ID numbers is high, new data can only be added after the last record during database updates because the used ID number cannot be changed, otherwise, retrieval errors will occur. This makes it impossible to categorize subsequently added data, hindering maintenance. In other words, in patent 2022117064575, the Chinese character encoding and barcode scanning are completely disconnected systems. Especially with the Chinese character encoding, the corresponding record can only be retrieved from the background database after Chinese characters are entered, resulting in low retrieval efficiency. Summary of the Invention

[0008] Technical problems that need to be solved: 1. The issue of data correspondence between Chinese character codes and graphic codes needs to be resolved; 2. Database maintenance issues need to be addressed; 3. It is necessary to solve the problem of computing allocation between the client and the server, so as to alleviate the problem of excessive computing pressure on the server. 4. It is necessary to solve the problem of address encoding that can be achieved with two or three swap codes.

[0009] Technical solution: Design the address table, exchange table, and index table for the first 5 levels of administrative divisions. The address table for the first 5 levels of administrative divisions is a relational-tree database structure. After downloading the administrative division data, the administrative divisions are divided into levels according to administrative level and jurisdiction level. Each administrative division data is a node, and sibling nodes or cousin nodes form a tree module. In the tree module, record ID, exchange code, and parent ID are set. The address and full code are obtained using the record ID, parent ID, and exchange code. Based on the full code, the Chinese code and numeric code are obtained. In the exchange table, the data in the GB / T2312 table is used as the source data. Then, the function is used to obtain the zone code and position code of this source data. The zone code and position code are merged to obtain the zone-position code. Then, 160 is added to the zone code and position code respectively. The resulting hexadecimal data is the internal code. Then, the row number and column number are obtained from the source data. Based on the row number and column number, the Chinese characters are obtained. After filtering these Chinese characters, they are classified to obtain the exchange code. The index table is completed based on the address tables of the first 5 levels of zoning. Each tree module of the address tables of the first 5 levels of zoning has the following data set in the index table: index value, tree ID, and starting number. The records in the index table are divided into three index modules. Based on the index table and the address table, a graphic code is formed. The original binary data of the graphic code consists of three parts: index value, tree ID, and record ID. The address table for the location is set up based on the address tables and index tables of the first 5 levels of zoning. The relational-tree database structure refers to a database structure that is relational, but where there is a tree-like relationship between the data in N fields, where N≥1; The aforementioned division is between administrative and non-administrative divisions. Administrative and non-administrative divisions are divisions of a certain geographical space. In my country, townships and above are administrative divisions, while villages and below are non-administrative divisions. It is important to note the difference between administrative divisions and locations / addresses. The location mentioned refers to the area of ​​an individual's residence or the area of ​​an organization's location. Location is not a type of administrative division. In navigation, location refers to a certain area centered on navigation positioning data. Location is not an accurate geographical concept. The address refers to a designated location for finding or communicating with a person or organization. The address is a location that is easy to locate, formed by the names of various levels of administrative divisions. The level mentioned refers to the administrative level or classification standard of the administrative division; In the graphical representation of a data structure, each data element in a data set is represented by a box with the element value in the middle. This is called a data node, or simply a node. The term "sibling node" refers to all nodes at the same level that share the same parent node; they are sibling nodes to each other. The term "cousin node" refers to all nodes at the same level that do not share the same parent node, and are cousin nodes to each other. The aforementioned tree module refers to a relational database containing a tree structure. The data set consisting of all sibling nodes or cousin nodes constitutes the tree module. In the address table formed by the first 5 levels of partitioning, whether the tree module consists of all sibling nodes or all cousin nodes needs to be determined by comparing the number of all sibling nodes or cousin nodes with the number of codes. The core elements of the tree module are record ID, tree ID, and exchange code. Once these three elements are determined, they will not change. The record ID refers to the sequence number of the record in the tree module. The record IDs in the tree module all start from 0. In the location, the ID number of the data table is regarded as the record ID. In the tree module, only the bottom of the tree module is allowed to insert records and existing records are not allowed to be deleted. This ensures that the existing record ID will not change with the insertion of records. The tree ID refers to the identification number of the tree module. Once the tree ID is determined, it cannot be modified. The aforementioned exchange code refers to the coded characters that use Chinese characters, letters, and numbers to replace the names of administrative divisions. In the exchange code, the prefecture-level administrative division is represented by letters. There are two types of exchange codes: unique exchange codes and non-unique exchange codes. The exchange code corresponds to the record ID and the tree ID. The exchange code needs to be stable and cannot be changed arbitrarily. The exchange code corresponds to an exchange value. The exchange value refers to the identifier and code value corresponding to the exchange code. The exchange value is used to exchange data. An administrative division / non-administrative division name has only one unique exchange value. The first digit of the exchange value is the identifier, which indicates the type of the exchange value. Starting from the second digit, the code value is decimal data. The code value can be converted to a different base according to the base conversion rules. The exchange value format is A***, where A is the identifier and *** is the decimal data. Uppercase letters and the removed GB / T2312 characters and the reserved GB / T2312 characters do not have exchange values. The parent ID mentioned above is relative to the parent node; the parent ID refers to the record ID of the parent node. The parent node refers to the node above a node; correspondingly, the next level node of a node is the child node of that node. The full code refers to the code that is represented by an exchange code for each level of administrative division. The combination of the exchange code of the current administrative division and the exchange codes of all its superior administrative divisions constitutes the full code, and the full code is unique. The Chinese code mentioned refers to the Chinese encoding of administrative divisions. The Chinese code is a part of the full code or a combination of the administrative division code and the local exchange code. In the Chinese code, there are only three administrative division codes: province, county, and town. Province represents the provincial-level administrative region, and county and town represent the county-level administrative region. The numeric code refers to the zone code corresponding to the Chinese characters in the Chinese character code. Inputting the numeric code will yield the Chinese characters. Letters also have numeric codes. The graphic code refers to a QR code that uses binary data 1 and 0 to represent the division, and then uses different color blocks to represent 1 and 0. The graphic code is a QR code that can identify the division by using such color blocks and auxiliary graphics. The index value is used to identify the index module, or in other words, the identification number of the index module; The index module refers to the data modules in the index table that are divided according to needs. There are three index modules: Index Module Zero, Index Module One, and Index Module Two. Each index module has four core elements: index value, tree ID, starting number, and exchange code. The starting number refers to the ID number of the first record in the tree module. Note that this refers to the ID number in the address table. The correspondence between index modules and tree modules is as follows: one record in an index module corresponds to one tree module, and the sequence number of the record in the index module is the tree ID of the tree module. The data in index module one references the data of the provincial-level administrative region in the address table, and the index corresponds to the township-level administrative region. The data in index module two references the data of the county-level administrative region in the address table, and the index corresponds to the village level.

[0010] The exchange table is obtained using GB / T2312 tables as the original data. The specific steps are as follows: Step 1: Download the GB / T2312 table. The downloaded version is in Excel format. If it is in another format, you need to convert it to Excel format for easier subsequent processing. Step 2: Set the cutoff line. The purpose of setting the cutoff line is to prevent the replacement from exceeding the cutoff line. Enter any content in any table in row 6770 to complete the cutoff line setting. Step 3: Obtain the zone code. In the GB / T2312 table, the zone code refers to the zone number of GB / T2312. Chinese characters are distributed in zones 16 to 87. Obtaining the zone code means obtaining the zone number of these Chinese characters. Step 4: Obtain the bit code. In the GB / T2312 table, the bit code refers to the number of Chinese characters in the partition of GB / T2312. The numbering ranges from 2 to 93. Obtaining the bit code means obtaining the number of these Chinese characters in the partition. Step 5: Calculate the zone code. Based on the data obtained in Steps 3 and 4, calculate the zone code. Step 6: Calculate the internal code. Add 160 to both the zone code and the position code to obtain the internal code, which is hexadecimal data. Step 7: Find the row number. Note that the row number and column number here refer to the row number and column number of Level 1 and Level 2 Chinese characters in the GB / T2312 table. Step 8: Determine the column number; Step 9: Find the Chinese characters. Based on the data from Step 7 and Step 8, the specific table can be located, and the Chinese characters in that table can be obtained. Step 10: Perform uniqueness verification on Chinese characters. Note that uniqueness verification is necessary because Excel may have formatting issues that could lead to errors. Step 11: Distribute the data in a random order. The main reason is that the first-level Chinese characters obtained in step 9 are sorted by pinyin, which will cause difficulties in subsequent processing. It is necessary to dissipate the pinyin order. Step 12: Remove some words with poor semantics. This step can only be done manually. The Chinese characters obtained after manual screening, plus uppercase letters, are the exchange code. Step 13: Classify the exchange codes into the following six categories: Category A - Abbreviations of provincial-level administrative regions; Category B - County-level administrative regions with townships under their jurisdiction and below; Category C - County-level administrative regions without townships under their jurisdiction; Category D - For index tables; Category E - Uppercase letters; Category F - Spare codes. The number of exchange codes is determined reasonably based on the number of place names or compiled according to the number of place names. Then, the number of exchange codes is increased accordingly as the number of place names increases. Among the exchange codes, Category A, C, and D are unique in use, while Category B and E are not unique. The uniqueness in use means that it can only be used for a unique place name or a unique purpose. Step 14: Write the exchange value. Based on step 13, write the exchange value. The exchange value consists of an identifier and a code value. In step 13, the identifiers of the same type of exchange code are the same, and the code values ​​start from 0 and increment by 1. Regarding the order of the steps, this is just a scheme adopted for the convenience of recording. It does not mean that the later step must be after the earlier step, but steps that obviously have a sequential order need to be ordered according to the sequential order.

[0011] The area code is obtained using the function =ROUNDDOWN((ROW()-2) / 94,0)+16. In Excel, use the Replace function, with the Replace row empty and the Replaced row containing the function. Then click Replace All. Subsequent function replacements will follow the same method and will not be explained again. The function to obtain the bit code is =MOD(ROW()-2,94)+1; The function to calculate the zone code is =INDIRECT("R"&ROW())&IF(INDIRECT("S"&ROW())<10,"0"&INDIRECT("S"&ROW()),INDIRECT("S"&ROW())). The function to find the inner code is =DEC2HEX(INDIRECT("A"&ROW())+160,2)&DEC2HEX(INDIRECT("B"&ROW())+160,2); The function to find the row number is =MATCH(MID(INDIRECT("U"&ROW()),1,3)&0,$A$1:$A$573,0; The function to find the column number is =HEX2DEC(MID(INDIRECT("D"&ROW()),4,1))+2; The function to extract Chinese characters is =INDIRECT(ADDRESS(INDIRECT("V"&ROW()),INDIRECT("W"&ROW()))). The uniqueness of the Chinese characters is verified using the function =COUNTIF($X$2:$X$6769, INDIRECT("X"&ROW())).

[0012] The specific steps for designing the address table for the first five levels of administrative divisions are as follows: Step 1: Download the address table, which can be downloaded from the website of the National Bureau of Statistics; Step 2: Delete the following fields: city code, county code, township code, and village code; Step 3: Delete the urban / rural code from the statistical zoning code and rename it to the zoning code; Step 4: Set levels, dividing them into 1 to 5 levels, namely provincial, prefecture-level, county, township, and village levels, with levels 1 to 5 respectively; Step 5: Re-sort. In the "Level" column, select ascending order. After sorting, the results will be sorted by level and province. Step 6: Processing of some prefecture-level city data and Hong Kong, Macao and Taiwan data. Among the prefecture-level administrative regions, Dongguan City, Zhongshan City and Danzhou City do not have county-level administrative regions. Virtual county-level units are added and named Dongguan County, Zhongshan County and Danzhou County respectively. The administrative division codes of these three virtual counties are exactly the same as those of the cities. Just note that the level is level 3, that is, county level. Provincial data plus Hong Kong, Macao and Taiwan data; Step 7: Set the auxiliary data for the level, named Level 1. The auxiliary data for the level is a combination of the province code and the level data. Step 8: Reclassify county-level data. Classify county-level data into those classified as municipal districts and those not classified as municipal districts. Note that Kinmen County, which has no townships under its jurisdiction, is still listed as a county-level county. However, among the municipal districts, one municipal district in Gansu Province has townships under its jurisdiction; therefore, it should be listed as a county-level unit, not one without a county-level unit. Otherwise, it will lead to errors later. Use the filtering function to resolve this. Specifically, in the "District Name" column, first use text filtering with the condition "not equal to 'municipal district'", then use condition filtering with the condition "equal to 'municipal district'", and then organize the data. Step 9: Tree-structured module division, divided into the following modules: Provincial-level administrative regions, prefecture-level administrative regions, county-level administrative regions with townships, and county-level administrative regions without townships each form a tree-structured module. County-level administrative regions without townships will be referred to as the "township module" and county-level administrative regions with townships will be referred to as the "county module" for ease of explanation; Township-level administrative regions are classified according to the province, with one tree-structured module per province, and village-level administrative regions are classified according to the county, with one tree-structured module per county; Step 10: Set the record ID; Step 11: Set the parent ID; Step 12: Set the address. After obtaining the address using a function, do not delete the function. Step 13: Set the exchange code. For provincial, municipal, and county-level exchange codes, simply copy the corresponding exchange codes. For county-level and below exchange codes, use Class B exchange codes. Step 14: Set the full code. The full code setting is divided into two steps. First, calculate the exchange code of the current zone and the exchange codes of all its superior zones. Second, the full code calculated from the first four levels of addresses is not 5 bits, so 0 needs to be padded at the end to make all the full codes 5 bits. Step 15: Set the Chinese character codes. These codes are generated based on Step 14. Specifically, the province code = province + Class A exchange code; the city code = the first two digits of the license plate number; the county code = county + Class B exchange code or town + Class C exchange code; the township code = Class A exchange code + Class B exchange code; and the village code equals Class B exchange code + Class B exchange code. Wildcards are used: Class A exchange code is ▉ (uppercase letter A), Class B exchange code is ◎, and Class C exchange code is ▲. Therefore, the provincial Chinese code is province ▉, the city Chinese code is ▉A, the county Chinese code is county ◎ or town ▲, the township Chinese code is ▉◎, and the village Chinese code is ◎◎. The ordering of steps is merely a convenient way of recording, and does not mean that a later step must necessarily follow an earlier step. However, steps that clearly have a sequential order need to be ordered according to that order.

[0013] The function for deleting the urban / rural code from the statistical zoning code is =LEFT(INDIRECT("D"&ROW()),12); The function for setting the level is: =IF(RIGHT(INDIRECT("B"&ROW()),10)="0000000000",1,IF(RIGHT(INDIRECT("B"&ROW()),8)="00000000",2,IF(RIGHT(INDIRECT("B"&ROW()),6)="000000",3,IF(RIGHT(INDIRECT("B"&ROW()),3)="000",4,5)))); The auxiliary data for setting the level is defined by the function: =VALUE(INDIRECT("A"&ROW())&INDIRECT("E"&ROW())); The function for setting the record ID is =IF(INDIRECT("E"&ROW())=1,ROW()-2,IF(INDIRECT("E"&ROW())=2,ROW()-36,IF(INDIRECT("E"&ROW())=3,ROW()-378,IF(INDIRECT("E"&ROW())=4,ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),2),$V$1:$V$3015,0)),ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),6),$V$1:$V$3015,0)))))). In the record ID, the data in the Yi module does not start from 0; this part of the data needs to be set separately. The function for setting the parent ID is: =IF(INDIRECT("E"&ROW())<3,INDIRECT("F"&ROW()),IF(INDIRECT("E"&ROW())=3,MATCH(LEFT(INDIRECT("B"&ROW()),4)&"00000000",$B$36:$B$377,0)-1,IF(INDIRECT("E"&ROW())=4,MATCH (LEFT(INDIRECT("B"&ROW()),6)&"000000",$B$378:$B$3641,0)-1,MATCH(LEFT(INDIRECT("B"&ROW()) ,9)&"000",$B$3642:$B$44991,0)-1-INDIRECT("Y"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$31,0))))); The function for setting the address is =IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$3 ...1,INDIRECT("D"&ROW()),IF(INDIRECT("J"&ROW())+$Y$33+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("J"&ROW())+$Y$33+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("E RECT("D"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("D"&ROW()),INDI RECT("K"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("D"&ROW()))))); The exchange codes for county-level and below use type B exchange codes. The function is: =INDIRECT("AA"&(INDIRECT("H"&ROW())+1)). Note that type B exchange codes are set in column AA according to the order of the exchanged values. The first step of setting the full code is the function: =IF(INDIRECT("E"&ROW())=1,INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$33+1))&IN DIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("L"&ROW()),IND IRECT("M"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("L"&ROW()))))); The described setting of the complete code, in the second step, the function is =IF(INDIRECT("E"&ROW())=1,INDIRECT("M"&ROW())&"0000",IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&ROW())&"000",IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&ROW())&"00",IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&ROW())&"0",INDIRECT("M"&ROW()))))); The described setting of the Chinese code, the function is =IF(INDIRECT("E"&ROW())=1,"Province"&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=2,MID(INDIRECT("M"&ROW()),1,2),IF(INDIRECT("E"&ROW())=3,"County"&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=4,MID(INDIRECT("M"&ROW()),1,1)&INDIRECT("L"&ROW()),MID(INDIRECT("M"&ROW()),3,1)&INDIRECT("L"&ROW())))))。

[0014] The address table of the described location is not a single data table. Instead, according to the number of provinces, each province has an address table. The setting steps are as follows: Step 1: Create corresponding data tables according to the number of provinces; Step 2: Name the created data tables. The naming of the data tables needs to follow two rules. Rule 1: The name consists of two parts, the same part and the province differentiation part, that is, the name consists of Aa. The A part of all data tables is the same, and the a part is used to distinguish provinces. Rule 2: The a part and the record ID of the province are in a corresponding relationship; Step 3: Create fields for each data table. In the fields, each county contains four fields, namely location name, parent ID, positioning data, and exchange code. The location, parent ID, positioning data, and exchange code of all data tables consist of the same part and the county differentiation part. That is, the field names of the location, parent ID, positioning data, and exchange code of all data tables are expressed as Bb, Cb, Db, Eb, where B, C, D, and E are the same parts of the location, parent ID, positioning data, and exchange code respectively, and b is the county differentiation part. Specifically, b is the record ID of the county; Step 4: Establish relationships. When designing the program, map the common parts of the data table names and the province distinction parts to the corresponding data tables, and then connect them to the corresponding fields based on the county distinction parts.

[0015] To set up an index table, the steps are as follows: Step 1: Import the tree module data of the address table. The tree module data of the address table refers to the following data: tree module name, the provincial tree module name is the province module, the prefecture-level tree module name is the city module, the county-level administrative region tree module is divided into county module and town module, the township tree module is named according to the provincial administrative region, and the village-level tree module is named according to the county-level administrative region; Step 2: Divide the data from Step 1 into index modules, into 3 index modules: the first 3 levels of address data form one index module, the township level forms one index module, and the village level forms one index module, named Index Module Zero, Index Module One, and Index Module Two, respectively. Step 3: Add the exchange code for the index module: The exchange code for index module zero is province, city, county, or town; the exchange code for index module one is the abbreviation of the corresponding provincial-level administrative region; and the exchange code for index module two is the exchange code of the corresponding county-level administrative region. Step 4: Add the tree IDs for the index modules. The tree IDs for index module 0 are 0, 1, 2, and 3. The tree IDs for index module 1 are the record IDs for provincial-level administrative regions, and the tree IDs for index module 2 are the record IDs for county-level administrative regions. Step 5: Add the starting number. The starting number is the ID number of the first record in the tree module. Obtain the starting number in the following order; S-1. In the address table of the first 5 levels of districts, use the function =ROW()-1 to get the ID number of all data. Note that in Excel, the first row has a header, so it is =ROW()-1. If two header rows are added, it is =ROW()-2. S-2. The first three levels of the tree structure module directly locate the first record and mark it with color; The S-3. Township module uses a conditional formula. In the conditional formula, the formula =INDIRECT("A"&(ROW()-1))<>INDIRECT("A"&ROW()) is used. The condition is to fill with a certain color. The selected range is =$B$3642:$B$44991. In this way, the first township-level administrative region in each province will be filled with the color. S-4. The first data marker in the village module uses a conditional formula. The formula is =LEFT(INDIRECT("B"&(ROW()-1)),6)<>LEFT(INDIRECT("B"&ROW()),6), with the condition being to fill with a certain color. The selected range is =$B$44992:$B$664493. This will make the first village-level administrative region in each county the fill color. The starting number marker can be placed in a column or a series of numbers, but it's important to note that it must be placed in the same column or series; otherwise, there will be problems with later filtering. S-5: Directly use S-2 to S-4, use color filtering to obtain the sequence number, the filtered sequence number is the starting number, and save the filtered starting number result into the index table; Step 6: Design the index values. There are 16 index values ​​in total, ranging from 0 to 15, which are binary data from 0000 to 1111. 0 represents index module zero, 1 represents index module one, and 2 represents index module two.

[0016] The binary 0s and 1s of the graphic code are represented by different color blocks. These color blocks and auxiliary parts form a identifiable QR code, which is the graphic code. The generation of binary data for a graphic code involves three steps. The binary data consists of an index value, a tree ID, and a record ID. Step 1: Generate index values. The index values ​​are determined based on the zoning data level. For zoning level 1, 2, or 3, the index value is 0000; for zoning level 4, the index value is 0001; for zoning level 5, the index value is 0010; and for zoning level 6, the index value is determined according to the ID number range (0-65536), with an index value of 0011. The index value increases by 1 for every 65536 increments in the range, up to 1111 for the range 786433-851968. Step 2: Generate tree IDs. These are generated based on the tree module containing the administrative division data. For a province, the tree ID is 0000 0000 0000; for a city, it's 0000 0000 0001; for a county, it's 0000 0000 0010; for a town, it's 0000 0000 0011; and for a township, the tree ID is converted to binary data according to the corresponding provincial-level administrative region record ID. If the converted binary data is less than 12 bits, add 0s to make it full. For a village-level tree module, the tree ID is converted to binary data according to the corresponding county-level administrative region record ID. If the converted binary data is less than 12 bits, add 0s to make it full. Step 3: Generate record IDs. For levels 1 to 5, convert the record ID values ​​in the address table into binary data. If the converted binary data is less than 16 bits, add 0s to make it full. For level 6, obtain the binary data using the function =DEC2BIN(ROUNDDOWN(MOD(ROW()-1,65536) / 256,0),8)&DEC2BIN(MOD(ROW()-1,256),8).

[0017] The steps to obtain the ID of the address table using numeric codes, Chinese character codes, and graphic codes are as follows: The method to obtain the address table ID using numeric codes is as follows: convert the numeric codes to Chinese characters according to the correspondence between zone codes and Chinese character codes, and then convert them to the address table ID according to the Chinese character code conversion rules; The aforementioned zone code includes zone codes with uppercase letters; The steps to convert Chinese characters to IDs in the address table are as follows: Step 1: The number of Chinese characters is 3, indicating a level 6 classification. Proceed to the next step. Step 2: Find the record ID corresponding to the first character of the Chinese code in index module 2 of the index table; that is, the tree module corresponding to the first 5 levels of division. Step 3: Based on the results obtained in Step 2, obtain the starting number; Step 4: The record ID corresponding to the second character of the Chinese code is the record ID in the tree module corresponding to the first 5 levels of division; Step 5: Add the results of Step 3 and Step 4 to obtain the ID number of the address table of the first 5 levels of districts. This ID is the ID number of the 5th level district corresponding to this Chinese code. Step 6: Based on the record ID obtained in Step 2, find the corresponding province code to determine the data table name for the 6th level administrative division; Step 7: Determine the field names for the 6th level division based on the record ID obtained in Step 2; Step 8: Based on the results of Step 7, find the record ID corresponding to the ID number in Step 5 under the corresponding field name; Step 9: Retrieve all records with the same record ID as those in Step 8; Step 10: Obtain the ID number by matching the third digit of the Chinese character code with the exchange code; Step 11: In step 1, the number of Chinese characters is 2, which represents the first 5 levels of address. The first 5 levels of address are only applied to the address table of the first 5 levels of division. Proceed to the next step. Step 12: Determine the index value. If the first character of the Chinese code is a province, county, or town, or if the Chinese code is a Class A exchange code + uppercase letter, the index value is 0. If the Chinese code is a Class A exchange code + Class B exchange code, the index value is 1. If the Chinese code is a Class B exchange code + Class B exchange code, the index value is 2. Step 13: Determine the record ID. The Chinese code is Class A exchange code + uppercase letter. Directly look up the record ID in the index table; the code value of the second character in the first level, third level to fifth level division is the record ID. Step 14: For levels 1 to 3, directly find the corresponding starting number. For level 4 or 5, the code value of the first character is the corresponding tree ID. Then find the starting number corresponding to that tree ID. Step 15: Add the results of Step 13 and Step 14 to obtain the ID.

[0018] Beneficial effects: This application divides the address table into a tree module and the index table into an index module. Data in the address table is processed within the tree module. Dynamic IDs are obtained by adding the record ID to the starting number of the index table, while the image code and Chinese character code remain unchanged. This facilitates data table maintenance. Exchange values ​​are written for the exchange codes, and the code values ​​correspond to the tree ID and record ID. Thus, through an intermediate page, Chinese characters can be converted to IDs on the client / browser side, while the server obtains the address table IDs. Most of the calculations are performed on the client / browser side, reducing the server's load. By designing parent IDs in the node data, forward and reverse queries can be achieved. By classifying and statistically analyzing the exchange codes, instead of writing exchange codes level by level, key exchange codes are extracted, resulting in the first five levels of zoning using two-digit codes and locations using three-digit codes. Attached Figure Description

[0019] Appendix Figure 1 This is an address representation; the address table only displays a portion of the information. Appendix Figure 2 This is an indication of the intended use of a swap table; the swap table only displays a portion of the data. Appendix Figure 3 This is the index count module for the index table. Only a portion of the index table is displayed. Appendix Figure 4 This is the statistics module for the index table; the index table only displays a portion of it. Appendix Figure 5 It refers to the overall layout of the index module of the index table; Appendix Figure 6 It is the overall layout of the tree-like module of the address table; Appendix Figure 7 This describes the composition and explanation of the graphic code; Appendix Figure 8This is a guide to obtaining an ID from Chinese characters.

[0020] The graphic code consists of three parts: index value, tree ID, and record ID. The index value is 4 bits, with a total of 16 index values. The tree ID is 12 bits, with a total of 4096 values. Currently, the maximum tree ID is at the village level, with a total of 2984 values. The tree ID of the location reference village is 16 bits, with a total of 65536 records. Among the first 5 levels of addresses, the maximum value is at the township level of Sichuan Province, with 3111 records. That is to say, in the first 5 levels of addresses, the high 4 bits are all 0000. Detailed Implementation

[0021] The applicant will describe the specific implementation method of this application with reference to the accompanying drawings: Part 1: Meaning and Explanation of Technical Terms 1. Relational-tree database: A relational-tree database is a database with a relational structure, but where there is a tree-like relationship between N fields of data, where N≥1; 2. Address, Location, and Administrative Division. Administrative divisions are divided into administrative and non-administrative divisions. Administrative and non-administrative divisions are the categorization of a specific geographical area. In my country, townships and above are administrative divisions, while villages and below are non-administrative divisions. Location refers to the area of ​​an individual's residence or the location of an organization. Location is a type of non-administrative division. Address is the designated location for finding a person or organization or communicating with them. In this invention, an address consists of the current administrative division and the names of all its superior administrative and non-administrative divisions. It is important to note the differences between these three. In administrative divisions, the administrative division name "Hunan Province" includes any location within Hunan Province. An address is typically defined as "##province##city##county##township##". The village is designated as Group ##, and the location is designated as Group ##. In navigation, the location refers to a specific area centered on the navigation positioning data. Note that in reality, addresses may omit a portion. For example, in communication, the address may only go to Province ##, City ##, County ##, Township ##, Village, or Provincial Government Mail Office, or People's Court Mail Office. While People's Court Mail Offices are not named according to administrative divisions, the coding in this application still follows the administrative / non-administrative division coding system. For example, Yongding District People's Court Mail Office. Both Fujian and Hunan have a Yongding District, but their codes are different. Using QR code identification is not a problem. 2. Exchange code: The code uses Chinese characters, letters, and numbers to replace the code characters of the administrative division name. In the exchange code, the prefecture-level administrative division is represented by letters. There are two types of exchange codes: unique exchange codes and non-unique exchange codes. 3. Exchange Value: It exchanges the identifier and code value corresponding to the exchange code. The exchange value is used to exchange data. An administrative division / non-administrative division name has only one unique exchange value. The first digit of the exchange value is the identifier, which represents the type of the exchange value. Starting from the second digit, it is the code value. The code value is decimal data and can be converted according to the binary conversion rules. The form of the exchange value is A***, where A is the identifier and *** is the decimal data. Capital letters are used directly. The eliminated GB / T 2312 characters and the reserved GB / T 2312 characters do not have exchange values; 4. Full Code: According to the level of the administrative division, each level of administrative division is represented by an exchange code. The combination of the exchange code of the current administrative division and the exchange codes of all its superior administrative divisions is the full code. If the full code is less than 5 digits, add 0 at the back to make it up. For example, "Jing0000" is the full code of Beijing, and the full code is unique; 5. Chinese Code: The Chinese encoding of the administrative division is the Chinese code. The Chinese code is composed of a part of the full code or the division code + the exchange code of the current level. For example, "Province Jing" is the Chinese code of Beijing. Province is the division code, indicating the provincial administrative region, and Jing represents the exchange code of the current level, that is, the exchange code of Beijing. "Jing A" is the Chinese code of the municipal districts of Beijing, and "Jing A" is part of "Jing A000". In the Chinese code, there are only three division codes. Province represents the provincial administrative region, and County and Yi represent the county-level administrative regions; 6. Digital Code: The location code corresponding to the Chinese characters of the Chinese code. Enter the digital code to obtain Chinese. There is also a digital code for letters, that is, the digital code and the Chinese code are corresponding; 7. Graphic Code: It represents the administrative division with binary data 1 and 0, and then uses different color blocks to represent 1 and 0. The two-dimensional code that can identify the administrative division formed by such color blocks and auxiliary graphics is the graphic code. The graphic code is divided into three parts: 7.1. Index Value: The index value is used to identify the index module, or it is the identification number of the index module; 7.2. Tree ID: The tree ID is the serial number of the record in the index module; 7.3. Record ID: The record ID is the record ID of the address table; 8: Tree Module: The relational database contains a tree structure. The data set composed of all sibling nodes or cousin nodes is the tree module. In the address table, it needs to be determined whether it is all sibling nodes or all cousin nodes that form the tree module after comparing the number of all sibling nodes or cousin nodes with the number of codes. The core elements of the tree module are the record ID, tree ID, and exchange code. Once these three elements are determined, they will not change; 8.1. Record ID: The sequence number of a record in the tree module. Record IDs in the tree module all start from 0. In the location, the ID number of the data table can be regarded as the record ID. In the tree module, only records are allowed to be inserted from the bottom of the tree module and existing records are not allowed to be deleted. This ensures that the record ID of the existing record will not change with the insertion of a record. 8.2. Tree ID: The tree ID is the identification number of the tree module. Once the tree ID is determined, it cannot be modified. 8.3. Exchange Code: The exchange code corresponds to the record ID and the tree ID. Since the exchange code is the basis for forming Chinese characters, arbitrarily changing the exchange code makes it difficult for users to remember. Therefore, the exchange code needs to be stable and cannot be changed arbitrarily. 9. Index Module: In the index table, there are three index modules, namely Index Module Zero, Index Module One, and Index Module Two, which are divided into data modules according to needs. The index module has four core elements, namely index value, tree ID, starting number, and exchange code. 9.1. Index Value: The index value is used to distinguish index modules; 9.2. Tree ID: The sequence number recorded in the index module. The tree IDs in the index module all start from 0 and increment by 1. The name comes from the fact that the sequence number recorded in the index module is the tree ID of the tree module. 9.3. Starting Number: The ID number of the first record in the tree module. Note that this refers to the ID number in the address table. 9.4. Exchange Code: The exchange code corresponds to the tree ID. Since the exchange code is the basis for forming Chinese character codes, arbitrarily changing the exchange code makes it difficult for users to remember. Therefore, the exchange code needs to be stable and cannot be changed arbitrarily. 9.5. Index Module Zero: This is the index module for the first three levels of administrative divisions, containing only four data entries: provincial, prefecture-level, county-level, and county-level. 9.6. Index Module 1: The index module for the fourth level of administrative divisions; 9.7. Index Module Two: The index module for the 5th level of administrative divisions; 9.8. Correspondence between the index module and the tree module: One record in the index module corresponds to one tree module. The sequence number of the record in the index module is the tree ID of the tree module. The data in index module one references the data of the provincial-level administrative region in the address table, and the index corresponds to the township-level administrative region. The data in index module two references the data of the county-level administrative region in the address table, and the index corresponds to the village level. 10. Level: The administrative level or classification standard of the district. The district is divided into 6 levels, from the provincial level to the village level, which are level 1 to 5. The location is level 6. For example, Hunan Province is level 1, Haidian District is level 3, Dalang Town is level 4, and Zhang Sanjia in Group 4 is level 6. In an address like Dalang Town, Dongguan City, there is no level 3, which needs to be processed later. 11. Node: In the graphical representation of data structures, each data element in a data set is represented by a box with the element value in the middle. This is called a data node, or simply a node. 12. Sibling nodes or cousin nodes: All nodes at the same level that share the same parent node are sibling nodes. All nodes at the same level that do not share the same parent node are cousin nodes. It should be noted that cousin nodes refer to any set of nodes that do not share a parent node. For example, Changsha City, Hengyang City, and Wuhan City are cousin nodes, regardless of whether Changsha City and Hengyang City are actually sibling nodes. 13. Parent and Child Nodes: The node above a node is its parent node, and correspondingly, the node below a node is its child node. For example, Hunan Province is the parent node of Changsha City, and Changsha City is a child node of Hunan Province. Wuhan City is not a child node of Hunan Province, and Dalang Town is a child node of Dongguan City. 14. Virtual nodes are formed by the correspondence between the hierarchy and level of nodes. In encoding, the level needs to be considered. When the hierarchy and level of nodes do not correspond, virtual nodes are needed. For example, the parent node of Dalang Town is Dongguan City, and the parent node of Beijiao Town is Shunde District. This will cause encoding confusion. A virtual parent node needs to be created for Dalang Town to correspond with Shunde District. It is a common practice to use virtual nodes when there is a mismatch between the level and the hierarchy of nodes in the tree structure. Parent ID, the parent ID is the record ID of the parent node.

[0022] Part Two, Design Concept: First, download the zoning table and GB / T2312 table, and process the GB / T2312 table to obtain the exchange code and exchange value, naming it the exchange table; according to the statistical zoning code, divide the zoning data into levels and tree modules; add exchange values ​​and exchange codes to the zoning data to obtain the address table, and then obtain the parent ID of the zoning data according to the statistical zoning code, and design an index table based on the address table.

[0023] Part Three: Data Table Design 3.1. Design an exchange table. The exchange table uses GB / T2312 tables as the original data. Specifically: Step 1: Download the GB / T2312 table. The downloaded version is in Excel format. If it is in another format, you need to convert it to Excel format for easier subsequent processing. Step 2: Set the cutoff line. The purpose of setting the cutoff line is to prevent the replacement from exceeding the cutoff line. Enter any content in any table in row 6770 to complete the cutoff line setting. Step 3: Obtain the zone code. In the GB / T2312 table, the zone code refers to the zone number of GB / T2312. Chinese characters are distributed in zones 16 to 87. Obtaining the zone code means obtaining the zone number of these Chinese characters. Step 4: Obtain the bit code. In the GB / T2312 table, the bit code refers to the number of Chinese characters in the partition of GB / T2312. The numbering ranges from 2 to 93. Obtaining the bit code means obtaining the number of these Chinese characters in the partition. Step 5: Calculate the zone code. Based on the data obtained in Steps 3 and 4, calculate the zone code. Step 6: Calculate the internal code. Add 160 to both the zone code and the position code to obtain the internal code, which is hexadecimal data. Step 7: Calculate the row number. Note that the row and column numbers here refer to the row and column numbers of Level 1 and Level 2 Chinese characters in the GB / T2312 table: Step 8: Determine the column number; Step 9: Find the Chinese characters. Based on the data from Step 7 and Step 8, the specific table can be located, and the Chinese characters in that table can be obtained. Step 10: Perform uniqueness verification on the Chinese characters. Note that uniqueness verification is necessary because Excel may have formatting issues that could lead to errors. Step 11: Distribute the data in a random order. The main reason is that the first-level Chinese characters obtained in step 9 are sorted by pinyin, which will cause difficulties in subsequent processing. It is necessary to dissipate the pinyin order. Step 12: Remove some words with poor semantics. This step can only be done manually. The Chinese characters obtained after manual screening, plus uppercase letters, are the exchange code. Step 13: Classify the exchange codes into the following six categories: Category A - Abbreviations of provincial-level administrative regions; Category B - County-level administrative regions with townships under their jurisdiction and below; Category C - County-level administrative regions without townships under their jurisdiction; Category D - For index tables; Category E - Uppercase letters; Category F - Spare codes. The number of exchange codes is determined reasonably based on the number of place names or compiled according to the number of place names. Then, the number of exchange codes is increased accordingly as the number of place names increases. Among the exchange codes, Category A, C, and D are unique in use, while Category B and E are not unique. The uniqueness in use means that it can only be used for a unique place name or a unique purpose. Step 14: Write the swap value. Based on step 13, write the swap value. The swap value consists of an identifier and a code value. In step 13, the identifiers of swap codes of the same type are the same, and the code values ​​start from 0 and increment by 1. Regarding the ordering of steps, this is merely a scheme adopted for the convenience of recording, and does not mean that a later step must necessarily follow an earlier step. However, steps that clearly have a sequential order need to be ordered according to the sequential order. For example, the zone code and position code have no sequential order, but the zone-position code must follow the order of the zone code and position code, because the zone-position code cannot be calculated without determining the zone code and position code.

[0024] 3.2. Design the address table for the first 5 levels of administrative divisions, specifically: Step 1: Download the address table, which can be downloaded from the website of the National Bureau of Statistics; Step 2: Delete the following fields: city code, county code, township code, and village code. These fields take up space and will not be used later, so they should be deleted. Step 3: Delete the urban / rural codes from the statistical zoning codes. This gives us the codes from the province to the village level. Then, rename the codes to zoning codes. Step 4: Set levels, dividing them into 1 to 5 levels, namely provincial, prefecture-level, county, township, and village levels, with levels 1 to 5 respectively; Step 5: Reorder. In the "Level" column, select ascending order. After sorting, the results will be arranged according to level and province. Step 6: Processing of some prefecture-level city data and Hong Kong, Macao and Taiwan data. Among the prefecture-level administrative regions, Dongguan City, Zhongshan City and Danzhou City do not have county-level administrative regions and directly govern townships. In order to facilitate subsequent data processing, virtual county-level units are added and named Dongguan County, Zhongshan County and Danzhou County respectively. The administrative division codes of these three virtual counties are exactly the same as those of the cities. Just note that the level is level 3, that is, county level. Provincial data plus Hong Kong, Macao and Taiwan data; Step 7: Set the auxiliary data for the level, named Level 1. The auxiliary data for the level is a combination of the province code and the level data. Step 8: Reclassify county-level data. Classify county-level data into those classified as municipal districts and those not classified as municipal districts. Note that Kinmen County, which has no townships under its jurisdiction, is still listed as a county-level county. However, among the municipal districts, one municipal district in Gansu Province has townships under its jurisdiction; therefore, it should be listed as a county-level unit, not one without a county-level unit. Otherwise, it will lead to errors later. Use the filtering function to resolve this. Specifically, in the "District Name" column, first use text filtering with the condition "not equal to 'municipal district'", then use condition filtering with the condition "equal to 'municipal district'", and then organize the data. Step 9: Tree-structured module division, divided into the following modules: Each of the following is a tree-structured module: provincial-level administrative regions, prefecture-level administrative regions, county-level administrative regions with townships, and county-level administrative regions without townships. County-level administrative regions without townships are referred to as the "township module" and county-level administrative regions with townships are referred to as the "county module" for ease of explanation. Township-level administrative divisions are classified according to the provincial level, with one tree-shaped module for each province; village-level administrative divisions are classified according to the county level, with one tree-shaped module for each county. Step 10: Set the record ID. The record ID is the internal number of the tree module. Record IDs start from 0 and increment by 1 step. Step 11: Set the parent ID, which refers to the record ID of the parent node of this data; Step 12: Set the address. After obtaining the address using a function, do not delete the function. This way, any change to any data will be synchronously updated in the address to avoid errors. Step 13: Set the exchange code. For provincial, municipal, and county-level exchange codes, simply copy the corresponding exchange codes. For county-level and below exchange codes, use Class B exchange codes. Step 14: Set the full code. The full code setting is divided into two steps. The first step is to find the exchange code of the current division and the exchange codes of all its superior divisions. The full code calculated from the first four levels of addresses is not 5 bits. It needs to be padded with 0s to make all the full codes 5 bits. Step 15: Set the Chinese codes. The Chinese codes are generated based on Step 14. Specifically, the province code = province + Class A exchange code, the city code = the first two digits of the license plate number, the county code = county + Class B exchange code or town + Class C exchange code, the township code = Class A exchange code + Class B exchange code, and the village code = Class B exchange code + Class B exchange code. Wildcards are used to represent the codes. The Class A exchange code is ▉, uppercase letters are ◆, the Class B exchange code is ◎, and the Class C exchange code is ▲. Therefore, the provincial Chinese code is province ▉, the city Chinese code is ▉A, the county Chinese code is county ◎ or town ▲, the township Chinese code is ▉◎, and the village Chinese code is ◎◎. The ordering of steps is merely a convenient way of recording, and does not mean that a later step must necessarily follow an earlier step. However, steps that clearly have a sequential order need to be ordered according to that order.

[0025] 3.3. Address table of the design site The address table is not a single data table, but rather an address table for each province. The design steps are: Step 1: Create a data table corresponding to the number of provinces; Step 2: Name the created data tables. The naming of the data tables should follow two rules. Rule 1: The name consists of two parts: a common part and a province distinction. That is, the name consists of the Aa part. The A part is the same for all data tables. The a part is used to distinguish the province. For example, sheng1 and sheng14, where sheng is the common part and 1 and 14 are used to distinguish the province. Rule 2: The a part corresponds to the record ID of the province code. For example, the record ID of Beijing is 0, and sheng0 represents Beijing. Step 3: Create fields for each data table. Each county contains four fields: location name, parent ID, location data, and exchange code. The location, parent ID, location data, and exchange code of all data tables consist of a common part and a county-level distinguishing part. That is, the field names of location, parent ID, location data, and exchange code of all data tables can be represented as Bb, Cb, Db, and Eb, where B, C, D, and E are the common parts of location, parent ID, location data, and exchange code, respectively, and b is the county-level distinguishing part. Specifically, b is the county-level record ID. For example, the county-level ID of Dongcheng District is 0, so all b are 0. Step 4: Establish relationships. When designing the program, map the common parts of the data table names and the province distinction parts to the corresponding data tables, and then connect them to the corresponding fields based on the county distinction parts.

[0026] 3.4. Design an index table Step 1: Import the tree module data of the address table. The tree module data of the address table refers to the following data: The tree structure module names are as follows: provincial-level tree structure modules are named "province module", prefecture-level tree structure modules are named "city module", county-level administrative region tree structure modules are divided into county module and town module, township tree structure modules are named according to provincial-level administrative regions, and village-level tree structure modules are named according to county-level administrative regions. Step 2: Divide the data from Step 1 into index modules, which are divided into 3 index modules. The first 3 levels of address data are in one index module, the township level is in one index module, and the village level is in one index module. These are named Index Module Zero, Index Module One, and Index Module Two, respectively. Note the difference between index modules and tree modules. In the address table, the province module includes 34 data entries, while in the index table, the province module is only one record. Step 3: Add the exchange code for the index module: The exchange code for index module zero is province, city, county, or town; the exchange code for index module one is the abbreviation of the corresponding provincial-level administrative region; and the exchange code for index module two is the exchange code of the corresponding county-level administrative region. Step 4: Add the tree IDs for the index modules. The tree IDs for index module 0 are 0, 1, 2, and 3. The tree IDs for index module 1 are the record IDs for provincial-level administrative regions, and the tree IDs for index module 2 are the record IDs for county-level administrative regions. Step 5: Add the starting number. The starting number is the ID number of the first record in the tree module. Obtain the starting number in the following order; S-1. In the address table of the first 5 levels of districts, use the function =ROW()-1 to get the ID number of all data. Note that in Excel, the first row has a header, so it is =ROW()-1. If two header rows are added, it is =ROW()-2. S-2. The first three levels of the tree structure module directly locate the first record and mark it with color; The S-3. Township module uses a conditional formula. In the conditional formula, the formula =INDIRECT("A"&(ROW()-1))<>INDIRECT("A"&ROW()) is used. The condition is to fill with a certain color. The selected range is =$B$3642:$B$44991. In this way, the first township-level administrative region in each province will be filled with the color. S-4. The first data marker in the village module. The village module uses a conditional formula. In the conditional formula, the formula =LEFT(INDIRECT("B"&(ROW()-1)),6)<>LEFT(INDIRECT("B"&ROW()),6) is used. The condition is to fill with a certain color. The selected range is =$B$44992:$B$664493. In this way, the first village-level administrative region in each county will be filled with the color. The starting number marker can be marked in a column or a sequence of numbers, but it should be noted that the markers must be in the same column or sequence of numbers; otherwise, there will be problems with the subsequent filtering. S-5: Directly use S-2 to S-4, use color filtering to obtain the sequence number, the filtered sequence number is the starting number, and save the filtered starting number result into the index table; Step 6: Design index values. There are 16 index values ​​from 0 to 15, which are binary data from 0000 to 1111. 0 represents index module zero, 1 represents index module one, 2 represents index module two, and 3 to 15 represent locations. In the location, when the number of records contained in one index value cannot meet the requirements, another index value is used. Note that in the 6th level address, i.e. location, the index modules for all location data of county-level administrative regions are divided according to the range of ID numbers. Each index module consists of 65,536 records, which is a combination of 16 bits of binary data. For every additional 65,536 records, the index value increases by 1. Therefore, the maximum number of location data for a county is 65,536 * 13 = 851,968. Since this is calculated and defined by humans, it does not need to be reflected in the index table. The index table does not contain related data with index values ​​from 3 to 15.

[0027] Part Four: The Uniqueness of the Graphic Code. Binary 0 and 1 are represented by different color blocks. The two-dimensional code formed by these color blocks and auxiliary parts that can identify the area is the graphic code. This application only records binary data. The binary data consists of three parts: index value, tree ID, and record ID. For a specific zone, the binary data is unique. That is, first, the index value is determined. After the index value is determined, the tree ID corresponding to the index value is unique. In this way, the corresponding tree module can be found in the address table. The tree module is also unique. Then, the record ID is found in the tree module, and the unique zone record can be obtained.

[0028] Part Five: The Relationship Between Chinese Characters and IDs in the First Five Levels of Regional Divisions In the first five levels of addresses, the Chinese characters are two digits each. After the client enters Chinese characters, the address table can be retrieved using the correspondence between the Chinese characters to obtain the specific district. However, this method consumes a lot of server resources, especially when there are many users accessing the site, which places high demands on the server's bandwidth. This application uses Chinese characters and ID numbers to associate the Chinese characters. Step 1. Set up an intermediate page on the client side. The intermediate page includes an index table, exchange codes, and exchange values. This intermediate page is about 200KB and loading it will not cause any problems. Step 2. Define the identifier for the swapped value; Step 3. Define the level recognition features of the Chinese code to obtain the index value; Step 4. Based on the index value of the Chinese character code, further obtain the tree ID; Step 5. Based on steps 3 and 4, further obtain the record ID; Step 6. Based on the results of Step 4, obtain the starting number; Step 7. Based on the results of Steps 5 and 6, add the starting number and the record ID to obtain the ID; Step 8. Steps 1 to 7 are all performed on the client side. Finally, the obtained ID is sent to the server side. This ID is the ID of the address table of the first 5 levels of the server side. The record corresponding to the ID is directly searched in the address table.

[0029] Part 5: Obtaining the ID from the Address Table Using Numeric Codes The method is as follows: convert the numeric code into Chinese characters according to the correspondence between the zone code and the Chinese character code, and then convert it into the ID of the address table according to the conversion rules of the Chinese character code; The aforementioned zone code includes zone codes with uppercase letters; The steps to convert Chinese characters to IDs in the address table are as follows: Step 1: The number of Chinese characters is 3, indicating a level 6 classification. Proceed to the next step. Step 2: Find the record ID corresponding to the first character of the Chinese code in index module 2 of the index table; that is, the tree module corresponding to the first 5 levels of division. Step 3: Based on the results obtained in Step 2, obtain the starting number; Step 4: The record ID corresponding to the second character of the Chinese code is the record ID in the tree module corresponding to the first 5 levels of division; Step 5: Add the results of Step 3 and Step 4 to obtain the ID number of the address table of the first 5 levels of districts. This ID is the ID number of the 5th level district corresponding to this Chinese code. Step 6: Based on the record ID obtained in Step 2, find the corresponding province code to determine the data table name for the 6th level administrative division; Step 7: Determine the field names for the 6th level division based on the record ID obtained in Step 2; Step 8: Based on the results of Step 7, find the record ID corresponding to the ID number in Step 5 under the corresponding field name; Step 9: Retrieve all records with the same record ID as those in Step 8; Step 10: Obtain the ID number by matching the third digit of the Chinese character code with the exchange code; Step 11: In step 1, the number of Chinese characters is 2, which represents the first 5 levels of address. The first 5 levels of address are only applied to the address table of the first 5 levels of division. Proceed to the next step. Step 12: Determine the index value. If the first character of the Chinese code is a province, county, or town, or if the Chinese code is a Class A exchange code + uppercase letter, the index value is 0. If the Chinese code is a Class A exchange code + Class B exchange code, the index value is 1. If the Chinese code is a Class B exchange code + Class B exchange code, the index value is 2. Step 13: Determine the record ID. The Chinese code is Class A exchange code + uppercase letter. Directly look up the record ID in the index table; the code value of the second character in the first level, third level to fifth level division is the record ID. Step 14: For levels 1 to 3, directly find the corresponding starting number. For level 4 or 5, the code value of the first character is the corresponding tree ID. Then find the starting number corresponding to that tree ID. Step 15: Add the results of Step 13 and Step 14 to obtain the ID.

[0030] Example 1: Specific Calculation Method of Exchange Table Note that the step numbers involved in Example 1 correspond to the step numbers in paragraph 0023. Step 3: Obtain the area code. Use the function =ROUNDDOWN((ROW()-2) / 94,0)+16 in Excel. Use the Replace function, leave the Replace row empty and the Replaced row as the function. Click Replace All. Subsequent function replacements will follow this method and will not be repeated. The column numbers involved in all functions in this application need to be determined according to the specific table. This application only lists one column number. Step 4: Obtain the bit code, the function is =MOD(ROW()-2,94)+1; Step 5: Obtain the zone code using the function =INDIRECT("R"&ROW())&IF(INDIRECT("S"&ROW())<10,"0"&INDIRECT("S"&ROW()),INDIRECT("S"&ROW())). Step 6: Obtain the internal code using the function =DEC2HEX(INDIRECT("A"&ROW())+160,2)&DEC2HEX(INDIRECT("B"&ROW())+160,2); Step 7: Obtain the row number using the function =MATCH(MID(INDIRECT("U"&ROW()),1,3)&0,$A$1:$A$573,0: Step 8: Obtain the column number using the function =HEX2DEC(MID(INDIRECT("D"&ROW()),4,1))+2; Step 9: Obtain the Chinese characters using the function =INDIRECT(ADDRESS(INDIRECT("V"&ROW()),INDIRECT("W"&ROW()))); Step 10: Uniqueness verification, the function is =COUNTIF($X$2:$X$6769, INDIRECT("X"&ROW())); Step 14: An example of swapping values, for example, the swap values ​​for Beijing and Tianjin are A0 and A1 respectively, where A is the identifier representing the provincial administrative region, and 0 and 1 are the code values.

[0031] Example 2: Specific Calculation Method of Address Table The step numbers involved in Example 2 correspond to the step numbers in paragraph 0024. Step 3: Delete the urban / rural code: One function is =LEFT(INDIRECT("D"&ROW()),12); Step 4: Set the level. One function is: =IF(RIGHT(INDIRECT("B"&ROW()),10)="0000000000",1,IF(RIGHT(INDIRECT("B"&ROW()),8)="00000000",2,IF(RIGHT(INDIRECT("B"&ROW()),6)="000000",3,IF(RIGHT(INDIRECT("B"&ROW()),3)="000",4,5)))); Step 7: Set the auxiliary data for the level. One function is =VALUE(INDIRECT("A"&ROW())&INDIRECT("E"&ROW())); Step 10: Set the record ID. One function is =IF(INDIRECT("E"&ROW())=1,ROW()-2,IF(INDIRECT("E"&ROW())=2,ROW()-36,IF(INDIRECT("E"&ROW())=3,ROW()-378,IF(INDIRECT("E"&ROW())=4,ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),2),$V$1:$V$3015,0)),ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),6),$V$1:$V$3015,0)))))). In the record ID, the data of the Yi module follows the data of the Xian module, so it does not start from 0. This part of the data needs to be set separately. In addition, the amount of data is relatively small, so you can just drag and drop to avoid errors. Step 11: Set the parent ID. One function is =IF(INDIRECT("E"&ROW())<3,INDIRECT("F"&ROW()),IF(INDIRECT("E"&ROW())=3,MATCH(LEFT(INDIRECT("B"&ROW()),4)&"00000000",$B$36:$B$377,0)-1,IF(INDIRECT("E"&ROW())=4,MAT CH(LEFT(INDIRECT("B"&ROW()),6)&"000000",$B$378:$B$3641,0)-1,MATCH(LEFT(INDIRECT("B"&ROW() ),9)&"000",$B$3642:$B$44991,0)-1-INDIRECT("Y"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$31,0)))); In the above function, attention should be paid to the issue of $B$36:$B$377 and $B$378:$B$3641. If they are all written as $B$36:$B$3641, the problem is that the parent IDs of the townships under the three virtual county-level units will be directly linked to the prefecture-level administrative regions, resulting in an error. There are two solutions: one is to exclude the prefecture-level data from the filtering range of the township parent IDs, and the other is to directly modify the erroneous data after the function is completed. Step 12: Set the address. One function is =IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$33+1))&IN DIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("D"&ROW()),IND IRECT("K"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("D"&ROW()))))); Step 13: Set the exchange code for counties and below. One function is: =INDIRECT("AA"&(INDIRECT("H"&ROW())+1)); Step 14: Set the full code. First step, a function: =IF(INDIRECT("E"&ROW())=1,INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$33+1))&I NDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("L"&ROW()),IND IRECT("M"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("L"&ROW()))))); The second step involves a function that is: =IF(INDIRECT("E"&ROW())=1,INDIRECT("M"&ROW())&"0000",IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&ROW())&"000",IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&ROW())&"00",IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&ROW())&"0",INDIRECT("M"&ROW()))))); Step 15: Set the Chinese code. A function is =IF(INDIRECT("E"&ROW())=1, "Province"&INDIRECT("L"&ROW()), IF(INDIRECT("E"&ROW())=2, MID(INDIRECT("M"&ROW()),1,2), IF(INDIRECT("E"&ROW())=3, "County"&INDIRECT("L"&ROW()), IF(INDIRECT("E"&ROW())=4, MID(INDIRECT("M"&ROW()),1,1)&INDIRECT("L"&ROW()), MID(INDIRECT("M"&ROW()),3,1)&INDIRECT("L"&ROW())))))。

[0032] Example 3: For illustration, take the establishment of a graphic code for the 4th group of Zhang San's family in Duofu Lane Community, Donghuamen Street, Dongcheng District, Beijing Municipality, and Hunan Province as an example. Hunan Province is a provincial administrative region with an index value of 0, that is, 0000. The tree ID of the provincial administrative region is 0, that is, 0000 0000 0000. The record ID of Hunan Province is 17, that is, 0000 0000 0010 0001. In this way, the graphic code of Hunan Province is obtained; The 4th group of Zhang San's family is at level 6, that is, the location level. Zhang San lives in Duofu Lane Community, Donghuamen Street, Dongcheng District, Beijing Municipality. After screening out the first 5 levels of addresses step by step, the 6th level address is the 4th group of Zhang San's family. The 6th level address quotes the tree ID of the 5th level address, that is, the tree ID of Duofu Lane Community. The tree ID of Dongcheng District is 0, and the record ID of Beijing Municipality is 0. Therefore, the data table name of the provincial administrative region is sheng0. The tree ID number of Dongcheng District is 0, the ID of the 4th group of Zhang San's family is 5, the index value is 0011, the tree ID is 0000 0000 0000, and the record ID is 0000 0000 0000 0101. It should be noted that if the ID of the 4th group of Zhang San's family is 65541, the index value is 0100; Note that in locations, the tree ID always quotes the tree ID of the village level and is identified by the index value. For example, the index value 0010 indicates that the address is at the village level, while the index value 0011 indicates a location.

Claims

1. An address-encoded character set for information exchange, characterized in that: Design the address table, exchange table, and index table for the first 5 levels of administrative divisions. The address table for the first 5 levels of administrative divisions is a relational-tree database structure. After downloading the administrative division data, the administrative divisions are divided into levels according to administrative level and jurisdiction level. Each administrative division data is a node, and sibling nodes or cousin nodes form a tree module. In the tree module, record ID, exchange code, and parent ID are set. The address and full code are obtained using the record ID, parent ID, and exchange code. Based on the full code, the Chinese code and numeric code are obtained. In the exchange table, the data in the GB / T2312 table is used as the source data. Then, the function is used to obtain the zone code and position code of this source data. The zone code and position code are merged to obtain the zone-position code. Then, 160 is added to the zone code and position code respectively. The resulting hexadecimal data is the internal code. Then, the row number and column number are obtained from the source data. Based on the row number and column number, the Chinese characters are obtained. After filtering these Chinese characters, they are classified to obtain the exchange code. The index table is completed based on the address table of the first 5 levels of division. Each tree module of the address table of the first 5 levels of division has the following data set in the index table: index value, tree ID and starting number. The records of the index table are divided into three index modules. Based on the index table and address table, a graphic code is formed. The original binary data of the graphic code consists of three parts: index value, tree ID, and record ID. The address table of the location is set up based on the address table and index table of the first 5 levels of division. The relational-tree database structure refers to a database structure that is relational, but where there is a tree-like relationship between the data in N fields, where N≥1; The aforementioned division is between administrative and non-administrative divisions. Administrative and non-administrative divisions are divisions of a certain geographical space. In my country, townships and above are administrative divisions, while villages and below are non-administrative divisions. It is important to note the difference between administrative divisions and locations / addresses. The location mentioned refers to the area of ​​an individual's residence or the area of ​​an organization's location. Location is not a type of administrative division. In navigation, location refers to a certain area centered on navigation positioning data. Location is not an accurate geographical concept. The address refers to a designated location for finding or communicating with a person or organization. The address is a location that is easy to locate, formed by the names of various levels of administrative divisions. The level mentioned refers to the administrative level or classification standard of the administrative division; In the graphical representation of a data structure, each data element in a data set is represented by a box with the element value in the middle. This is called a data node, or simply a node. The term "sibling node" refers to all nodes at the same level that share the same parent node; they are sibling nodes to each other. The term "cousin node" refers to all nodes at the same level that do not share the same parent node, and are cousin nodes to each other. The aforementioned tree module refers to a relational database containing a tree structure. The data set consisting of all sibling nodes or cousin nodes constitutes the tree module. In the address table formed by the first 5 levels of partitioning, whether the tree module consists of all sibling nodes or all cousin nodes needs to be determined by comparing the number of all sibling nodes or cousin nodes with the number of codes. The core elements of the tree module are record ID, tree ID, and exchange code. Once these three elements are determined, they will not change. The record ID refers to the sequence number of the record in the tree module. The record IDs in the tree module all start from 0. In the location, the ID number of the data table is regarded as the record ID. In the tree module, only the bottom of the tree module is allowed to insert records and existing records are not allowed to be deleted. This ensures that the existing record ID will not change with the insertion of records. The tree ID refers to the identification number of the tree module. Once the tree ID is determined, it cannot be modified. The aforementioned exchange code refers to the coded characters that use Chinese characters, letters, and numbers to replace the names of administrative divisions. In the exchange code, the prefecture-level administrative division is represented by letters. There are two types of exchange codes: unique exchange codes and non-unique exchange codes. The exchange code corresponds to the record ID and the tree ID. The exchange code needs to be stable and cannot be changed arbitrarily. The exchange code corresponds to an exchange value. The exchange value refers to the identifier and code value corresponding to the exchange code. The exchange value is used to exchange data. An administrative division / non-administrative division name has only one unique exchange value. The first digit of the exchange value is the identifier, which indicates the type of the exchange value. Starting from the second digit, the code value is decimal data. The code value can be converted to a different base according to the base conversion rules. The exchange value format is A***, where A is the identifier and *** is the decimal data. Uppercase letters and the removed GB / T2312 characters and the reserved GB / T2312 characters do not have exchange values. The parent ID mentioned above is relative to the parent node; the parent ID refers to the record ID of the parent node. The parent node refers to the node above a node; correspondingly, the next level node of a node is the child node of that node. The full code refers to the code that is represented by an exchange code for each level of administrative division. The combination of the exchange code of the current administrative division and the exchange codes of all its superior administrative divisions constitutes the full code, and the full code is unique. The Chinese code mentioned refers to the Chinese encoding of administrative divisions. The Chinese code is a part of the full code or a combination of the administrative division code and the local exchange code. In the Chinese code, there are only three administrative division codes: province, county, and town. Province represents the provincial-level administrative region, and county and town represent the county-level administrative region. The numeric code refers to the zone code corresponding to the Chinese characters in the Chinese character code. Inputting the numeric code will yield the Chinese characters. Letters also have numeric codes. The graphic code refers to a QR code that uses binary data 1 and 0 to represent the division, and then uses different color blocks to represent 1 and 0. The graphic code is a QR code that can identify the division by using such color blocks and auxiliary graphics. The index value is used to identify the index module, or in other words, the identification number of the index module; The index module refers to the data modules in the index table that are divided according to needs. There are three index modules: Index Module Zero, Index Module One, and Index Module Two. Each index module has four core elements: index value, tree ID, starting number, and exchange code. The starting number refers to the ID number of the first record in the tree module. Note that this refers to the ID number in the address table. The correspondence between index modules and tree modules is as follows: one record in an index module corresponds to one tree module, and the sequence number of the record in the index module is the tree ID of the tree module. The data in index module one references the data of the provincial-level administrative region in the address table, and the index corresponds to the township-level administrative region. The data in index module two references the data of the county-level administrative region in the address table, and the index corresponds to the village level.

2. The address-encoded character set for information exchange according to claim 1, characterized in that: The exchange table is obtained using GB / T2312 tables as the original data. The specific steps are as follows: Step 1: Download the GB / T2312 table. The downloaded version is in Excel format. If it is in another format, you need to convert it to Excel format for easier subsequent processing. Step 2: Set the cutoff line. The purpose of setting the cutoff line is to prevent the replacement from exceeding the cutoff line. Enter any content in any table in row 6770 to complete the cutoff line setting. Step 3: Obtain the zone code. In the GB / T2312 table, the zone code refers to the zone number of GB / T2312. Chinese characters are distributed in zones 16 to 87. Obtaining the zone code means obtaining the zone number of these Chinese characters. Step 4: Obtain the bit code. In the GB / T2312 table, the bit code refers to the number of Chinese characters in the partition of GB / T2312. The numbering ranges from 2 to 93. Obtaining the bit code means obtaining the number of these Chinese characters in the partition. Step 5: Calculate the zone code. Based on the data obtained in Steps 3 and 4, calculate the zone code. Step 6: Calculate the internal code. Add 160 to both the zone code and the position code to obtain the internal code, which is hexadecimal data. Step 7: Find the row number. Note that the row number and column number here refer to the row number and column number of Level 1 and Level 2 Chinese characters in the GB / T2312 table. Step 8: Determine the column number; Step 9: Find the Chinese characters. Based on the data from Step 7 and Step 8, the specific table can be located, and the Chinese characters in that table can be obtained. Step 10: Perform uniqueness verification on Chinese characters. Note that uniqueness verification is necessary because Excel may have formatting issues that could lead to errors. Step 11: Distribute the data in a random order. The main reason is that the first-level Chinese characters obtained in step 9 are sorted by pinyin, which will cause difficulties in subsequent processing. It is necessary to dissipate the pinyin order. Step 12: Remove some words with poor semantics. This step can only be done manually. The Chinese characters obtained after manual screening, plus uppercase letters, are the exchange code. Step 13: Classify the exchange codes into the following six categories: Category A - Abbreviations of provincial-level administrative regions; Category B - County-level administrative regions with townships under their jurisdiction and below; Category C - County-level administrative regions without townships under their jurisdiction; Category D - For index tables; Category E - Uppercase letters; Category F - Spare codes. The number of exchange codes is determined reasonably based on the number of place names or compiled according to the number of place names. Then, the number of exchange codes is increased accordingly as the number of place names increases. Among the exchange codes, Category A, C, and D are unique in use, while Category B and E are not unique. The uniqueness in use means that it can only be used for a unique place name or a unique purpose. Step 14: Write the exchange value. Based on step 13, write the exchange value. The exchange value consists of an identifier and a code value. In step 13, the identifiers of the same type of exchange code are the same, and the code values ​​start from 0 and increment by 1. Regarding the order of the steps, this is just a scheme adopted for the convenience of recording. It does not mean that the later step must be after the earlier step, but steps that obviously have a sequential order need to be ordered according to the sequential order.

3. The address-encoded character set for information exchange according to claim 1 or claim 2, characterized in that: The area code is obtained using the function =ROUNDDOWN((ROW()-2) / 94,0)+16. In Excel, use the Replace function, with the Replace row empty and the Replaced row containing the function. Then click Replace All. Subsequent function replacements will follow the same method and will not be explained again. The function to obtain the bit code is =MOD(ROW()-2,94)+1; The function to calculate the zone code is =INDIRECT("R"&ROW())&IF(INDIRECT("S"&ROW())<10,"0"&INDIRECT("S"&ROW()),INDIRECT("S"&ROW())). The function to find the inner code is =DEC2HEX(INDIRECT("A"&ROW())+160,2)&DEC2HEX(INDIRECT("B"&ROW())+160,2); The function to find the row number is =MATCH(MID(INDIRECT("U"&ROW()),1,3)&0,$A$1:$A$573,0; The function to find the column number is =HEX2DEC(MID(INDIRECT("D"&ROW()),4,1))+2; The function to extract the Chinese characters is =INDIRECT(ADDRESS(INDIRECT("V"&ROW()),INDIRECT("W"&ROW()))). The uniqueness of the Chinese characters is verified using the function =COUNTIF($X$2:$X$6769, INDIRECT("X"&ROW())).

4. The address-encoded character set for information exchange according to claim 1, characterized in that: The specific steps for designing the address table for the first five levels of administrative divisions are as follows: Step 1: Download the address table, which can be downloaded from the website of the National Bureau of Statistics; Step 2: Delete the following fields: city code, county code, township code, and village code; Step 3: Delete the urban / rural code from the statistical zoning code and rename it to the zoning code; Step 4: Set levels, dividing the levels into 1 to 5, namely provincial, prefecture-level, county, township, and village levels, with levels 1 to 5 respectively; Step 5: Reorder. In the "Level" column, select ascending order. After sorting, the results will be sorted by level and province. Step 6: Processing of some prefecture-level city data and Hong Kong, Macao and Taiwan data. Among the prefecture-level administrative regions, Dongguan City, Zhongshan City and Danzhou City do not have county-level administrative regions. Virtual county-level units are added and named Dongguan County, Zhongshan County and Danzhou County respectively. The administrative division codes of these three virtual counties are exactly the same as those of the cities. Just note that the level is level 3, that is, county level. Provincial data plus Hong Kong, Macao and Taiwan data; Step 7: Set the auxiliary data for the level, named Level 1. The auxiliary data for the level is a combination of the province code and the level data. Step 8: Reclassify county-level data. Classify county-level data into those classified as municipal districts and those not classified as municipal districts. Note that Kinmen County, which has no townships under its jurisdiction, is still listed as a county-level county. However, among the municipal districts, one municipal district in Gansu Province has townships under its jurisdiction; therefore, it should be listed as a county-level unit, not one without a county-level unit. Otherwise, it will lead to errors later. Use the filtering function to resolve this. Specifically, in the "District Name" column, first use text filtering with the condition "not equal to 'municipal district'", then use condition filtering with the condition "equal to 'municipal district'", and then organize the data. Step 9: Tree-structured module division, divided into the following modules: Provincial-level administrative regions, prefecture-level administrative regions, county-level administrative regions with townships, and county-level administrative regions without townships each form a tree-structured module. County-level administrative regions without townships will be referred to as the "township module" and county-level administrative regions with townships will be referred to as the "county module" for ease of explanation; Township-level administrative regions are classified according to the province, with one tree-structured module per province, and village-level administrative regions are classified according to the county, with one tree-structured module per county; Step 10: Set the record ID; Step 11: Set the parent ID; Step 12: Set the address. After obtaining the address using a function, do not delete the function. Step 13: Set the exchange code. For provincial, municipal, and county-level exchange codes, simply copy the corresponding exchange codes. For county-level and below exchange codes, use Class B exchange codes. Step 14: Set the full code. The full code setting is divided into two steps. First, calculate the exchange code of the current zone and the exchange codes of all its superior zones. Second, the full code calculated from the first four levels of addresses is not 5 bits, so 0 needs to be padded at the end to make all the full codes 5 bits. Step 15: Set the Chinese character codes. These codes are generated based on Step 14. Specifically, the province code = province + Class A exchange code; the city code = the first two digits of the license plate number; the county code = county + Class B exchange code or town + Class C exchange code; the township code = Class A exchange code + Class B exchange code; and the village code equals Class B exchange code + Class B exchange code. Wildcards are used: Class A exchange code is ▉ (uppercase letter A), Class B exchange code is ◎, and Class C exchange code is ▲. Therefore, the provincial Chinese code is province ▉, the city Chinese code is ▉A, the county Chinese code is county ◎ or town ▲, the township Chinese code is ▉◎, and the village Chinese code is ◎◎. The ordering of steps is merely a convenient way of recording, and does not mean that a later step must necessarily follow an earlier step. However, steps that clearly have a sequential order need to be ordered according to that order.

5. The address-encoded character set for information exchange according to claim 1 or claim 4, characterized in that: The function for deleting the urban / rural code from the statistical zoning code is =LEFT(INDIRECT("D"&ROW()),12); The function for setting the level is: =IF(RIGHT(INDIRECT("B"&ROW()),10)="0000000000",1,IF(RIGHT(INDIRECT("B"&ROW()),8)="00000000",2,IF(RIGHT(INDIRECT("B"&ROW()),6)="000000",3,IF(RIGHT(INDIRECT("B"&ROW()),3)="000",4,5)))); The auxiliary data for setting the level is defined by the function: =VALUE(INDIRECT("A"&ROW())&INDIRECT("E"&ROW())); The function for setting the record ID is =IF(INDIRECT("E"&ROW())=1,ROW()-2,IF(INDIRECT("E"&ROW())=2,ROW()-36,IF(INDIRECT("E"&ROW())=3,ROW()-378,IF(INDIRECT("E"&ROW())=4,ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),2),$V$1:$V$3015,0)),ROW()-1-INDIRECT("W"&MATCH(LEFT(INDIRECT("B"&ROW()),6),$V$1:$V$3015,0)))))). In the record ID, the data in the Yi module does not start from 0; this part of the data needs to be set separately. The function for setting the parent ID is: =IF(INDIRECT("E"&ROW())<3,INDIRECT("F"&ROW()),IF(INDIRECT("E"&ROW())=3,MATCH(LEFT(INDIRECT("B"&ROW()),4)&"00000000",$B$36:$B$377,0)-1,IF(INDIRECT("E"&ROW())=4,MATCH (LEFT(INDIRECT("B"&ROW()),6)&"000000",$B$378:$B$3641,0)-1,MATCH(LEFT(INDIRECT("B"&ROW()) ,9)&"000",$B$3642:$B$44991,0)-1-INDIRECT("Y"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$31,0))))); The function for setting the address is =IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$3 ...1,INDIRECT("D"&ROW()),IF(INDIRECT("J"&ROW())+$Y$33+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("J"&ROW())+$Y$33+1))&INDIRECT("D"&ROW()),IF(INDIRECT("E"&ROW())=1,INDIRECT("D"&ROW()),IF(INDIRECT("E RECT("D"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("K"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("D"&ROW()),INDI RECT("K"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("D"&ROW()))))); The exchange codes for county-level and below use type B exchange codes. The function is: =INDIRECT("AA"&(INDIRECT("H"&ROW())+1)). Note that type B exchange codes are set in column AA according to the order of the exchanged values. The described full code setting, the first-step function is =IF(INDIRECT("E"&ROW())=1,INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$32+1))&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$33+1))&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&(INDIRECT("J"&ROW())+$Y$34+1))&INDIRECT("L"&ROW()),INDIRECT("M"&INDIRECT("J"&ROW())+INDIRECT("W"&MATCH(INDIRECT("G"&ROW()),$X$1:$X$35,0))+1)&INDIRECT("L"&ROW()))))); The described full code setting, the second step, the function is =IF(INDIRECT("E"&ROW())=1,INDIRECT("M"&ROW())&"0000",IF(INDIRECT("E"&ROW())=2,INDIRECT("M"&ROW())&"000",IF(INDIRECT("E"&ROW())=3,INDIRECT("M"&ROW())&"00",IF(INDIRECT("E"&ROW())=4,INDIRECT("M"&ROW())&"0",INDIRECT("M"&ROW()))))); The described Chinese code setting, the function is =IF(INDIRECT("E"&ROW())=1,"省"&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=2,MID(INDIRECT("M"&ROW()),1,2),IF(INDIRECT("E"&ROW())=3,"县"&INDIRECT("L"&ROW()),IF(INDIRECT("E"&ROW())=4,MID(INDIRECT("M"&ROW()),1,1)&INDIRECT("L"&ROW()),MID(INDIRECT("M"&ROW()),3,1)&INDIRECT("L"&ROW())))))。 6. The address-encoded character set for information exchange according to claim 1, characterized in that: The address table for the locations mentioned is not a single data table, but rather an address table for each province. The setup steps are as follows: Step 1: Create a data table corresponding to the number of provinces; Step 2: Name the created data tables. The naming of the data tables should follow two rules. Rule 1: The name consists of two parts: a common part and a province distinction. That is, the name consists of part Aa. The A part is the same for all data tables, and the a part is used to distinguish the province. Rule 2: The a part corresponds to the record ID of the province. Step 3: Create fields for each data table. Each county contains four fields: location name, parent ID, location data, and exchange code. The location, parent ID, location data, and exchange code of all data tables consist of a common part and a county-level distinguishing part. That is, the field names of location, parent ID, location data, and exchange code of all data tables are represented as Bb, Cb, Db, and Eb, where B, C, D, and E are the common parts of location, parent ID, location data, and exchange code, respectively, and b is the county-level distinguishing part, specifically b is the county-level record ID. Step 4: Establish relationships. When designing the program, map the common parts of the data table names and the province distinction parts to the corresponding data tables, and then connect them to the corresponding fields based on the county distinction parts.

7. The address-encoded character set for information exchange according to claim 1, claim 4, or claim 6, characterized in that: To set up an index table, the steps are as follows: Step 1: Import the tree module data of the address table. The tree module data of the address table refers to the following data: tree module name, the provincial tree module name is the province module, the prefecture-level tree module name is the city module, the county-level administrative region tree module is divided into county module and town module, the township tree module is named according to the provincial administrative region, and the village-level tree module is named according to the county-level administrative region; Step 2: Divide the data from Step 1 into index modules, into 3 index modules: the first 3 levels of address data form one index module, the township level forms one index module, and the village level forms one index module, named Index Module Zero, Index Module One, and Index Module Two, respectively. Step 3: Add the exchange code for the index module: The exchange code for index module zero is province, city, county, or town; the exchange code for index module one is the abbreviation of the corresponding provincial-level administrative region; and the exchange code for index module two is the exchange code of the corresponding county-level administrative region. Step 4: Add the tree IDs for the index modules. The tree IDs for index module 0 are 0, 1, 2, and 3. The tree IDs for index module 1 are the record IDs for provincial-level administrative regions, and the tree IDs for index module 2 are the record IDs for county-level administrative regions. Step 5: Add the starting number. The starting number is the ID number of the first record in the tree module. Obtain the starting number in the following order; S-1. In the address table of the first 5 levels of districts, use the function =ROW()-1 to get the ID number of all data. Note that in Excel, the first row has a header, so it is =ROW()-1. If two header rows are added, it is =ROW()-2. S-2. The first three levels of the tree structure module directly locate the first record and mark it with color; The S-3. Township module uses a conditional formula. In the conditional formula, the formula =INDIRECT("A"&(ROW()-1))<>INDIRECT("A"&ROW()) is used. The condition is to fill with a certain color. The selected range is =$B$3642:$B$44991. In this way, the first township-level administrative region in each province will be filled with the color. S-4. The first data marker in the village module uses a conditional formula. The formula is =LEFT(INDIRECT("B"&(ROW()-1)),6)<>LEFT(INDIRECT("B"&ROW()),6), with the condition being to fill with a certain color. The selected range is =$B$44992:$B$664493. This will make the first village-level administrative region in each county the fill color. The starting number marker can be placed in a column or a series of numbers, but it's important to note that it must be placed in the same column or series; otherwise, there will be problems with later filtering. S-5: Directly use S-2 to S-4, use color filtering to obtain the sequence number, the filtered sequence number is the starting number, and save the filtered starting number result into the index table; Step 6: Design the index values. There are 16 index values ​​in total, ranging from 0 to 15, which are binary data from 0000 to 1111. 0 represents index module zero, 1 represents index module one, and 2 represents index module two.

8. The address-encoded character set for information exchange according to claim 1 or claim 4, characterized in that: The binary 0s and 1s of the graphic code are represented by different color blocks. These color blocks and auxiliary parts form a identifiable QR code, which is the graphic code. The generation of binary data for a graphic code involves three steps. The binary data consists of an index value, a tree ID, and a record ID. Step 1: Generate index values. The index values ​​are determined based on the zoning data level. For zoning level 1, 2, or 3, the index value is 0000; for zoning level 4, the index value is 0001; for zoning level 5, the index value is 0010; and for zoning level 6, the index value is determined according to the ID number range (0-65536), with an index value of 0011. The index value increases by 1 for every 65536 increments in the range, up to 1111 for the range 786433-851968. Step 2: Generate tree IDs. These are generated based on the tree module containing the administrative division data. For a province, the tree ID is 0000 0000 0000; for a city, it's 0000 0000 0001; for a county, it's 0000 0000 0010; for a town, it's 0000 0000 0011; and for a township, the tree ID is converted to binary data according to the corresponding provincial-level administrative region record ID. If the converted binary data is less than 12 bits, add 0s to make it full. For a village-level tree module, the tree ID is converted to binary data according to the corresponding county-level administrative region record ID. If the converted binary data is less than 12 bits, add 0s to make it full. Step 3: Generate record IDs. For levels 1 to 5, convert the record ID values ​​in the address table into binary data. If the converted binary data is less than 16 bits, add 0s to make it full. For level 6, obtain the binary data using the function =DEC2BIN(ROUNDDOWN(MOD(ROW()-1,65536) / 256,0),8)&DEC2BIN(MOD(ROW()-1,256),8).

9. The address-encoded character set for information exchange according to claim 1 or claim 4, characterized in that: The steps to obtain the ID of the address table using numeric codes, Chinese character codes, and graphic codes are as follows: The method to obtain the address table ID using numeric codes is as follows: convert the numeric codes to Chinese characters according to the correspondence between zone codes and Chinese character codes, and then convert them to the address table ID according to the Chinese character code conversion rules; The aforementioned zone code includes zone codes with uppercase letters; The steps to convert Chinese characters to IDs in the address table are as follows: Step 1: The number of Chinese characters is 3, indicating a level 6 classification. Proceed to the next step. Step 2: Find the record ID corresponding to the first character of the Chinese code in index module 2 of the index table; that is, the tree module corresponding to the first 5 levels of division. Step 3: Based on the results obtained in Step 2, obtain the starting number; Step 4: The record ID corresponding to the second character of the Chinese code is the record ID in the tree module corresponding to the first 5 levels of division; Step 5: Add the results of Step 3 and Step 4 to obtain the ID number of the address table of the first 5 levels of districts. This ID is the ID number of the 5th level district corresponding to this Chinese code. Step 6: Based on the record ID obtained in Step 2, find the corresponding province code to determine the data table name for the 6th level administrative division; Step 7: Determine the field names for the 6th level division based on the record ID obtained in Step 2; Step 8: Based on the results of Step 7, find the record ID corresponding to the ID number in Step 5 under the corresponding field name; Step 9: Retrieve all records with the same record ID as those in Step 8; Step 10: Obtain the ID number by matching the third digit of the Chinese character code with the exchange code; Step 11: In step 1, the number of Chinese characters is 2, which represents the first 5 levels of address. The first 5 levels of address are only applied to the address table of the first 5 levels of division. Proceed to the next step. Step 12: Determine the index value. If the first character of the Chinese code is a province, county, or town, or if the Chinese code is a Class A exchange code + uppercase letter, the index value is 0. If the Chinese code is a Class A exchange code + Class B exchange code, the index value is 1. If the Chinese code is a Class B exchange code + Class B exchange code, the index value is 2. Step 13: Determine the record ID. The Chinese code is Class A exchange code + uppercase letter. Directly look up the record ID in the index table; the code value of the second character in the first level, third level to fifth level division is the record ID. Step 14: For levels 1 to 3, directly find the corresponding starting number. For level 4 or 5, the code value of the first character is the corresponding tree ID. Then find the starting number corresponding to that tree ID. Step 15: Add the results of Step 13 and Step 14 to obtain the ID.