资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
实验(一)一实验项目名称: 地图图层化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()End 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.Clearpt.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.Ce
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号