every blog every motto:
You never know how strong you really are until being strong is the only choice you have。
0. 前言
GIS案例,第六天学习
1. 正文
1.1 对无坐标信息的地形图(图片格式)进行地图配准操作(实验操作包括配准、定义投影)。
【方法】使用ArcGIS中【Georeference】(地理配准)工具和【DefinePorjection】(定义投影)工具实现。注:任何格式的GIS数据都显示或隐式的包含有坐标系信息,坐标系包括地理坐标系(经纬度)和投影坐标系(距离单位)。在对不同数据进行数据可视化、数据分析时,必须保证数据的坐标系是一致的。本例主要介绍如何给无坐标信息的地形图(图片格式)添加坐标信息。带有坐标信息的图片文件格式有tiff和grid格式,其余如jpg、bmp、png等都不带有坐标信息。
加载数据
1)确定目标坐标信息。打开地形图图片,查看该地形图的坐标基准信息、比例尺以及坐标范围。
【坐标基准信息】为该地形图的地理坐标系,在图片左下方;
【比例尺】在图下侧中央,其确定了该地形图的投影方法,我国的大比例尺地形图均采用Gauss-Kruger(高斯-克吕格)投影;
【坐标范围】确定了高斯-克吕格投影的带号(3度或6度)和中央经线。注:1:1万采用3度带投影,1:2.5万-50万采用6度带投影。
2)确定四角点高斯投影坐标。如前所述,由于大比例尺的地形图都是高斯-克吕格投影,四角点标注的坐标为该区域的地理坐标,进行地理配准前,必须计算该四角点地理坐标对应的高斯投影坐标。下载一个坐标转换工具,【选择坐标系】1954北京坐标系,【分带方式】3度分带,分别将四角点经纬度坐标填入,计算得到对应的高斯坐标。
3)设置配准连接。注:若内图廓四边不水平或垂直,必须先将该图片整平后方能进行配准。本例以整平处理。确定好配准信息后,打开ArcMap,加载地形图图片数据。右击菜单栏空白处,添加地理配准工具条。首先,将地理配准工具条下的【自动校正】的勾取消;使用【添加控制点】工具,对四角点进行配准;点击某一角点后,右击任意位置,选择【输入X和Y】,将步骤2中的对应高斯坐标输入,注意ArcMap中X轴为高斯坐标的Y轴;依次设置好四角点的连接关系。
输入坐标:
4)查看连接表。点击工具条中【查看连接表】按钮打开【连接表】,表中列出了从像素坐标系(原始)到高斯坐标系(目标)的控制点对应关系,残差列表为空。
5)执行图像校正。
在连接表对话框中,变换选择【校正】或【一阶多项式(仿射)】
,即可计算出四角点校正前后产生的残差值。由于【校正】是强制性变换方法,容易造成图片校正前后发生严重扭曲、错位等错误,建议不使用该方法;而一阶多项式或二阶多项式等变换方法是在牺牲校正精度的情况下,保持图像的整体完整性(无错位)。本例中,由于控制点为四角点,全部包含了图内容,可以考虑使用【校正】方法。选择工具条【地理配准】下的【纠正】菜单,保存校正后的地形图为“纠正.tif”,格式为“tiff”,像元大小默认(以一阶多项式变换方法进行纠正)。
6)定义投影。重新打开ArcMap,加载校正后的地形图文件“纠正.tif”,可以查看到该图层的坐标范围已校正到高斯坐标系下,但该数据只是隐式的具有坐标信息,需要进行定义投影后才具有显示坐标信息。打开【数据管理工具】|【投影和变换】|【定义投影】工具,输入数据集或要素类设置为“纠正.tif”,点击右侧坐标系按钮,打开【空间参考属性对话框】;点击【选择】,选择【Projected Coordinate Systems】-【Gauss Kruger】-【Beijing 1954】-【Beijing 1954 3 Degree GK CM 120E.prj】;由于本例中地形图的中央经线为120.40625°,因此需要修改默认以120E为中央经线的坐标信息;点击【修改】按钮,设置本例投影名称为“newproject”,中央经线值改为120.40625°。确定,执行定义投影工具,得到定义投影的地形图。
结果:
1.2 数据某一个字段值小于0,如何在标注时将个位上的0显示出来?
【方法】修改属性表中字段的【数字格式】。注:属性表中字段的值可以根据不同格式进行显示,如保留不同的位数、有效数字、等。但是不管如何设置其格式,始终仅影响该图层标注时的内容,而不影响字段的实际数值和精度。
加载数据,打开属性表
1)查看数据属性表。打开ArcMap,加载数据,右击打开属性表。可查看到字段value为浮点型,但对于小于0的值来说,个位上无0。
注:
10.2 版本个位上显示有0
2)设置数值显示样式。右击“value”字段,打开属性对话框。点击【数字格式】右侧按钮,打开【数值格式】对话框。设置格式参数:【类别】选择“自定义”,【格式字符串】选择“0.0”。确定,得到目标效果。
3)以分数形式显示标注。标注要素字段值时,以分数形式进行标注。双击图层,打开属性对话框,选择“标注”选项卡。点击“文本字符串”中的【表达式】按钮,打开【标注表达式】对话框。在表达式一栏中,输入:”” &” “& [value] &” “& “” & vbNewLine & [FID]。确定,设置完毕。右击图层,选择【标注要素】,对该图层进行属性标注。
结果:
1.3 在某一线图层中,如何使得线与线在两两相交位置处断开并保存相交的节点?
【方法】使用ArcGIS中【FeatureTo Line】(要素转线)工具和【Feature Vertices To Points】(要素折点转点)工具得以实现。
注:
要素转线工具能够将存在相交的线在相交处分割,而要素折点转点工具能够提取出线段的两个端点。对于已分割的线段来说,端点中包括分割处的交点。
1)分割线数据。打开【数据管理工具】|【要素】|【要素转线】工具,输入要素设置为“lines.shp”,输出要素类为“splitline.shp”,容差默认。确定,得到分割后的线段数据。
2)提取线段端点。打开【数据管理工具】|【要素】|【要素折点转点】工具,输入要素设置为“splitline”,输出要素类为“pts”,点类型选择“BOTH_ENDS”。确认,得到线段端点。
3)保留交点。由于交点处不止一条线段经过,因此交点处最多会存在4个端点,需要剔除冗余点。由于冗余点具有相同X、Y坐标值,因此,可以通过删除具有相同(X,Y)坐标的点实现冗余点的剔除。打开【数据管理工具】|【要素】|【添加XY坐标】工具,输入要素为“pts”;打开【数据管理工具】|【常规】|【删除相同的】工具,输入要素设置为“pts”,字段勾选“POINT_X”和“POINT_Y”。确认,得到精简的交点数据。