《地理信息系统设计与开发》实验指导书
地理信息系统基础试验指导书
《地理信息系统基础》实验指导书实验一GIS演示与操作一、实验目的通过MapInfo实例的演示与操作,理解GIS的基本概念和普通GIS平台应具备的功能。
二、实验内容1.地理数据可视化2.操作电子地图3.地理查询与分析三、实验步骤1.进入MapInfo,打开World.tabo2.浏览人口数据。
3.显示人口结构分布或老年人口比例专题地图。
4.控制图层在缩放范围内显示。
5.使用不同的投影方法显示地图。
6.使用Info工具查询地理对象的信息。
7.建立统计图窗口,作各国的人口增长率、工业增长率及其它统计图。
8.调入世界河流图层(Rivers.tab),查询几条著名河流(如多瑙河,Danube)流经的国家。
方法:打开SQL对话框,在表文框中键入World,在条件文本框中键入表达式:obj Intersects (select obj from Rivers where =" )Danube”9.调入各国首都图层(Worldcap.tab),选择四个城市作半径为1000 km的缓冲区,查询这些缓冲区覆盖的人口。
四、实验报告格式1.实验名称、时间、地点1. 实验目的2. 实验内容3.操作步骤4.实验结果5.实验心得、体会实验二MapInfo的数据导入一、实验目的掌握用MIF(MapInfo Interchange Format)文件将自己的数据导入MapInfo系统的方法。
二、实验内容1.查看MIF文件格式2.将例题的图形进行手工矢量化3.将手工矢量化的结果构造成MIF文件,导入MapInfo三、MIF和MID文件简介MapInfo Interchange Format(MIF)是一种能完整描述MapInfo数据库的ASCII文件格式。
从MapInfo 导出数据时,图形数据放在.MIF文件中,表格数据放在.MID (MapInfo Interchange Data)文件中。
(一)MIF文件1. MIF文件的文件头MIF文件有一个文件头,头三行是版本信息、字符集、分界符;如果对数据库作了索引,第四行是索引信息,接下来为坐标投影信息(包括边界),然后是表格文件(数据库)的字段(列)数、各字段的名字及类型,最后一行以Data结束,表明下面各行为数据。
地理信息系统实习指导书(3)
地理信息系统上机实习3.系统界面的定制、汉化与建立空间数据库实习目的1、掌握如何对Arcview GIS系统界面的定制,包括菜单、工具栏及对话框的汉化、添加、删除与设置;2、掌握如何创建空间数据库(以点图层为例);3、掌握如何编辑空间对象的属性特征以及如何与外部属性数据库联结,构成自己的空间数据库;4、初步了解GIS的空间分析工具:如何由离散点状高程数据生成高程等值线图层。
定制(Customize –也称客户化)系统界面也许你并不喜欢总是在英文界面内进行你的工作,也许系统的某些功能你基本不用,而某些功能你需要频繁的操作,这些足以构成你需要汉化和重新安排系统界面的理由。
这部分的实习不仅让你亲自设计、安排你所喜爱的界面风格,同时也可让你告别这些“讨厌”的英文。
仔细阅读下面的指导,大胆尝试你的爱好。
1、启动ArcView单击开始→程序(P)→ESRI→ArcView GIS 3.2a→ArcView GIS 3.2a2、在欢迎对话框中,选择“As a blank project”,单击“Ok”3、单击“Project”菜单下的“Customize”菜单项。
提示:每个标准的Windows应用程序的用户界面基本上都包含有标题栏、菜单栏、工具栏、状态栏、对话框等资源(ArcView的资源见下图所示)。
资源本身并不能完成任何操作,它所进行的动作需要由代码来实现。
定制界面实质上就是改变这些资源的样式。
ArcView是一个多文档应用程序,每个窗口拥有的资源种类和数量不同。
试比较“Project”和“View”窗口的菜单栏以及工具栏有何变化。
4、在弹出的对话框中,从“Type ”列表框中选择“View ”。
5、双击“Label ”,在弹出的文本框中填入“&F 文件”,单击“Ok ”。
6、单击“&Close ”,重复步骤5,在文本框中填入“&C 关闭”。
7、从“Category ”列表框中选择“Buttons ”。
GIS实验指导书
地理信息系统实验指导书(校内讲义)黄寿昌主编广西生态工程职业技术学院二○○六年二月目录前言 (1)实验一MapInfo栅格图像的配准 (2)实验二MapInfo表的建立及地图对象的编辑 (5)实验三MapInfo屏幕跟踪矢量化 (8)实验四MapInfo空间数据的查询 (10)实验五MapInfo专题图制作 (21)实验六MapInfo布局的设计与制作 (23)前言学习《地理信息系统》必须重视实践环节,独立完成在地理信息系统中进行森林资源信息空间数据的输入、编辑、管理和分析能力的操作等,将林业知识与高新技术结合在一起。
上机实验的目的,绝不仅是为了验证讲课内容或者自己所设计的程序正确与否,而是为了:⑴加深对讲授内容的理解,仅靠课堂讲授是很难掌握和熟练应用的,但它们又很重要。
通过多次上机操作,就能自然、熟练地掌握它们。
⑵学会GIS的建立开发,善于积累与总结所学知识,为今后在实际工作中将森林资源信息的管理与高新技术的结合融为一体积累经验。
实验一般应包括以下几个步骤:⑴上机之前准备好上机操作设计思路与相关的材料、资料及相关理论,提高上机效率。
⑵按设计思路上机调试操作,对设计思路进行调整以完成所要完成的上机操作内容。
⑶上机结束后,整理出实验报告。
本实验指导书,本着使用计算机及高新技术将森林资源信息进行高效管理为目标进行设计,共包括六个实验,每个实验中都有具体的实验目的和详细的实验内容及实验步骤,能促进学生将讲授的知识转化为实际操作技能。
各实验内容如下:实验一:MapInfo栅格图像的配准。
实验二:MapInfo表的建立及地图对象的编辑。
实验三:MapInfo屏幕跟踪矢量化。
实验四:MapInfo空间数据的查询。
实验五:MapInfo专题图制作。
实验六:MapInfo布局的设计与制作。
由于时间仓促及编者水平所限,书中疏漏与不当之处恳请广大读者批评指正。
编者2006年2月实验一MapInfo栅格图像的配准一、目的1、通过投影选择和控制点配准,了解GIS中投影的概念,图形配准的概念。
《地理信息系统》实习指导书
《地理信息系统》实习指导书刘琳主编石河子大学理学院地理系2010年2月前言地理信息系统(Geographic Information System,简称GIS)是上世纪60年代发展起来的新兴学科。
四十几年的发展历程中,GIS极大地拓宽了信息系统技术的应用范围和应用深度,特别随计算机硬、软件技术的快速发展,目前正处在一个极快的发展阶段,其应用已不仅限于测绘、地矿、制图、资源与环境管理等传统领域,其在设施管理、交通管理、工程建设、城市规划、灾害防治及评估、军事战略分析、商业策划、文化教育和文物考古等领域中也愈来愈扮演着重要的角色。
此外,地理信息系统还进入了军事战略分析、商业策划和文化教育等更为广泛的领域,甚至还和其他科学技术结合,进入了普通人的生活。
本实习指导书内容涉及GIS数据输入、数据处理、空间分析等GIS主要的基本操作,旨在帮助GIS初学者理解GIS理论、技术和应用,初步掌握ArcGIS软件,培养利用GIS解决地学科学问题和诸多现实问题的能力。
石河子大学师范学院地理系《地理信息系统》课程面向地理信息系统方向学生开设。
地理信息系统课程组在师资队伍、教学标准和教学资料积累方面均有很大投入,为课程打下了良好的基础。
目前网络地理信息系统开发方面的书籍较少,适合教学实习的指导书更少。
有鉴于此,根据教学需要和近几年从事GIS科研和应用的实际,笔者编译了这本参考书籍,可作为本科网络地理信息系统课程的教学辅助材料和学生上机实习的参考用书,可与有关教材、手册配合使用。
本书主要以ArcGIS9.2为平台和工具设计所有实习环节,使用数据来源于石河子大学师范学院地理系GIS教学资源库。
由于时间紧迫,缺乏笔者水平和经验所限,书中难免存在纰漏之处,恳求读者批评指正。
刘琳2010年2月于石河子大学目录第一章GI S概述 (4)一、什么是地理信息系统 (4)二、地理信息系统的产生 (4)三、当代GIS的发展趋势 (6)四、GIS相关软件及功能概述 (8)第二章ArcGIS 9概述 (12)一、ArcGIS 9简介 (12)二、ArcGIS采用的数据 (17)三、怎样学习ArcGIS? (19)第三章ArcGIS基本操作 (21)一、ArcGIS安装 (23)二、ArcMap应用基础 (33)三、ArcCatalog应用基础 (40)四、ArcToolbox应用基础 (44)第四章图形配准及矢量化 (46)一、图形配准 (46)二、图形矢量化 (50)第五章空间数据处理 (53)一、背景知识 (53)二、空间数据格式转换 (53)三、空间数据投影转换 (57)四、空间数据结构转换 (60)五、空间数据内插 (62)第六章叠合分析 (69)第七章缓冲区分析 (54)第八章网络分析 (61)第九章三维分析 (70)第一章GIS概述一、什么是地理信息系统在信息化高速发达的现代社会,至少在知识界,人们对“信息系统” 都不感陌生,各种各样的管理信息系统、咨询服务系统、决策支持系统乃至专家系统在夜以继日地帮助着人们进行着规划、管理、决策、事务处理及信息咨询,极大地提高了人们的工作效率和方便了人们的生活。
gis专题开发与设计实验教程
gis专题开发与设计实验教程
GIS(地理信息系统)专题开发与设计实验教程是针对地理信息系统领域的专题开发和设计进行实践和学习的教程。
以下是一个可能的教程内容大纲:
1. GIS基础知识介绍
- 什么是GIS
- GIS应用领域
- GIS数据类型和空间数据模型
- 常用的GIS软件和工具介绍
2. 数据采集与准备
- 数据采集方法和技术
- 数据准备和处理
- 数据质量控制和校验
3. 空间分析与可视化
- 空间数据查询与过滤
- 空间缓冲区分析
- 空间插值和推算
- 空间可视化方法和技术
4. GIS专题开发与设计
- GIS专题需求分析与设计
- 数据模型设计与数据库管理
- GIS专题开发平台和工具选择
- GIS专题开发流程和方法
5. 实验案例和项目实践
- 基于真实数据的GIS专题项目实践
- 实验案例和项目实践讨论与分析
- GIS专题开发项目报告撰写方法和技巧
通过这样的实验教程,学生可以学习到GIS技术的基础知识和原理,了解GIS系统的开发与设计过程,掌握GIS数据采集和处理的方法,掌握常用的空间分析和可视化技术,最终能够独立完成基于GIS的专题项目开发和设计。
地理信息系统实训指导书资料
111地理信息系统(空间分析)实习指导书
实习目的
通过MAIGIS K9进行GIS 空间分析实验,使学生加深空间分析概念的理解,通知掌握空间分析操作方法。
实习要求
在E 盘建立自己名字命名的文件夹,保存自己所做成果。
实习过程中学生必须加强自身管理,认真完成实习安排中所涉及到的各种实习项目,同时将结果保存,作为评分的一项重要标准依据;不得抄袭其他同学所做成果,若发现,实习
成绩为不合格;注意保护机房仪器设备,不得将U 盘,手机等移动存储设备连接于计算机,若发现,实习按不合格处理;严格按上课时间进行作息,二节课不到者按实习不合格处理。
实习报告内容要求
实习内容
具体安排:
1、矢量数据分析
1)、缓冲区分析
(1)线的缓冲区
载入数据:道路中心线,居民地域,城市水系,城市植被,需要分析的点状地物缓冲区分析
数据分析叠加分析
网络编辑与分析
属性汇总、统计
统计分析
其他分析
DEM 分析
其他分析
矢量数据分析属性分析栅格数据分析
GSQL 查询分析。
地理信息系统实习指导书2
实习二地图屏幕数字化一、实习目的掌握栅格图像配准、地图屏幕数字化的方法和步骤。
二、实习内容利用给定的河北地图删格图象(文件名HBDT.TIF),配准并通过鼠标手工跟踪显示在屏幕上的栅格图象来创建矢量地图对象。
三、实习要求地图屏幕数字化按层进行,地图要素分层及文件名如下:1.市域(面状要素,文件名SY)2.河流(线状要素,文件名SX)3.铁路(线状要素,文件名HCL)4.公路(线状要素,文件名QCL)5.城市(点状要素,文件名CS)6.注记(文本要素,文件名WB)四、实习相关知识1.MapInfo主要绘图工具和使用方法(1)“符号”按钮使用符号工具可以在地图上放置点符号。
条件是地图窗口被激活且图层可编辑。
给地图增加点符号的步骤如下:①单击“符号”按钮。
②单击地图上要加入符号的位置,点符号显示在该位置。
(2)“直线”按钮使用直线工具可以绘制直线。
条件是地图窗口被激活且一个图层可编辑。
要绘制水平、垂直或45°线,可以使用线工具时按住Shift键,注意区域或边界的框线不是线。
因此,若使用线工具绘制矩形,MapInfo将不把它看成区域,不能渲染其内部或在其中进行搜索。
绘制直线的步骤如下:①点击“直线”按钮并将鼠标指针移到要开始绘制直线的位置。
②按住鼠标键不放,拖延鼠标指针,使屏幕上出现一条线,其长度随着鼠标指针的移动而变化。
到目标位置时,再松开鼠标键。
18(3)“折线”按钮使用折线工具可以绘制折线(相连但不闭合的直线序列)。
条件是地图窗口被激活且一个图层可编辑。
折线可以被整形和进行平滑处理。
绘制折线的步骤如下:①单击折线按钮,将出现的折线工具光标移到要开始绘制的位置,并单击鼠标键左键。
②移动折线工具光标,绘制第一条直线线段。
若希望终止当前直线段并从终点处开始连续绘制下一线段时,单击鼠标左键。
③重复步骤②。
在最后一个终点处双击鼠标左键,可结束折线绘制。
(4)“圆弧”按钮使用圆弧工具可以绘制大小和形状为四分之一个椭圆的圆弧。
地理信息系统实验指导书
地理信息系统实验指导书目录实验一:ARCGIS应用基础(2学时) (1)一、arcgis体系 (1)二、ArcMap 基础 (2)1、用户界面介绍 (4)2、新建地图 (5)3、数据层的加载 (6)4、据层的一些基本操作 (8)三、ArcCatalog 应用基础 (13)1. 文件夹操作 (14)2. 栅格数据的显示 (14)3、目录内容浏览 (16)4、地图与图层操作 (17)5、地理数据输出 (19)四、ArcToolbox 应用基础 (20)1、激活扩展工具 (20)2、ToolBox 内容简介 (21)实验二:栅格图配准(2学时) (22)一、地形图配准 (22)第1步地形图的配准-加载数据和影像配准工具 (22)第2步输入控制点 (23)第3步设定数据框的属性 (25)第4步矫正并重采样栅格生成新的栅格文件 (27)二、图像配准:通过GPS点进行配准 (28)实验三:空间数据库的建立、运行(2学时) (31)一、创建新Shapefile (31)二、Geodatabase 数据库创建 (33)1、建立persornal database (33)2、建立要素集 (34)3、建立要素类 (36)4、向地理数据库加载数据 (38)5、复制地理数据库数据 (45)三、添加和删除属性 (45)四、在arcmap中查看数据 (46)五、导入GPS数据,生成图层 (47)实验四:空间数据的输入、编辑(矢量化)(4学时) (52)一、学习并熟悉各个编辑工具 (52)1 、选取、拖动和旋转要素 (52)2 、创建新要素 (52)3 、编辑存在要素 (53)二、点要素的编辑 (55)三、线要素的编辑 (56)四、多边形要素的编辑 (56)五、属性数据的编辑 (57)六、利用arcscan进行矢量化 (58)实验五:空间拓扑建立(2学时) (61)一、Arcgis中topolopy说明: (61)二、在arccatalog中创建拓扑规则的具体步骤 (62)三、有关geodatabase的topology规则 (63)四、拓扑处理 (66)实验六:空间数据处理投影转换(2学时) (67)一、裁剪要素 (67)二、拼接图层 (69)三、要素融合 (70)四、图层合并 (71)五、图层相交 (72)六、定义投影 (73)七、投影变换 (75)八数据格式转换 (75)1 在ArcCatalog中转换数据格式 (76)2 在Toolbox中进行数据转换 (79)3 利用Data Interoperability Tools工具进行数据转换 (80)补充:图层相减,计算面积 (83)实验七:空间分析(4学时) (84)1. 了解栅格数据 (85)2. 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) (86)3. 栅格重分类(Raster Reclassify) (89)4. 栅格计算-查询符合条件的栅格(Raster Calculator) (90)5. 面积制表(Tabulate Area) (91)6. 分区统计(Zonal Statistic) (93)7. 缓冲区分析(Buffer) (95)8. 空间关系查询 (98)9. 采样数据的空间内插(Interpolate) (99)10. 栅格单元统计(Cell Statistic) (103)11. 邻域统计(Neighborhood) (105)实验八:缓冲区分析(2学时) (107)1. 距离制图-创建缓冲区 (107)1.1 点要素图层的缓冲区分析 (108)1.2 线要素图层的缓冲区分析 (109)1.3 多边形图层的缓冲区分析 (111)2.综合应用实验 (112)2.1 水源污染防治 (112)2.2 受污染地区的分等定级 (114)2.3 城市化的影响范围 (117)实验九:DEM分析(2学时) (120)1. TIN 及DEM 生成 (121)1.1由高程点、等高线矢量数据生成TIN转为DEM (121)1.2 TIN的显示及应用 (123)2. DEM的应用 (135)2.1坡度:Slope (135)2.2 坡向:Aspect (138)2.3提取等高线 (140)2.4计算地形表面的阴影图 (141)2.5可视性分析 (144)2.6地形剖面 (146)实验十:地图制图(4学时) (148)1、渲染图层要素-唯一值符号 (148)2、标注图层要素 (152)3、渲染图层要素—分类渲染 (154)4、渲染图层要素—点密度渲染 (158)5、渲染图层要素—图表渲染 (160)6、创建地图版面 (161)7、添加各种元素到地图版面中 (166)8、打印输出地图 (172)关于本实验的说明本实验将围绕如何利用地理信息系统来制作中南林业科技大学所在图幅(1:1万)范围内的土地利用现状图,实验流程的整个流程将涉及到GIS数据处理的整个流程,包括地形图配准、空间数据库建立、矢量化、空间数据的查询与分析、专题图制作等。
地理信息系统指导书
《地理信息系统》实验指导书内江师范学院资源与环境科学学院2010.09.实验一空间数据录入一、实验目的1、掌握地图扫描矢量化的基本原理与方法;2、熟悉R2V软件的主要绘图和编辑工具,会用R2V软件数字化地图。
二、实验准备在数字化之前必须设计好数字化所采用的技术路线,它不仅直接关系到地图数字化的效率,而且也关系到数字化成果的质量。
确定数字化的技术路线包括选取什么样的地图作为数字化底图,采用何种方式进行数字化,对哪些要素进行数字化,如何对数字化要素进行分层和分幅,以及代码的设计等等。
1、硬件准备:性能良好的计算机2、软件准备:R2V3、资料准备:(1)数字化底图:四平镇1:5万地形图,地图等高距为10米;(2)图幅控制点坐标:图幅控制点坐标是用来进行图幅定向的,它能够确定地图的地理位置和比例大小。
如表1:表1 图幅控制点坐标表x坐标y坐标左上122.0000 46.0000右上122.2500 46.0000右下122.2500 45.8333左下122.0000 45.8333 (3)确定地图的分层与分幅:GIS是以图层的方式管理地图的,将点、线、面等地理实体按其性质的不同分别归入不同的图层进行分层管理是GIS管理空间数据的基本方式。
如表2:表2 地理要素分层及代码表一类代码二类代码几何特征名称编码名称编码名称地形771 等高线71010 线高程点72010 点政区 661 省界61030 多边形地界61040 多边形县界61050 多边形交通 441 公路42240 线桥梁43010 线土地 331 居民点31030 点水系 221 河流(双线)21012 多边形河流(单线)21011 线湖泊23010 多边形(4)设计代码:代码的设计非常重要,它是计算机存贮、检索、识别的基础,使之能够满足各种应用分析需求。
(5)在计算机上建立自己的实习目录,例如:E:\GIS\姓名,将地图影像放入。
三、实验内容点、线、多边形的数字化四、实验步骤1、常用键F2--放大或放大到矩形框;F3--缩小;F5--全局视图;F6--前一视图;F4--灰度影像对比度;F1--帮助;PageUp,PageDown,方向键--滚动窗口。
地理信息系统实习指导书5
实习五属性数据库的建立一、实习目的掌握属性数据库建立的一般方法和过程,熟悉数据库的基本操作。
二、实习内容1.属性数据编码。
2.建立数据结构。
3.录入属性数据。
4.数据编辑。
三、实习要求1.属性数据编码按政区进行编码,编码共4位,按市、县(含市区、县级市)行政级别顺序编码,前两位为市码,后两位为县码,同时要区分出县级市和市区。
具体规定为:市别代码市别代码石家庄市 01 张家口市 07唐山市 02 承德市 08秦皇岛市 03 沧州市 09邯郸市 04 廊坊市 10邢台市 05 衡水市 11保定市 06市辖区代码为“01~09”,县级市为“10~19”,县为“20~”。
如石家庄市区、鹿泉市、井陉县的编码分别为“0101”、“0110”和“0120”。
2﹒数据库结构定义要求项目字段名类型宽度县(市)名称 MC 字符 8区位 QW 字符 4编码 bm 字符 41990年总人口 zrk_90 整型481982年总人口 zrk_82 整型面积 mj 整型1990年男人口 nrk_90 整型3.数据录入编码和数据录入要准确无误,否则会影响下一步的地理分析。
四、实习相关知识1.数据库的建立(1)修改表的结构使用“表>维护>表结构”命令,可访问“修改表结构”对话框。
该对话框允许你指定新数据库中每个字段的字段名、字段类型、字符数(宽度)以及是否对该字段建索引。
总之,这些信息就是数据库的结构。
“修改表结构”对话框中的“表可地图化”选项能让你修改一个表使它可地图化,若清除选择该选项,则可撤消对表的地理编码。
“修改表结构”对话框显示出可编辑的表,并允许你修改表的结构。
“查看表结构”对话框显示出只读表,只用于查看表的结构。
修改表的结构:①选择“表>维护>表结构”,出现“查看/修改表结构”对话框。
②单击“查看/修改表”下拉列表,出现可用表清单(如图5-1所示)。
图5-1 “查看/修改表”对话框图5-2 “修改表结构”对话框③选择你想修改的表。
《地理信息系统原理》课程实验课指导书(含实验报告)
《地理信息系统概论》实验指导书吉林大学地探学院测绘工程系2006年01月10 日测量实验注意事项1.实验之前必须阅读有关的教材及实验指导书,了解实验内容要求和步骤。
2.实验记录应用正楷填写,不可潦草,并按规定的填写日期、仪器名称、仪器号码、使用人、仪器状态。
3.使用计算机过程中要按照指导教师的要求去做,不可随意删除计算机内其它文件。
不可随意更换页面。
4.没经过指导教师与实验室老师的允许不可随意拷入其它软件。
5.实验结束后应把实验报告上交指导教师审阅,符合要求方可离开。
6.实验结束后应关闭电源,清理桌面、清扫地面。
实验室仪器操作细则1.对实验室内的计算机必须爱护,不可随意搬动。
2.使用时先打开电源。
3.点击所要使用遥感和地理信息系统的有关软件。
4.实验完成之后保存实验图象,退出使用界面。
5.实验完毕应关闭计算机电源。
6.一切仪器若发生故障,应及时向指导教师或实验室工作人员回报,不得自行处理,若有损坏,遗失应写书面检查,进行登记、酌情赔偿。
实验一GIS认识实习---熟悉ARCGIS软件以及相关数据格式实验类别:综合性实验实验学时:2学时实验地点:机房实验依据:《遥感与地理信息系统》实验教学大纲实验仪器与工具:微机、ARCGIS软件、遥感图像、各种格式文件实验目的与要求:1、使学生了解不同数据结构栅格数据,矢量数据在计算机中的存储方式。
2、了解ARC/INFO的发展、功能、模块及特点;熟悉一些基本概念;如:Coverage、弧段、结点、拓扑关系,RASTER、空间参考系等3、使学生了解不同数据结构栅格数据,矢量数据在计算机中的存储方式。
4、了解ARC/INFO的发展、功能、模块及特点;熟悉一些基本概念;如:Coverage、弧段、结点、拓扑关系,RASTER、空间参考系等。
5、如何创建一个空白的矢量化图层,如何给数据定义空间参考系。
实验内容与步骤:一、ARC/INFO的简单介绍ARC/INFO是ESRI公司于1982年推出的第一套地理信息软件。
地理信息系统实习指导书6
实习六地图数据可视化图形分析与缓冲区分析(2)一、实习目的理解GIS空间分析的基本原理,了解区域分析的基本方法。
学会运用GIS软件进行空间分析操作。
掌握地图可视化的基本方法和步骤,了解图形分析和缓冲区分析过程。
二、实习内容1.河北省各市人口分析。
2.河北省不同地形区人口分析。
3.河北省不同纬度带人口分析(南,北,中)。
4.河北省不同经度带人口分析(东,中,西)。
5.典型市分析(以石家庄为例)。
6.缓冲区分析(以京广铁路为例)。
三、实习相关知识1.地理分析中的编辑操作(1)设置目标编辑模式进行编辑操作(合并、分割、擦除外部、叠压节点)。
(2)设置目标使用“设置目标”为随后的编辑命令(“合并”、“擦除”、“擦除外部”、“分割”和“叠压节点”)(3)聚合/分解数据如果被编辑的对象有附属属性数据,可以将各字段数据按比例分配给新创建的对象。
根据合并对象还是分割对象来判定是数据聚合或分解,MapInfo (4)合并对象“合并”命令可以将分离的地图对象合并为单一对象。
“合并”命令还执行数据集成,这样新对象的数据列将包含原始对象的值的总和或平均值。
“合并”命令用于被选中的对象。
(5)分割对象分割对象允许用其它对象作为剪切器,将目标对象分割为多个小对象。
使用“分割”命令可分割封闭对象(区域、椭圆、矩形或圆角矩形)或开放82对象(折线、线与圆弧)。
(7)叠压节点“叠压节点”命令在目标对象与当前选中对象相交的所有点上向目标对象增加节点。
为已有对象增加节点:(8)缓冲区可以为单个点对象、多个点对象或整个图层的点对象创建包围这些对象的缓冲区。
缓冲区是指离对象某一特定距离以内的所有区域。
图7-4 “缓冲区对象”对话框四、实习步骤1.缓冲区分析(以京广铁路影响区为例)(1)缓冲区的建立①选择“文件>打开表”命令,打开铁路表TL,并设置为“可编辑”状态,并标注铁路名称。
②单击工具条的“选择”按钮,选中京广铁路。
③选择“对象>缓冲区”命令,缓冲区的半径值,“值”栏内输入:20;8384。
地理信息系统实习指导书1
实习一了解GIS 基本功能,初识MapInfo软件一、实习目的熟悉桌面GIS软件MapInfo的界面环境,初步掌握MapInfo 主要工具、菜单命令的使用,并在此基础上理解GIS软件应具备的基本功能。
二、实习内容1.掌握MapInfo软件的基本概念,了解MapInfo的基本功能;2.熟悉MapInfo 主要菜单命令的操作使用方法。
三、实习相关知识1.MapInfo软件简介MapInfo软件是由美国MapInfo公司开发的GIS软件,它是一个面向中小型用户的桌面地理信息系统。
MapInfo 软件实质上是由“ Mapping + Information”构成,它具有小型、灵活、简单的特点。
在用户界面上MapInfo 利用Windows的功能,提供符号化的菜单和开发工具,使用户易于掌握。
在数据库接口上,MapInfo可以直接接收DBASE和FOXBASE的数据格式而无需中间加工。
在图形上还可与AUTOCAD、ARC/INFO等的数据实现共享。
在数据的可视化方面,MapInfo具有很大的灵活性,每一张地图都可以用不同层次的图叠加而成,并且通过窗口的缩放功能观察整体和局部的细节。
除了一般的查询、显示、绘图功能外,MapInfo软件也具备地理信息系统的空间分析功能,如叠加分析、缓冲区分析、数值及统计计算等。
虽然MapInfo原有的市场定位是桌面制图(Desktop Mapping),并提供了日益完善的桌面产品MapInfo Professional。
但是随着后来以Internet 和Intrannet为代表新的计算机体系结构的出现以及开放和一体化GIS技术的发展,MapInfo公司在其桌面产品的基础上推出了一系列新的产品,如二次开发工具MapBasic,能够扩展MapInfo功能,实现程序的自动重复操作并使MapInfo与其他应用软件集成。
地图应用服务器MapInfo Proserver,能使用户通过任何一个Web浏览器或用户制定界面,直接使用其桌面地理信息系统应用软件(如图1-1所示)。
《地理信息系统设计与开发》实验指导书
《地理信息系统设计与开发》实验指导书(黑体,小3号)课程编号:地理信息系统设计与开发课程英文名称:Design and Development of Geographic Information System 学时数: 36 学分数:3适用层次和专业:地理信息系统及测绘工程本科实验一安装MO和VB1.实验目的学习安装MO学习安装VB6熟悉VB6开发环境2.实验内容安装VB6.0安装MO2.3或更高版本在VB窗体中添加MO组件为MO组件添加数据china.shp实验二视图缩放和全图操作1.实验目的掌握MO控件的一般使用方式2.实验内容添加地图控件,通过设置地图控件的属性添加数据在窗体上增加一个按钮,双击这个按钮,在代码窗口中输入以下代码Private Sub Command1_Click()Set Map1.Extent = Map1.FullExtentEnd Sub双击地图控件为他的事件 MouseDown 增加以下代码Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton ThenSet Map1.Extent = Map1.TrackRectangleEnd IfEnd Sub进一步操作PopUp Menu(右键菜单)使用菜单编辑器生成一个右键菜单Popup1,为Popup1建立以下几个子菜单项“显示全图”“放大”“缩小”编写代码实现“显示全图”的功能;Private Sub pop1Full_Click()Map1.Extent = Map1.FullExtentEnd Sub修改Mouse事件中的代码,显示右键菜单Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton ThenSet Map1.Extent = Map1.TrackRectangleElse: Button = vbRightButtonPopupMenu pop1End IfEnd Sub进一步操作:工具栏ToolBar在窗体上放置ImageList控件设置ImageList1的属性,增加图片ZoomIn.bmp;ZoomOut.bmp;Pan.bmp;Globe.bmp(这些文件在光盘目录BitMaps 下)在窗体上放置ToolBar控件设置ToolBar1的属性,将ToolBar1的图像列表设置为ImageList1;增加按钮ZoomIn,ZoomOut,Pan,设置样式为2-tbrButtonGroup,并设置相应的显示图片;增加第4个按钮设置样式为4-tbrPlaceholder;增加第5个按钮btnFullExtent设置图片为Globe.bmp注意:VB控件库 Microsoft Windows Common Controls 6.0 中包含ToolBar 和ImageList控件实验三动态加载图层1.实验目的掌握CommandDialog 组件添加图层的方法练习VB中添加按钮的一般方法2.实验内容导入CommandDialog 组件,这一组件在对象库Microsoft Common Dialog Control 6.0 中。
《地理信息系统》实验指导书
地理信息系统实验指导书安放舟编着新疆大学资源与环境科学学院二零一五年六月目录课程实验大纲地理信息系统的实验是与理论课同步进行的课程实验,是非独立开设的实验。
本实验中,有许多内容仍属于理论课内容的延伸。
1实验简介及基本要求上机实验是地理信息系统课程的重要环节,它贯穿于整个《地理信息系统》课程教学过程中。
本课程的实验分为前期准备阶段、基本操作阶段和技术提高阶段三个阶段,其主要内容和基本要求为:(1)前期准备阶段地理信息系统课程实验的第一阶段为前期准备阶段。
前期准备阶段的主要任务是了解应用软件的大致情况,地图投影、理解计算机制图、数据库、图层和表的基本概念,数据采集;根据要求熟悉Mapinfo7.0工作环境。
(2)基本操作阶段地理信息系统课程实验的第二阶段为基本操作阶段。
基本操作阶段的主要任务是掌握地图配准、装饰层的应用、图层和表的关系,图层的基本操作,并能够针对简单的实际问题提出解决方法,得到需要的结果。
(3)技术提高阶段地理信息系统课程实验的第三个阶段为技术提高阶段。
技术提高阶段的实验,要求学生不仅要把课本上的内容掌握好,同时还需要自学一些相关的知识,包括表的属性、函数的应用、重新分区、查询、数据更新、统计图形的输出、输出设计。
将理论知识与实际问题相结合。
2课程实验目的要求实验的主要目标是:(1)通过上机操作,加深对地理信息系统实践知识的理解。
(2)通过使用Mapinfo7.0,了解一种实际的地理信息系统软件,并掌握其操作技术。
(3)通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。
3适用专业适用于资源与环境科学学院的地理信息系统、地理科学、资源环境与城乡规划管理、生态学等专业。
4主要实验环境软件:操作系统为MicrosoftWindowsXP。
地理信息系统软件为Mapinfo7.0硬件:台式计算机、大幅面扫描仪、A3扫描仪、激光打字机、绘图仪笔记本计算机、GPS、数码照相机、移动硬盘5实验方式与基本要求(1)第一次实验前,任课教师需要向学生讲清实验的整体要求及实验的目标任务;讲清实验安排和进度、平时考核内容、期末考试办法、实验守则及实验室安全制度;讲清上机操作的基本方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《地理信息系统设计与开发》实验指导书(黑体,小3号)课程编号:地理信息系统设计与开发课程英文名称:Design and Development of Geographic Information System 学时数: 36 学分数:3适用层次和专业:地理信息系统及测绘工程本科实验一安装MO和VB1.实验目的学习安装MO学习安装VB6熟悉VB6开发环境2.实验内容安装VB6.0安装MO2.3或更高版本在VB窗体中添加MO组件为MO组件添加数据china.shp实验二视图缩放和全图操作1.实验目的掌握MO控件的一般使用方式2.实验内容添加地图控件,通过设置地图控件的属性添加数据在窗体上增加一个按钮,双击这个按钮,在代码窗口中输入以下代码Private Sub Command1_Click()Set Map1.Extent = Map1.FullExtentEnd Sub双击地图控件为他的事件 MouseDown 增加以下代码Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton ThenSet Map1.Extent = Map1.TrackRectangleEnd IfEnd Sub进一步操作PopUp Menu(右键菜单)使用菜单编辑器生成一个右键菜单Popup1,为Popup1建立以下几个子菜单项“显示全图”“放大”“缩小”编写代码实现“显示全图”的功能;Private Sub pop1Full_Click()Map1.Extent = Map1.FullExtentEnd Sub修改Mouse事件中的代码,显示右键菜单Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton ThenSet Map1.Extent = Map1.TrackRectangleElse: Button = vbRightButtonPopupMenu pop1End IfEnd Sub进一步操作:工具栏ToolBar在窗体上放置ImageList控件设置ImageList1的属性,增加图片ZoomIn.bmp;ZoomOut.bmp;Pan.bmp;Globe.bmp(这些文件在光盘目录BitMaps 下)在窗体上放置ToolBar控件设置ToolBar1的属性,将ToolBar1的图像列表设置为ImageList1;增加按钮ZoomIn,ZoomOut,Pan,设置样式为2-tbrButtonGroup,并设置相应的显示图片;增加第4个按钮设置样式为4-tbrPlaceholder;增加第5个按钮btnFullExtent设置图片为Globe.bmp注意:VB控件库 Microsoft Windows Common Controls 6.0 中包含ToolBar 和ImageList控件实验三动态加载图层1.实验目的掌握CommandDialog 组件添加图层的方法练习VB中添加按钮的一般方法2.实验内容导入CommandDialog 组件,这一组件在对象库Microsoft Common Dialog Control 6.0 中。
添加Map控件,Conmon Dialog 控件,并将其名称改为cDlg1,添加一个按钮.程序代码:Private Sub Command1_Click()Dim shpLayer As New MapObjects2.MapLayerDim DC As New MapObjects2.DataConnectionDim gds As MapObjects2.GeoDatasetDim FName As StringcDlg1.Filter = "ESRI Shape文件(*.shp)|*.shp"cDlg1.CancelError = TrueOn Error GoTo eTrapcDlg1.ShowOpenIf Len(cDlg1.FileName) = 0 Then Exit SubDC.Database = CurDirIf Not DC.Connect Then Exit SubFName = Left(cDlg1.FileTitle, Len(cDlg1.FileTitle) - 4) Set gds = DC.FindGeoDataset(FName)If gds Is Nothing Then Exit SubSet shpLayer.GeoDataset = gdsyers.Add shpLayerExit SubeTrap:If Err.Number <> cdlCancel ThenMsgBox Err.Description, vbCriticalEnd IfEnd Sub实验四调整图层顺序1.实验目的掌握在MO当中如何调整图层顺序2.实验内容‘置顶当前图层Private Sub lstLayers_DblClick()Dim lyr As MapObjects2.MapLayerIf lstLayers.ListIndex <> -1 Thenyers.MoveToTop lstLayers.ListIndexMap1.RefreshlstLayers.ClearFor Each lyr In yerslstLayers.AddItem Next lyrEnd IfEnd Sub‘上移图层Private Sub Command2_Click()Dim i As IntegerDim lyr As MapObjects2.MapLayerIf lstLayers.ListIndex <> -1 And lstLayers.ListIndex > 0 Theni = lstLayers.ListIndex - 1yers.MoveTo lstLayers.ListIndex, iMap1.RefreshlstLayers.ClearFor Each lyr In yerslstLayers.AddItem Next lyrlstLayers.Selected(i) = TrueEnd IfEnd Sub‘下移图层Private Sub Command4_Click()Dim i As IntegerDim lyr As MapObjects2.MapLayerIf lstLayers.ListIndex <> -1 And lstLayers.ListIndex < lstLayers.ListCount - 1 Theni = lstLayers.ListIndex + 1yers.MoveTo lstLayers.ListIndex, iMap1.RefreshlstLayers.ClearFor Each lyr In yerslstLayers.AddItem Next lyrlstLayers.Selected(i) = TrueEnd IfEnd Sub实验五取消图层调入和动态跟踪层1.实验目的掌握取消图层调入掌握动态跟踪层的使用2.实验内容‘取消图层调入,运行时设置Map.CancelAction = moCancelMap添加一个command1按钮。
增加事件Command1_Click()。
添加在运行时添加图层的代码添加事件Map1_DrawingCanceled()Private Sub Map1_DrawingCanceled()MsgBox "the layer(or layers) has been canceled!"End Sub‘TrackingLayer动态跟踪Dim pt As New MapObjects2.Point' convert the point to map coordinatesSet pt = Map1.ToMapPoint(X, Y)' add a new eventMap1.TrackingLayer.AddEvent pt, symIndex实验六缓冲区1.实验目的掌握使用缓冲区功能2.实验内容Private Sub Form_Load()Map1.TrackingLayer.SymbolCount = 2With Map1.TrackingLayer.Symbol(0).SymbolType = moPointSymbol.Style = moCircleMarker.Color = moRed.Size = 3End WithWith Map1.TrackingLayer.Symbol(1).SymbolType = moFillSymbol.Style = moGrayFill.Color = moRed.OutlineColor = moRedEnd WithEnd SubPrivate Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)Dim sym1 As New MapObjects2.Symbolsym1.SymbolType = moFillSymbolsym1.Style = moTransparentFillsym1.OutlineColor = moBlackMap1.DrawShape Map1.FullExtent, sym1End Sub查看各顶点的M属性地图数据:ynroadsm.shpDim line As New MapObjects2.lineDim recs As New MapObjects2.RecordsetDim recCount As IntegerDim i As IntegerList1.ClearSet recs = yers(0).RecordsrecCount = recs.CountFor i = 0 To recCount - 1List1.AddItem "线段:" & i + 1Set line = recs("Shape").ValueoutputMeasures lineNext iPrivate Sub outputMeasures(aLine As MapObjects2.line) Dim itemCount As IntegerDim partLine As MapObjects2.PointsDim i As IntegerFor Each partLine In aLine.PartsFor i = 0 To partLine.Count - 1 Step 1'No of vertices in totalitemCount = itemCount + 1With partLine.Item(i)List1.AddItem "Item:" & i & "," & itemCount & Chr(9) & "X:" & Format(.X,"##.00") & Chr(9) & "Y:" & Format(.Y, "#.00") & Chr(9) & "M:" & Format(.Measure,"##.00")End WithNext iNext partLineEnd Sub实验七控件坐标和地图坐标1.实验目的掌握控件坐标和地图坐标转化的一般方法学习地图距离获取的一般方法2.实验内容1.控件坐标与地图坐标添加数据Chinaprj.shpPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Form1.RefreshForm1.CurrentX = 0Form1.CurrentY = 200Print "当前鼠标坐标 X:" & X & vbTab & vbTab & "Y: " & YPrintDim pt As MapObjects2.PointSet pt = Map1.ToMapPoint(X, Y)Print "当前地图坐标 X: " & pt.X & vbTab & "Y: " & pt.YPrintPrint Map1.Height & vbTab & vbTab & Map1.WidthEnd Sub2. 控件距离与地图距离Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim mypl As New MapObjects2.LineSet mypl = Map1.TrackLineMap1.TrackingLayer.AddEvent mypl, 0Print "地图距离为:" & mypl.LengthPrint "控件距离为:" & Map1.FromMapDistance(mypl.Length) End Sub3. ProjectionChina.shpPrivate Sub Command1_Click()Dim mycs As New MapObjects2.GeoCoordSysmycs.Type = moGeoCS_Beijing1954Dim mypjcs As New MapObjects2.ProjCoordSysmypjcs.Type = moProjCS_Beijing1954GK_13Set yers(0).CoordinateSystem = mycsSet Map1.CoordinateSystem = mypjcsEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim mypt As MapObjects2.PointSet mypt = Map1.ToMapPoint(X, Y)Text1.Text = "X is" & mypt.X & "Y is" & mypt.YEnd Sub实验八地图投影1.实验目的掌握如何判断地图是否投影掌握如何更改地图投影2.实验内容判断有没有投影添加数据 china 和 chinaprj 调整顺序观察结果Private Sub Command1_Click()Dim mycorsys As ObjectDim mymaplayer As MapObjects2.MapLayerSet mymaplayer = yers(0)Set mycorsys = mymaplayer.CoordinateSystemIf mycorsys Is Nothing ThenMsgBox "图形为地理坐标系或地图参数未设置"ElseIf mycorsys.IsProjected ThenMsgBox "图形为投影坐标系"Print mymaplayer.CoordinateSystem.TypePrint Print mymaplayer.CoordinateSystem.ReturnDescriptionText1.Text = mymaplayer.CoordinateSystem.ReturnDescription End IfEnd IfEnd Sub2.更改投影添加数据 country 和 world30Private Sub Command1_Click()Dim CSMap As New MapObjects2.ProjCoordSysCSMap.Type = moProjCS_World_WinkelIDim CSMapLayer As New MapObjects2.GeoCoordSysCSMapLayer.Type = moGeoCS_WGS1984Set yers(0).CoordinateSystem = CSMapLayerSet yers(1).CoordinateSystem = CSMapLayerSet Map1.CoordinateSystem = CSMapMap1.Extent = Map1.FullExtentEnd SubPrivate Sub Command2_Click()Dim CSMap As New MapObjects2.GeoCoordSysCSMap.Type = moGeoCS_WGS1984Set Map1.CoordinateSystem = CSMapMap1.Extent = Map1.FullExtentEnd SubPrivate Sub Command3_Click()Dim CSMap As New MapObjects2.ProjCoordSysCSMap.Type = moProjCS_World_RobinsonSet Map1.CoordinateSystem = CSMapMap1.Extent = Map1.FullExtentEnd Sub3.投影转换,坐标转换第一个图添加数据 country world30 china 第二个图添加数据chinaDim myGT As New MapObjects2.GeoTransformation Dim gcsBJ54 As New MapObjects2.GeoCoordSys Dim myprjBJ54 As New MapObjects2.ProjCoordSys Dim gcsWGS84 As New MapObjects2.GeoCoordSysDim myPt1, myPt2 As New MapObjects2.PointPrivate Sub Form_Load()'begin some pre declearmyprjBJ54.Type = moProjCS_Beijing1954GK_17 gcsBJ54.Type = moGeoCS_Beijing1954gcsWGS84.Type = moGeoCS_WGS1984Set myGT.FromGeoCoordSys = gcsBJ54Set myGT.ToGeoCoordSys = gcsWGS84myGT.Direction = moDirection_Forward = "BJ54_To_WGS1984"myGT.Method = moMethod_PositionVectormyGT.SetParameter moParm_DeltaX, 24myGT.SetParameter moParm_DeltaY, -123myGT.SetParameter moParm_DeltaZ, -94myGT.SetParameter moParm_RotationX, -0.02myGT.SetParameter moParm_RotationY, -0.25myGT.SetParameter moParm_RotationZ, -0.13myGT.SetParameter moParm_DeltaScale, 1'begin map1Set yers(0).CoordinateSystem = gcsWGS84Set yers(1).CoordinateSystem = gcsWGS84Set yers(2).CoordinateSystem = gcsWGS84If Map1.CoordinateSystem Is Nothing ThenSet Map1.CoordinateSystem = gcsWGS84End If'begin map2Set yers(0).CoordinateSystem = gcsWGS84If Map2.CoordinateSystem Is Nothing ThenSet Map2.CoordinateSystem = myprjBJ54End IfEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Set myPt1 = Map1.ToMapPoint(X, Y)Map1.TrackingLayer.AddEvent myPt1, 0Set myPt2 = Map2.CoordinateSystem.Transform(Map1.CoordinateSystem, myPt1, , myGT)Map2.TrackingLayer.AddEvent myPt2, 0Print myPt1.X & " "; myPt1.YPrint myPt2.X & " "; myPt2.YEnd Sub实验九文件状态的查询1.实验目的掌握文件状态的查询的一般方法2.实验内容1. 显示文件状态、复习动态加载数据加载数据world30,拷贝china到程序运行目录Private Sub Command1_Click()Dim myrcs As New MapObjects2.RecordsetDim mygeods As New MapObjects2.GeoDatasetDim mydc As New MapObjects2.DataConnection mydc.Database = App.PathPrint App.PathSet mygeods = mydc.FindGeoDataset("china") mygeods.AllowSharing = True'Print 'Print mygeods.HasMeasure'Print mygeods.HasZ'Print mygeods.AllowSharingPrint mydc.GeoDatasets(0).AllowSharingmydc.GeoDatasets(0).AllowSharing = TruePrint mydc.GeoDatasets(0).AllowSharingDim mymaply As New MapObjects2.MapLayerSet mymaply.GeoDataset = mygeodsyers.Add mymaplyPrint mymaply.Records.Count'Set myrcs = yers(0).Records'yers(0).GeoDataset.AllowSharing = True 'Print yers(0).GeoDataset.HasMeasure Print yers.Item(0).NameEnd Sub2 访问shp文件表格各属性加载数据chinaprjPrivate Sub Command1_Click()Dim myrcs As New MapObjects2.Recordset Set myrcs = yers(0).Records Dim myfld As New MapObjects2.FieldSet myfld = myrcs.Fields("Name")Print myfld.TypePrint Print myfld.ValuePrint myfld.ValueAsStringmyrcs.MoveNextSet myfld = myrcs.Fields("Name")Print myfld.TypePrint Print myfld.ValuePrint myfld.ValueAsStringDim myflds As MapObjects2.FieldsSet myflds = myrcs.FieldsPrint myflds.CountEnd Sub实验十记录集1.实验目的掌握RecordSet的一般用法掌握CalculateStatistics方法创建统计结果2.实验内容查询记录、显示RecordSet记录数目并遍历加载数据chinaprjPrivate Sub Command1_Click()Dim myrcs As New MapObjects2.RecordsetSet myrcs = yers(0).SearchExpression("Area > 2000") Print myrcs.CountIf myrcs Is Nothing ThenPrint "Nothing; there"Elsemyrcs.MoveFirstWhile (Not myrcs.EOF)Print myrcs.Fields("Name").ValueAsStringmyrcs.MoveNextWendDim mystats As MapObjects2.StatisticsSet mystats = myrcs.CalculateStatistics("ObjectID") Print mystats.CountEnd IfEnd Sub实验十一更新表格数据1.实验目的掌握访问Shape文件中表格数据的一般方法掌握如何更新表格数据2.实验内容更新shp文件表格的值加载数据chinaprjPrivate Sub Command1_Click()Dim myarea, sumarea As Doublesumarea = 0Dim myrcs As MapObjects2.RecordsetSet myrcs = yers(0).RecordsIf yers(0).Records.Updatable ThenFor i = 0 To myrcs.Count - 1myarea = myrcs.Fields("shape").Value.Area / 1000000 'myrcs.Edit'myrcs.Fields("Area").Value = myarea'myrcs.Updatemyrcs.MoveNextsumarea = sumarea + myarea'yers(0).SearchExpression (expression)Next iEnd IfPrint sumarea'myrcs.Export "d:\mych"End Sub实验十二几何要素1.实验目的掌握点线面等几何要素的用法掌握几何要素点集points和部件parts的构造方法2.实验内容Dim myLine as New MapObjects2.LineDim new_line as New MapObjects2.LineDim pts As New MapObjects2.PointsDim pt As New MapObjects2.Pointpt.X = 100pt.Y = 100pts.Add ptpt.X = 200pt.Y = 200pts.Add ptpt.X = 300pt.Y = 300pts.Add ptnew_line.Parts.Add ptsMap1.TrackingLayer.AddEvent new_line, 0Map1.Refresh‘添加多边形Dim poly As New MapObjects2.PolygonDim pts As New MapObjects2.PointsDim pt As New MapObjects2.Pointpt.X = 100pt.Y = 100pts.Add ptpt.X = 400pt.Y = 100pts.Add ptpt.X = 250pt.Y = 400pts.Add ptpt.X = 100pt.Y = 100pts.Add ptpoly.Parts.Add ptsMap1.TrackingLayer.AddEvent poly, 0Map1.RefreshPrivate Sub Command1_Click()实验十三查找SearchShape1.实验目的掌握SearchShape查找方法的用法了解SearchMethod查找方法的各种常数含义2.实验内容Option ExplicitDim recset1 As MapObjects2.Recordset 'original polygon Dim recset2 As MapObjects2.Recordset 'neighborsPrivate Sub Form_Load()yers(0).Symbol.color = moPaleYellowEnd SubPrivate Sub Map1_AfterLayerDraw(ByVal index As Integer, ByVal canceled As Boolean, ByVal hDC As stdole.OLE_HANDLE)Call DrawSelection(recset2, moDarkGreen)Call DrawSelection(recset1, moMagenta)Set recset1 = NothingSet recset2 = NothingEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim pt As MapObjects2.PointSet pt = Map1.ToMapPoint(X, Y)Set recset1 = yers(0).SearchShape(pt, moPointInPolygon, "")Set recset2 = yers(0).SearchShape(recset1, moCommonPoint, "")Map1.RefreshEnd SubSub DrawSelection(recs As MapObjects2.Recordset, color)' draw the features of a RecordSetDim sym As New MapObjects2.Symbolsym.SymbolType = moFillSymbolsym.Style = moSolidFillsym.color = colorIf Not recs Is Nothing ThenMap1.DrawShape recs, symEnd IfEnd Sub实验十四查找SearchByDistance1.实验目的掌握查找方法SearchByDistance的用法掌握VB和MO中如何确定容错距离2.实验内容Dim myTol As DoubleDim myCircle As ObjectDim resultSym As New MapObjects2.Symbol Dim resultRcs As MapObjects2.Recordset Dim iTargetLy As IntegerPrivate Sub Form_Load()'create list index of each maplayerList1.ClearFor i = 0 To yers.Count - 1List1.AddItem yers(i).NameNextList1.ListIndex = 0'define the symbol of the selected items resultSym.SymbolType = moFillSymbol resultSym.Style = moSolidFill resultSym.Color = moLightYellow'define the default search methodOption1(1).Value = TrueEnd SubPrivate Sub List1_Click()If List1.ListIndex <> -1 Then'Print List1.ListIndexiTargetLy = List1.ListIndexEnd IfEnd SubPrivate Sub Map1_AfterTrackingLayerDraw(ByVal hDC Asstdole.OLE_HANDLE)'drawing searching resultIf Not resultRcs Is Nothing ThenMap1.DrawShape resultRcs, resultSymEnd IfEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbRightButton ThenSet myCircle = Map1.TrackCircleElseIf myCircle Is Nothing Then'set the default tolerance to be 3 pixelmyTol = Map1.ToMapDistance(3 * Screen.TwipsPerPixelX)Else'check if the tolerance need to be updatemyTol = myCircle.Width / 2End If'Print myTol'begin polygon searching>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dim pt As MapObjects2.PointSet pt = Map1.ToMapPoint(X, Y)If Option1(1).Value = True ThenSet resultRcs = yers(iTargetLy).SearchShape(pt, moPointInPolygon, "")ElseSet resultRcs = yers(iTargetLy).SearchByDistance(pt, myTol, "")End If'end polygon searching>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Map1.RefreshEnd IfEnd Sub实验十五渲染1.实验目的掌握MO中图形渲染的一般方法掌握ValueMapRenderer、DotDensityRenderer等渲染的基本用法2.实验内容Option ExplicitPrivate m_pRenderer As New MapObjects2.ValueMapRendererPrivate Sub Form_Load()Dim pRecset As MapObjects2.Recordset, pField As MapObjects2.Field Set pRecset = yers(0).RecordsFor Each pField In pRecset.FieldsList1.AddItem NextWith m_pRenderer.SymbolType = moPointSymbol.Field = "FeatureId"Dim pStats As MapObjects2.StatisticsSet pStats =yers(0).Records.CalculateStatistics("FeatureID") .ValueCount = pStats.CountDim l As LongFor l = 0 To .ValueCount - 1.Symbol(l).SymbolType = moPointSymbol.Symbol(l).Size = 5.Value(l) = lNextEnd WithSet yers(0).Renderer = m_pRendererEnd SubPrivate Sub List1_DblClick()m_pRenderer.ScalingField = List1.List(List1.ListIndex) Map1.RefreshEnd Sub实验十六比例尺1.实验目的掌握MO比例尺控件的用法2.实验内容Option ExplicitPrivate Sub Map1_AfterTrackingLayerDraw(ByVal hDC Asstdole.OLE_HANDLE)'Set the ScaleBar's MapExtent.With ScaleBar1.MapExtent.MinX = Map1.Extent.Left.MinY = Map1.Extent.Bottom.MaxX = Map1.Extent.Right.MaxY = Map1.Extent.Top End With' Set the ScaleBar's PageExtent. 'With ScaleBar1.PageExtent.MinX = Map1.Left / Screen.TwipsPerPixelX.MinY = Map1.Top / Screen.TwipsPerPixelY.MaxX = (Map1.Left + Map1.Width) / Screen.TwipsPerPixelX.MaxY = (Map1.Top + Map1.Height) / Screen.TwipsPerPixelY End With End SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)' Zoom in on the Map.Set Map1.Extent = Map1.TrackRectangleEnd SubPrivate Sub Command1_Click()' Zoom out to FullExtent.Set Map1.Extent = Map1.FullExtentEnd SubPrivate Sub Form_Load()Command1.Caption = "Full Extent"End SubPrivate Sub Form_Resize()ScaleBar1.Move 30, Me.ScaleHeight - 550, Me.ScaleWidth - 120, 495 Command1.Move 30, ScaleBar1.Top - (ScaleBar1.Height + 60), ScaleBar1.Width, ScaleBar1.HeightMap1.Move 30, 30, ScaleBar1.Width, Me.ScaleHeight - (Command1.Height + ScaleBar1.Height + 180)End Sub。