常见的地理空间架构及其编码
🔹 1. 行政区划框架
-
原理:以国家规定的行政层级(省、市、县、乡、村)为地理空间划分单元。
-
编码方式:采用国家标准的 行政区划代码,如 GB/T 2260。
- 例:陕西省西安市长安区 →
610116
。 - 前两位
61
= 陕西省,中间两位01
= 西安市,后两位16
= 长安区。
- 例:陕西省西安市长安区 →
-
应用:人口普查、统计制图、政策分析。
-
特点:层级分明,但不规则,不适合直接做空间索引。
🔹 2. 格网框架
-
原理:将地球表面划分为规则的网格(矩形、六边形等),便于空间索引和数据分块。
-
编码方式:
-
经纬网格编码:把经度、纬度按一定分辨率划分成整数格,如 1°×1° 格网,用
(lat_index, lon_index)
表示。- 例:西安 (34.3°N, 108.9°E),若以 1° 分辨率 →
(lat=34, lon=108)
。
- 例:西安 (34.3°N, 108.9°E),若以 1° 分辨率 →
-
优势:简单直观、适合全球格网统计。
-
不足:高纬度格网面积差异大。
-
🔹 3. 地籍框架
-
原理:以宗地(每一块土地权属单元)为划分单元。
-
编码方式:地籍号(宗地号),通常由“区号 + 地块号 + 子号”组成。
- 例:
610116001002-3
→ 陕西省西安市长安区第 1 街道第 2 宗地第 3 子地块。
- 例:
-
应用:土地管理、产权登记。
-
特点:法律意义强,但不适合全国性空间索引。
🔹 4. 地理格网编码(经纬网格编码)
-
原理:将经纬度小数转换为整数格网 ID。
-
方法:例如 WGS84 下,将经纬度放大 10n10^n10n 倍取整,nnn 表示精度。
- 例:坐标 (34.2567°N, 108.9543°E),若保留 3 位 →
(lat=34257, lon=108954)
。
- 例:坐标 (34.2567°N, 108.9543°E),若保留 3 位 →
-
应用:气象格点数据、全球统计网格(如 1km × 1km 人口格网)。
🔹 5. 四叉树编码
-
原理:把二维空间递归划分为 4 个象限(四叉树),每次细分给每个子格赋一个编码(0,1,2,3)。
-
过程:
- 初始区域 = 1 个大方块;
- 第一次划分 → 左下=0,右下=1,左上=2,右上=3;
- 递归下去,编码就是路径。
-
例:编码
203
表示 → 第 1 层在象限 2 → 第 2 层在象限 0 → 第 3 层在象限 3。 -
应用:空间数据库(如 Oracle Spatial)、影像金字塔。
🔹 6. GeoHash
-
原理:一种 基于二进制交错的经纬度编码方法。
- 经纬度逐次二分(类似二分查找),生成二进制串;
- 经度和纬度的二进制交错,得到一个整体二进制码,再转为 Base32 字符串。
-
例:西安 (34.2567, 108.9543) →
wm4k3b7
。 -
特点:前缀相同的 GeoHash 表示空间上接近的区域。
-
应用:搜索附近地点(LBS)、分布式数据库(Elasticsearch)。
🔹 7. Quadkey(微软 Bing Maps, Google 瓦片地图常用编码)
-
原理:地图瓦片(Tile)采用 金字塔分层 + 四叉树编码。
- 每一级地图分辨率增加一倍,把世界分成 2n×2n2^n \times 2^n2n×2n 瓦片。
- 每个瓦片由一个
quadkey
表示,即一个数字字符串(0~3)。
-
例:某点在第 3 级缩放下落在象限
021
→quadkey=021
。 -
特点:适合快速地图瓦片索引,广泛用于 WebGIS(Google Maps、Bing Maps)。
总结:
- 行政区划编码 → 层级化管理(人文边界)。
- 格网编码 → 全球统计、遥感。
- 地籍编码 → 土地管理。
- 地理格网/四叉树/GeoHash/Quadkey → 空间索引、WebGIS。