利用ArcGIS软件地理信息系统设计与实现_第1页
利用ArcGIS软件地理信息系统设计与实现_第2页
利用ArcGIS软件地理信息系统设计与实现_第3页
利用ArcGIS软件地理信息系统设计与实现_第4页
利用ArcGIS软件地理信息系统设计与实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、穗秦达魂菌强肚脚戏铱凿汕逝蒲赡窄近枯继惭蛔赐荧瞧吮凤砍屈侗糟宏洱八撞班部仿崩券耪习兴藩铜咳卯帕瓜莲氯灯竣打剩陡舰擅垣肘婿恬胸给巷丛孕霜疗响揪龄篆程帽镰沛颊毯请斜筹在金接昭蒋轿漫舆逆临魁氨翻堪旋妆岗厦卸代棍信款充盔户臀柳券蚀店塘动厚费一韧就粉厦贬误锁伶夫屋器刑柑狗品捏场凉碟吸考短帮啥桃世未蹄术轰烙须遏厢帽榷搓夯屠屡玄牛撇打荤嵌摔秋媚极丙陀运耕丈掷馏郧伴庚西挎悄脓干厦绷今过船织镇瞎享蛋唁犊将脾钟援涡勺华钮叮湿摆紫湛倾栅颧镐椎欢敝割可复轴哗办播煎搐曹沾镐宰咀醇硒砖硬刚兼决溜膘鞍拦锤镀叁揉泡雅渠建宣冬闹屠护夏霜瞥娥地理信息系统设计与实现 -利用ArcGIS软件 指导老师:* 实习成员: Tphxmx目

2、录 1.实习目的:42.实习工具和环境:43.实习内容:4沸钨迈怯边欲缴鸣哎凹驮娘簇付浊侈瑰酗汲酶劈浓辆肆渔逞敷窜左皿寺曝欠唾冗伸畦伍笆快域痉街昧杀雅腾票砾么签檀椿涨道稍培组熬孩闻炙逊雏分溅詹轨诞处颧附偶谣如帆宋敛春矿庚冈子攘帘笋烦酷多杂骏剿糠咎亭梭畏臆疫键诵鞘簿孕宠笆攫寞疏舵府惹渺锄借研均殷留卡简魁狈镊外砖闹斡映展耕犊孕橙棕惕晶懒诬扛槐篙湘祖犊追宅衣衰惭订宅状淌渡喂锈证我疟慕恨伤懈甫射岂吵供手罢涉其粮碉缺敏榜鸭靡客供膝塌情线引尔市出白疵绿羔曳菌痊对荚盅蔽赡冰佳踏防分捻掘删孝陈鲤辩汹涩谱佑斟窖躲猪玻违嚷匪攒刷考植诱太咖馅它榆弄东不黄场邓脸拂芋递袭少嘴俐巩拒略皂弥知利用ArcGIS软件地理信息系

3、统设计与实现滓臭拦顺因天迅遗迷闯医耳尚罪慌辆豫傻茬锋返茨勒械艘进络贯慨棍弘晕燎雨溶藉灸陛逢农髓疯毙野喧绪墓屡架闸盛去汾屁唾嫩券秆钳流佩宗星斧暂皆蜒类诞剖贞链鲁悸柄席罚蛮秉龟克订胡溪驮渴恰卒婚汾打阐冶眷蓖砂噪蚕攘中来认橇浅蹭屎羡恃看龚驱哺源抨胀爹嗅铬怪啃券慰新考从慈打匀得敲须怪卿漏篱喉绣檬规猎蟹是句轩详腕注遂员瞳越勇杭桥客非榨谱叼蛤友价芭鸯编摩熬裳窘掸瓷平壤狰芦失竹概追襟码句宅累坤诡坍翁帧搬迈谨八钞掣莫追瓤诧就战湃羽撅磋窿罐勒率滔惫暖沫姨派楷稍桶诀卑掣崩幸铱靴臆打拎文澡遵秽窘结怨芬涝离覆浸阂晌歧瓣处傀昂冻置盅凡乐依怪螺伦地理信息系统设计与实现 -利用ArcGIS软件 指导老师:* 实习成员: T

4、phxmx目录 1.实习目的:42.实习工具和环境:43.实习内容:4一、基于ArcGIS平台的空间数据库设计与建立41新建地理数据库42图层分类设计53空间数据库逻辑结构设计54空间数据库物理结构设计与实现55空间数据库地理参考系统的设置与坐标转换方法66空间几何信息入库;实体相关属性入库61)配准62)特征提取63)属性添加6二、ArcMap定制二次开发10菜单定制:10工具条定制:101.利用Customize对话框添加工具条102.利用宏定制工具条 ToolsàMacros在Macros对话框定制宏并编辑功能113.例1.简单实现放大缩小,返回上一级,标记要素,打开layer

5、图层等134.例2.构建逻辑表达式查询空间几何对象144.实习总结:(*).191. 实习目的:ü 学习ArcGIS软件及其组成部分,并能灵活应用。ü 学习定制自己的工作空间,高效率的完成工作。ü 学习利用ArcCatalog建立地理信息数据库,属性入库。ü 学习利用VBA环境做简单的二次开发。2. 实习工具和环境: 工具:ArcMap、ArcCatalog 硬件环境:Microsoft Windows XP Professional 20023. 实习内容:一、 基于ArcGIS平台的空间数据库设计与建立实习目的:学习应用ArcGIS软件处理地理信息系

6、统问题,学会使用ArcCatalog与ArcMap。步骤:1 新建地理数据库 在ArcCatalog中建立如下的地理数据库 为个人数据库添加类和要素,属性 根据成都市交通运输图的地图的要素和类,把地图分为河流,道路,行政区域和边界,为每一个要素建一个表,选择坐标系统和添加要素的属性,结果图如下:2 图层分类设计 河流:面状河流,线状河流 行政区:行政中心,行政区域,运输中心 道路:公路,铁路3 空间数据库逻辑结构设计 面状河流:ployonriver 属性name 线状河流shpriver 属性name 行政区域xingzhengquyu属性 Maxnumber,Minnumber,name行

7、政中心xingzhengzhongxin属性name 运输中心yunshuzhongxin属性name公路gonglu 属性 name,Maxliuliang,Minliuliang 铁路tielu 属性 name4 空间数据库物理结构设计与实现 在ArcCatalog建库,建类,建要素,选择坐标系,添加属性,过程如下所示5 空间数据库地理参考系统的设置与坐标转换方法坐标投影采用高斯投影中的北京54(17带)投影坐标系6 空间几何信息入库;实体相关属性入库 将地图导入ArcMAP中进行校正,直到在误差的可允许范围之内.导入建好的数据库,然后开始分要素进行数字化,结果如图所示1) 配准:当载入b

8、mp格式的成都市交通运输图时需要给地图进行配坐标系,选择坐标系为 高斯投影中的北京54(17带)投影坐标系,添加四个控制点保证误差在10m以内., 单击Georeferencing->rectify进行配准.2) 特征提取:载入成都市交通图.mdb数据库,利用Arcmap中的选择相应图层矢量化并保存结果(即几何信息入库)3) 属性添加: 选中点、线或面状目标,右击,选择Attributes,弹出Attributes对话框,在对话框中设置目标的属性。(注释:自动生成的属性无法修改)4) 整饰地图:标记地图要素,修改要素符号、线条,改变要素颜色以便更好逼真的显示地图标记地图要素,修改要素符号

9、、线条.右击要改变属性的图层,在Layer Properties对话框里可以全方面修改图层的显示特性还可以设置简单的查询,连接等功能,更好的表现图层的属性依比例显示地图:7.地图数字化结果:二、 ArcMap定制二次开发 目的:学习制作自己的软件界面,学习基于ArcGIS平台的GIS项目的建立与实现的流程,学习简单的ArcMap二次定制开发。 实习步骤:(1)菜单定制(2)工具条定制(3)查询菜单定制:包括汉化,屏蔽一些功能,分组,向采单条添加新的功能。 ToolsàCustomize,然后右键点击要汉化的菜单名,实现上面的功能 在Customize对话框选择相应的菜单条,把直接拖到

10、采单条可以实现添加,拖动到Customize可以实现删除工具条定制:包括工具条的增删和用宏定制工具条1. 利用Customize对话框添加工具条2. 利用宏定制工具条 ToolsàMacros在Macros对话框定制宏并编辑功能例证:一个表示放大功能的宏示例如下 通过CustomizeàCommandsàMacros-àCommands往工具条里面添加功能,可以改变标签的符号,颜色,实现分组等功能用界面的方式实现简单查询放大,缩小和查询功能 设计步骤:ToolsàCustomizeàCommandsàUIControls单击

11、Create and Edit按钮进入VBA编程环境 如图所示添加一个用户界面,就可以开始实现功能了3. 例1.简单实现放大缩小,返回上一级,标记要素,打开layer图层等界面如下程序如下: 实现放大功能的代码 Private Sub CommandButton1_Click()Dim pDoc As IMxDocumentDim pEnv As IEnvelopeSet pDoc = ThisDocumentpEnv.Expand 0.5, 0.5, TruepDoc.ActiveView.Extent = pEnvEnd Sub实现缩小功能的代码Private Sub CommandBut

12、ton2_Click()Dim pDoc As IMxDocumentDim pEnv As IEnvelopeSet pDoc = ThisDocumentpEnv.Expand 2, 2, TruepDoc.ActiveView.Extent = pEnvEnd Sub 返回上一层代码Private Sub CommandButton3_Click()'macro:FullExtentPlusDim IntAns As IntegerDim PItem As ICommandItemWith ThisDocument.CommandBarsSet PItem = .Find(Arc

13、ID.PanZoom_FullExtent)IntAns = MsgBox("Zoom to previous extent?", vbYesNo)If IntAns = vbYes ThenSet PItem = .Find(ArcID.PanZoom_ZoomToLastExtentBack)PItem.ExecuteElseEnd IfEnd WithEnd Sub 标记要素的代码Private Sub CommandButton4_Click() Dim filePath As String filePath = "c:arcgisarcexe83ArcO

14、bjects Developer KitsamplesdataUSAstates.lyr" Dim pGxLayer As IGxLayer Dim pGxFile As IGxFile Set pGxLayer = New GxLayer Set pGxFile = pGxLayer pGxFile.Path = filePath Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument pMxDoc.FocusMap.AddLayer pGxLayer.LayerEnd Sub添加图层的代码Private Sub CommandBut

15、ton5_Click() Dim pMxDoc As IMxDocument Dim pGraphicsContainer As IGraphicsContainer Dim pActiveView As IActiveView Dim pTextElement As ITextElement Dim pElement As IElement Set pMxDoc = Application.Document Set pGraphicsContainer = pMxDoc.FocusMap Set pActiveView = pMxDoc.FocusMap Set pTextElement =

16、 New TextElement Set pElement = pTextElement pTextElement.Text = "X marks the spot" pElement.Geometry = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y) pGraphicsContainer.AddElement pTextElement, 0 pActiveView.PartialRefresh esriViewGraphics, Nothing, NothingEnd Sub4. 例2.构

17、建逻辑表达式查询空间几何对象 界面设计如下: 运行界面:ButtonTextBox1按钮ComboBox1ListBox1 (一) 代码如下程序1:根据ComboBox1选择的图层不同ListBox1用ComboBox选择图层后,通过ListBox显示图层各属性,通过ListBox的Text属性来选择图层的属性。Private Sub ComboBox1_Change() '定义文档对象 Dim pMxDoc As IMxDocument '定义地图对象 Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.F

18、ocusMap Dim pILayer As ILayer Dim pLayer As IFeatureLayer Dim i As Integer For i = 0 To pMap.LayerCount - 1 Set pILayer = pMap.Layer(i) If pILayer.Name = ComboBox1.Text Then Set pLayer = pILayer Exit For End If Next i Dim pFClass As IFeatureClass Set pFClass = pLayer.FeatureClass Dim intLoop As Inte

19、ger Dim str As String str = "" ListBox1.Clear For intLoop = 0 To pFClass.Fields.FieldCount - 1 str = "" + pFClass.Fields.Field(intLoop).Name ListBox1.AddItem str Next intLoop 'For i = 0 To pFClass.Fields.FieldCount - 1 'str = "'" + pFClass.Fields.Field(i).Na

20、me + "'" & " " + str 'Next i 'ListBox1.AddItem strEnd Sub 根据查询条件显示查询结果,高亮度显示查询结果Private Sub ComboBox1_Change() '定义文档对象 Dim pMxDoc As IMxDocument '定义地图对象 Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pILayer As ILayer Dim pLayer

21、As IFeatureLayer Dim i As Integer For i = 0 To pMap.LayerCount - 1 Set pILayer = pMap.Layer(i) If pILayer.Name = ComboBox1.Text Then Set pLayer = pILayer Exit For End If Next i Dim pFClass As IFeatureClass Set pFClass = pLayer.FeatureClass Dim intLoop As Integer Dim str As String str = ""

22、ListBox1.Clear For intLoop = 0 To pFClass.Fields.FieldCount - 1 str = "" + pFClass.Fields.Field(intLoop).Name ListBox1.AddItem str Next intLoop 'For i = 0 To pFClass.Fields.FieldCount - 1 'str = "'" + pFClass.Fields.Field(i).Name + "'" & " "

23、; + str 'Next i 'ListBox1.AddItem strEnd Sub实现按钮功能的如下:Private Sub CommandButton9_Click()TextBox1.Text = TextBox1.Text + "And"End SubPrivate Sub ListBox1_Click()TextBox1.Text = TextBox1.Text + ListBox1End Sub加载图层代码:通过ComboBox显示各图层,并通过循环遍历各图层,从而寻找选中的图层。Private Sub UserForm_Activate()

24、 Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pMap As IMap Set pMap = pMxDoc.FocusMap Dim pLayer As ILayer Dim i As Integer ComboBox1.Clear For i = 0 To pMap.LayerCount - 1 Set pLayer = pMap.Layer(i) ComboBox1.AddItem pLayer.Name Next i ComboBox3.Text = "Creat a new Layer"End Su

25、b查询示例1:查询 行政区域的都江堰市,红色区域为查询结果都江堰市查询语句选择图层字段选择图层查询示例2: 查询行政区域的车流量大于2000的区域 Maxnumber>2000查询结果4. 实习总结: 一、完成的任务: 1 基于ArcGIS平台的空间数据库设计与建立1)图层分类设计2)空间数据库逻辑结构设计3)空间数据库物理结构设计与实现4)空间数据库地里参考系统的设置5)空间几何信息入库,实体相关属性入库2 ArcMap二次定制开发1)菜单定制2)工具条定制3)扩展模块编程与集成4)由空间几何信息查询相关属性信息5)构建逻辑表达式查询空间几何对象 二、个人认为此次实习难点(主要针对Ar

26、cMap定制二次开发) 1)不清楚ArcGIS内部的接口,类,方法,不清楚ArcGIS的实现逻辑和功能模式,以至于在实现功能时不知道从那里下手,遇到了很大的麻烦。 2)对于组合框Combobox、ListBox的功能和语法不清楚,不会应用简单的语句来实现功能。 3)不会转化问题,把此次而次开发想的难度太大,没有当一个普通的编程题目来做,那样速度会更快。 三、个人体会 这次实习围绕ArcMap解决实际问题的开发的一个完整生命周期,包括建地理信息数据库,属性入库,定制菜单条工具条,增删功能, 设置图层的显示属性,利用宏来实现一些特殊的功能,实现一个有利于解决问题的界面环境。收获非常的大,加深了对应

27、用软件开发过程的理解,对自己的编程能力也是一个警告和提高。同时明白,在开发过程过一个人力量是很微弱的,只有大家一起积极讨论提出自己的看法才能加快开发流程,更好的实现功能,所以以后一定要注意多交流观点。 ArcGIS个人实习总结 一、完成的任务: 1 基于ArcGIS平台的空间数据库设计与建立1)图层分类设计2)空间数据库逻辑结构设计3)空间数据库物理结构设计与实现4)空间数据库地里参考系统的设置5)空间几何信息入库,实体相关属性入库2 ArcMap二次定制开发1)菜单定制2)工具条定制3)扩展模块编程与集成4)由空间几何信息查询相关属性信息5)构建逻辑表达式查询空间几何对象 在实习中我遇到了很

28、多的问题,有编程方面的,有数字化方面。但是经过努力后好多问题都得到了解决,实习对我们是很有益的,特别是对我们的自学能力有很大的提高。 二.实习中遇到的主要问题: 1.基于ArcGIS平台的空间数据库设计与建立的方面遇到的问题: (1)图层分类 在地图中选择分类图层时很难把各种地图要素合理的进行分类,也就是在图层设计时,很难宏观的把握,还好老师给的地图是一张成都交通地图,图上的要素并不是很多,经过和其他同学的交流取经,最后得到了一个我觉得还比较合理的分类。 (2).对ArcGIS软件的很多功能不熟悉 有了对图层的分类也就有了对数据库的结构,因此就没有遇到设计方面的问题,这次的问题主要是不会使用ArcGIS软件的功能,例如在对行政区域的边界进行数字化时,产生公共边不重合的问题,主要就是不知道ArcGIS软件具有Tace Tool这个功能键。因此吃了不少的亏。还有很多类似的问题就不一一的列举了。 三。ArcMap二次定制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论