当前位置: 首页 > news >正文

常见的地理空间架构及其编码

🔹 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)
    • 优势:简单直观、适合全球格网统计。

    • 不足:高纬度格网面积差异大。


🔹 3. 地籍框架

  • 原理:以宗地(每一块土地权属单元)为划分单元。

  • 编码方式:地籍号(宗地号),通常由“区号 + 地块号 + 子号”组成。

    • 例:610116001002-3 → 陕西省西安市长安区第 1 街道第 2 宗地第 3 子地块。
  • 应用:土地管理、产权登记。

  • 特点:法律意义强,但不适合全国性空间索引。


🔹 4. 地理格网编码(经纬网格编码)

  • 原理:将经纬度小数转换为整数格网 ID。

  • 方法:例如 WGS84 下,将经纬度放大 10n10^n10n 倍取整,nnn 表示精度。

    • 例:坐标 (34.2567°N, 108.9543°E),若保留 3 位 → (lat=34257, lon=108954)
  • 应用:气象格点数据、全球统计网格(如 1km × 1km 人口格网)。


🔹 5. 四叉树编码

  • 原理:把二维空间递归划分为 4 个象限(四叉树),每次细分给每个子格赋一个编码(0,1,2,3)。

  • 过程

    1. 初始区域 = 1 个大方块;
    2. 第一次划分 → 左下=0,右下=1,左上=2,右上=3;
    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 级缩放下落在象限 021quadkey=021

  • 特点:适合快速地图瓦片索引,广泛用于 WebGIS(Google Maps、Bing Maps)。


总结:

  • 行政区划编码 → 层级化管理(人文边界)。
  • 格网编码 → 全球统计、遥感。
  • 地籍编码 → 土地管理。
  • 地理格网/四叉树/GeoHash/Quadkey → 空间索引、WebGIS。
http://www.lryc.cn/news/622607.html

相关文章:

  • 【科研绘图系列】R语言绘制雷达图
  • 编写和运行 Playbook
  • Hana IDE 安装吧报错
  • Java内功修炼(1)——时光机中的并发革命:从单任务到Java多线程
  • PAT 1067 Sort with Swap(0, i)
  • AI的下一个竞争焦点——世界模型
  • 图像相似度算法汇总及Python实现
  • webrtc弱网-VideoSendStreamImpl类源码分析与算法原理
  • CodeBuddy IDE深度体验:AI驱动的全栈开发新时代
  • 二分查找。。
  • 抽象代数 · 代数结构 | 群、环、域、向量空间
  • Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
  • MixOne:Electron Remote模块的现代化继任者
  • 安卓11 12系统修改定制化_____列举与安卓 9、10 系统在定制化方面的差异与权限不同
  • MQ积压如何处理
  • 安全审计-iptales防火墙设置
  • HTTP协议-1-认识各个HTTP协议版本的主要特点
  • bilibili视频总结
  • 在openEuler24.03 LTS上高效部署Apache2服务的完整指南
  • 拒绝造轮子(C#篇)使用SqlSugar实现数据库的访问
  • 【QT】常⽤控件详解(八) Qt窗⼝ 菜单栏 工具栏 状态栏 浮动窗口 五种内置对话框
  • c# WebAssembly,在网页上能运行多线程,异步,锁,原子加,减等代码吗
  • C# 反射和特性(关于应用特性的更多内容)
  • 【C#补全计划】Lambda表达式
  • C++面试题及详细答案100道( 31-40 )
  • HackMyVM-Uvalde
  • AI生成视频开源模型技术解析
  • uv - 基本使用
  • JavaScript学习第十章-第三部分(dom)
  • 【P40 6-3】OpenCV Python——图像融合(两张相同属性的图片按比例叠加),addWeighted()