西北师范大学GIS设计与实现实验四
《GIS设计与开发》实验报告_010

《GIS设计与开发》实验报告学号:20114150305 姓名:董小帅班级:111503 日期:一、实验目的熟悉掌握ILayer、IFeature、IFeatureClass、IFields、IField这些接口之间的关系,以及这些接口与类FeatureClass、FeatureClassClass的操作关系,温习DataTable 类的相关知识。
二、实验内容界面如下:功能:运行一程序,在MapControl中添加一副矢量图,并在下方一个表格中显示该矢量图的属性数据。
三、实验思路与步骤1、添加shp文件:利用addShpfile方法添加2、获取选中图层:axMapControl1.get_Layer(checkedListBox1.SelectedIndex)3、创建table:通过IFields向DataTable中添加表头,通过IFeatureCurSor向DataTable中添加图层具体属性信息4、显示DataTable中信息:dataGridView1.Sourse=DataTable.DT;四、实验心得1、通过ILayer获取选中图层,IFeatureLayer有个属性为FeatureClass,这种关系获得图层的属性2、通过IFeatureCursor中的NetFeature方法遍历各个要素3、DataRow row = dtFC.NewRow()在原表中新建一行,不能用DataRow row=new DataRow()新建五、最终代码private void button5_Click(object sender, EventArgs e){if (checkedListBox1.SelectedIndex >= 0){ILayerIL=axMapControl1.get_Layer(checkedListBox1.SelectedIndex);IFeatureLayer IFL = IL as IFeatureLayer;IFeatureClass IFC = IFL.FeatureClass;DataTable dtFC = null;dtFC = new DataTable();IFields iFields = IFC.Fields;int fieldsCount = iFields.FieldCount;for (int i = 0; i < fieldsCount; i++){IField iField = iFields.get_Field(i);DataColumn column = new DataColumn();column.ColumnName = ;dtFC.Columns.Add(column);}IQueryFilter2 IQF2 = new QueryFilterClass();IQF2.WhereClause = "";IFeatureCursor iFeatureCursor = IFC.Search(IQF2, false);IFeature iFeature = iFeatureCursor.NextFeature();while (iFeature != null){DataRow row = dtFC.NewRow();for (int i = 0; i < iFeature.Fields.FieldCount; i++){object value = iFeature.get_Value(i);string shapeType = value.GetType().FullName;if (shapeType == "System ._ComObject")row[i] = IFC.ShapeType;elserow[i] = value;}dtFC.Rows.Add(row);iFeature = iFeatureCursor.NextFeature();}dataGridView1.DataSource = dtFC;}}。
《GIS设计与实现》实验指导书

《GIS设计与实现》实验指导书课程名称:GIS设计与实现课程编号:软件名称:MapInfo Professional 7.0, MapBasic6.0指导教师:赵玉梅实验内容:实验一、MAPINFO的基本功能与基本操作,熟悉MapBasic语言实验二、基于MAPINFO的空间数据设计与建立实验三、基于MAPINDO的属性数据库的设计与建立实验四、系统功能、界面设计与实现实验一、MAPINFO基本功能与操作,熟悉MapBasic语言实验目的:(1)熟悉桌面GIS软件MapInfo的界面环境(2)初步掌握MapInfo主要工具、菜单命令的使用(3)练习使用MapBasic语言实验内容及步骤:一、熟悉MapInfo的界面环境1、在地图窗口打开MapInfo表a、选择“文件>打开表”或从“快速启动”对话框中选择“打开表”,出现打开表的对话框。
b、在“文件类型”下拉列表中可以选择要打开的文件类型,可以选择打开dBASE DBF(*.dbf)文件、分界ASCII(*.txt)、Excel电子表格(*.xls)、以及栅格图像文件等。
要打开MapInfo表,则在文件类型中选择MapInfo(*.tab)。
小技巧:按住Shift键,可同时打开连续的多张表,按住Ctrl键,可同时打开不定顺序的多张表。
c、设定要打开的表名称、目录和驱动器。
本实验中打开data目录下的China.tab 表、Chinahwy.tab表和Chincaps.tab表。
你会看到一个显示中国地图的窗口,该窗口叫做地图窗口。
浏览屏幕上部的菜单条,将发现其中多了一个“地图”菜单。
2、在浏览窗口中查看数据a、选择窗口>新建浏览窗口(或者单击常用工具条上的新建浏览窗口按钮)b、出现“浏览表对话框”,选择China表,按“确定”。
屏幕上又出现了一个新窗口,即浏览窗口,显示出与China表相关的表格信息。
观察屏幕上部的菜单条,Browse (浏览) 替换了 Map (地图) 菜单。
《GIS原理与应用》课程实验报告4

《GIS原理与应用》课程实验报告四实验名称空间数据处理实验目的1.掌握空间数据处理(融合、拼接、剪切、交叉、合并)的基本方法,原理。
领会其用途。
2.掌握地图投影变换的基本原理与方法。
3.熟悉ArcGIS中投影的应用及投影变换的方法、技术4.了解地图投影及其变换在实际中的应用。
实验原理空间数据处理是基于已有数据派生新数据的一种方法。
是通过空间分析方法来实现的。
是基于矢量数据进行的,包括如下几种常用的操作:融合,剪切,拼接,合并(并集),相交(交集)。
实验数据云南县界.shp; Clip.shp西双版纳森林覆盖.shp 西双版纳县界.shp实验过程记录:一、试验主要步骤第1步裁剪要素在ArcMap中,添数据GISDATA\云南县界.shp,添加数据GISDATA\Clip.shp (Clip 中有四个要素)激活Clip图层。
选中Clip图层中的一个要素,点击打开ArcToolbox,指定输出要素类路径及名称,这里请命名为“云南县界_Clip1”指定输入类:云南县界指定剪切要素:Clip(必须是多边形要素),重复以上的操作步骤,完成操作后将得到共四个图层。
注意确保不要选中“云南县界”中的要素,如果选择了“云南县界”中的要素裁剪完成的只是被选中的那一部分要素。
第2步 拼接图层在ArcMap 中新建地图文档,加载你在剪切要素操作中得到的四个图层 点击打开ArcToolbox ,在ArcToolbox 中执行“追加”命令,输出要素:设定为 云南县界_Clip1,输入要素:依次添加其它三个图层,右键点击图层“云南县界_Clip1”,在出现的右键菜单中执行“数据”->”导出数据”。
指定导入数据的路径和名称:YNOK.shp,通过以上操作我们就完成了将4个图层拼接为一个图层的处理。
四个图层一个图层加载数据YNOK.shp ,查看图层及打开其属性表看看与“云南县界”中的属性表有何区别。
(右下图可知YNOK 的记录比云南县界的记录要多,各属性值也不完全一样。
GIS设计与应用 实验指导

实验一VisualBasic基础一、实验目的了解Visual Basic基本界面、特点,掌握开发Visual Basic应用程序的基本步骤。
二、实验任务1、掌握属性窗口、窗体设计器、代码窗口的主要功能;2、通过例子掌握开发VB应用程序的基本步骤。
三、实验内容(一)Visual Basic集成开发环境Visual Basic系统为用户开发应用程序提供了一个良好的集成开发环境,如下图所示。
它集成了各种不同的功能,例如,用户界面设计、代码编辑、模块的编译、运行、调试等。
该界面由多个窗口构成了VB的集成开发环境。
开发Visual Basic应用程序时,需要将这些窗口配合使用。
1、主窗口VB系统的主窗口由标题栏、菜单栏和工具栏组成,为用户提供了开发VB应用程序的各种命令和工具。
(1)标题栏标题栏与Windows其他应用程序的相似,显示当前的工程文件名和VB 的当前工作模式状态,其中的[设计]表明集成开发环境此时处于设计模式。
VB的三种工作模式及其作用如下。
①设计模式。
在该模式下,用户可以进行程序界面的设计和代码的编写工作。
程序运行后出现错误时,对程序代码的编辑过程,也在设计模式中进行。
②运行模式。
程序界面和代码的设计完成后,运行应用程序时处于该模式。
VB应用程序运行后,一直处于等待事件发生的状态中,退出应用程序,则回到设计模式。
运行阶段不能进行界面和代码的编辑工作。
③中断模式。
应用程序运行出现错误时,处于中断模式。
该阶段可以编辑代码,重新运行程序,但是程序界面不能够被编辑。
(2)菜单栏菜单栏中包含VB系统所有的可用命令,这是程序开发过程中用于设计、调试、运行和保存应用程序所需要的命令,共有13个菜单项。
[文件]:主要提供对工程文件的创建、打开、保存和增删等操作命令。
将当前应用程序生成可执行文件的操作命令也在其中。
[编辑]:主要提供对应用程序进行编辑的各种操作命令。
[视图]:主要提供设计程序界面、运行和调试程序时各种窗口的切换。
实验(4)GIS数据处理__

一、矢量数据的获取在几何数据采集中,如果几何数据已存在于其它的系统或专题数据库中,那么只要经过转换装载即可;对于由测量仪器(如全站仪、GPS等)获取的几何数据,只要把测量仪器的数据传输进入数据库即可,测量仪器如何获取数据的方法和过程通常是与我们现在的工作无关的。
对于栅格数据的获取,主要涉及使用扫描仪等设备对图件的扫描数字化,这部分的功能也较简单。
因为通过扫描获取的数据是标准格式的图像文件,大多可直接可用的地理数据库。
从遥感影像上直接提取专题信息,需要使用几何纠正、光谱纠正、影像增强、图像变换、结构信息提取、影像分类等技术,主要属于遥感图像处理的内容。
因此,以下主要介绍用ArcGIS软件进行矢量数据的采集。
矢量数据的采集主要包括地图跟踪数字化与地图扫描数字化,以及屏幕跟踪数字化。
1)地图跟踪数字化跟踪数字化是目前应用最广泛的一种地图数字化方式,是通过记录数字化板上点的平面坐标来获取矢量数据的。
其基本过程是:将需数字化的图件(地图、航片等)固定在数字化板上,然后设定数字化范围、输入有关参数、设置特征码清单、选择数字化方式(点方式和流方式等),就可以按地图要素的类别分别实施图形数字化了。
地图跟踪数字化时数据的可靠性主要取决于操作员的技术熟练程度,操作员的情绪会严重影响数据的质量。
操作员的经验和技能主要表现在能选择最佳点位来数字化地图上的点、线、面要素,判断十字丝与目标重合的程度等能力。
2)地图扫描数字化扫描数字化是目前较为先进的地图数字化方式,也是今后的发展方向,但要实现完全自动化还要做大量艰巨的努力,目前所能提供的扫描数字化软件是半自动化的,还需做相当的人机交互工作。
地图扫描数字化的基本思想是:首先通过扫描将地图转换为栅格数据,然后采用栅格数据矢量化的技术追踪出线和面,采用模式识别技术识别出点和注记,并根据地图内容和地图符号的关系,自动给矢量数据赋属性值。
根据目前的技术水平,首先要对所扫描的彩色地图进行分版处理,通常分为黑版要素、水系版要素、植被要素和地貌要素,也可以直接对分版图进行扫描,然后由软件进行二值化,去噪音等处理,经常需要进行一些编辑,以保证自动跟踪和识别的进行;在软件自动进行跟踪和识别时,仍需要进行部分的人机交互,如处理断线、确定属性值等,有时甚至要人工在屏幕上进行数字化。
西北师范大学GIS设计与实现实验三

西北师范大学学生实验报告在右侧【命令】菜单中双击“Normal. 单击按钮全屏显示”打开代码窗口。
输入相应代码。
首先声明模块级变量等。
(4)运行后,【单击按钮全屏显示】,实现全屏操作。
4.定制【地图放大】工具(1)在刚才新建一个UIControl按钮,命名为“地图放大”,编写代码;Private Sub 单击图层地图放大_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long) '地图放大Dim MxD As IMxDocumentSet MxD = ThisDocumentDim m_Active As IActiveViewSet m_Active = MxD.ActiveViewDim m_E As IEnvelope '定义一个显示的范围Set m_E = m_Active.Extent '获取当前显示范围5.缩放到图层(1)在刚才新建的工具条中添加一个UIControl工具,命名为“缩放到图层”,编写代码:Sub Get_LayerEnvelop() '缩放到图层Dim pMxDoc As IMxDocumentSet pMxDoc = ThisDocumentDim pM As IMapSet pM = pMxDoc.FocusMapDim pl As IFeatureLayerSet pl = yer(0)Dim pExt As IEnvelopeSet pExt = pl.AreaOfInterestpMxDoc.ActiveView.Extent = pExtpMxDoc.ActiveView.RefreshEnd Sub(2)点击运行。
6.缩放到所选择的元素(element)(1)在刚才新建的工具条中添加一个UIControl按钮,命名为“缩放到所选择的元素”,教师意见:年月日。
gis设计与实现实验报告
竭诚为您提供优质文档/双击可除gis设计与实现实验报告篇一:gIs软件设计与实现实验报告gIs软件设计与实现实验报告姓名:王兴平班级:测绘1103班学号:0145110620指导老师:李光强20XX/1/5实验一数据加载与图层控制一、实验目的1.了解组件Arcengine9.3开发环境的构建,以及相关软件的安装;2.掌握Ae组件实现数据加载、缩放、平移等简单的功能;3.掌握程序代码实现数据加载、缩放、平移、拉窗放大等功能;4.掌握使用程序代码控制图层可视性、图层移动、图层移除等操作。
二、实验准备完成时间:2学时预备知识:实验的操作系统环境为windowsxp以上操作系统,要基于Arcengine进行应用开发,系统中需要安装有:ArcgIs9.3、Arcengine9.3和c#20XX以上版本相应软件。
实验数据:文件夹“中国地图”三、实验步骤及方法1.创建c#工程,添加窗体及相关Ae组件,窗体设计如下图所示:运行程序,并点击工具栏上按钮,记录各功能按钮的操作。
2.利用程序代码添加shp文件,并完成shp加载、地图缩放、全图、平移、拉窗放大等操作,设计界面如下图所示:要求:1)工具栏上的“打开”按钮,功能是通过打开文件对话框,允许一次加载多个shp文件,而且在对话框中仅显示shp文件;2)平移、放大、缩小功能按钮的操作顺序过程必须是用户先点击按钮,然后再点击地图时才完成相应功能操作;3)工具栏上的最后一个按钮为拉窗放大,即用户点击该按钮时,在地图可以画出一个矩形,然后将矩形内的地图放大。
3.使用程序代码控制图层可见性及移动图层,界面设计如下图所示:注意:1)工具栏后四个按钮依次为:上移选中图层、下移选中图层、移除选中图层操作;2)图层列表里,依据图层是否选中而设置图层的可见性。
4.为地图添加右键菜单,在右键菜单中实现全图、平移、放大、缩小、信息(identity)功能,使用鼠标中键实现地图平移。
五.实验主要代码privatevoidLoadFile_click(objectsender,eventArgse) {openFileDialogdlg=newopenFileDialog();dlg.Filter="shapefile(*.shp)|*.shp";dlg.Title="打开shape数据文档";dlg.multiselect=true;//定义存放打开IFeatureclass的字符串数组string[]Filepath;if(dlg.showDialog()==DialogResult.oK){Filepath=newstring[dlg.Filenames.Length];Filepath=dlg.Filenames;if(Filepath.Length>0){stringworkspacepath=system.Io.path.getDirectoryname (Filepath[0]);string[]shapeFilepath=newstring[Filepath.Length];//获得打开IFeatureclass的字符串数组for(inti=0;i {shapeFilepath[i]=system.Io.path.getFilename(Filepat h[i]);}IworkspaceFactorypworkspaceFactory=newshapefilework spaceFactoryclass();Iworkspacepworkspace=pworkspace Factory.openFromFile(workspacepath,0);IFeatureworkspacepFeatureworkspace=pworkspaceasIFea tureworkspace;for(inti=0;i {IFeatureclasspFeatureclass=pFeatureworkspace.openFe atureclass(shapeFilepath[i]);IDatasetpDataset=pFeat ureclassasIDataset;IFeatureLayerpFeatureLayer=newFeatureLayerclass();pFeatureLayer.Featureclass=pFeatureclass;=;ILayerpLayer=pFeatureLayerasILayer;this.axmapcontrol1.map.AddLayer(pLayer);this.axmapcontrol2.map.AddLayer(pLayer);}}}}篇二:gIs设计与开发实验报告gIs设计与开发实验报告姓名:郭伟学号:x21114003班级:11级地理信息系统p2.2使用控件创建第一个桌面应用程序 (3)p2.3访问地图范围及属性表 (13)p2.4命令、工具与命令条 (21)p2.5创建几何对象和空间参考 (41)p2.6空间数据库相关开发 (49)p2.7空间数据读取与输出 (62)p2.8空间查询................................................. (73)p2.9空间分析.................................................。
GIS实验报告之Geodatabase创建及编辑
西北师范大学学生实验报告
创建Geodatabase的过程
创建的路径
③.单击Edit之后的对话框如图:它的名字
Edit按扭点Import按扭
导入的过程
加载的数据路径3.在要素中建立子类型:
Subtypes选项卡
新的子类的代码和类型
③重复操作加载上面建立的两个子类.
④同样建立Parcels的两个子类.
建立拓扑
建立的过程如下图:
建立的过程
选择的类
设置的等级为
要加载的数据
③、将Parcel设置为可编辑的状态,加载Topology按钮,就可以了。
④把Toplogy工具栏的检测拓扑错误的按钮,打开Error Inspector对话框,
改正的地方
移动的点移动后的图形
移动的线
移动的线
移动后的线
输入的名字
点及这个按钮,再点Import就可以进入下面的对话框③、加载数据的对话框
⑤、在ArcCatalog,右键单击City数据集,选择Import下的Feature Class 命令,
进入的对话框,把那三个数据加载进去就可以了。
如下:
输入新的网络名称
捕捉的容限值
选择的要素
删除已经添添加新的权重
加的权重
City_Net(几何网络类)。
GIS设计与实现(完整版)
第一章1.GIS研究内容:数据采集、数据存储、数据处理和分析、数据输出2.GIS设计含义:遵循软件工程的原理和方法,结合GIS开发的特点要求,对GIS软件从定义、设计、地理模型库设计、GIS实施、GIS测试维护各个阶段进行工程化规范的体系。
3.GIS设计目标:通过改进设计方法,做好项目组织管理,增强实用性,降低成本,延长系统生命周期。
4.GIS设计的基本原则:标准化、先进性、兼容性、高效性、可靠性、通用性。
5.GIS设计的内容:(1)软件设计:首先,进行系统的工程管理,保证了系统建设的进度和软件质量;其次,针对GIS 软件设计特点,采用最适合的软件生存周期模型,确保了系统的用户接受度和系统功能设置的合理性;最后,对系统技术实现方案进行设计,确保软件开发风格的同意和功能模块之间的有机了解。
(2)数据库设计:取决于设计者的开发经验,工程组织和数据源准备等方面。
同时,数据库设计与整个系统设计的相关环节是紧密结合的,有必要将软件工程的方法和工具应用于数据库设计中。
6.GIS设计的特点:(1)GIS处理的是空间数据,具有数据量庞大,实体种类繁多,实体间的关联复杂等特点。
(2)GIS设计以空间数据为驱动。
(3)GIS工程投资大,周期长,风险大,涉及部门繁多。
第二章1.GIS工程学结构体系:GIS工程学结构体系主要由任务,基础理论和方法论三方面组成。
GIS工程三维结构图P272.系统定义:由相互作用、相互依赖的若干组成部分构成的具有一定功能的有机整体。
3.系统工程学特点:①研究的对象是一个表现为普遍了解、相互影响、规模和层次都极其复杂的大工程。
②知识结构复杂,是自然科学和社会科学交叉的边缘学科。
③工程学是方法学,是泛化系统的研究方法。
④是目的性很强的应用科学。
4.结构法生命周期法:它要求设计过程必须严格的按阶段进行,只有前一阶段完成之后,才能开始下一阶段的工作,同时,它要求在系统建立之前就必须严格地定义和描述用户的需求。
GIS原理实习四操作指南
实验六、地形分析-----TIN及DEM的生成及应用(综合实验)一、实验目的DEM是对地形地貌的一种离散的数字表达,是对地面特性进行空间描述的一种数字方法、途径,它的应用可遍及整个地学领域。
通过对本次实习的学习,我们应:a)加深对TIN建立过程的原理、方法的认识;b)熟练掌握ArcGIS中建立DEM、TIN的技术方法。
c)掌握根据DEM或TIN 计算坡度、坡向的方法。
d)结合实际,掌握应用DEM解决地学空间分析问题的能力。
二、实验准备软件准备:ArcGIS Desktop 9.x ---ArcMap(3D分析模块)实验数据:矢量图层:高程点Elevpt_Clip.shp,高程Elev_Clip.shp,边界Boundary.shp,洱海Erhai.shp (ex7.rar)三、实验内容及步骤1. TIN 及DEM 生成1.1由高程点、等高线矢量数据生成TIN转为DEM在ArcMap中新建一个地图文档(1)添加矢量数据:Elevpt_Clip、Elev_Clip、Boundary、Erhai(同时选中:在点击的同时按住Shift)(2)激活“3D Analyst”扩展模块(执行菜单命令[工具]>>[扩展],在出现的对话框中选中3D分析模块),在工具栏空白区域点右键打开[3D分析] 工具栏(3)执行工具栏[3D分析]中的菜单命令[3D分析]>>[创建/修改TIN]>>[从要素生成TIN];(4)在对话框[从要素生成TIN中]中定义每个图层的数据使用方式;在[从要素生成TIN中]对话框中,在需要参与构造TIN的图层名称前的检查框上打上勾,指定每个图层中的一个字段作为高度源(Height Source),设定三角网特征输入(Input as)方式。
可以选定某一个值的字段作为属性信息(可以为None)。
在这里指定图层[Erhai] 的参数:[三角网作为:]指定为[硬替换] ,其它图层参数使用默认值即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
IAlgorithmicColorRampalgColorRamp =newAlgorithmicColorRampClass();
this.pictureBox4.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
this.pictureBox5.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
}
}
}
教师意见:
年月日
西北师范大学学生实验报告
学院
地环学院
专业
地理信息系统
年级、班
08地信
学号
200875000203
姓名
陈晨
同组者
课程名称
GIS设计与实现
实验题目
ArcGIS颜色模型
成绩
一、实验目的:
二、实验准备:
三、实验内容:
四、实验过程及步骤:
1.
usingSystem;
usingSystem.Collections.Generic;
IRgbColorstartColor =newRgbColor();
IRgbColorendColor =newRgbColor();
startColor.Red = 255;
startColor.Green = 0;
startColor.Blue = 0;
endColor.Red = 0;
endColor.Green = 0;
this.pictureBox2.BamColors.Next().RGB);
this.pictureBox3.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
ponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingESRI.ArcGIS.Carto;
usingESRI.ArcGIS.Display;
algColorRamp.Size = 7;
boolbture =true;
algColorRamp.CreateRamp(outbture);
IEnumColorspEnumColors =null;
pEnumColors = algColorRamp.Colors;
this.pictureBox1.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
this.pictureBox6.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
this.pictureBox7.BackColor =ColorTranslator.FromOle(pEnumColors.Next().RGB);
endColor.Blue = 255;
algColorRamp.FromColor = startColor;
algColorRamp.ToColor = endColor;
algColorRamp.Algorithm =esriColorRampAlgorithm.esriCIELabAlgorithm;