大家好,欢迎来到IT知识分享网。
基本比例尺标准分幅编号流程
一、地形图分幅编号简介
- 首先,我国基本比例尺地形图有新旧两种分幅编号,且均是在国际规定的1:100万地形图基础上,按规定的经差和纬差采用逐次加密划分方法划分图幅,使相邻比例尺地图的经纬差、行列数和图幅数成简单的倍数。以新版图幅编号为例,我国地形图含有8种基本比例尺,分别是:1:5000、1:1万、1:2.5万、1:5万、1:10万、1:25万、1:50万、1:100万。在旧标准标号中则没有1:25w,而是1:20w。
- 1:100万地图的分幅编号:每幅1:100万地图纬差4°经差6°。从地球赤道起,向两极每纬度4°为一行,依次以字母A,B,C,…,V表示;从西经180°起,向东每6°为一列,依次以数字l,2,3,…,60表示。每幅图的编号由该图幅所在的行号(字符码)和列号(数字码)组成,列号在前,行号在后,二者之间划一短线。如北京在1:100万图上处于第J列第50行,故编号为J-50,也可简写为J50。
- 1:50万-1:5000地图的编号以1:100万地图编号为基础,按行列编号方法,即将1:100万地形图按所含各比例尺地形图的经差和纬差划分成若干行和列,横行从上到下、纵列从左到右按顺序分别用阿拉伯数字(数字码)编号。
- 具体规定与解释参考以下博文,本文不做详述,只阐述利用Arcgis制作8种基本比例尺地形分幅编号的方法。
(1)地图分幅概述
(2)地图的分幅与编号简单介绍
(3)1:500,1:50000?常见的地形图比例尺竟然这么有内涵
(4)地图标准分幅与编号计算(一)旧图幅号
(5)地图标准分幅与编号计算(二)新图幅号
(6)地图标准分幅与编号计算-新图幅号旧图幅号对比
(7)使用ArcMap做一个1:5000标准分幅图并编号
二、基本比例尺分幅及编号
(一)1:100W比例尺分幅编号
- 1、模板数据
模板数据来源于全国地理信息资源目录服务系统 1:100w全国基础地理数据库分幅数据提取得到的边界,该网站公布了1:100w地理数据库,按标准图幅分为77幅,只能单独下载。拼接该数据的BOUA图层后新建一字段“country”,令其全为China,利用该字段融合所有离散面,结果如下图:
- 2、制作流程
首先利用渔网工具制作中国区域1:100w基本比例尺图幅,中国区域范围:维度0° ~ 56°、经度72° ~ 138,每一幅1:100w分幅的维差4°,经差6°。如下图,像元宽度为每幅图的经差,故为6,计算得到列数为11;像元高度为每幅图的维差,故为4,计算得到行数为14;点击取消标注点,选择输出几何类型为面,输出要素类命名为A,即对应1:100w比例尺编码。故填写参数如下:
如下图,打开生成的属性表,新建双精度字段:lat_center、lon_center,利用“计算几何”得到每个分幅中心点经纬度。
但发现出现偏差,具体原因鄙人不太清楚,故只能选择以上述模板数据作为模板范围生成1:100w图幅,查看其属性表后发现其结果正确无误。
接下来通过“空间连接”工具将“country”字段连接”A图层”(为了后续筛选中国区域分幅,当然也可以直接在下图取消“保留所有目标要素”),具体参数如下图:
进行下一步:添加一文本类型、长度为10的字段,命名为“图幅编号A”,然后利用字段计算器根据分幅图的质心经纬度计算得到各分幅的图幅编号,计算公式、结果与python脚本函数如下:
1:100万图幅的行号和列号计算公式 1:100行号 = [纬度/4] +1 []表示取整,1为A,2为B… 1:100列号 = [经度/6]+31 []表示向下取整
""" 执行:Atfbh( !lat_center! , !lon_center! ) """ def Atfbh(lat_center,lon_center): car = "ABCDEFGHIJKLMNOPQRSTUV" num = int(math.floor( int(lat_center) / 4 )+1) oid_lat = car[num-1] oid_lon = int( math.floor( int(lon_center) / 6 )+31) tfbh = oid_lat + str(oid_lon) return tfbh
以“图幅编号A”字段标注图层,结果如下:
(二)1:50W比例尺分幅编号
- 1、分幅过程
创建渔网,1:50w分幅维差为2、经差为3,行列数相比1:100w翻倍,输出要素类命名为B,即对应1:50w比例尺编码,具体参数如下: - 2、编码过程
进行“空间连接”操作,谈一下这个操作的意义:比如对于J50分幅,将其图幅编号赋予对应的4个1:50w分幅,同时将质心经纬度、“country”字段保留,后续不用新建直接使用,填写参数如下图(注意匹配选项):
如上图,打开修改图层名称后的“B”图层的属性表,删除和关闭不需要的字段,更新质心经纬度,添加一文本类型、长度为10的字段,命名为“图幅编号B”,然后利用字段计算器根据分幅图的质心经纬度计算得到各分幅的图幅编号,计算公式、结果与python脚本函数如下:
非1:100万图幅的行号和列号计算公式 行号 = 4º/纬差 – [(纬度/4º)/纬差] []为取整,()为取余 列号 = [(经度/4º)/经差]+1 []为取整,()为取余 1:50万图幅,经差为:3°,纬差为:2°
""" 输出为1:100万比例尺图幅编,非1:100w各分幅质心经纬度 还有比例尺级别,在此为了方便,用代替BCDEFGH 执行:tfbh( !图幅编号A! , !lat_center! , !lon_center! ,2) """ from fractions import Fraction def tfbh(Atfbh,lat_center,lon_center,level): list_level = "ABCDEFGH" list_lat = [4 , 2 , 1 ,Fraction(1,3) ,Fraction(1,6) , Fraction(1,12) , Fraction(1,24) ,Fraction(1,48) ] list_lon = [6 , 3 , 1.5 ,0.5 ,0.25 , 0.125 ,0.0625 ,0.03125] lat_level = list_lat[level-1] lon_level = list_lon[level-1] level_letter = list_level[level-1] lat_center = float(lat_center) lon_center = float(lon_center) num_lat =str(1000 + int(4 / lat_level - math.floor(( lat_center%4)/ lat_level ))) num_lon = str(1000 + int(math.floor((lon_center%6)/ lon_level) + 1)) tfbh = Atfbh + level_letter + num_lat[-3:] + num_lon[-3:] return tfbh
(三)其余基本比例尺分幅编号
按照上表经纬差进行其余比例尺分幅出图,下方展示其中一些过程数据
(四)分幅编号结果展示
三、数据整理与小结
(一)数据整理
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/132915.html