使用ArcMap做一个1:5000标准分幅图并编号

实现这个project,十进制度、渔网工具、Excel if/Text函数、挂接Excel表、空间连接、投影这些知识是必须的。看懂本篇博文也就意味着大概掌握了以上知识。

坐标数据设置与编号标准依据《国家基本比例尺地形图分幅和编号》GB/T 13989-2012。

有人问起,网络未寻得现成方法,自行根据GB/T 13989-2012试制,欢迎指正各种错误。

一、数据确定

区域范围:目的是做一个覆盖海南岛的1:5000比例尺标准分幅图。根据1:1000000地形图编号标准,海南岛主体所在图幅的编号应该是E49,其维度范围为16°N-20°N,其经度范围为108°E-114°E。

比例尺代码:1:5000比例尺代码为H

经差:1′52.5″,即1.875′,亦即0.03125°

纬差:1′15″,即1.25′,亦即0.02083333……°

划分行列:192行*192列

二、渔网工具绘制分幅网格

1.打开渔网工具,其位置在ArcToolbox\数据管理工具(data management tools)\要素类(feature class )\创建渔网(create fishnet)

2.设置参数

①设置输出要素类的输出路径、名称;

②设置渔网的初始坐标(采用十进制度,下同),使用左下角坐标108,16;

③设置y轴坐标,这是一个容易迷惑人的参数,它的作用是指引一个渔网从初始坐标开始行进创建的方向,这里设置为108,20,x值不变y值正方向增加,那么创建渔网时行列均向正方向增加;

④网格宽、网格高,宽是经差,高是纬差;

⑤行数、列数,均为192;

⑥创建点标记,标记每一个网格的中心点(生成一个点层,其属性包含点的xy坐标信息);

⑦几何要素的类型,这里用面polygon;

⑧-1环境environment参数设置,下续→

⑧-2 输出坐标系设置为“使用下述坐标系(as specified below)”,坐标系统选大地2000,注意是地理坐标系!

3.创建完渔网生成一个面层与一个点层,面要素类的左上角坐标应该是108,20。

三、Excel编号

1.编号方式在上图中给出了示例

2.导出点label要素的属性表为Excel(97-03.xls格式)进行编号,导出前先增加一个长整型(long integer)字段ID,将FID的值计算过来,以便挂接回表格。

ps:FID是Object类型,Excel表回挂市不能作为连接标准字段。

3.Excel编行、列号

①根据上面的示例以及GB标准,可以知道x方向编号应为升序列,y方向编号应为降序列;

②将x所在列升序排序,新添加一列进行编号,函数式如下图,请注意第一行的单元格要空着,具体自行理解;然后将生成的序号使用Text函数嵌套一下,使之为3位;

③具体嵌套起来的样子如下图,由于太简单了,不多啰嗦,操作完后选中整列,复制—黏贴值,x序值命名为xOrder,y序值命名为yOrder;

四、挂接Excel

1.挂接回Excel数据到label,使用图层右键连接与关联(joins and relates)\连接(join)或者属性表选项下的同名功能;

依据是导出前创建的ID字段,挂接表是Excel的对应表,连接依据是Excel表的ID列

2.label点要素类属性表新建xOrder与yOrder字段,分别计算过挂接Excel表的对应字段;

五、组合图幅编号

编号应为“E49H”+行+列,即"E49H"+ [yOrder]+ [xOrder]

六、空间连接

通过空间连接将点层数据匹配给所在的面层。

1.工具位置在ArcToolbox\分析工具(analysis tools)\空间连接(spatial join)

2.设置如下

① 目标要素,当然是面层(网格);

②连接要素,是点层;

③输出要素类的路径及名称;

④匹配选项,contains,即包含

七、投影

该分幅图目前是地理坐标系,可以投影为投影坐标系。随处可查,不讲。

猜你喜欢

转载自www.cnblogs.com/yzhyingcool/p/10328390.html