《gis项目开发》word版.doc_第1页
《gis项目开发》word版.doc_第2页
《gis项目开发》word版.doc_第3页
《gis项目开发》word版.doc_第4页
《gis项目开发》word版.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

实验(一)一实验项目名称: 地图图层化1实验内容:利用矢量化软件对地图矢量化2实验要求:对图层矢量化掌握3应配备的主要设备名称和台件数计算机(每人一台)Mapinfo及MapX控件二实验步骤1启动mapinfo,在MapInfo中按照文件-打开表打开对话框,“文件类型-栅格图像”,打开MapInfo栅格图像文件清单;2.要打开的“西安市交通图”栅格图像文件选择打开,在图像配准对话框中选择 配准;3.在投影-选择投影中设定该图像的地图投影; 4.在配准对话框的预览图像上,将鼠标并移到一个已知地图坐标的点,单击鼠标按钮,输入对应图像上地图坐标,确定;5.重复步骤4,输入最少四个控制点(x坐标输入经度,y坐标上输入纬度)完成配准;6.把配准信息保存到文件“*.tab”中。7创建新图文件 在工具栏中单击按钮,打开新建表对话框,打击创建,弹出新表结构对话框 将“宾馆、酒店”,“公交路线”,“居民地”,“旅游景点”,“企事业单位”,“商场市场”,“乡政府及街道办“,“学校”,“医疗卫生”,“遗址遗迹”,“站点”,政府部门“,”主要车站“,“主要道路”图层可能建立的字段,在新表结构对话框中建立起来,选择所需要的投影,保存为mapinfo默认格式。如“主要道路”3单击【map】菜单,选择【lay control】项,依次将各图层处于编辑状态,然后再打开的底图上用绘图工具进行矢量编辑如图,矢量化好的主要道路4最后将各图层矢量化的结果分别保存实验(二)一实验项目名称: 在地图中加数据1实验内容:在地图中加属性数据2实验要求:在Mapinfo中对地图加上数据3应配备的主要设备名称和台件数计算机(每人一台)Mapinfo及MapX控件二实验步骤1.打开矢量化好的要素图层,并且使其处于编辑状态。2.单击【main】工具栏上的选择按钮工具,将鼠标移入地图窗口,鼠标会变为十字状3.在窗口中单击选中要加入属性的对象,会弹出一个“info tool”对话框,里面显示了该对象的属性字段,直接在相应属性字段中赋值。4.然后用鼠标选中另一个对象,重复步骤3,完成属性数据的输入。如“主要道路”层,再点击要赋属性的一条道路,出现如图对话框进行赋值 实验(三)一 实验项目名称: 特征与选择集合1实验内容:对特征进行选择2实验要求:VB编写选择代码3应配备的主要设备名称和台件数计算机(每人一台)Mapinfo及MapX控件二 实验步骤1.点击“文件-新建工程”,选择的“标准EXE”,会自动生成一窗体2.在左侧控件栏中右键点击“部件.”选择“MapInfo MapX V4”、Microsoft Common DialogControl 6.0”、“Microsoft Windows Common Controls 6.0”添加3.将“Common Dialog”、“map”和“ImageList”控件拖入窗体中4.选择“工具-菜单编辑器”在其中编辑菜单项并设置名称5.用“Toolbar”控件建立快捷工具条,然后点击右键-属性,打开属性页对话框,点击“通用”标签,选择“ImageList1”,点击“按钮”标签,添加“打开”“放大”“缩小”等快捷键,点击“图片”给相应的快捷键添加图标并建立合适的索引。用“ComboBox”控件添加下拉菜单。6.在“Combo1”属性中的“List”中将所有图层的名称添加进去,得到如下图7.图像索引,标题和关键字,选择“查看代码”输入:Private Sub zoomin_Click()Map1.CurrentTool = miZoomInToolEnd SubPrivate Sub zoomout_Click()Map1.CurrentTool = miZoomOutToolEnd SubPrivate Sub allmap_Click()Map1.Bounds = Map1.Layers.BoundsEnd SubPrivate Sub circleseek_Click()Map1.CurrentTool = miRadiusSelectToolEnd SubPrivate Sub pan_Click()Map1.CurrentTool = miPanToolEnd SubPrivate Sub ployseek_Click()Map1.CurrentTool = miPolygonSelectToolEnd SubPrivate Sub pointseek_Click()Map1.CurrentTool = miSelectToolEnd SubPrivate Sub rectseek_Click()Map1.CurrentTool = miRectSelectToolEnd Sub则点查询、圆查询、矩查询、区查询编辑完成8.利用“Map”和“ListBox”添加Map1和List1再用“查看代码”输入:Private Sub Map1_ToolUsed(ByVal ToolNum As Integer, ByVal x1 As Double, ByVal y1 As Double, ByVal x2 As Double, ByVal y2 As Double, ByVal Distance As Double, ByVal Shift As Boolean, ByVal Ctrl As Boolean, EnableDefault As Boolean) Dim Obj As Object Dim a As Integer Dim pt As New Point Dim featlyr As MapXLib.layer Dim curfeat As MapXLib.Features Dim mydata, data As Dataset Dim ftr As MapXLib.Feature If Combo1.Text 请选择类型 Then Set featlyr = Map1.Layers(Combo1.Text)Set data = Map1.Datasets.Add(miDataSetLayer, featlyr)End If List1.Clear Select Case ToolNum Case miSelectTool List1.Clear pt.Set x1, y1 Set curfeat = featlyr.SearchAtPoint(pt) If curfeat.Count 0 Then Set ftr = curfeat.Item(1) List1.AddItem 您查询到的结果为: List1.AddItem data.Value(ftr.FeatureID, 1) End If Case miRadiusSelectTool Dim dist As Double dist = Map1.Distance(x1, y1, x2, y2) pt.Set x1, y1 Set curfeat = featlyr.SearchWithinDistance(pt, dist, miUnitMile, searchType) If curfeat.Count 0 Then List1.AddItem 您共查到 & curfeat.Count & 条记录: For Each Obj In curfeat List1.AddItem data.Value(Obj.FeatureID, 1) Next Else MsgBox 对不起!您没选中任何站点! End If Case miRectSelectTool Dim rc As New MapXLib.Rectangle rc.Set x1, y1, x2, y2 Set curfeat = featlyr.SearchWithinRectangle(rc, 0) If curfeat.Count 0 Then List1.AddItem 您共查到 & curfeat.Count & 条记录: For Each Obj In curfeat List1.AddItem data.Value(Obj.FeatureID, 1) Next Else MsgBox 对不起!您没选中任何站点! End If End SelectEnd Sub如图:打开“站点”图层,进行圆查询实验(四)一实验项目名称:制作专题地图(6)1实验内容:制作专题地图2实验要求:制作与交通相关的专题地图3应配备的主要设备名称和台件数计算机(每人一台)Mapinfo及MapX控件二 实验步骤1.选择“文件打开表”菜单项,选择需要的地图表;2.选择“地图-创建专题地图”菜单项,在弹出的“创建专题地图步骤1/3”对话框框选择“范围”,打开“创建专题地图步骤2/3”对话框”。3.在模板列表中选择模板,选择要渲染的表,并选择要从中获得数据数值的字段表达式;4.“下一步”,弹出“创建专题地图步骤3/3”;5单击“确定”完成范围值专题图的创建实验(五)一实验项目名称:寻找特征(6)1实验内容:寻找特征2实验要求:对特征进行查找3应配备的主要设备名称和台件数计算机(每人一台)Mapinfo及MapX控件二 实验步骤1 在右边的工程栏的空白处单击右键添加添加窗体,然后打开窗体2 在窗体中添加3个lable,依次命名为:名称,编码,类型3 在第一个窗体中选择List输入如下代码: Private Sub List1_Click() Dim findlayer As MapXLib.Layer Dim ds As MapXLib.Dataset Dim foundobj As MapXLib.FindFeature Dim ftr As MapXLib.FindFeature Dim foundfeature As Features Dim Obj Dim aa Set findlayer = Map1.Layers(Combo1.Text) Set ds = Map1.Datasets.Add(miDataSetLayer, findlayer) MsgBox List1.Text Set foundobj = findlayer.Find.Search(List1.Text) If (foundobj.FindRC Mod 10 = 1) Then Map1.Layers(Combo1.Text).Selection.ClearSelection Map1.Zoom = 0.3 Map1.CenterX = foundobj.CenterX Map1.CenterY = foundobj.CenterY Map1.Layers(Combo1.Text).Selection.SelectByPoint Form1.Map1.CenterX, Form1.Map1.CenterY, 1 Map1.Layers(Combo1.Text).AutoLabel = True Form2.Show Form2.Text1.Text = ds.Value(foundobj.FeatureID, 1) Form2.Text2.Text = ds.Value(foundobj.FeatureID, 2) Form2.Text3.Text = ds.Value(foundobj.FeatureID, 3) End If If (foundobj.FindRC Mod 10 1) Then MsgBox ccna End IfEnd Sub实验(六)一实验项目名称:在VB中使用MapX(10)1实验内容:在VB中使用MapX2实验要求:熟悉MapX在VB环境中的应用3应配备

温馨提示

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

评论

0/150

提交评论