地形图新旧图幅编号自动检索算法及其可视化实现.pdf
文章编号04942091120050220061203中图分类号P283. 7 文献标识码B 地形图新旧图幅编号自动检索算法及其可视化实现 田振坤1,刘素红1,傅莺莺2,王培娟1 1. 北京师范大学 地理学与遥感科学学院 遥感与地理信息系统研究中心,北京100875 ; 2.北京师范大学 数学系,北京100875 Algorithm and Visual Realization of Auto2retrieving the Newand Old Sheet Numbers of Topographic Maps TIAN Zhen2kun ,LIU Su2hong ,FU Ying2ying ,WANG Pei2juan 摘要为检索地形图上指定区域各种比例尺下的新旧图幅编号提出一种详细的算法。以1∶100万比例尺为基准分情形完成对指 定选区覆盖的、 指定比例尺下的新旧图幅编号的遍历,并借助VB和MapObjects将该算法可视化实现。 关键词地形图图幅编号;可视化;空间查询;MapObjects 收稿日期 2004204215 基金项目国家重点基础研究发展规划项目G20000779、 国家863计划项目2001AA135030 作者简介田振坤19792 , 男,河南商丘人,硕士生,主要从事遥感与地理信息系统方面的研究与开发。 一、 引 言 地形图是各种建设工程和科学研究不可缺少的 基础资料。我国使用的地形图中、 小比例尺有8种 分别是1∶5 000、1∶1万、1∶2. 5万、1∶5万、1∶10万、 1∶25万、1∶50万和1∶100万 , 对应每种比例尺的图 幅编号又分两种方式一种是按1991年以前地形图 分幅编号标准产生的,为旧图幅编号;另一种为 1991年以后按新地形图分幅标准产生的,为新图幅 编号[1]。这就使得确定某一比例尺下、 某一地理位 置所在图幅的编号变得费时且易出错,进而给通过 图幅编号查找、 利用地形图带来诸多不便。当前关 于地形图图幅编号的研究已给出了各比例尺下新旧 编号的转换公式,也提出了新旧编号查询的解决方 案[2~4],为熟悉地图的专业人员检索地图带来了便 利。以此为基础,本文就检索指定区域的新旧图幅 编号提出了一种详细的算法,并用VB和地图应用 组件MapObjects将其可视化实现[5]。 二、 图幅编号规则介绍 1. 1∶100万图幅编号及各比例尺图幅间的 数量关系 新旧图幅编号都是在1∶100万地形图的分幅基 础上进行二次或多次编号的。1∶100万地形图从赤 道往北、 中央经线往东按纬差4 、 经差6 分幅;往北 用英文字母表示,编号依次为A , B , C等等;往东用 数字表示,编号从31递增至60。如北京所在的经 度范围是东经114 至120,纬度范围是北纬36 至 40,所以北京所在的图幅编号为J50。求某地理位 置1∶100万图幅编号的公式为 H INTφ/4 1 L INTλ/6 31 1 其中H , L分别是1∶100万分幅的行、 列号,φ,λ分 别是该地理位置的经、 纬度,INT为取整函数。 各比例尺图幅间的数量关系见表1。 表1 各比例尺数量关系 比例尺经差纬差 在1∶100万比例尺分幅上 重分幅数目 1∶100万641 1∶50万324 1∶25万130′116 1∶10万30′20′144 1∶5万15′10′576 1∶2. 5万7′30″5′2 304 1∶1万3′45″2′30″9 216 1∶5 0001′52. 5″1′15″36 864 2.旧图幅编号规则 旧的编号方案中,1∶50万、1∶25万和1∶10万地 形图分幅以1∶100万地形图为基图,以其编号为前 缀,按照表1所示的经纬差分别将基图分幅均等地划 分为4 ,16和144块,再逐行、 逐列地对这些小的分幅 进行编号1∶50万的4块依次编号甲、 乙、 丙、 丁;1∶25 万的16块编号为1至16;1∶10万的144块编号为1 至144。1∶5万和1∶1万地形图分幅以1∶10万地形图为 基图,以其编号为前缀,按照表1所示的经纬差分别 162005年 第2期 测 绘 通 报 将基图分幅均等地划分为4块和64块,再逐行、 逐列 地对这些小的分幅进行编号1∶5万的4块依次编号 甲、 乙、 丙、 丁;1∶1万的64块编号为1至64。1∶2. 5 万地形图分幅以1∶5万地形图为基图,以其编号为前 缀,按照表1所示的经纬差将基图分幅均等地划分为 4块,再逐行、 逐列地对这些小的分幅进行编号依次 为1至4。1∶5 000地形图分幅以1∶1万地形图为基 图,以其编号为前缀,按照表1所示的经纬差将基图 分幅均等地划分为4块,再逐行、 逐列地对这些小的 分幅进行编号依次编号甲、 乙、 丙、 丁。 3.新图幅编号规则 1991年国家颁布实施的国家基本比例尺地形 图分幅和编号国家标准规定沿用各比例尺地形图 原分幅的经纬差,均以1∶100万地形图为基础图,按 相应的经纬差逐级划分图幅,从左上角开始,逐行逐 列地进行编号。新图幅号由10位组成第一位是基 础图行号的字符码;第二、 三位是基础图列号的数字 码;第四位是比例尺的代码,分别以B , C , D , E , F, G, H表示1∶50万,1∶25万,1∶10万,1∶5万,1∶2. 5 万和1∶5 000各种比例尺;第五至第七位为编号行 号的数字码,不足3位的用0补足。第八至第十位 为编号列号的数字码,不足3位的用0补足。 如北京某点在1∶5万比例尺下的新图幅号为 J50E001013 ,旧图幅号为J5027甲。 在一个1∶100万的图幅之内,指定比例尺下某点 编号行号和列号的计算公式为 HΔ φ/Δ φiINTMODφ,Δ φ / Δ φi L INTMODλ,Δ λ / Δ λi 1 2 其中, H为行号, L为列号;Δ φ和Δ λ是1∶100万图 幅的经纬差这里取Δ φ 6,Δ λ 4 ; Δ φi和Δ λi是 所求比例尺下的经差和纬差见表1 , 单位为十进 制的度;Φ和λ是该点的经度和纬度;INT是取整 函数,MOD是求余函数。 三、 以1∶100万为基图的比例尺的 图幅编号检索算法 选定的矩形区域由其左上角和右下角的经纬度 确定。计算1∶100万比例尺图幅编号的算法较简 单,只要使用公式1计算出区域所覆盖的所有 1∶100万分幅即可,若有多个则逐行逐列地输出。计 算其他比例尺下的图幅编号时情况相对复杂。下面 以计算1∶25万图幅编号为例,通过判断区域左上角 和右下角在1∶100万分幅上的落点,对选区进行定 位并分情形做如下讨论图1~图4中粗实线代表 1∶100万分幅,细虚线代表在此基础上1∶25万的重分 幅,阴影部分代表选定区域; A和B代表选定区域 左上角和右下角两点,它们在所处的1∶100万分幅 内的行列号记作HA, LA和HB, LB。 图1 所选区域落在一个1∶100万的图幅内 图2 所选区域落在一行1∶100万的图幅内 图3 所选区域落在一列1∶100万的图幅内 图4 所选区域落在不同行列的1∶100万图幅内 情形1 所选区域落在一个1∶100万的图幅内 如图1所示,此时所选区域全部落在一个1∶100 万的图幅中,为得到选区覆盖的所有虚线分幅编号, 只要自A点起以1∶25万比例尺经纬差为步长遍历 到B点即可。 情形2 所选区域落在一行或一列1∶100万 的图幅内 如图2和图3所示,以选区落在一列1∶100万 26 测 绘 通 报 2005年 第2期 的图幅为例见图3,行的情形与此类似 , 为完成对 选区覆盖的虚线分幅的遍历,根据它在1∶100万分 幅下的分割方式,将其划分成不同类型的小块类型 编号如图所示的1,2,3 , 分别指定了遍历的起点和 终点第1类,开始的行号是HA,结束的行号是4; 开始的列号是LA,结束的列号是LB。第2类,开始 的行号是1,结束的行号是4;开始的列号是LA,结束 的列号是LB。第3种情况下,开始的行号是1,结束 的行号是HB;开始的列号是LA,结束的列号是LB。 情形3 所选区域落在不同行列的1∶100万图 幅内 如图4所示,仿照处理情形2的方法,我们将选 区划分为9种类型的小块、 进行分块遍历。9种分 块的遍历起点和终点详见表2。 表2 分类遍历表 分块类别123456789 开始行号HAHAHA111111 结束行号4444HBHBHB44 开始列号LA11111LALA1 结束列号44LBLBLB4444 仿照上面的讨论,如果指定的比例尺是以1∶100 万为基图进行分幅,且重分幅数是NN块,那么 只要将上面的4改为N便可得到指定比例尺的图 幅编号检索算法。 四、 其他比例尺图幅编号的检索算法 对于其他不以1∶100万比例尺为基图进行编号 的比例尺,其图幅编号的检索亦可在上述算法之上 完成。以1∶5万旧图幅编号为例它以旧1∶10万地 形图为基图 , 其算法为设定一个活动点,让它以横 向15′ 为步长,纵向10′ 为步长,按照图1至4讨论的 情形,逐行、 逐列进行遍历,得到所有指定区域覆盖 的1∶5旧图幅号。具体步骤是首先计算出当前点的 1∶10万的旧图幅编号,以其为前缀,然后确定当前 点在这个1∶10万的图幅内属于甲、 乙、 丙、 丁中的哪 一幅。具体规则是若当前点在1∶100万图幅内的 行列号都是奇数,则编号为甲;若行号为奇数,列数 为偶数,则编号为乙;若行号为偶数,列号为奇数,则 编号为丙;若行列号都是偶数,则编号为丁。 五、 算法的实现 上面介绍的新旧图幅编号检索算法借助VB和 MapObjects得到了实现。MapObjects是GIS软件 供应商ESRI公司推出的基于COM技术的地图应 用组件,在标准的Windows编程环境下能与其他图 形、 多媒体、 数据库开发技术组成完全独立的综合性 应用软件,是基于前端应用业务的良好的地图开发 环境。MapObjects中的地图控件Map control可以 放置到各通用开发环境之中,通过操作属性窗或者 编程可直接操作图形。本应用程序便是使用VB平 台对其进行二次开发的范例采用空间查询的方法, 用户用鼠标在图形界面上选取一个矩形的地理区 域、 选取所需的比例尺,即可快速得到所选区域覆盖 的、 指定比例尺之下的全部新、 旧图幅编号。用户也 可以通过手工输入精确的经纬度来获得指定区域的 新旧图幅编号,还可以将检索的结果保存成文件,以 便按号索图。应用程序的操作界面如图5。 图5 可视化的操作界面 六、 结束语 本算法及程序实现了指定区域各种比例尺下新 旧图幅编号的检索,并首次将其可视化呈现,使用起 来方便且直观。本应用程序已被北京师范大学图书 馆地理学与遥感科学学院资料室用于国家基本比例 尺地形图的检索,大大减少了管理人员的工作量,给 广大师生检索地形图进行科研提供了极大的方便。 实践表明这个程序有较强的实用性,相信随着应用 的深入和需求的增加,它将会不断得到提高和完善。 参考文献 [1] G B/ T 1398921992 ,国家基本比例尺地形图分幅与编号 [S]. [2] 马永立.国家基本比例尺地形图分幅编号解析法的优 化[J ].地图,1998 ,3 225. [3] 刘宏林.国家基本比例尺地形图新旧图幅编号变换公 式及其应用[J ].测绘通报,1998 ,8 36237. [4] 于付国.地形图图幅编号的自动查询与检索[J ].测绘 通报,2000 ,11 32233. [5] 曹 青,邱李华,郭志强. Visual Basic程序设计教程 [M].北京机械工业出版社,2002. 362005年 第2期 测 绘 通 报