1、中国科学院计算技术研究所教育中心中国科学院计算技术研究所教育中心矢量数据处理20222022年年1212月月3 3日日Page 2讲解内容n矢量数据的查询矢量数据的查询n矢量数据关联和连接矢量数据关联和连接n矢量数据提取矢量数据提取n分幅数据(或行政区划)分割剪裁分幅数据(或行政区划)分割剪裁n矢量数据的合并矢量数据的合并Page 31、矢量数据的查询、矢量数据的查询n 属性查询 对某个图层的查询 见(第4章)n 属性表的查询n 通用查询n 空间查询n 数据搜索 ArcCatalog中n 前1-4在arcmapPage 41.2属性表的查询打开一个表的属性(Open Attribute Tab
2、le)在右下角options点击,有Find&Replace(只有在编辑可用)数据数据:6joinfind9091.mdbXZQ:6joinfind9091.mdbXZQPage 51.3通用查询通用查询有点google,输入只有,可以查询当前窗口所有图层的所有字段,与之匹配的内容Page 61.4空间查询-九交模型(高级)在arcmap中selection菜单中select by Location基本的几何类型:点,线,面,它们都有很明确的内部,边界、外部 几何对象内部边界外部点点本身无边界点对象以外的区域 线除端点外的线对象线对象的端点线对象外的区域 面面对象除边界后的区域面对象控制边面对
3、象本身外的区域Page 71.4空间查询-九交模型内部(interior),边界(boundary)、外部(exterior),三种,九种排列 1 interior interior 2 interior boundary 3 interior exterior 4 boundary interior 5 boundary boundary 6 boundary exterior 7 exterior interior 8 exterior boundary 9 exterior exterior 该字符串为长度为9,“*”;每一个“*“可以换为”T“或”F“,T表示True,F表示False
4、。Page 81.4空间查询-arcmap查询含义(中级)n Intersect 定义:相交查询相交查询算子查询对象:点、线、面 目标对象:点、线、面n Are withinwithin a distance of:相邻查询相邻查询,对几何对象进行缓冲(distance)分析,然后用缓冲区(面)与要查询的几何对象求交(后面目标图层包括前面查询图层)查询对象:点、线、面 目标对象:点、线、面n Completely containcontain:包含查询包含查询,查询对象与目标对象是包含关系(边界不能重合),前面包括后面查询对象:面 目标对象:点、线、面n Are completely with
5、inwithin:查询对象与目标对象是被包含关系(边界不能重合),前面在后面内,后面包含前者前面在后面内,后面包含前者查询对象:点、线、面 目标对象:面使用数据使用数据:6joinfindp1,p2:6joinfindp1,p2测试测试Page 91.4空间查询-arcmap查询含义n Have their center in:查询对象的质心在目标对象的非外部(内部,或则边缘上)。质心包含质心包含查询对象:点、线、面 目标对象:点、线、面n Share a line segment with:查询对象与目标对象是相邻关系,但至少有两个邻边的公共结点。共享边查询共享边查询查询对象:线、面 目标对
6、象:线、面n Touch the boundary of:查询对象与目标对象是相邻关系查询对象:线、面 目标对象:线、面 边界接触边界接触n Are identical to:查询对象与目标对象的类型必须一致,它们之间是重合关系查询对象:点、线、面 目标对象:点、线、面Page 101.4空间查询-arcmap查询含义n Are crossed by the outline of:查询对象与目标对象的关系是交叉,但它们边界必须至少有重合的一部分线、节点等。穿越穿越查询对象:线、面 目标对象:线、面n Contain:定义:查询对象与目标对象是包含关系查询对象:点、线、面 目标对象:点、线、面n
7、 Are contained by:查询对象与目标对象是被包含关系查询对象:点、线、面 目标对象:点、线、面Page 111.4空间查询,获得四川所有县有全国省级行政和全国县级行政区划1、获得四川所有县 使用Are completely within(加10m缓冲,防止边界相交)2、获得四川所有的边界县 在上面1的结果 touch the boundary of 3、内部县 4、获得四川相邻的省份 加10 Buffer,不选四川自己使用数据使用数据:6joinfindchina.gdb,:6joinfindchina.gdb,操作操作看看:6joinfind:6joinfind空间查询空间查询
8、.exe.exePage 122 2、矢量数据关联和连接、矢量数据关联和连接(中级)中级)l矢量数据关联矢量数据关联Relate,用于主从表,一对多,用于主从表,一对多,只有属性方式。只有属性方式。l连接连接jion有两种方式属性和空间连接,属有两种方式属性和空间连接,属性连接用于多(一)对一,如从表和主表性连接用于多(一)对一,如从表和主表的对应。的对应。l支持矢量和栅格数据,表格式可以支持矢量和栅格数据,表格式可以excel等等不带图形的表。不带图形的表。Page 132.1矢量数据关联矢量数据关联Relate省级行政区是主表县级是子表Page 142.22.2矢量数据的连接(矢量数据的连
9、接(JoinJoin)连接有两种方式连接有两种方式n属性连接(属性连接(joinjoin)n空间连接空间连接 属性连接,不生成新表,通过代码连接(两属性连接,不生成新表,通过代码连接(两个表之间只能建立一个连接,如果建立其他字段个表之间只能建立一个连接,如果建立其他字段连接,需要先删除以后,删除后连接表字段,就连接,需要先删除以后,删除后连接表字段,就自动消失),自动消失),Page 15属性连接(属性连接(joinjoin)用于多对一,多个县对应一个省数据数据:6joinrj:6joinrj中国县界中国县界.shp;.shp;全国地图全国地图.shp.shpPage 162.22.2矢量数据
10、的连接(矢量数据的连接(JoinJoin)-空间 另一种是空间连另一种是空间连接(是根据空间相接(是根据空间相交),生成新表,交),生成新表,连接后表的记录数,连接后表的记录数,还是基表的记录数,还是基表的记录数,空间连接是建立新空间连接是建立新表,所有无法删除表,所有无法删除连接,只能自己删连接,只能自己删除字段除字段Page 17计算面相交点的指定字段平均值(中级)已知土壤采样的氮含义,地块按照采样点的均值计算数据在数据在6join/jion6join/jion下下Page 18按最近路径分配学生数据数据:6joinschool分配学生.mxd,见按最近路径分配学生,exe使用学生空间连接
11、学校Page 192.22.2矢量数据的连接(矢量数据的连接(JoinJoin)-空间点线面点最近距离最近距离点在面内线最近距离部分重合线在面内面-面在面内可以用来计算点到直线(点)最小距离Page 203.矢量数据提取矢量数据提取Extractn Clip剪裁 n Split分割n Select(选择)n Table select(表选择)n 1、2是对图形的剪裁和分割处理后新的图形,clip结果只有一个图层,split有多个图层n 3,4是查询,后并将结果保存,Table select保存的只有属性,没有图形Page 212.1Clip剪裁Clip剪裁是clip Feature作为整体对输
12、入图层切割,切割后,保留的对象属性不变(和输入图层一样),图形切割,多个部分不分解,clip feature都必须是面层,输出input Feature可以是点、线、面、注记,数据的位置数据的位置:6joinclipsplit.gdb:6joinclipsplit.gdbPage 223.2Split分割 Split feature有几记录,就分割成几个图层,split Field需要是字符串字段,可以先建字段,字段的值在Arcgis9.3必须以字符串开头,同时使用arcgis9.3GeoDatabase,否则出现999999错误(如果看是否为9.3格式数据,upgrade可用)使用的数据使用
13、的数据:6joinclipfind.mdb:6joinclipfind.mdb下下 clipclip和和xzqxzqPage 23Clip和Split区别项目Clipsplit输出图层数只有一个有切割工具的记录数确定输出图层结构和输入一样和输入一样是否需要字段支持不需要需要,字段字段切割图形是否合并合并不合并Page 243.3 Select(选择)按Sql选出一部分数据,Table select类似使用的数据使用的数据:6joinclipfind.mdb:6joinclipfind.mdb下下 xzqxzqPage 254、分幅数据(或行政区划)分割剪裁、分幅数据(或行政区划)分割剪裁一般的
14、要求一个分幅,或则一个乡镇,一个mdb(gdb)n 一般方式,Split分割,一次处理一个图层,后自己改名n 本人使用.net工具 qt矢量剪裁.exen 自己做的python工具Page 264、python加载(中级)加载(中级)n 在ArcToolBox新建ToolBoxn 添加代码scriptn 设置对应文件n 设置参数可以直接使用6joinclip6joinclip批量切割批量切割.tbx.tbx使用数据6joinclipdata.mdbPage 275 5、矢量数据的合并和接边、矢量数据的合并和接边矢量数据的合并主要有三种方法矢量数据的合并主要有三种方法UnionUnion:在:在
15、Analysis Tools-overlayAnalysis Tools-overlayMerge:Data Management Tools-generalMerge:Data Management Tools-generalappend:Data Management Tools-generalappend:Data Management Tools-generalDissolveDissolve:融合:融合 Page 285.1 Union5.1 Union union只能合并polygon类型的要素类。两个要素类合并时会处理相交部分,使之单独形成多边形要素,并且可以选择允许缝隙(gap
16、s)或不允许缝隙。如果选择不允许缝隙(gaps allow unchecked),两个要素类合并后的缝隙将生成要素。Join Attribute属性有all、no_fid和only_fid。all将两个要素类的属性表字段按顺序全部放在输出要素类的属性表中,包括fid。同名的字段(除fid外)在字段名后加数字以示区别(fid后加要素类名称)。no_fid将两个要素类的属性表中除fid外的字段按顺序全部放在输出要素类的属性表中。only_fid只将两个要素类的属性表中的fid放到输出要素类的属性表中,在fid后加要素类名称以示区别。数据为:数据为:6joinclipfind.mdbunion1和和
17、union2Page 295.2merge merge可以合并点、线、面等要素类和表,但必须是相同类型的。merge不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。merge处理属性表时会把相同名字的字段合成一个,不同名字的字段按原名字、顺序全部加入输出要素类属性表中,原fid将不保留。Page 305.3 Append 合并输入要素类、表、栅格影像及栅格目录到一个已有的要素类、表、栅格影像及栅格目录中。当schema type选项为test时,输入输出的要素类属性表结构必须一致,既字段名、类型、排列顺序必须完全相同,当schema type选项为no_test
18、时可以不同。图形:appendappend可以合并点、线、多边形等要素类和表、栅可以合并点、线、多边形等要素类和表、栅格影像及栅格目录,但必须是相同类型的格影像及栅格目录,但必须是相同类型的。append不处理要素,只简单地把要素放到一个要素类里,因此输出的要素类可能会有重叠或缝隙。类似Merger属性表:同输出要素类的属性表(需要预先有一个表需要预先有一个表)。输入要素类属性表中的字段如果在输出要素类属性表中没有将会被丢弃,但可做字段映射,将输入要素类的某个字段映射到输出要素类的某个字段。Page 315.4 图形合并 图形的合并,可以使用Dissolve,可以是线,也可以面,对按指定字段,图形合并,属性汇总等数据:6joinclipdata.mdbXZQPage 32合并过程中属性处理使用6joinmegerC1.shp,c2.shp数据Page 33比较名称数据格式输入图层图形处理属性处理unionpolygon 两个多个合并all、no_fid和only_fidMerge点、线、面两个多个类型要求一致不处理全部输出append点、线、面、栅格影像同上不处理,预先需要一个图层同输出的表Dissolve点、线、面一个融合设置的Page 34本章掌握内容n空间查询n连接(连接(JoinJoin)方法n数据分割n数据合并