MapX控件的基本属性
学习MapX文件

5.在VB中使用MapX (1)打开VB,新建一窗体,添加部件 MapX. (2)点击MapX控件,在窗体上建立一地 图,系统默认的名称为map1. (3)改变map1的属性Geoset,可以选择 其他的*.gst文件. (4)鼠标指向地图,点击鼠标右键,弹出 对话框,选择General选项卡,通过current,选 择zoom-in(放大)鼠标形式. (5)启动窗体,可以对地图进行放大操 作.同样也可进行缩小,平移操作.
制作池州道路图
(1)点击文件/打开表,选择栅格图 chizhou.jpg (2)点击文件/新建表,并创建该图层的表结构 (3)点击地图/图层控制,把该图层设为可编 辑属性,这时绘图工具栏被激活 (4)通过折线绘图工具创建池州道路图 (5)点击窗口/新建浏览窗口,添加属性数据 (6)保存该表。 (7)用同样的方法创建池州分区图,名胜古 迹图
(5) CurrentTool是Map的一个基本属性,记录 了地图当前的鼠标形式. 鼠标的形状的种类:放大 缩小 标注,漫 游等.如何改变鼠标的形状 程序的方式来改变鼠标的形状: 自动标注地图程序: Private Sub biaozhu_Click() Form3.Map1.CurrentTool = miLabelTool End Sub
2. map对象的主要方法
(1)pan:该方法将按以屏幕坐标给出的偏移像素。语法 为: Map. Pan(screenx,screeny) Eg: Map1. Pan(2,2) (2)Distance:计算地图两个指定点之间的距离。语法 为: Map. Distance(x1,y1,x2,y2) Eg:dim dis as double map1.mapunit=miunitkilometer dis= Map1. Distance(87.68,43.77,104.06,30.67) Msgbox dis 计算成都到乌鲁木齐的直线距离。
MapX在VC++中实现地图图层中文标注的方法

MapX在VC++中实现地图图层中文标注的方法李卫玲;乔俊玲;刘洪磊【摘要】阐述MapX在VC++中实现地图标图的基本方法,给出MapX在VC++中为地图图层生成中文标注的关键代码.【期刊名称】《广西科学院学报》【年(卷),期】2013(029)001【总页数】2页(P22-23)【关键词】标注;MapX;OCX【作者】李卫玲;乔俊玲;刘洪磊【作者单位】洛阳师范学院信息技术学院,河南洛阳471022;洛阳师范学院信息技术学院,河南洛阳471022;96251部队司令部,河南洛阳471003【正文语种】中文【中图分类】TP311Map X是一种基于Windows操作系统,用于地图化工作的标准OCX(对象类别扩充组件)控件。
它为开发人员提供了一个快速、易用、功能强大的地图化组件。
在 VB,Delphi,Power Builder,VC等可视化开发环境中,只需在设计阶段将Map X控件放入窗体中,并对其进行编程,设置属性或调用方法或相应事件,即可实现数据可视化、专题分析、地理查询和地理编码等丰富的地图信息系统功能。
Map X的空间数据结构,从横向看是基于空间实体和空间索引相结合的一种结构,从纵向看是一种分层存放的结构[1]。
空间实体是地理图形的抽象模型,主要包括点、线、面三种类型,点可以表示一组坐标(x,y),线和面则均被表示成多组坐标(x 1,y 1;x 2,y 2;…;x n,y n)。
空间索引是查询空间实体的一种机制,通过空间索引,就能够以尽量快的速度查询到给定坐标范围内的空间实体及所对应的数据。
地图是图层的集合,由于Map X是按图层组织地图,所以利用Map X实现地图标图实质上是对地图各图层的标图。
本文研究Map X在VC++中实现地图图层中文标注的方法,并给出部分关键的代码。
1 Visual C++中Map X实现地图标图的基本方法Map X在绘制常用图形时,编程人员只需添加相应映射函数即可,但是若要实现地图自主标图,则需使用地图对象的Create Custo mTool方法创建用户自定义工具,而且需要注意,在创建自定义工具后,必须在Tool Used事件中实现工具是如何工作的。
MapX学习基本教程

Flds.AddStringField "ID", 12 Flds.AddStringField "Name", 50 Flds.AddNumericField "Deptch", 12, 2 Flds.AddIntegerField "Length"
′ LayerInfo.Type = miLayerInfoTypeNewTable LayerInfo.AddParameter "FileSpec", FilePath + "" + FileName LayerInfo.AddParameter "NAME", LayerName LayerInfo.AddParameter "Fields", Flds
单独修改某个图元的样式:SET Ftr.Style=NewStyle,再用 Update 即可 2、 创建一个线矩形 Dim Pnts AS MapXLib.Points
MapInfo教程第11章-MapX基础

图1ห้องสมุดไป่ตู้-8 “选择程序文件夹”对话框
图11-9 “开始复制文件”对话框
图11-10 进度栏
⑨ 在 MapX Installer安装完毕之后,将会 启动“MapX数据设置”对话框。重复上述介绍的 各个步骤,完成整个安装,如图11-11所示。
图11-11 “完成”对话框
11.5 MapX的两个实用应用程序
3. GeoSets对象 GeoSet是在GeoManager中建立.GST文件,类似 MapInfo中的工作空间的概念,是图层及其设的 集合,控制程序中显示的地图。 4. Datasets对象 Datasets用于实现地图与数据的绑定。 建立地 图信息与属性数据之间联系的过程称之为自动绑 定。 5. Annotations对象 Annotations集合提供了操纵地图中文字和符号 的方法。
图11-16 “部件”对话框
图11-17所示 “Form1”对话框
2. 升级已有版本的MapX
如果Visual Basic项目使用早期版本的MapX 使用以下步骤来将该应用程序转换到当前版本。 ① 打开要升级到当前版本的应用程序的项目。 ② 从表单删除地图对象。记录地图控件的名称,以 及任何可以从其默认设置更改的属性的名称。 ③ 从“工具”菜单,选择“定制控件”。 ④ 在“可用控件”列表中,取消选择 MapInfo MapX 控件,然后选择“确定”。 ⑤ 返回到“工具”→“定制控件”对话框,然后选中 MapInfo MapX版本x控件(其中的x是当前的版本号), 再单击“确定”。
MapX对地图坐标系和投影的完全支持使用 户可以更精确地调整地图的显示并在自己的坐标 系中处理X-Y数据。 13. 远程空间服务器连接 可以连接运行在Oracle 8.0.5、Informix或其他 所支持的数据库上的Oracle8i Spatial和MapInfo SpatialWare上存储的真实数据。
MapX培训教程ppt课件

26
GeoDictionary
MapX培训教程
27
GeoDictionary
• See help topic in MapX 3.5 • Contains list of registered tables to use during
automatic databinding (automatching). • Map.GeoDictionary=“GeoDictionary” • HKEY_LOCAL_MACHINE\Software\MapInfo\MapX\3.0\G
7 MousePointer 7 NumericCoordSys 7 PaperUnit
7 PreferCompactLegends
7 Rotation 7 SelectionStyle 7 Title 7 TitleText 7 Version 7 Zoom
MapX培训教程
11
CenterX, CenterY, Zoom
MapX培训教程
20
Geosets
MapX培训教程
21
GeoSet
• A collection of Layers and settings for each layer • Similar to a MapInfo Pro workspace • MapX includes Geoset Manager.exe utility to manipulate geosets
MapX培训教程
10
地图对象属性(Map Properties)
• Annotations • AreaUnit • AutoRedraw • Bounds • CenterX • CenterY • CurrentTool • DataSet • DataSetGeoField • DataSets • DataSetTheme • DefaultStyle • DisplayCoordSys
Mapx 入门教程

Mapx 入门教程MapX入门MapInfo MapX是一个用来做地图化工作的OCX控件,它可以很容易地在您的应用程序中加入强大的制图功能。
它可以把您的数据用地图的形式显示出来,更易于理解。
地图形式可以比简单的图表、图形提供更多的信息,而且描述地图比描述数据表更加简单迅速。
本章主要对mapx的安装和在编程语言中的使用进行讲解。
MapX是一个提供给应用程序开发人员的工具。
它提供了一个最简单和最节约成本的方法,用来将地图化功能嵌入到新的和现有的应用中。
MapX是一个OCX组件,可以被快速集成到使用Visual Basic、PowerBuilder、Delphi、Visual C++或其他面向对象的语言的客户端应用程序以及使用Lotus Script的Lotus Notes (v4.5)中。
开发人员可以在他们熟悉的环境中工作,最终用户可以通过他们熟悉的应用程序来访问地图数据。
通过MapX,可以完全按照您的意愿在应用程序中加入强大的制图功能。
您可以按点、按专题渲染区域、按饼图或直方图等等来显示数据。
启用MapX的分析功能,可以分组和组织数据、执行搜索或在一个指定的半径、矩形区域或指定的点的周围选择地图图元。
例如,MapX能够显示哪一分店最接近您最大的客户,可以计算客户和商店之间的距离;还可以显示去年花销最大的客户;并按销售额给表示商店的符号进行颜色编码。
所有这些结合在一起就是您的数据在地图上的直观显示。
MapX不仅仅是一个“地图浏览器”。
通过MapX,可以分析并直观地显示业务数据,创建或编辑地图图元,并按地理位置显示数据结果。
MapX的主要功能如下:∙专题制图—使用专题制图显现数据。
联合数据和地图中的每个图元,并在地图中用颜色编码(或其他样式)来表示数据。
可使用六种不同的样式来观察数据(色彩范围、点密度、独立值、等级符号、饼图、直方图)。
∙逐层细化制图—可以通过简单的定点和单击来浏览数据,在OLAP/DSS环境下,可以允许用户通过定点和单击逐层细化地图的某个区域。
C#进行MapX二次开发之控件基本操作

C#进行MapX二次开发之控件基本操作C#进行MapX二次开发之控件基本操作Posted on 2009-06-26 20:40 伍华聪阅读(2018) 评论(6) 编辑收藏上篇介绍了MapX的部分基本使用代码,包括放大、缩小、缩放到初始大小(全图)、平移、矩形选择、圆形选择、箭头、打开图层对话框、打开ActiveX属性对话框、添加符号等基本操作代码,本篇继续探讨一些控件的基本操作。
MapX提供的标准工具,不同的工具将会使鼠标能够完成多种任务。
例如,如果当前的工具设成miLabelTool,那么当单击鼠标时,会在此特指的地图对象上放置标签。
鼠标光标将根据正使用的工具更改形状。
MapX 可用的标准工具列表如下所示:导出地图为图片的操作代码:if (axMap1.GeoSet.Length < 1){MessageBox.Show("未加载地图,不能导出!");return;}SaveFileDialog exportFD = new SaveFileDialog();exportFD.Title = "导出当前地图";exportFD.Filter = "windows bitmap(*.bmp)|*.bmp|GIF (*.GIF)| *.gif|JPEG (*.JPG;JPEG;JPE)|*.JPG|PNG (*.PNG)|*.PNG|PSD (*.PSD)| *.PSD|TIFF (*.TIF)|*.TIF";if (exportFD.ShowDialog() == DialogResult.OK && (exportF D.FileName) != null){try{axMap1.ExportSelection = true;switch (exportFD.FilterIndex){case1:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportForMapPaperHeight);break;case2:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor matConstants.miFormatGIF, axMap1.MapPaperWidth, axMap1. MapPaperHeight);break;case3:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor matConstants.miFormatJPEG, axMap1.MapPaperWidth, axMap1. MapPaperHeight);break;case4:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor matConstants.miFormatPNG, axMap1.MapPaperWidth, axMap1. MapPaperHeight);break;case5:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor matConstants.miFormatPSD, axMap1.MapPaperWidth, axMap1. MapPaperHeight);break;case6:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor matConstants.miFormatTIF, axMap1.MapPaperWidth, axMap1.M apPaperHeight);break;case7:axMap1.ExportMap(exportFD.FileName, MapXLib.ExportFor.MapPaperHeight);break;}}catch (Exception ex){MessageBox.Show(ex.Message);}}添加图层的操作代码OpenFileDialog openFile = new OpenFileDialog();if (openFile.ShowDialog() == DialogResult.OK){yers.Add(openFile.FileName, 0);//默认值为0,C#调用不能省略默认值,图层的位置yerInfo liinfo;liinfo = new yerInfoClass();liinfo.Type = ayerInfoT ypeTab;liinfo.AddParameter("AutoCreateDataset", true);}查找图元信息:MapXLib.Features mX;mX = yers[1].AllFeatures;this.listView1.Items.Clear();foreach (MapXLib.Feature mY in mX){ListViewItem mZ = new ListViewItem(mY._FeatureID.ToStrin g());mZ.SubItems.Add(.T oString());this.listView1.Items.Add(mZ);}查找图层信息yers mX;mX = yers;this.listView1.Items.Clear();foreach (yer mY in mX){ListViewItem mZ = new ListViewItem(mY._Name);this.listView1.Items.Add(mZ);}获取鼠标移动的坐标double x = 0;double y = 0;axMap1.ConvertCoord(ref e.x, ref e.y, ref x, ref y, MapXLib.C onversionConstants.miScreenToMap);toolStripStatusLabel1.Text = string.Format("X:{0} Y:{1}", x, y);放置点工具操作try{yer mX;mX = yers[1];mX.Editable = true;yers.InsertionLayer = mX;this.axMap1.CurrentTool = MapXLib.ToolConstants.miAddP ointT ool;}catch (Exception ex){MessageBox.Show(ex.Message);}MapX自定义工具的使用:如果需要一种MapX 没有提供的工具栏按钮,可以使用Map.CreateCustomTool 方法来创建自定义工具。
MapX基础

第二章MapX 基础概述本章是对应用程序中用来创建和操作MapX 地图的主要组件的概述。
在后面的各章中将对这些选出的主题做详细讨论。
第一节 Map 对象下列图表是MapX 对象体系的局部,您可以看到Map 对象存在于最顶端。
每个MapX 的对象、属性和方法都衍生于Map 对象。
每个在Map 对象之下的属性和方法都会对生成整个Map 对象有所影响。
主要是由DataSets、Layers 和Annotations 对象定义每一个Map 对象。
MapX 对象模型局部说明:这不是一个完整的MapX 对象模型。
下表显示了一些由数值表示的Map 对象属性。
可以在“设计时”改变这些属性,也可以在“运行时”使用以下代码示例来更改。
用Map 对象,可以通过操纵地图的几个方法和属性来控制地图如何来显示。
有一些属性是由其他对象来表示的。
例如,当您看到MapX 地图时,也就是看到单独图层的集合,它是由Layers 集合来表示的。
Layers 集合是Map 对象的属性。
现在让我们来看一看如何改变地图的属性。
属性页允许我们操作Map 对象的多个属性。
第二节属性页当设计和测试应用程序时属性页对于修改地图属性非常有用。
我们以Visual Basic 工程中访问属性页为例,相应的步骤如下:方法一:如右图1.从属性窗口中单击自定义。
2.单击自定义行上的按钮。
方法二:在设计时可以通过右键单击窗体内的Map 对象并选择属性来访问属性页,见下图方法三:运行时查看属性页也可以在运行时查看属性页。
为此,请把下列代码添加到Map.Mouse_Up 事件中去。
If Button = 2 Then Map1.PropertyPage这段代码将检测用户是否在运行时单击鼠标右键,然后显示属性页。
使用鼠标右键,是因为不会影响工具(左键)的正常使用。
说明:您应该仅在设计和测试时使用这段代码,因为它给用户太多权限来控制整个地图。
然而,如果希望完成的产品要为最终用户显示对话框的话,可能就需要使用yersDlg 方法来代替PropertyPage 方法,因为LayersDlg对话框对用户更友好一些。
地图控件MapInfo-MapX研究

地图控件MapInfo-MapX研究作者:杜伟来源:《电脑知识与技术·学术交流》2008年第33期摘要:论文介绍了目前国内广泛应用的GIS软件开发平台MapInfo系列产品中的MapX组件,针对这一组件的数据结构、模型结构等方面做了深入研究。
关键词:组件式GIS;MapInfo;MapX中图分类号:TN929.5文献标识码:B文章编号:1009-3044(2008)33-1492-02Research on MapInfo-MapXDU Wei(Shengli Oilfield Geological Institute of Science and Technology, DongYing 207015, China)Abstract: First of all, the thesis introduces the MapX components, which is one of MapInfo products series-popular GIS platform at pr esent. Then it makes a deep research on MapX′s data structure, model structure and so on.Key words: ComGIS;MapInfo;MapX1 MapX概述MapX是一个基于ActiveX技术的可编程控件,也是MapInfo公司的得意之作,它使用了与MapInfo Professional一致的地图数据格式,而且还在这个远远小于MapInfo的控件中实现了MapInfo的大多数功能。
MapX的内部提供了四十多个面向Microsoft基础类的OLE控件,这就使得应用程序员可以使用任何支持ActiveX的程序开发环境,如VC++等,来采用嵌入MapX控件的方式,方便快捷地开发GIS应用程序。
MapInfo用工作空间(Workspace)、图层(layer)、地物类等概念组织数据,MapX则利用自动化对象将这些概念封装起来,相应地提供了DataSet对象、Layer对象、Feature对象等,并且考虑到数据组织中大量出现集合类型的引用的情况,对这些对象的集合也进行了封装。
Delphi——Mapx

delphi的一些小知识,备忘 .分类: mapx+delphi 2010-08-30 09:13 12人阅读评论(0) 收藏举报1、静待数组与动态数组动态数组名为一个指针,,是数组首地址。
静态数组名为一个变量,是数组首元素的值arr[0];larr: array[0..10] of char;larrd: array of char;静态数组取首地址可以使用@larr或者@larr[0],而动态数组可以用@larrd[0]或larrd;vara: array [1..20] of Char;b: array of char;ptr : PChar; //PChar 可以看作 ^Charbeginsetlength(b,20);fillchar(a, length(a),#0);fillchar(b, length(b),#0);ptr := 'abcdeftghijklmn';strCopy(@a, ptr);StrCopy(@b[0], ptr); //这里如果使用strCopy(@b,ptr),将报错//ptr := @a;ptr := ''; //这里对pchar类型的变量赋空字符串后,必须重新申请内存空间才能再使用strcopy 对变量进行赋值;GetMem(ptr,length(b));StrCopy(ptr, @b[0]);//这里如果写成strcopy(ptr,@b); 将无法把数组b的内容正确拷贝给ptrshowmessage(ptr);freememory(ptr);ptr := @a;Inc(ptr); // 这句等价于 C 的 ptr++;Inc(ptr, 2); //这句等价于 C 的 ptr+=2;showmessage(ptr);end;2、move、copymemoryMove和CopyMemory本来是同一个东西,参数稍变结果你就调错了还不知道。
MapX教程

详细介绍MapX提供的三维 可视化功能,包括三维场 景构建、三维符号制作、 三维飞行等。
阐述在MapX中构建三维场 景的方法和步骤,包括地 形数据加载、建筑物模型 导入、纹理贴图等。
介绍如何使用MapX的三维 符号制作工具创建自定义 的三维符号,以满足特定 应用场景的需求。
演示如何在MapX中实现三 维飞行模拟功能,包括飞 行路径规划、视角控制、 动态效果展示等。
问题三
数据导入或导出失败
• 解决方案
检查数据格式是否正确,确保导入或导出路径有效。对 于复杂的数据转换,建议使用MapX提供的数据转换工 具。
使用技巧分享,提高工作效率
01
技巧一:快捷键使用
02
• 通过学习和掌握MapX的常用快捷键,可以大大提高工 作效率。例如,使用Ctrl+C和Ctrl+V进行复制和粘贴 ,Ctrl+Z进行撤销等。
1. 在MapX中打开一个新 的地图文档;
导入矢量数据
01
03 02
数据导入方法及步骤演示
3. 在弹出的对话框中选择要导入的矢 量数据文件,点击“打开”;
4. 根据需要设置坐标系和其他参数, 点击“确定”完成导入。
数据导入方法及步骤演示
导入栅格数据 1. 在MapX中打开一个新的地图文档; 2. 选择“文件”菜单下的“导入”选项;
03
数据导入、导出与处理
Chapter
支持的数据格式类型
矢量数据格式
如Shapefile、GeoJSON、KML等;
栅格数据格式
如GeoTIFF、ECW、MrSID等;
数据库格式
如PostGIS、SQL Spatial等。
Server
Spatial、Oracle
MapGis K9 常用控件总结

MapGis K9 常用控件MxWorkSpace 控件:地图文档的管理、多数据源的管理、空间数据的管理、系统库的管理等;MapXView控件:包括对窗口的放大、缩小、更新、复位、移动、选显示模式的设置等操作,用于显示用户添加的地图数据;MxDocTreeView控件:提供了新建地图文档、添加图层、删除图层等操作的树型可视化控件;MxEditControl控件:提供了通用编辑、拓扑编辑以及注记编辑的常用功能,用户可直接使用该模块下提供的方法进行如:输入线、拓扑构建等操作MxGisGrid控件:该控件主要用来显示地图数据的属性信息,并提供了事件获取所选择的记录的相关详细信息MxMapLibCtrl控件:该控件提供了对系统库操作的接口,包括颜色库、符号库和字体库MxThemeTreeView控件:该控件提供制作各种专题图,比如单值、分段、统计等专题图,也提供了专题图的导入导出XML格式,都是通过其右键菜单来实现的,功能和基础平台提供的专题视图是吻合的常用组件组件组件说明mapXBase 提供了有关地图和图层相关的操作,以及坐标转换和自定义绘图方面的的功能mc_basObj7Lib 提供了大量的Mapgis基本对象的定义,比如要素、属性结构、属性等mc_basXCls7Lib 提供了基本的对象类和数据集以及相关对象的定义及操作mc_GisConv 提供了各种数据转换的函数,包括E00、SHAPE、MIF、DXF、TXT到7X的转换以及6x到7x、7X之间的各种转换mc_MapSet7Lib 主要是进行地图集的创建、查询、分析等操作mc_ProjSysLib 主要提供了各种方式的投影参数的取、设置和单点、多点投影及各种球面计算mc_Spc_Anly70Lib 主要是进行空间运算和buffer分析以及拓扑差错等空间分析的功能mx_gisToolLib 提供了一些在工具箱中提供的功能,比如数据加密解密、属性统计、数据迁移、各种对象类的创建等mc_basRasterLib 提供了栅格数据管理常用的操作mc_RasterToolLib 栅格工具,提供了对栅格数据的裁减、转换、分析等功能常用接口接口(mapxBase组件)说明IXDisplay 自定义绘图IXTransformation 提供坐标转换和获取设置范围IXMap 提供地图操作功能IXMaplayer 提供图层操作功能IXLayOut 提供版面操作接口IXLayOutFrame 提供排版框操作接口IXCartoElement 制图元素接口IXSFeatureLayer 提供简单要素类图层接口IXRasterLayer 提供栅格数据集图层接口IXAnnotationLayer 自定注记类图层接口IXFeatureLayer 提供要素类图层接口IXMapSelection 提供地图选择集接口IXLabelInfo 提供动态注记信息接口IXLabelLinInfo 线动态注记接口IXLabelPntInfo 点动态注记接口IXLabelRegInfo 区动态注记接口IXLabelStrInfo 动态注记字符信息接口对象(mc_basObj7Lib组件)说明mc3Dots 3维坐标点集mc3dot 3维坐标点mcAclsInfo 注记类信息mcAnnData 注记类数据mcAnnDimData 维注记数据mcAnnHtmlData Html注记数据mcAnnStrData 文本注记数据mcAttRule 属性规则mcCodeDomain 编码域mcConflictItem 冲突项(某一个类) mcConflictList 冲突列表(某个GDB) mcConflictSet 冲突集(某个GDB) 以下省略,请参照帮助文档对象(mc_basXCls7Lib组件)说明mcAnnotationCls 注记类对象mcArcOper 空间弧段操作mcArcSet 空间弧段集合mcDotOper 空间点操作mcDotSet 空间点集合mcFeatureCls 要素类对象mcFeatureOper 要素操作对象mcFeatureSet 要素数据集合mcGDataBase 地理数据库对象mcGDBServer 服务器对象mcGInfOper 图形信息操作mcGInfSet 图形信息集合对象mcGLinOper 几何线操作mcGLinSet 几何线集合mcGPntOper 几何点操作mcGPntSet 几何点集合mcGRegOper 几何区操作mcGRegSet 几何区实体集合mcObjectCls 对象类mcRecordSet 记录集合mcRelationCls 关系类mcRelationSet 关系集合对象mcSelectOption 选择操作方式对象mcSelectSet 选择集对象mcSFeatureCls 简单要素类对象(mc_GisConv组件)说明mcGisConvE00、SHAPE、MIF、DXF、TXT 数据添加或者拷贝到7XmcGisMove6x数据到7X要素类/简单要素类以及7X数据要素类/简单要素类之间的转换mcGisOCIOper 6x/7x数据转换成7X对象类mcGisACIOper 6x/7x数据转换成7X类注记对象(mc_spc_anly70Lib组件)说明mcCrosstruct 弧段自相交mcSpatialAnalysis2 简单要素类空间分析mcTopoCheckOption 拓扑查询选项mcTopoError 拓扑错误mcOverlayOption 空间叠加mcTopoBuffer2 简单要素类Buffer分析mcTopoErrorInfo 拓扑错误信息mcTopoOption 拓扑选项对象(mc_gisToolLIb组件)说明mcgdbEncrypt 数据加密解密对象mxBasTool 基础工具集对象要完成图层的操作涉及到二次开发接口如下:mcGDBServer:地理数据库服务器对象,继承自地理服务器接口IGDBServer,常用的两个方法有Connect方法用于连接本地数据源或网络数据源,get_gdb方法根据数据库名称连接指定的地理数据库。
2024年MapInfo+MapX培训教程

MapInfo+MapX培训教程一、引言地理信息系统(GIS)作为处理、分析、展示地理空间数据的重要工具,已经在多个领域得到了广泛应用。
MapInfo和MapX是两款具有代表性的GIS软件产品,它们凭借强大的功能、友好的界面和易用性,成为了众多用户的首选。
本教程旨在帮助读者快速掌握MapInfo和MapX的基本操作,为深入学习和应用奠定基础。
二、MapInfo基础操作1.软件安装与启动(1)MapInfo正式版安装包;(2)按照提示完成安装过程;(3)启动MapInfo,熟悉软件界面。
2.地图操作(1)打开地图:通过“文件”菜单或工具栏打开地图文件;(2)地图浏览:使用工具栏上的放大、缩小、平移等工具进行地图浏览;(3)地图显示设置:调整图层显示顺序、设置图层透明度等;(4)地图输出:将地图导出为图片或其他格式。
3.数据操作(1)创建数据表:新建数据表,设置字段类型和属性;(2)数据导入:将外部数据导入MapInfo,如Excel、CSV 等;(3)数据编辑:添加、删除、修改数据表中的记录;(4)数据查询:通过SQL语句查询数据表中的信息。
4.空间分析(1)缓冲区分析:为地图上的对象创建缓冲区;(2)叠加分析:将两个图层进行叠加,分析空间关系;(3)网络分析:计算地图上的路径、距离等。
三、MapX基础操作1.软件集成与调用(1)在开发环境中安装MapX插件;(2)通过编程接口调用MapX功能;(3)熟悉MapX控件及其属性、方法、事件。
2.地图操作(1)加载地图:将地图文件加载到MapX控件中;(2)地图浏览:实现地图的放大、缩小、平移等操作;(3)地图显示设置:调整图层显示顺序、设置图层透明度等;(4)地图输出:将地图导出为图片或其他格式。
3.数据操作(1)创建数据表:在MapX中新建数据表,设置字段类型和属性;(2)数据导入:将外部数据导入MapX,如Excel、CSV等;(3)数据编辑:添加、删除、修改数据表中的记录;(4)数据查询:通过SQL语句查询数据表中的信息。
MapX的基本属性

在MapX对象模型中,以下对象是可以被创建的:
AffineTransform、BindLayer、BitmapSymbols、CoordSys、Datum、Feature、Fields、LayerInfo、Map、ODBCQueryInfo、Parts、Point、Points、Rectangle、RowValue、RowValues、Style、Variables、NotesQueryInfo、NotesViewInfo。
在Delphi中创建这些对象需要注意一点,即在后面注明MapX的版本。如在本课题实现过程中,由于使用的是MapX 4.0版本,因此创建语句要写成
s := CreateOleObject(´MapX.Style.3´);
最上面一层为Layers(1),Layers(2)位于Layers(1)的下面,以次类推。最下面的图层最先绘制,最上面的图层最后绘制。在应用程序中,合理地安排好每层在Layers中的顺序是至关重要的。比如说有两个图层,一层为点,一层为区域,则应将点层放到区域层的上方,否则区域会将点覆盖。
另外,在进行地图选择操作时,根据要求调整图层的顺序也是十分重要的。MapX中的选择工具总是从可选择图层中的最上层开始选择,如果在地图上的同一位置存在多个位于不同层的地图对象,其结果是很难精确地选择到目标对象。因此,最好将被选择图层提到最上层显示。
Ø Annotations
Annotations集合提供了操纵地图中文字和符号的简单方法。Annotations位于所有其它图层的上方并且不与任何数据连接,有点儿象MapInfo中的透明图层。
Annotations包括以下主要的属性与方法:AddSymbol在Annotations中增加符号,符号类型使用Map.DefaultStyle定义;AddText在Annotations中增加文本;Remove删除特定的标注.;Type取值为miSymbolAnnotation或miTextAnnotation。
C#进行MapX二次开发之MapX基础知识

MapX的主要技术特点(1)、以表(Table)的形式组织信息每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件。
为使用MapInfo,就需要有组成表的用户数据和地图文件。
这些文件可以来自MapInfo或者由用户创建。
用户要想在MapInfo中工作,就必须打开一个或多个表。
MapInfo通过表的形式将数据与地图有机地结合在一起。
当用户在MapInfo中打开数据文件时,MapInfo将创建一个表。
这个表至少由两个独立的文件组成,一个是包含数据结构的文件,另一个是包含原始数据的文件。
一个典型的MapInfo表将主要由*. tab、*.dat、*.wks、*.dbf、*.xls、*.map、*.id、*.ind文件格式组成。
(2)、图形对象MapInfo内置的数据库管理系统是一种关系型数据库管理系统,也是用二维表组织数据。
与其它关系型数据库不同的是表结构中除可包含常用类型的属性列外,还引入一个图形对象列(OBJ列),用于存储图形对象(如线、区域等)。
MapInfo提供许多图形对象的操作接口,利用这些接口可以生成和处理所需要的各种图形。
(3)、地图图层化MapInfo是按图层组织计算机地图的。
也就是说,将一幅计算机地图加工成多个层层叠加的透明层,这个透明层就称为图层。
每个图层包含了整个地图的一个不同方面。
例如,第一个图层包含省边界,第二个图层表示省府的符号,第三个图层由标注文本组成,把它们层层叠加就形成一幅完整的地图。
在创建每一个图层时,都要为其建立一张表,MapInfo就是通过这种方式使表与地图之间建立了联系。
也就是说,MapInfo是以表的形式来进行管理的,每个表一般包含两部份:地图部分和数据库(属性)部份。
(4)、专题地图提供多种数据可视化的专题地图,能将数据库中的信息进行直观的可视化分析。
使用专题渲染在地图上显示数据时,可以清楚地看出在数据记录中难以发现的模式或趋势,为用户的决策提供依据。
MapX专题图的详细解释

1.范围值专题图:
属性名称
属性类型
属性含义
备注
AllowEmptyRanges
Boolean
决定是否允许范围个数为空,默认为False,不允许为空
如果DistMethod属性设为
miCustomRanges则忽略这个属性的设置而允许为范围个数空。
属性名称
属性类型
属性含义
备注
BarFramed
Boolean
决定bar是否画背景
BarFrameStyle
CMapXStyle
决定bar背景的样式
BarStacked
Boolean
决定柱状图的Bar是左右排列还是上下排列。False为左右排列。默认为False。
BarGraduatedStack
Boolean
GraduateSizeBy
miGraduateBySquareRoot = 0
miGraduateByConstant = 1
miGraduateByLogarithm = 2
控制数值和符号大小之间的关系
miGraduateBySquareRoot(平方根)
miGraduateByConstant(常量)
控制数值和符号大小之间的关系
miGraduateBySquareRoot(平方根)
miGraduateByConstant(常量)
miGraduateByLogarithm(对数)
ShowNegativeValues
Boolean
控制是否显示反方向的等级符号
ApplyAttribute
miApplyAttributeAll= 0
MapX属性数据及数据绑定.

2020/9/29
18
6.6 绑定图层
使用BindLayer对象分两步: 1)创建BindLayer对象 2)通过Datasets.Add方法中的BindLayer参数传
递此对象来添加数据集 例子P160 源数据为X/Y的绑定图层 源数据为点引用数据的绑定图层
2020/9/29
19
6.6 绑定图层
Set rs = db.OpenRecordset("US_CUST")
yerName = "US Customers" bindlayerobject.RefColumn1 = "X" bindlayerobject.RefColumn2 = "Y" yerType = miBindLayerTypeXY
是搜索范围,可以为地物或街道所在的一 个地域范围。返回查找到的图元存储在 FindFeature对象的属性中。 FindFeature.FindRC属性为Find操作的结果 代码。FindRC属性含义P147
2020/9/29
3
Find 对象方法
SearchEx(Address,[Boundary])
5
lyrCity.Selection.Add objFindResult.MatchedFeature
6.2 属性数据的更新
一个空间对象在属性数据库表中对应一行。 Layer.KeyField属性指定字段名称,再给
Feature.KeyValue属性赋值,然后调用 Feature.Update进行更新就可以了。 举例见 P150
返回查找到的图元存储在FindResult对象的属 性中。 如果没有精确的匹配结果, MatchedFeature为空,Matches为返回的所有 近似匹配结果。如果匹配到多个结果,则 MultipleMatches为真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MapX控件的基本属性
这些图层既可在 设计阶段通过 MapX 的“属性” 对话框更改,也 可在运行时通过 编程更改。使用 “属 性”对话框,设 计者只需更改设 置即可控制图层。
添加新的图层、 移除图层和更改 图层的样式或可 见性均属于可在 图层上执行的操 作。
MapX控件的基本属性
GeoSet 是图层及其设置的集合。GeoSet 确定了在 Map 对象及其设置中使用的 MapInfo 表的集合。 GeoSet 可在设计阶段指定。如果在运行时设定, 则它将先移除所有加载的图层和 Dataset,然后 加载新的 GeoSet。默认加载的 GeoSet 是 US.GST。
MapX控件的基本属性
显示所有图层名称 Dim x As Integer For x = 1 To yers.Count Picture1.Print yers(x).Name Next
MapX控件的基本属性
每个单独 的地图均 称为图层, MapX 将 地图存储 为图 层的集合。
MapX控件的基本属性
MapX控件的基本属性
在Map控 件上右击相关属性 设置来自MapX控件的基本属性
在运行时也可查看“属性页”。为此, 可向 Map.MouseUp 事件添加以下代 码。 If Button = 2 Then Map1.PropertyPage
MapX控件的基本属性
Private Sub Map1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then Map1.PropertyPage
End Sub
MapX控件的基本属性
产品: yersDlg 方法取代 PropertyPage 方法,因为 LayersDlg 对话框更加友好。
MapX控件的基本属性
Private Sub Command1_Click() yersDlg End Sub
GeoSet
MapX控件的基本属性
MapX控件的基本属性
Map1. GeoSet =“图集文件名”
MapX控件的基本属性
CurrentTool(操作功能)
Select Case Index Case 0 Map1.CurrentTool = miZoomInTool Case 1 Map1.CurrentTool = miZoomOutTool Case 2 Map1.CurrentTool = miPanTool Case 3 Map1.CurrentTool = ToolConstants.miArrowTool Case 4 Map1.CurrentTool = ToolConstants.miCenterTool Case 5 Map1.Rotation = Map1.Rotation + 90