WKB(Well-Known Binary,几何对象二进制格式)
2026年05月13日 09:10
GISBox是一站式三维 GIS 数据编辑、转换、发布平台,支持 OSGB/GEOTIFF/RVT 等多种 GIS 格式编辑,转换为 3DTiles/Terrain 等并发布。
简介
WKB(Well-Known Binary)是开放地理空间联盟(OGC)定义的一种用于表示几何对象的二进制编码标准,它以紧凑的字节流形式存储点、线、多边形等空间要素,相较于文本格式WKT,具有更高的存储效率和更快的传输与解析速度,其结构通常由1字节的字节序标识(0x01为小端序)、4字节的几何类型码(如Point=1、LineString=2)和后续的坐标数据组成,坐标以IEEE 754双精度浮点数按顺序排列,广泛应用于PostGIS、MySQL等空间数据库中作为几何字段的底层存储格式。
文件结构
WKB(Well-Known Binary)的文件结构遵循OGC Simple Features规范,采用紧凑的二进制序列编码几何对象,其结构按字段分点描述如下:
- 字节序标识(1字节):首字节为无符号整数,0x00表示大端序(Big-Endian),0x01表示小端序(Little-Endian),决定后续所有多字节数据的解析顺序。
- 几何类型码(4字节):紧随字节序后的4字节无符号整数,标识几何对象类型。
- SRID标识(可选,4字节):若类型码高位包含0x20000000,则在类型码后紧跟一个4字节无符号整数,表示空间参考系统标识符(如EPSG:4326)。
- 长度字段(4字节,仅多元素结构):对于MultiPoint、MultiLineString、MultiPolygon和GeometryCollection,紧接SRID(或类型码)后为一个4字节整数,表示子元素个数。
- 空几何对象(EMPTY):仅通过类型码标识(如1表示Point),不包含任何坐标数据,也不包含长度字段或SRID,结构为:[字节序][类型码],共5字节。
优点
- 存储效率高:相比WKT文本格式,WKB减少40%–60%的存储冗余,使用IEEE 754双精度浮点数紧凑编码坐标,显著降低磁盘与内存占用。
- 传输与解析速度快:二进制格式无需字符解析,适合高频读写场景,是PostGIS、MySQL等空间数据库的默认存储格式。
- 跨平台兼容性强:标准化字节序(0x00/0x01)确保在不同操作系统与架构间无歧义解析,支持主流GIS工具链无缝集成。
- 支持复杂几何结构:完整覆盖点、线、面、多部件及几何集合,且通过高位标志(0x80000000、0x40000000)扩展支持三维(Z)与量测值(M)。
- 原生数据库支持:被主流空间数据库(如PostgreSQL/PostGIS、MySQL、Kingbase)直接支持,无需额外转换即可参与空间函数运算。
缺点
- 完全不可读:二进制字节流无法人工直接解读,调试需依赖专用工具(如ST_AsBinary()、hex()函数)或GIS软件可视化。
- 调试与排查困难:数据异常时(如坐标错乱、字节序错配)难以定位,需逐字节解析,增加开发与运维成本。
- 缺乏元数据嵌入:不包含坐标系名称、单位、投影参数等说明信息,SRID仅以整数标识(如4326),依赖外部元数据管理。
- 版本与扩展兼容性风险:三维/量测扩展依赖高位标志,不同系统对0xC0000001等扩展类型支持不一,迁移时易失败(如PostGIS → 达梦)。
- 互操作需显式转换:与WKT、GeoJSON等文本格式交互时,必须调用函数(如ST_GeomFromWKB()、ST_AsText()),增加SQL复杂度与性能开销。
应用场景
WKB(Well-Known Binary)广泛应用于空间数据库的底层存储与高效数据交换场景,作为PostGIS、MySQL、Kingbase等系统的默认几何编码格式,它在地理信息系统(GIS)中实现点、线、面等空间要素的快速序列化与反序列化,支撑空间索引构建、邻近查询与拓扑分析等高频操作,同时在分布式地理数据传输、地图服务瓦片预处理及移动GIS应用中凭借其紧凑二进制结构显著降低网络带宽与内存开销,成为空间数据互操作中连接数据库、GIS引擎与前端渲染模块的关键桥梁。
示例图
1. 以二位点Point(1 1)为例,其WKB表达。

文件打开方式
1. 定义几何类型和WKB转换器。

相关 GIS 文件
MID
IMDF
STYLX
WKT(Well-Known Text,几何对象文本表达格式)
参考资料
- https://zh.filedesc.com/file/wkb
- https://www.cnblogs.com/qdhotel/p/4887032.html
- https://juejin.cn/post/7381375087206432779