Arcgis图幅裁剪和拼接
余洋
2012-6-7
武汉珞珈德毅科技发展有限公司
目录
1 Arcgis 矢量数据裁剪 ................................................................................................ 3
1.1 创建用于裁剪的多边形.................................................................................. 3
1.1.1 自定义图形裁剪.................................................................................... 3 1.1.2 创建Fishnet裁剪 .................................................................................. 5 1.2 矢量shp文件的批量裁剪 .............................................................................. 9 2 Arcgis 矢量数据拼接 .............................................................................................. 12
2.1 拼接预处理——EdgeMatch ......................................................................... 12
2.1.1 EdgeMatch属性设置 ........................................................................... 12 2.1.2 EdgeMatch自动链接 ........................................................................... 14 2.2 矢量图形拼接——Append ........................................................................... 15 3 Arcgis 栅格数据拼接 .............................................................................................. 18 4 ArcToolBox提供的工具——针对大家工作中的问题 .......................................... 19
1
武汉珞珈德毅科技发展有限公司
目的:本教程针对深圳项目的需求中 3.5.4 可能涉及的图幅裁剪和拼接的工作,进行相关说明和操作演示,方便以后工作中涉及分幅的工作。最后对之前大家之前工作说明可用的一些工具。
环境说明:目前ArcGIS9.3功能不完善,ArcGIS10有些功能有bug并且不太稳定,本人日前已将ESRI网站现有补丁SP~SP4包括Desktop和SDE一并压缩在一个文件夹里,命名为patch并上传至服务器ArcGIS10安装文件夹,请大家在实施相关工作时安装全部需要的补丁。
附加举例说明工作中的注意事项:
ArcGIS9.3的不便之处:Caculate Geometry——若设置字段为Text类型,则相应计算shp文件中点的xy或者面的周长和面积等,计算结果均为’0’;若安装文件夹下的Coordinate Systerm文件夹中没有相应的prj文件,则无论如何新建自定义坐标系,检查数据Properties中的坐标系均为undefined…等诸多不便之处。
ArcGIS10中若不安装补丁,对Feature Class 的Split操作不会有任何结果…此处不一一列举。
2
武汉珞珈德毅科技发展有限公司
1 Arcgis 矢量数据裁剪
示例数据:厦门 WGS84 大地 shp 数据,包括 MultiPoint、Polyline 及 Polygon 一共 4个 shp 文件。
1.1 创建用于裁剪的多边形
即创建一个用于裁剪别的图形的面域。 1.1.1 自定义图形裁剪
(此节仅供后续操作的理解)。可以在ArcCatalog中任一文件夹右键,弹出菜单选择New->ShapeFile 新建一个shp,弹出窗口Create New ShapeFile 中选择Feature Type 为Polygon,此时空间参考为Undefined,点击下方Edit按钮,弹出窗口Spatial Reference Properties中点击Import,选择待裁剪的图形,Import其空间参考使要创建的裁剪框与待裁剪图形空间参考一致。
3
武汉珞珈德毅科技发展有限公司
Start Editing创建裁剪图框的图层。
点击弹出的Create Features Window中的绘图符号,修改,然后拉出一个裁剪框。
4
武汉珞珈德毅科技发展有限公司
绘图符号
1.1.2 创建Fishnet裁剪 ①创建Fishnet
ArcGIS中定义的Fishnet相当于行列上自定义的数个无缝拼接的裁剪框,属于创建用户自定义的一类/多类Features。ArcToolBox->Data Management Tools->Feature Class->Create Fishnet。
待裁剪图形的最小外接矩形 利用行列号则像元大小填0 计算时会自动计算大小
此处暂不需要可以Uncheck
看需要选择面或者线
改变图层符号可以检查创建的Fishnet与待裁剪图形最小外接矩形是否符合。
5
武汉珞珈德毅科技发展有限公司
现在我们创建了1个Fishnet,也就是9个拼在一块儿的裁剪框,他们都在一个shp文件里,用一个裁剪框shp裁剪得到一幅图,我们现在要的是9个裁剪框裁出9个文件,所以现在需要将已创建的Fishnet 分割Split成9个分开的shp文件,每个shp文件包含1个裁剪框。
右击Table of Content Window中Fishnet的shp文件,查看其Attribute Table,可以看到9个裁剪框在属性表中是分开的,即有不同的FID,可以基于此字段分开9个裁剪框。
6
武汉珞珈德毅科技发展有限公司
②设置Fishnet的分割字段
ArcGIS中的Split只能基于Text字段分隔对应的空间地物,而FID Type为Object ID。因此需新建一个Text类型字段。
右击新建的字段弹出菜单选择Field Caculator(这个工具大家可以工作中好好利用)。
7
武汉珞珈德毅科技发展有限公司
刚才右击的是t字段
随便写个公式,只要结果每行不一样就行,若非Check Show Codeblock,此处字段类型自动转换
③分割Fishnet
现在可以Split这个Fishnet了,对Feature Class的操作在
ArcToolBox->Analysis Tools中,其中的Extract中可以找到Split工具。
8
武汉珞珈德毅科技发展有限公司
可以看到相应路径的9的Fishnet Split的裁剪框了,默认与用来分割的那个字段的值同名。加载其中一个shp文件,可以看到正是Fishnet中的一个裁剪框。查看其属性,可以看到是基于字段分割的。
1.2 矢量shp文件的批量裁剪
同见上方所述,矢量文件的裁剪Clip也在ArcToolBox->Analysis Tools中,Extract->Clip(任何一个Tools都有右击->Batch选项可供处理)。
9
武汉珞珈德毅科技发展有限公司
点击+号添加批处理数量,Input Files->待裁剪的均为同一图形,下拉框选好第一行后此处右击弹出菜单选择Fill以填充以下同列各行;Clip Features->可将ArcCatalog中各裁剪框shp文件拖至此选项框,如上图所示;Output Files需要手动改了。(ArcGIS10中的Python将每个工具都看作一个函数,简化了很多,一些小操作用Python会比这个要简洁,大家有空可以看看)。结果如下。
其中一块儿如下图所示,查看其属性表,可以看到,矢量图形裁剪后对于其所包含的空间地物属性值不变,只是Features的数量变换,若矢量图形的分幅涉
10
武汉珞珈德毅科技发展有限公司
及属性操作,可于属性表利用Caculate Geometry计算值与真实值的比例,再于Field Caculate 中重新计算(Caculate Geometry直接计算点/线/面的坐标/长度/周长面积等往往与属性表中的真实值有差异)。
11
武汉珞珈德毅科技发展有限公司
2 Arcgis 矢量数据拼接
示例数据:浙江湖州和嘉兴大地WGS84 Polyline shp文件。
2.1 拼接预处理——EdgeMatch 2.1.1 EdgeMatch属性设置
有时分幅图幅的某些要素在连接处有断裂,在拼接前需将将折点或线要素的端点位移到邻接参照图层中的相应位置(亦可用于对包含精度较低的要素的图幅参照邻接图幅进行校正)。
断裂
因此EdgeMatch修改了图形,需将一个图层Start Editing。EdgeMatch属于空间校正的一种局部校正,使用Spatial Adjustment工具条,右击工具条上Spatial Adjustment菜单,下拉框选择Options设置EdgeMatch操作属性。
12
武汉珞珈德毅科技发展有限公司
弹出Adjustment Properties窗口中General选项卡,点击Options按钮,弹出Edge Snap选项卡。
链接显示符号设置 断裂处平滑过渡
切换到EdgeMatch选项卡,选择EdgeMatch 的源和目标文件。若断裂的地物在两幅图有某个字段的相同的属性值,则可以Check “Use Attribute ”,选择相应字段自动链接。
13
武汉珞珈德毅科技发展有限公司
一对一链接
避免重复链接
2.1.2 EdgeMatch自动链接
选择Spatial Adjustment工具条EdgeMatch工具,在拼接断裂处拉框圈出需要链接的地物。可在Edit工具条中Editor->Options->General中改变Match容差。
EdgeMatch工具:容差以内的视为无断裂,会Flash此处的点,容差意外视为断裂,此处会新建一个链接。点击Spatial Adjustment工具条上的黑色箭头可以选中错误的链接删除,Delete键删掉。
14
武汉珞珈德毅科技发展有限公司
错误链接可用此2工具手动新建和修改
2.2 矢量图形拼接——Append
ArcToolBox->General->Append,弹出窗口设置拼接源/目标图幅。
15
武汉珞珈德毅科技发展有限公司
拼接到目标图幅,用Spatial Adjustment工具条上的黑色箭头可拉框查看拼接中所使用的链接。
如下图,计算图幅拼接后两边线段的目标点坐标一致,说明图幅拼接后接边处线已由一个端点连接。
16
武汉珞珈德毅科技发展有限公司
17
武汉珞珈德毅科技发展有限公司
3 Arcgis 栅格数据拼接
数据预处理,栅格数据拼接若两相邻图幅接边处有共同地物并且坐标不一致,利用GeoReferencing手动添加链接共同点地物的链接进行栅格/影像数据校正,校正方法见教程“Arcgis空间校正与坐标转换.pdf”。
校正后的栅格数据拼接使用ArcToolBox->Raster->Mosaic工具,此工具可同时设置拼接的图幅,可以选择匹配两幅拼接图幅颜色和灰度范围的方法,此处不详述。
18
武汉珞珈德毅科技发展有限公司
4 ArcToolBox提供的工具——针对大家工作中的问题
示例数据:厦门WGS84 Polygon shp文件。
针对某个面域范围的创建1w个点,之前想到在此面域范围内的某个矩形,用Radomize随机函数在excel里计算1w个随机不等的xy,之后做Append接边看到ArcGIS的ArcToolBox->Data Management Tools->General中有个Create Random Points工具,就是在一个面域里均匀创建若干个不相等点的工具了。
建100w个点,数目小于long即可
19
武汉珞珈德毅科技发展有限公司
查看建立的点shp文件的Attribute Table,新建Double类型字段XY,CaculateGeometry计算入点的坐标值,利用拓扑检查中检查方法检查无重复点。具体参考“ArcGIS拓扑检查.pdf”。
20
因篇幅问题不能全部显示,请点此查看更多更全内容