[经济学]空间分析

上传人:tia****nde 文档编号:70671770 上传时间:2019-01-17 格式:PPT 页数:31 大小:1,008.81KB
返回 下载 相关 举报
[经济学]空间分析_第1页
第1页 / 共31页
[经济学]空间分析_第2页
第2页 / 共31页
[经济学]空间分析_第3页
第3页 / 共31页
[经济学]空间分析_第4页
第4页 / 共31页
[经济学]空间分析_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《[经济学]空间分析》由会员分享,可在线阅读,更多相关《[经济学]空间分析(31页珍藏版)》请在金锄头文库上搜索。

1、,空间分析,内 容,概述,空间分析是GIS系统的重要功能之一,是GIS系统与CAD的主要区别空间分析的对象是一系列跟空间位置有关的数据,这些数据包括空间专业坐标和专业属性两部分,其中空间坐标用于描述实体的空间位置和几何形态,专业属性则是实体某一方面的性质,组件 mc_Spc_Anly70Lib 空间分析组件,主要用于进行空间运算和buffer分析以及拓扑查错等空间分析。 主要接口 ISpatialAnalysis2 进行叠加分析、裁剪分析等操作 ITopoBuffer2 进行缓冲区分析,叠加分析定义,地理信息系统的叠加分析是将有关主题层组成的数据层面进行叠加,产生一个新的数据层面的操作,其结果

2、是原来的要素被分割、剪断、套合,然后生成新的要素,新要素综合了原来两层要素所具有的属性。也就是说,空间叠加,不仅产生新的空间特征,还将实体的属性联接起来,产生新的属性。空间叠加是分矢量和栅格两种数据类型进行的。对于矢量数据,采用矢量叠加方法,该方法对矢量的空间数据进行分割、剪断、套合等操作,对和矢量相关的属性进行连接,叠加结果是新的矢量数据和属性数据。借助叠加分析可以进行空间数据相交、求并、相减等多种空间分析操作。 注意:在矢量叠加分析中至少涉及到三个数据集,其中进行叠加的两个数据集可以是点、线、面类型的,但结果数据集的几何类型必须与进行叠加分析的第一个数据集类型相同。,叠加分析类型,叠加过程

3、说明,说明 简单要素类C的图形类型和A要素类相同 简单要素类C的属性是要素类A和B连接的结果,叠加分析方式, 相交 求并 相减 对称差 ,叠加分析示意图,相交:C 求并:A+B+C 相减:A 对称差:A+B,说明: A+C为第一简单要素类 B+C为第二简单要素类,区对区的叠加分析,求并 :属于A或属于B的区域,区对区的叠加分析,相交:属于A且属于B的区域,相减 :属于A且不属于B的区域,区对区的叠加分析,对称差 :除掉既属于A又属于B的公共区域外的所有属于A或属于B的区域,区对区的叠加分析,如何进行区对区的叠加?,连接数据源,打开数据库,打开进行叠加的 两个简单要素类,操作步骤,GDBSvr.

4、Connect(“MapGislocal“, “, “);,GDB = GDBSvr.get_gdb(“DevelopDB“);,SFeatureCls = GDB.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls; SFeatureCls.Open(“Ku6_1s.wl”, 0); (另一个同样打开),创建结果 简单要素类,ResultSCls = GDB.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls; ResultSCls.Create(“Result“, SFeatureCls.type,

5、 0, 0, null);,调用叠加分析方法,SpatialAnalysis.OverLay(SFeatureCls, OverLaySFeature, ResultSCls, meOverlayType.OVLY_INTER, null);,注意: using mc_basXcls7Lib; using mc_basObj7Lib; using mc_Spc_Anly70Lib; SpatialAnalysis.OverLay ( mcSFeatureCls srcSFCls0, mcSFeatureCls srcSFCls, mcSFeatureCls destSFCls, meOverl

6、ayType opType, mcOverlayOption option) 第一个参数:被叠加简单要素类 ; 第二个参数:叠加简单要素类 ; 第三个参数:结果简单要素类; 第四个参数:叠加类型; 第五个参数:拓扑信息相关设置。 option: 当简单要素类srcSFCls0, srcSFCls具有严格正确的拓扑信息时, 设置option=NULL默认情况:当简单要素类srcSFCls0, srcSFCls的拓扑信息不完整时, 设option.LabelPnt=1采用label点方法。,开始时添加引用,缓冲区分析, 线Buffer区域定义: 对于任意曲线L,半径为R的实心圆,圆心沿着曲线L从一

7、端运动到另一端时,该实心圆所覆盖的区域就称为曲线L半径为R的Buffer区。 一组线的Buffer 半径为R的实心圆,圆心沿着所有的曲线从一端运动到另一端而构成的整个覆盖区域,缓冲区分析的类型,根据缓冲半径的不同分为:半径恒定的缓冲区分析与可变半径的缓冲区分析。 半径恒定的缓冲区分析:半径等距,指缓冲半径一致,单位为与当前激活图层地图单位一致,它的数值要手工输入; 可变半径的缓冲区分析:半径为变距型半径,指指缓冲半径变化,可以分为按字段(缓冲半径从属性字段值里提取)和指定值(分别输入左侧半径和右侧半径,单位是地图单位)两种。 注:生成出来的结果与缓冲半径的大小有关,半径越小,结果越精确。并且,

8、生成出来的结果放在面类型的简单要素类里。,下图显示的是单个点、单个线以及单个面的缓冲区,Buffer半径选项选择等 距型中的地图单位,缓冲区生成方法选择光栅法,圆头。,如果缓冲目标是多个点(或多个线、多个面),则缓冲分析的结果是各单个点(线、面)的缓冲区的合并,碰撞到一起的多边形,将会被合并成一个,也就是说,MapGIS K9可以自动处理多个特征缓冲区重叠的情况,取消由于重叠而落在缓冲区内的弧段。 分析结果如下举例所示。,根据地理实体的性质和属性,对其规定不同的缓冲区距离,通常是十分必要。例如,沿河流两岸禁止砍伐树木带的宽度应根据河流类型以及两岸土质而定。因此,GIS系统应有求取可变缓冲区的能

9、力,例如允许用户在属性表中定义一项,作为缓冲区宽度,如下图所示:,可变宽度缓冲,如何进行恒定半径缓冲分析?,连接数据源,打开数据库,打开进行缓冲的 源简单要素类,操作步骤,GDBSvr.Connect(“MapGislocal“, “, “);,GDB = GDBSvr.get_gdb(“DevelopDB“);,SFeatureCls = GDB.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls; SFeatureCls.Open(“Ku6_1s.wl”, 0);,创建结果 简单要素类,ResultCls = GDB.get_XClass(me

10、XClsType.meXSFCls) as mcSFeatureCls; ResultCls.Create(“Result“, SFeatureCls.type, 0, 0, null);,调用缓冲分析方法,TopoBuffer.ConstantBufRadius(SFeatureCls, ResultCls, null);,注意: using mc_basXcls7Lib; using mc_basObj7Lib; using mc_Spc_Anly70Lib; SpatialAnalysis.OverLay ( mcSFeatureCls srcSFCls, mcSFeatureCls d

11、estSFCls, mcObjectIDs srcIDs ) 第一个参数:缓冲前的源简单要素类 ; 第二个参数:缓冲后的结果简单要素类 ; 第三个参数:局部buffer分析的要素id序列 。 另外: destSFCls:必须是面简单要素类 ; 恒定半径缓冲区分析包括双边等半径缓冲和双边不等半径缓冲。,开始时添加引用,注意: TopoBuffer.SetBufRadius(2, 2);/设置缓冲分析半径 TopoBuffer.TraceRadius = 0; /buffer跟踪半径 TopoBuffer.SideType = meBufSideType.FULL_SIDE; /双边缓冲 Topo

12、Buffer.BufMethod = meBufferType.RASTER_BUF; /缓冲方法:光栅方法 TopoBuffer.KnobFlg = meBufJointType.CIRCLE_ANGLE; /结束类型:圆头,缓冲前要进行缓冲设置,恒定半径缓冲分析与可变缓冲分析的区别?,区别:可变半径缓冲区分析是根据属性字段名来缓冲。 即是进行缓冲分析前参数设置不同 TopoBuffer.FldName = “ID“; TopoBuffer.TraceRadius = 0; /buffer跟踪半径 TopoBuffer.SideType = meBufSideType.FULL_SIDE;

13、/双边缓冲 TopoBuffer.BufMethod = meBufferType.RASTER_BUF; /缓冲方法:光栅方法 TopoBuffer.KnobFlg = meBufJointType.CIRCLE_ANGLE; /结束类型:圆头,裁剪分析定义,按照用户指定的空间范围,形成的裁剪框的边界(边界可以是任意多边形),按照该裁剪框对地图图层进行框内或框外的切取,即保留框内或框外的图形及相关属性信息,并把保留的图形及属性内容写到一个地图数据库文件中,尤其是对面域数据的裁剪操作,裁剪后还需重新组织图形数据的拓扑关系后再予以保存;在MapGIS K9中,裁剪分析主要是针对简单要素类进行的,

14、根据提供的多边形或者裁剪框的边界,从该简单要素类中提取部分要素,因此进行裁剪分析需要准备三种数据:1.被裁剪的简单要素类 2.裁剪框 3.结果简单要素类。,注意: 1、被裁简单要素类:要进行裁剪分析的对象,即对该对象进行裁剪。 被裁简单要素类可以是任意类型的简单要素类。 2、裁剪框:即利用它来对被裁简单要素类进行裁剪。 裁剪框必须是区类型的简单要素类或者是用户自定义的多边形。 注:裁剪框必须与被裁简单要素类具有相同的空间参照。 3、结果简单要素类:用来存放裁剪结果的简单要素类。 结果简单要素类与被裁简单要素类要保持几何约束类型一致。,裁剪分析类型,裁剪分析包括两种类型:内裁和外裁。 内裁:裁剪

15、结果保留为裁剪框边界之内的图形及相关属性。 外裁:裁剪结果保留为裁剪框边界之外的图形及相关属性。,两种裁剪方式示意图,外裁,内裁,如何用简单要素类进行内裁?,连接数据源,打开数据库,打开进行裁剪的 两个简单要素类,操作步骤,GDBSvr.Connect(“MapGislocal“, “, “);,GDB = GDBSvr.get_gdb(“DevelopDB“);,SFeatureCls = GDB.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls; SFeatureCls.Open(“Ku6_1s.wl”, 0);,创建结果 简单要素类,ResultCls = GDB.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls; ResultCls.Create(“Result“, SFeatureCls.type, 0, 0, null);,调用裁剪分析方法,SpatialAnalysis.Clip(SFeatureCls, Clip, ResultCls, meOverlayType.OVLY_INCLIP,null);,注意: using mc_basXcls7Lib; using mc_basObj7L

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号