分享
Scan me 分享到微信

李博士谈网格之地理网格的编码

地理网格编码为大到整个地球、小到厘米级的区域都赋予了全球唯一的地理标识。

  作者简介:李滨,地理空间信息学者,北京大学GIS博士,曾任职于NTT DATA、Leica 和Trimble 公司。主要研究兴趣包括空间信息三维建模、环境遥感、全球空天信息剖分网格理论与应用等。

  编码是用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。地理网格编码是将地理网格所表征的空间位置信息从一种形式或格式转换为另一种形式的过程。地理网格编码为大到整个地球、小到厘米级的区域都赋予了全球唯一的地理标识。通过编码,可使计算机识别地理网格所表征的地理空间的各种区位要素并进一步实现基于编码的高效计算。

  地理网格编码的作用

  地理网格的编码的作用主要有两个,一个是将地理网格的理论符号化,形成日常公众生活中能够方便使用的形式。地理网格的理论需要通过编码的形式进行直观的表达,便于公众记忆、识别、记录和应用。另一个作用是为了建立适合计算机表示和处理的地理网格数字空间,通过地理网格编码可以实现空间分析的编码化高效计算。基于网格编码的编码代数是计算机编程实现算法的基础。地理网格的编码代数运算包括了基本运算(层级运算、前缀运算、后缀运算)、编码转换(整形编码、经纬度坐标、二进制编码)、四则运算(编码加法、编码减法、编码差值、编码乘法、编码除法)、空间运算(判断地理含义、四领域运算、八领域运算、子编码运算、父编码运算、祖先编码运算、栅格距离运算)、集合运算(编码集的包含、求交、求并、求差、编码集格式化、编码集面积)等。尤其是根据计算机的运算的基本原理,发展基于二进制位运算机制的地理网格编码代数计算方法,可实现空天信息组织、存储、传输、分发、服务等应用的高效“编码化操作”。

  常见的地理网格编码方法

  地理网格如何通过代数方式实现数字化的编码以便于后期的计算是全球地理网格研究的核心问题之一。其研究内容包括椭球或圆球空间参考系下的地理格网的系统构建、模型表达、代数编码。常见的地理网格的编码方法主要有三类:数字码、字母码和字母数字混合码。数字码是仅用0-9这十个数字进行编码,比如邮政编码、电话区号、中国的行政区划代码等;字母码是用A-Z这二十六个英文字母进行编码,单纯用字母进行网格编码的比较少见;通常使用比较多的是字母和数字组合搭配使用的字母数字混合码,如美国的USNG,Google的Open Location Code,世界地理参考系统GeoRef,中国的全球导航网格码GNGC等。

  地理网格编码的考虑因素

  在对地理网格进行编码的过程中,既要重视编码的可读性、简洁性,也要考虑网格编码在空间拓扑、空间语义、空间关系计算上可能的优势。一般来说,地理网格在编码的过程中要考虑以下若干方面的因素:

  1).唯一性

  对每一个地球上的区域能够赋予唯一的编码,不能出现空白区域或重复区域;

  2).易读性

  通过编码能够直观的获得所在区域的基础地理位置、范围等信息;

  3).简洁性

  能够用尽可能短的编码包含尽可能多的重要信息,编码长度要适中,可参考USNG、GNGC的编码长度;

  4).扩展性

  除了满足常见的导航、定位等应用之外,编码要考虑便于扩展到其他类型的空间对象编码,例如:不动产编码、户籍编码、商铺编码等等。

  5).继承性

  地理网格编码要与现有的测绘、国土、电信、海洋、气象、救灾等现有的标准能够具有继承性和兼容性,这样易于为使用者接受;

  6).适用性

  因为地理网格编码是在很大程度上是面向导航等日常公众应用,因此,考虑公众的日常需求,编码所表达的空间尺度要具有适用性,一般在米级是符合日常的地理位置服务需求;对于专业的行业应用,可以适当的延长编码长度和提高编码的空间分辨率,但也要考虑行业应用的适用性。

  7).码元的可用性

  从编码的三种常见的形式即数字码(0-9)、字母码(A-Z)和字母数字混合码(0-9、A-Z、a-z)来看,数字码易读,但是位数有限。字母码读起来稍困难,但表达孔径较大,码元可用较多。因此在实际应用中一般需要综合考虑、相互结合。

  地理网格编码的应用

  地理网格可以承载各种空间信息,因此成为导航定位、城市管理、灾害救援、商业分析、物流管理等的一种参考体系,地理网格编码也广泛应用到上述领域。在导航应用方面,以美国为例,GNSS接收机在输出经纬度坐标点的同时,还输出US Navigation Grid网格码,用于导航定位位置标识和应用,二者相互补充,各有应用侧重。2015年4月底,谷歌公司于发布了开放的位置代码(Open Location Code,OLC)。该地理网格编码可简短、准确地表示地理位置。在日常生活中,很多地点由于缺乏地图或地图标注不够细致,难以通过常规地址检索系统找到或定位。而通过经纬度虽然可以精确地表示地球上的任何区域和任何地点,但经纬度的表达方法非常复杂,用户友好性不够。开放的位置代码正是朝着解决这一问题而诞生。OLC通过对经纬度进行转换和简化进行应用。OLC的另一种使用方式是与传统地址进行混搭,这样一些地址的描述也可变得简短简单。因为通常情况下,人们使用地址的时候很少用到国家级的编码,很多时候用到的是在省级和城市级内的编码,因此Google也提出了一种简化的地址表达方法,比如Nairobi Youth Sports Organization and Information Centre,可以使用"MQPX9G Nairobi, Kenya"。如果是在Nairobi市内,就可直接使用"MQPX9G"来发现准确的位置。

  国内的一些图商如百度、高德也采用基本的地图网格数据集的形式,以数据集、层、行目录结构来存储地图网格文件,在请求地图网格服务时,采用网格行列号和缩放级别进行编码,并确定网格区域。这种行列网格编码有利于优化网络地图检索与栅格显示的性能。此外像一些导航软件企业如凯立德使用了自己的K码,这是以文本为基础对空间地理坐标赋予一定的编码规则而得到的编码。其优点是可以让用户便捷的对空间位置(如驾驶人员或图上选取的点)用语言或短消息、链接等方式和其他用户完成位置信息的分享、交流和传输。很多时候使用者是无法准确的知道自己所在的位置或语言描述存在歧义性。这时传送一个与语言无关的K码就很方便。而另一端的用户在接受到K码后可以在系统中直接解码从而获取位置信息。

  总之,地理网格编码作为地理网格的表现形式和空间位置信息的表达方式,已经逐步深入到了我们的日常生活和各个行业的专业应用之中,并为信息共享问题提供了新的技术解决途径。

参与评论

【登录后才能评论哦!点击

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回复{{item.replynum}}
    {{child.username}} 回复 {{child.to_username}}:{{child.content}}

更多精选文章推荐

泰伯APP
感受不一样的阅读体验
立即打开