实验五空间分析Word文档下载推荐.docx
《实验五空间分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验五空间分析Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
距离单位>
公里。
选择半径选择工具,选择上海500Km内的城市,并查找城市名。
半径Radius动态显示在窗口下状态栏左侧。
调用边界选择工具,点选某多边形,看被选中对象。
调用多边形选择工具,在地图上绘制某范围的多边形(如不规则街道辖区),得多边形内所有对象情况。
通过图层控制将Area上移一层,再次使用多边形选择工具,查看结果。
2.选择查询
复杂情况下,通过构造有关数据的问题或查询来创建查询表。
打开Area,确保可选择。
查询(Query)>
查询(Selection,选择)>
打开选择对话框>
辅助>
列>
人口>
运算符>
>
输入表达式窗口(人口>
后)>
100000000,形成“人口>
100000000”查询表达式(若属性表不含人口,请改为其它人口字段)。
确定即可,也可先行检验。
在选择对话框还可指定临时表名称和结果的属性(列)排序方法等。
*输入项中除中文外,一律为半角英文,尽量从下拉框选择输入。
3.SQL查询
以上选择只是筛选基础表中的原生数据。
而SQL查询功能更加强大,能生成派生隐含信息,能连接表,可以对基础数据表进行合并、聚合、排序等操作,并创建新表。
打开Area,浏览属性数据。
查询>
SQL选择,打开SQL选择对话框,下拉菜单选择:
选择列→*(结果列,*为通配符,即输出属性表所有字段值)
从表→Area
按列分组→地区名
按列排序→农村人均收入
单击保存模板,命名为SQL1存盘(默认后缀是qry),单击取消,取消SQL对话框。
SQL选择,打开SQL选择对话框,载入模板,选择SQL1.qry载入,单击确定,进行查询。
观察查询结果表,并按农村人均收入升序排列(新版可直接排序属性表)。
可另存查询记录为一基础表。
利用字处理软件,找到并打开你保存的SQL1.qry文件。
解释各语句的意义。
重新设置SQL对话框如下:
其中条件输入“农村人均收入>0”,则排除收入为0的记录参加运算(0原来代表缺失值),确定,观察查询表排序的变化,关闭查询表。
4.地理查询
地理运算符
Contains
若B的中心在A的边界内,则对象AContains(包含)对象B
ContainsEntire
若B的边界完全在A的边界内,则对象AContainsEntire(完全包含)对象B
Within
若A的中心在B的边界内,则对象Awithin(包含于)对象B
EntireWithin
若B的边界完全在A的边界内,则对象AEntireWithin(完全包含于)对象B
Intersects
若A、B至少有一个公共点,则对象AIntersects(相交于)对象B
相邻
SQL查询
选择列→*
条件→objIntersects(selectobjfromAreawhere地区名="
江苏"
)
得江苏邻省(有交点)。
*关键字obj是特殊列名,是基于地理对象(表中行),而非获取数据。
穿越
打开河流表(River)
改条件:
Area.objIntersects(selectobjfromriverwhereriver.河名="
长江"
得长江穿越的省份。
包含
打开city,
设置从表→City,Area条件→Area.objcontainsCity.obj
确定,观察结果表,你会发现地区名列增加到了相应的城市后面;
返回地图窗口,观察什么对象被选中。
交换从表中的Area、City表的次序,重新查询,确定,返回地图窗口,观察什么对象被选中。
重启SQL对话框,
从表→city
条件→objWithin(selectobjfromAreawhere地区名="
得江苏包含的对象(中心在边界内)。
5.查找*
表>
查找,指定文件、字段,确定,输入值,可精确查找。
(二)空间量算
1.查看几何参数
选择工具>双击,查看各对象的中心、边界坐标(空间索引),面积及单位。
地图>选项>地图选项>显示坐标>度分秒>状态条显示>光标位置>坐标单位>度。
鼠标在地图上滑动,或双击对象,查看状态栏及显示。
2.批量获取地理中心坐标
工具管理器>激活坐标提取器>创建新列以提取坐标(CoordinateExtractor)>创建新字段名>确定>保存。
也可将地理中心坐标表转出为TXT文件,以做它用。
或使用表维护:
维护表结构>添加Cx、Cy字段
更新列>辅助>Cx=CentroidX、Cy=CentroidY分别更新Cx、Cy
3.批量计算面积
添加字段。
先通过菜单Table>Maintenance>TableStructure...为所要统计的表添加一个字段,字段为“Area”或其他,类型应为浮点型,便于计算。
选择图元。
这里要说明一下,在表中必须有一字段能标识出某一类图元,如水域,才能够用查询(菜单项Query>Select...)的方法选择这一类图元,否则这能手工选择(按住Shift点击多个图元可多选)。
假设选择的图元集为Selection。
计算面积。
选择菜单Table>UpdateColumn...,打开字段更新窗口。
TabletoUpdate:
为所要统计的表,即Selection;
ColumntoUpdate:
更新字段,选择Area,即刚刚添加的新字段;
Value:
在右边点击Assist...按钮,弹出表达式输入窗口,在其中输入Area(obj,"
sqm"
),如果单位是平方千米,则为Area(obj,"
sqkm"
),点击OK返回。
在字段更新窗口点击OK,完成更新字段。
之后会打开一个浏览窗口,让你查看列更新结果,你可以对照一下,看面积计算是否正确。
统计面积。
选择Query>CalculateStatistics...,打开字段统计窗口,Table:
选择要统计的表,Selection;
Column:
选择要统计的字段,Area;
点击OK,即可看到统计结果,其中Sum就是所有面积和。
至此,图元面积统计完成。
4.量算
选择标尺工具,沿拆线点击,可在窗口返回距离
(三)剪裁与筛选
1.剪裁。
选择要保留的若干省份多边形,主工具栏反选(可直接多选或查询>
全选,Shift+去除保留的多边形)得主体对象>设置为目标>点选开始保留的若干省份作为剪切器>对象>擦除外部,完成剪裁方法一。
请从省区图中剪裁出一个省。
请从省区图中剪裁出一个大区。
全部选择省为主体对象>设置目标>用矩形工具自绘一个省的外接矩形框作为剪切器>对象>擦除外部,完成剪裁方法二。
2.用省擦除河流
选择省主体对象>设置目标>长江>对象>擦除外部,双击查看河流长度。
3.筛选
打开河流,查询落差大于5000的河流,另存副本为>
Query1查询表>
另存为Yangtze。
完成筛选某类要素的目的。
(四)通过合并对象创建领域
创建领域是常用的分析手段,合并区域时,将同时合并与区域相关联的数据。
1.选定对象的合并
同一图层的区域合并将增加一个新对象,直接删除原始对象,相邻边消失,改写数据。
试选择相邻多边形(如华东)合并。
数据处理部分已进行了多边形不相邻的合并。
如将区域设为可选择,另一图层可编辑,选定、设置目标,合并,可将结果对象复制到另一图层,从而保存原始对象不丢失。
2.重新分区
“文件”菜单下点击“关闭表”或“全部关闭表”菜单项,关闭不需要的表
打开数字化的省区地图Area>
维护>
修改表结构>
大区名字段>
新建省区图的浏览窗口>
添加所属大区名称,窗口>
新建重新分区窗口…,出现重新分区对话框,在上述对话框中选择分区字段及要浏览的字段,确定后即出现新的分区窗口。
分区字段:
重分类采用的属性,往往是大类属性,从而实现减少类别,增大图斑,以满足某一空间分析需要。
加入字段:
sum――某新类属性值总和Pct――某新类属性值占属性列总值百分比count――个数统计(自动加入)Fill――新区填充色
本操作的分区字段用大区名(按大区属性重分类),加入适当字段到浏览字段。
在新的分区窗口中可改变分区,将尚未给定分区属性的省份分别划分到相应的目标分区中去,同时察看地图窗口及浏览窗口的动态变化情况。
可另存副本为District。
3.用列合并对象
使用列合并对象>
所在表>
Area>
对象分组>
大区名,可存结果于新建表。
查看结果,截图粘贴于实验结果中。
(五)*叠加分析[选做]
1.叠压节点(重叠节点OverlayNodes)
可以将求出对象的交点,作为节点添加到图形。
但必须有重叠部分才能叠压。
打开Area、river,置river可编辑>选择长江>对象>设置目标>选择长江经过的省份>对象>叠压节点。
将在长江上添加与省界相交的节点。
从而表现正确的地理关系――河段。
放大查看叠压和河段(打开Snap)。
打开China.tab,数字化京杭大运河,在可编辑状态,选择运河>对象>设置目标>选择长江、黄河>对象>叠压节点,添加节点。
叠压节点供查看,若要分解为河段则需要使用分割功能。
2.叠加分析
点与多边形叠加。
在MapInfo中是得到点与多边形的包含关系。
对点表更新列,或直接SQL包含查询实现。
线与多边形叠加。
多边形分割线,形成被包含关系。
由分解、分割、更新列和SQL查询实现。
线层可编辑,选中全部对象,设置目标,查询全选(Shift+点选面,或将面置于上层,框选),分割。
面表结构加len列(浮点),关闭窗口,重建地图窗口。
更新列,如下图,其中Area为面,River为线层,从浏览窗口可查看面内分段线长。
面面叠加。
互相分割,形成更多且更小的面。
将层1另存为图3,将层2对象拷贝到图3,合并;
置图3可编辑,全选为目标;
全选层2对象,分割;
再置图3可编辑,全选为目标;
全选层1对象,分割;
全选图3对象,分解。
个性表结构,更新列,追加层1、层2属性到图3。
(六)缓冲区分析
1.生成缓冲区
生成缓冲区
置打开缓冲主体对象等所需图层,窗口中某一图层可编辑,选择地图中的主体对象,对象>
缓冲区,设置半径(给定或取自字段)、平滑度(3-500)、选定类型(复合、各自)、坐标项……
数据聚合(置装饰图层可编辑的无此项):
选值则将列值存储在新行中,
确定,在可编辑图层创建新的缓冲区。
请生成河流50公里的缓冲区。
请将省份转为线,生成一省50公里的内外缓冲区。
创建带属性并保存为新图层的缓冲区
置装饰图层可编辑,表>
缓冲区>
Selection(指示为可编辑图层)>
新建>
创建>
保存>
设置。
缓冲区表中传递主体的一些属性。
请生成以POP(人口)列为半径的城市缓冲区(以此代替城市的吸引强度)。
请生成河流50公里的缓冲区,并保存。
勾选添加到当前地图窗口,可直接使用City的结构,勾选河名为索引(备查询),取名RiverBuffer.TAB,每个对象创建一个,数据聚合选值(缓冲区取河流值),确定,保存。
*同心环形缓冲区[选做]
从工具管理器添加同心环形缓冲区工具。
选择主体对象,指向同心环形缓冲区,创建。
2.*缓冲区分析[选做]
是对落入缓冲区对象各方面的分析。
需另行使用叠加或查询获取。
例一:
距黄河50km城市的分析
SQL所有列从City表条件objWithin(selectobjfromRiverBufferwhere河名="
黄河"
),接下来可进行统计分析。
此河名是从河流传递的缓冲区名。
截图并解释其地理含义。
例二:
距上海500千米的省会城市的缓冲区分析
装饰图层可编辑,City中选上海,对象缓冲区,500KM缓冲距,圆滑度100,确定。
保存装饰图层(缓冲)为SHbuffer.tab文件。
SQL列:
*,表:
City,SHbuffer,条件:
city.ObjWithinSHBuffer.Obj
得查询结果――,可显示统计、另存。
*装饰图层生成的缓冲区也能保存,但不传递属性。
(七)Voronoi多边形分析
打开City、Area>选择工具>
多省会城市(至少3个)>对象>Voronoi>设置适当参数,确定。
设置面透明,查看分区覆盖范围及代表的值。
要保存Voronoi多边形,需参照创建可保存为新图层的缓冲区操作。
截图并解释其地理含义,为什么常作吸引范围和服务范围划分用?
(八)最小覆盖区域生成
打开City>对象>
外接多边形(凸壳多边形),即生成覆盖若干城市的最小多边形。
(九)*创建点和编码[选做]
1.由已知经纬度创建单点
方法一
打开City图层,确保可编辑、坐标单位为度。
在绘图工具框中选左上角第一个图标(符号),在图层中随便点击一下,就会出现一个点。
使用选择工具双击,会出现一个点对象的编辑框。
里面可以对经纬度和点样式进行编辑,以换上你需要的经纬度和样式,点会移动到正确的定位。
用此法创建苏州(31.3000N,120.6333E)。
②方法二
另将坐标值存为Excel导入,创建点,已在数据结构实验实现。
2.内部表创建
①方法一
新建图层:
文件>新建>增加两个字段:
经度、纬度
添加经纬度数据到表中:
窗口>新建浏览窗口(或工具栏中新建浏览窗口)>右键单击新建行>把你的经纬度坐标填写进去
创建点:
表→创建点>设置X坐标、Y坐标分别对应你的经纬度,还可设置投影
确定
打开上述批量获取地理中心后为数据,置图层可编辑。
由菜单“表”>“创建点”弹出对话框>“使用符号”可以设置显示风格,“取得X坐标的列”和“取得Y坐标的列”中设置横纵坐标的来源字段。
单击“投影”按钮设置投影,与将要创建点所在的图层投影相同(这是很重要的一步)。
点击“OK”后设置图幅范围,将图幅尽量设置大一些。
查看结果
点击“OK”后,点创建完毕,可以点击“新建地图窗口”查看,必要时查看整个图层。
3.外部表格数据创建
外部Excel、txt均可导入。
如可导入EXCEL数据给MapInfo,注意把第一行作为列标题勾上,对MapInfo创建点,实现数据地图化。
也可将EXCEL表形式的表格修改为“.CSV”格式,然后导入MAPINFOR,在菜单窗口选中table,下拉菜单有createpoints创建点就可以了,此时表中第一行的中文标题要删掉。
4.地理编码
可以将含地理坐标数据的表(可视化源表)与编码表(靶表)链接,从而创建点,显示、标识位置。
打开居住省份.xls表,对它进行地理编码,为它的对象显示一个点,叫地理编码表(靶表)。
打开前面的Area表,它含地理坐标,可作搜索表(源表),从编码匹配的对象中提取坐标。
地理编码,两表中的“省份”和“地区名”可作为编码字段(列),确定,看提示,也可手动交互,从而完成地理编码。
图层控制器,增加居住省份图层,查看结果。
*获取并标定位置的坐标分别是源多边形的几何中心、线的中间点、点本身的坐标。
*维护>
表结构,可撤销地理编码。
(十)空间统计(表统计)
1.显示统计窗口
统计窗口中计算当前所选中对象记录的所有数值型字段的总计和平均值以及记录数目当选择发生变化时数据被重新计算统计窗口自动更新显示或隐藏统计窗口。
选择选项>显示/隐藏统计窗口,统计窗口显示隐藏。
可以选择统计窗口控制菜单框“关闭盒”来关闭统计窗口。
如果希望对整张表进行统计使用查询>全选命令来选中表中所有对象。
2.执行统计计算
对列进行统计:
选择查询>计算统计值,计算列统计值对话框出现;
单击表下拉列表以显示可用表的清单;
选择要使用的表;
单击列下拉列表以显示可用列的清单;
选择要使用的列;
单击确定列统计对话框出现。
列统计对话框显示指定列的统计值,这些统计值可用于其它应用程序中。
试进行以上操作,并统计我国陆地总面积及总人口、平均收入等。
将单位换为平方公里再看结果。
3.获取比值数据
对属性字段进行比值函数运算,生成比值(密度)数据列。
(十一)*计算分区河网密度[选做]
计算区域(分区)河流密度。
打开所需表。
置河流图层可编辑,全选河流,设置为目标。
拖动区域(Area)到最上层,全选对象;
分割。
维护线表结构,增加长度列(浮点或十进制),更新列,表达式ObjectLen(obj,"
km"
)。
维护区域表结构,增加河流总长、面积、河网密度列(浮点或十进制);
更新河流总长列,从中获得值的表选河流,联接为河流中的对象包含于区域表中,计算用sum,属性河流长度;
更新面积列(已获取或用表达式进行最终密度可省略),用辅助函数Area(obj,"
);
更新河网密度列,辅助操作数,河流总长/面积。
*路网等线状目标均可计算密度,不分区则简单。
*也可针对流域或自建网格、分区进行。
五、结果
(一)选择与查询
1.
2.
3.
4.
(二)
过程、结果截图。
要求用适当剪裁,标注学号、姓名(以下同)
(三)
五、体会
1.关于空间操作的算法原理
2.空间分析的统一工作流程
3.空间分析的意义