二次开发入门MapBasic--MapInfo教程

合集下载

MapInfo_入门基本操作

MapInfo_入门基本操作

地图对象的编辑与修改
——移动复制节点
选择单个节点或多个节点(按住shift键)
用鼠标移动或用键盘上的上下左右箭头移动均可
地图对象的编辑与修改
——对线进行平滑/撤销平滑处理
把折线角转换为折线曲线
“对象”菜单
平滑/撤销平滑
作 业
• 1. 建立一个“居民点“点图层,绘制几个不同样 式的点; • 2. 建立一个“道路”线图层,绘制几条不同样式 的线; • 3. 建立一个“湖泊”面图层,绘制几个不同样式 的多边形面域; • 4. 使所建三图层同时显示,并且点图层位于最上 层,面图层位于最底层; • 5.并会用整形工具来改变任意的一条线或面的形状。
GIS实习课
实习一 MapInfo 入门基本操作
聊城大学环境与规划学院 段艺芳


MapInfo公司于1986年成立于美国特洛伊(Troy)市, 成立以来,该公司一直致力于提供先进的数据可 视化、信息地图化技术,其软件代表是桌面地图 信息系统软件——MapInfo。
MapInfo Professional用户界面
地图对象的绘制
符号工具—创建点标记 折线工具 多边形工具 —创建区域 矩形工具 数绘 文 字制 本 等字 工 文母 具 本、 :
——绘图工具
线工具—绘制直线段 圆弧工具—创建圆弧 椭圆工具—创建椭圆 圆角矩形工具
地图对象的绘制
——编辑工具
整形按钮—切换整形模式
框架按钮——访问框架 工具
符号样式按钮
如“C:\program files\MapInfo Professional\ mapinfow.exe”,单击“确定”。
图2-11 “快速启动”对话 框
第三讲 MapInfo应用基础 ——MapInfo的启动

《mapinfo入门教程》ppt课件

《mapinfo入门教程》ppt课件

MapInfo提供了丰富的空间分析工具,包 括缓冲区分析、叠加分析、网络分析等, 能够满足不同领域的需求。
可视化表达
自定义开发
MapInfo支持多种可视化表达方式,包括 地图、图表、三维场景等,能够直观地展 示空间数据和属性数据。
MapInfo提供了灵活的二次开发接口,支 持用户自定义功能和扩展应用。
专题地图特点
专题地图的制图区域范围和比例尺一般不受限制,可以包括整个地球或某个区域,比例尺可大可小; 专题地图的内容广泛,几乎可以包括所有自然和人文现象;专题地图不仅可以表示现象的现状及其分 布,而且能表示现象的动态变化和发展规律。
制作专题地图步骤
收集数据
收集与主题相关的数据,包括 空间数据和属性数据。
网络分析
基于网络数据集进行最短路径、最 佳路径等分析,适用于交通、物流 等领域的规划与优化。
可视化表达技巧
符号化表达
通过不同的符号形状、大小、颜色等 视觉变量来区分和表示不同的空间对 象或属性信息。
色彩设计
运用色彩心理学和色彩构成原理,设 计合理的色彩方案,增强地图的视觉 冲击力和表现力。
注记与标注
基础操作与界面介绍
启动与退出MapInfo
启动 MapInfo
通过开始菜 单启动
退出 MapInfo
使用文件菜 单中的退出 选项
通过桌面快 捷方式启动
使用Alt+F4 快捷键
界面组成及功能
标题栏
01 显示当前打开的地图文档名称
和MapInfo版本号。
菜单栏
02 包含文件、编辑、视图、地图
、表格、窗口和帮助等菜单项 ,用于执行各种操作。
添加必要的文字注记和标注,解释和 说明地图内容,提高地图的可读性和 易理解性。

MapInfo教程第11章

MapInfo教程第11章

退出MapInfo
通过文件菜单退出:点击菜单栏中的 “文件”→“退出”。
通过标题栏退出:点击标题栏右侧的 关闭按钮。
界面介绍
工具栏
提供常用命令的快捷方式,如 打开、保存、打印、剪切、复 制、粘贴等。
表窗口
用于显示和编辑与地图相关联 的表格数据,可以进行排序、 筛选、添加、删除等操作。
菜单栏
包含文件、编辑、视图、地图 、表、窗口和帮助等菜单项, 用于执行各种命令和操作。
MapInfo教程第11 章
目录
• 引言 • MapInfo基础操作 • 数据输入与编辑 • 数据查询与分析 • 地图制作与编辑 • 高级功能与应用 • 案例实践与操作演示 • 总结与展望
01
引言
目的和背景
目的
本章旨在向读者介绍MapInfo的高级功能和应用,帮助读者更深入地理解和掌 握MapInfo的使用技巧和方法。
06
高级功能与应用
空间分析
空间查询
允许用户根据空间关系(如相邻、相交、包含等 )查询和选择地理对象。
缓冲区分析
创建地理对象的缓冲区,用于分析影响范围、距 离等。
叠加分析
将多个图层进行叠加,根据属性或空间关系进行 合并、相交等操作,提取所需信息。
网络分析
路径分析
确定两点之间的最佳路径,可考虑距离、时间、成本等因 素。
结构
本章共分为以下几个部分
1. 空间分析
介绍空间分析的基本概念和方法,包括空间数据的输入、 处理和分析等方面的内容。
2. 数据可视化
讲解如何将空间数据以图形化的方式展现出来,包括地图 制作、图表生成等方面的内容。
3. 自定义地图制作
介绍如何使用MapInfo的自定义功能,制作符合个人需求 的地图,包括地图元素的添加、编辑和美化等方面的内容 。

mapinfo教程

mapinfo教程

Mapinfo教程
引言
Mapinfo是一款地理信息系统(GIS)软件,它主要用于地图创建、地理数据分析和空间数据可视化。

它提供了一系列功能强大的工具,使用户能够轻松处理和分析地理数据。

本教程将介绍Mapinfo的基本概念、常用功能和操作步骤,帮助初学者快速上手使用Mapinfo。

目录
1.安装与配置
2.Mapinfo界面介绍
1.工作区
2.菜单栏
3.工具栏
3.创建和编辑地图
1.创建新地图
2.导入地理数据
3.创建图层
4.编辑图层
4.地理数据分析
1.空间查询
2.属性查询
3.空间分析
5.数据可视化
1.创建主题图
2.图表制作
1. 安装与配置
在开始使用Mapinfo之前,您需要先下载和安装Mapinfo 软件。

您可以到Mapinfo官方网站下载安装程序,并按照安装向导进行操作。

一旦安装完成,您可能还需要配置一些软件设置,如选择语言、设置默认地图坐标系等。

2. Mapinfo界面介绍
2.1 工作区
Mapinfo的工作区包括地图窗口、图层列表和信息窗格。

地图窗口是您进行地图浏览和编辑的主要区域,它显示了地理数据的可视化效果。

图层列表用于管理和显示地图中的不同图层,您可以通过勾选或取消勾选图层来控制其可见性。

信息窗格则显示了与地图相关的属性信息和统计数据。

2.2 菜单栏
Mapinfo的菜单栏包含了各种功能命令和工具选项,您可以使用这些选项进行地图创建、数据分析、编辑等操作。

常用的菜单栏选项包括。

《mapinfo全部教程》课件

《mapinfo全部教程》课件
《MapInfo全部教程 》PPT课件
目 录
• MapInfo软件简介 • MapInfo基础操作教程 • MapInfo进阶操作教程 • MapInfo高级应用教程 • MapInfo常见问题解答
CHAPTER 01
MapInfo软件简介
MapInfo软件的发展历程
1986年,MapInfo公司成 立,推出首款地图信息系 统软件。
2000年代,MapInfo不断 推出新版本,并拓展全球 市场。
1990年代,MapInfo软件 逐渐成为地理信息系统领 域的领导者。
2010年代,MapInfo软件 持续创新,并与其他技术 进行集成。
MapInfo软件的主要功能
地图浏览与缩放
支持多种地图数据格式,提供流畅的地图浏 览和缩放功能。
感谢您的观看
数据查询与分析
支持属性数据和空间数据的查询、统计和空 间分析功能。
地图标注与符号化
提供丰富的标注、符号和图层样式,满足各 种地图表达需求。
数据导入与导出
支持多种数据格式的导入和导出,便于与其 他软件进行数据交换。
MapInfo软件的应用领域
城市规划与管理
用于城市规划、土地利用、交通管理等方面的数据可视化与分析。
生动和立体。
MapInfo地图的图层管理
创建和管理图层
在MapInfo中,用户可以创建多 个图层,并对每个图层进行单独 管理,包括添加、删除、隐藏等 操作。
设置图层叠加顺序
用户可以设置图层的叠加顺序, 以控制不同图层之间的显示关系 ,实现更加复杂的地图表达。
调整图层透明度
通过调整图层的透明度,用户可 以在同一图层上叠加多个要素, 以实现更加丰富的地图信息展示 。

《mapinfo全部教程》课件

《mapinfo全部教程》课件

1 系统配置
了解MapInfo在计算机上的硬件和软件要求。
2 安装步骤
3 许可证激活
逐步指导您如何正确安装MapInfo软件。
激活您的MapInfo软件以获取完整功能。
MapInfo界面布局及主要功能区介绍
主界面
熟悉MapInfo的用户界面布局 和常用功能区。
图层控制
掌握如何管理和控制地图的图 层。
《mapinfo全部教程》PPT 课件
简介:本课程提供完整的MapInfo培训,包括基础概念、主要功能、安装方法、 界面布局、数据处理、地图制作和分析等内容,帮助您快速掌握MapInfo。
MapInfo基础概念介绍
1 GIS技术
了解地理信息系统的基 本概念和作用。
2 MapInfo软件
介绍MapInfo软件的起 源和应用领域。
属性表
了解地理数据的属性表和数据 编辑功能。
MapInfo数据类型和数据格式介绍
1 矢量数据
介绍点、线、面等矢量数据类型及其应用。
2 栅格数据
了解栅格数据的特点和在空间分析中的应用。
3 数据格式
支持的数据格式,如Shapefile、GeoTIFF等。
MapInfo数据导入和导出方法
1
数据导入
从不同的数据源导入各种数据文件。
3 空间数据
学习地理信息的数据模 型和空间数据存储。
MapInfo的主要功能和特点
地图制作
创建令人惊叹的地图,展示数据的空间关系。
空间分析
进行空间查询、缓冲区分析和路径规划等高 级分析。
数据编辑
编辑和更新地理数据,保持数据的准确性。
报告生成
生成高质量的报告和图表,展示数据分析结 果。

mapinfo详细教程_2

mapinfo详细教程_2

专题图类型
MapInfo 允许我们创建七种不同类型的专题图
第十八页,编辑于星期四:十九点 三十一分。
创建专题地图
• 范围专题
第十九页,编辑于星期四:十九点 三十一分。
创建专题地图
• 独立值专题
第二十页,编辑于星期四:十九点 三十一分。
创建专题地图
• 等级符号专题
第二十一页,编辑于星期四:十九点 三十一分。
第十五页,编辑于星期四:十九点 三十一分。
Lesson 3 利用专题图分析数据
创建范围专题地图(Creating a Ranged Thematic Map)
创建独立值专题地图(Creating an Individual Value Thematic Map)
创建等级符号专题地图(Creating a Graduated Symbols Thematic Map)
.ABB 文件转换:
Timmins Ct
查找和匹配:
Timmins Ct
第十二页,编辑于星期四:十九点 三十一分。
理解结果编码
正的结果编码 – 成功
eg., 302 300 – 没有指定边界但只发现了一个
+ 2 – 使用了缩写文件 302
负的结果编码 – 不成功
eg., -1000100 -1000000 – 用户输入一些新的内容
创建3D图
MapInfo Professional V6.0 以上已经可以从连 续的格网专题图产生3D图了
3D图选项为增强数据分析提供了重要的优势 MapInfo的 3D可以让用户利用高程数据观察
地形
第三十三页,编辑于星期四:十九点 三十一分。
我们将从什 么位置观察 地图?

MapInfo(入门教程)

MapInfo(入门教程)

1. 关闭表 2. 关闭所有打开的表 3. 关闭多个表
栅格图像
栅格图的用途

用作普通地图的蓝本 用作MapInfo地图的背景 作为一幅单独的图像 地图编辑
7. tga——Truevision TGA 8. tiff——合并图像文件格式 9. ping——简便网络图形格式 10. PSD——Photoshop图形 格式 11. wmf——Windows元文件
2.确定栅格图像的坐标体系
3.栅格图像的显示
栅格图像的配准
“图像配准询问”对话框
“图像配准”对话框
“增加控制点”对话框
图层
图层控制
1. 图层显示属性
2. 可编辑属性 3. 可选择属性 4. 自动标注 5. 显示属性
6. 标注属性
7. “专题”按钮
“图层控制”对话框
8. “热链接”按钮
9. 图层 10. “图层顺序”
装饰图层
装饰图层是地图窗口中的最上层图层,在其中 MapInfo自动放入与标注有关的信息,其它的比 如地图标题以及图形对象等也可以放到装饰图层 中。装饰图层总是被显示,且所有放于装饰图层 的对象必须被存到一个新的或已存在的图层中才 能保存下来。 装饰图层是一个空的图层,其中用户可以绘 制或输入不想放在其它图层中的对象或文本,可 以使用装饰图层创建及保存标注、地图标题或图 形对象。
“符号样式”对话框
“线样式”对话框
“区域样式”对话框
“文本样式”对话框
矢量化的道路层
矢量化的建筑层
矢量化的绿化带
矢量化校园图
区与区相交或包蕴
大区域包含小区域
给三个区域设置目标后 的情形
“数据分解”对话框
小区域被分割出来
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MapInfo教程--二次开发入门摘要:MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。

MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。

一、利用MapBasic开发MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。

MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。

二、利用OLE自动化开发1. 建立Mapinfo自动化对象基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对Mapinfo进行操作。

实际上是将Mapinfo用作进程外服务器,它在后台输出OLE自动化对象,供控制器调用它的属性和方法。

OLE自动化开发的首要一步就是建立Mapinfo自动化对象,以Delphi为例(后面都是如此),你可设定一个Variant类型的全程变量代表OLE自动化对象,假设该变量名为olemapinfo,那么有:oleMapinfo := CreateOleObject('Mapinfo.Application')一旦OLE自动化对象建立,也就是后台Mapinfo成功启动,你就可以使用该对象的Do方法向Mapinfo发送命令,如:oleMapinfo.Do('Set Next Document Parent' + WinHand + 'Style 1')这一命令使Mapinfo窗口成为应用程序的子窗口,WinHand是地图窗口句柄,style 1 是没有边框的窗口类型。

你还可以使用自动化对象的Eval方法返回MapBasic表达式的值,如下面语句返回当前所打开的表数:TablesNum:=olemapinfo.eval('NumTables()')你也可以直接调用Mapinfo菜单或按钮命令对地图窗口进行操作,如地图放大显示:oleMapinfo.RunMenuCommand(1705)2. 建立客户自动化对象触发CallBack基于OLE自动化开发的难点在于所谓的CallBack,Mapinfo服务器对客户程序地图窗口的反应叫CallBack,假如你在地图窗口中移动地图目标,Mapinfo能返回信息告诉你地图目标当前的坐标位置,这就是CallBack功能。

如果你想定制自己的地图操作工具或菜单命令,你必须依靠CallBack。

但是想捕获CallBack信息,你的客户程序必须具备接收CallBack信息的能力,为此需要在客户程序中定义自己的OLE自动化对象,如://定义界面IMyCallback = interface(IDispatch)['{2F4E1FA1-6BC7-11D4-9632-913682D1E638}']function WindowContentsChanged(var WindowID: Integer):SCODE;safecall;function SetStatusText(var StatusText: WideString): SCODE; safecall;//定义界面实现TMyCallback = class(TAutoObject, IMyCallback)function SetStatusText(var StatusText: WideString): SCODE; safecall;function WindowContentsChanged(var WindowID: Integer): SCODE;safecall;其中WindowContentsChanged函数用于返回变化窗口的ID号,即当地图窗口变化时(如放大、缩小),让Mapinfo将地图窗口的ID号返回给客户程序; 另一个SetStatusText函数返回Mapinfo状态条变化信息。

编程人员不能随意定义这些函数,因为只有在三种情况下Mapinfo 服务器的CallBack才会被触发:(1)地图窗口发生变化,触发函数为WindowContentsChanged;(2)Mapinfo状态条信息改变,触发函数为SetStatusText;(3)用户选择自定义工具或菜单命令在地图窗口上操作,如用户定制的画线工具,当用户在地图窗口画线时触发Mapinfo的CallBack返回线的坐标位置。

建立客户自动化对象后,调用MapInfo自动化对象的SetCallback方法将客户自己定义的自动化对象告诉Mapinfo,只要程序一运行,客户自动化对象就会自动在注册表中注册,然后就能收到CallBack信息了,如:My:=MyCallBack.CreateoleMapInfo.SetCallBack(My)这里打一个比方我想会有助于理解上述机制,客户程序与Mapinfo之间的交互就像舞台指挥与木偶演员的交流,客户程序中的地图窗口或说Mapinfo子窗口只不过是一个牵线木偶,后台的Mapinfo才是真正操纵木偶的演员,所以客户程序必须与后台Mapinfo建立正向、反向的联系机制,才能操纵地图窗口中的图形目标。

三、利用MapX开发1. 掌握使用MapXMapX是Mapinfo公司最新推出的ActiveX控件产品,目前已经发展到MapX4.5。

由于MapX 是基于Windows操作系统的标准控件,因而能支持VC、VB、Delphi、PB等标准化编程工具,使用时只需将控件装入开发环境,装入控件后,开发环境ActiveX工具条上会增加一个控件按钮Map,把它拖放到窗体上就可建立一个TMap类型的ActiveX地图对象Map,通过设置或访问该Map对象的属性、调用该Map对象的方法及事件,便能快捷地将地图操作功能溶入到你的应用程序中。

MapX由一系列Object(对象)和Collection(对象集合)组成,Map是最基本的对象,每个Map 由Layer(层)、Dataset(数据集)和Annotation(标注)这三个对象及对象集合(Layers、Datasets、Annotations)来定义,其中Layer用于操作地图图层,Dataset用于访问空间对象的属性数据,Annotation用于在地图上添加文本、符号等标注,掌握上述三个主要对象的特征后,再顺藤摸瓜掌握下一级对象的特征,如每个Layer又由Feature(点、线、面、文本图形目标)对象及对象集合(Features)定义,每个Dataset由Field(属性数据域)对象及对象集合(Fields)定义......,这样很快就能把MapX学到手。

2. 定义地图坐标系在MapX开发中需要特别注意地图坐标系问题,MapX地图坐标系分为地图显示坐标系和内部计算坐标系,两者互为独立,在GIS应用开发中根据应用需要设置好这两种坐标系非常重要,因为坐标系一方面影响软件系统的内部坐标处理,另一方面影响地图的外观显示。

Map对象的坐标系及投影通过CoordSys对象的Set方法定义:Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],[StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor],[FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform])其中主要参数:Type表示投影类型,Type为1时地图坐标以经纬度表示,后面都为可选参数,其中Datum为地球基准面;Units为坐标单位,如Units为7表示以米为单位;OriginLongitude、OriginLatitude分别为起始经度和纬度;StandardParallelOne、StandardParallelTwo为第一、第二标准纬线,该参数与地图投影相关。

通过设置Map对象的DisplayCoordSys和NumericCoordSys属性返回的CoordSys对象,就可设定地图显示坐标系和内部计算坐标系。

举例如下:procedure TMain.DefineMapParam();varMapDatum: Variant;//地球基准面begintryMapDatum := CreateOleObject('MapX.Datum.4'); //建立基准面对象//定义北京54坐标系基准面// (Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian) MapDatum.set(3, 24, -123, -94, -0.02, 0.25, 0.13, 1.1, 0);//定义北京54坐标系经纬度作为内部计算坐标系Map1.NumericCoordSys.Set_(1, MapDatum);//定义北京54坐标系30度标准纬线麦卡托投影作为显示坐标系,单位为米Map1.DisplayCoordSys.Set_(26,MapDatum,7,0,0,30);finallyVarClear(MapDatum);end;坐标系是GIS系统的基石,正确设置坐标系是系统成败的关键。

3. 操纵地图对象你可以简单地加载一个GeoSet文件,给Layers对象集合赋予具体的内容,随之在Map对象中就能看到地图显示,GeoSet文件类似MapInfo中的工作空间,MapX中带有Geoset文件的编辑器GeosetMangater.exe,用户可在编辑器中组合及设置图层,然后保存生成一个*.gst 文件直接调入Map对象,这样可以节省时间。

你也可以通过Layers对象的Add 或Remove 方法添加或移走地图图层,如:yers.Add(FileName); // 添加图层,FileName为文件全路径名yers.Remove(3); // 移走地图第三层Layers对象由一组Layer对象组成,通过Layer对象的Features和Selection对象集合你可以操纵和选择图层上的图形目标,如:yers.Item(1).AddFeature(Newobj); //将新建对象Newobj添加到图层一4. 地图数据捆绑数据捆绑是将不同来源的数据对应到地图层的过程,捆绑结果会产生一个Dataset对象,Dataset对象的集合组成Datasets Collection,它定义了Map对象的数据集属性。

相关文档
最新文档