MapInfo教程
mapinfo操作手册
跟我用mapinfo一、水深点的获得1、打开tab文件:11.tab2、新建一个表,如depth.Tab出现对话框:在add to current Mapper前打勾,表示添加到当前图层上;点击create,出现对话框:选中name,输入depth,随便取个名字,表示表中数据的名字,其他选项可不用管。
点击create,出现对话框:在file name处输入想保存的文件名,如depth,点击save。
软件窗口此时出现空白的内容,点击右上的小X,关闭图层。
注意不要点大X,关了mapinfo程序。
在工具栏点击图标:,对图层进行控制:出现对话框:在depth图层把能选的都选上,点击ok。
现在来看看工具栏上有哪些工具:main工具栏:上面4个是选取对象的图标,接下来是放大和缩小工具,第四行右边的手是移动地图位置的工具,第五行的I图表是显示和输入信息的工具,右边的是标签工具,第六行是把图件拿到其它软件的工具,类似copy,第七行左边的是图层控制工具,右边的是量距离的工具下面的几行不要管了。
Dra…工具栏: 第一行,画点和直线的工具第二行,画折线和弧线第三行,画多边形和圆第四行,画矩形和圆角矩形第五行,写文字下面几个是改变点、线、面、文字属性的工具现在,接着做下一步,将图放大到合适的大小,点击画点的工具图表,在图上水深位置画点,再点击i图标,输入信息,出现小对话框:点击depth:0这里,出现:在0这里输入水深:-5.0,一个水深点输入完毕。
再选中画点的图标,在第二个位置画一个点,并在上图中输入水深-1.9,第二个点完成。
重复n次,将所有的点输入完毕,记得随时save。
所有的水深点都输入完成后,选择菜单中的table/export…出现对话框:选择表depth,点击export,出现:输入文件名,如depth,点击save,在文件夹中出现2个新文件:depth.mif和depth.mid各水深点的坐标在depth.mif中,水深值在depth.mid中。
mapinfo使用教程
mapinfo使用教程MapInfo是一款强大的地理信息系统(GIS)软件,常用于地图制作、空间分析和数据可视化。
本教程将向您介绍MapInfo的基本操作。
1. 打开MapInfo软件。
在开始菜单中找到MapInfo并点击打开。
2. 导入地理数据。
点击"文件"菜单,然后选择"导入"。
选择您要导入的地理数据文件,并点击"打开"。
MapInfo支持多种地理数据格式,如SHP、TAB等。
3. 地图浏览。
使用鼠标工具栏上的放大、缩小、平移按钮来调整地图视图。
您还可以使用鼠标滚轮来放大或缩小地图。
4. 属性查询。
点击"工具"菜单,并选择"查询"。
在弹出的窗口中,选择您要查询的地理对象图层,并选择查询条件。
点击"确定",MapInfo将显示满足条件的地理对象。
5. 空间分析。
点击"工具"菜单,并选择"空间分析"。
在弹出的窗口中,选择要分析的空间对象图层,并选择分析方法,如缓冲区分析、叠加分析等。
根据需要设置分析参数,然后点击"确定"进行空间分析。
6. 数据编辑。
点击"工具"菜单,并选择"编辑"。
在弹出的窗口中,选择要编辑的数据图层,并选择编辑工具,如绘制、修改、删除等。
在地图上进行编辑操作,然后保存修改。
7. 数据输出。
点击"文件"菜单,并选择"另存为"。
选择输出文件的格式,并设置保存路径。
点击"保存"将地理数据以指定格式输出到指定位置。
8. 栅格数据处理。
MapInfo还支持栅格数据的处理和分析。
点击"栅格"菜单,可以进行栅格数据的叠加、分析、分类等操作。
9. 地图制作。
点击"地图"菜单,选择"新建地图"。
《mapinfo入门教程》ppt课件
MapInfo提供了丰富的空间分析工具,包 括缓冲区分析、叠加分析、网络分析等, 能够满足不同领域的需求。
可视化表达
自定义开发
MapInfo支持多种可视化表达方式,包括 地图、图表、三维场景等,能够直观地展 示空间数据和属性数据。
MapInfo提供了灵活的二次开发接口,支 持用户自定义功能和扩展应用。
专题地图特点
专题地图的制图区域范围和比例尺一般不受限制,可以包括整个地球或某个区域,比例尺可大可小; 专题地图的内容广泛,几乎可以包括所有自然和人文现象;专题地图不仅可以表示现象的现状及其分 布,而且能表示现象的动态变化和发展规律。
制作专题地图步骤
收集数据
收集与主题相关的数据,包括 空间数据和属性数据。
网络分析
基于网络数据集进行最短路径、最 佳路径等分析,适用于交通、物流 等领域的规划与优化。
可视化表达技巧
符号化表达
通过不同的符号形状、大小、颜色等 视觉变量来区分和表示不同的空间对 象或属性信息。
色彩设计
运用色彩心理学和色彩构成原理,设 计合理的色彩方案,增强地图的视觉 冲击力和表现力。
注记与标注
基础操作与界面介绍
启动与退出MapInfo
启动 MapInfo
通过开始菜 单启动
退出 MapInfo
使用文件菜 单中的退出 选项
通过桌面快 捷方式启动
使用Alt+F4 快捷键
界面组成及功能
标题栏
01 显示当前打开的地图文档名称
和MapInfo版本号。
菜单栏
02 包含文件、编辑、视图、地图
、表格、窗口和帮助等菜单项 ,用于执行各种操作。
添加必要的文字注记和标注,解释和 说明地图内容,提高地图的可读性和 易理解性。
《mapinfo全部教程》课件
目 录
• MapInfo软件简介 • MapInfo基础操作教程 • MapInfo进阶操作教程 • MapInfo高级应用教程 • MapInfo常见问题解答
CHAPTER 01
MapInfo软件简介
MapInfo软件的发展历程
1986年,MapInfo公司成 立,推出首款地图信息系 统软件。
2000年代,MapInfo不断 推出新版本,并拓展全球 市场。
1990年代,MapInfo软件 逐渐成为地理信息系统领 域的领导者。
2010年代,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教程
⑥ 易于与其他应用软件集成,能够根据数据 的地理属性分析信息的应用开发工具,是功能 强大的地图数据组织和显示软件包。 ⑦ 具备功能完整及高效率的二次开发工具, 同时支持16/32位的应用开发,适用于多种计算 机 操 作 系 统 , 如 Windows 9x/NT/2000/XP, OS/2等。 ⑧ 完善的图形无缝连接技术。 ⑨全面支援CRM(客户关系管理)及LBS (无线定位服务)技术。 ⑩ 国内外有大量成功案例可作参考。
1.3 地理信息系统的类型与特点
1.3.1 地理信息系统的类型 地理信息系统按其内容可以分为三类: ① 专题地理信息系统(Thematic GIS) ② 区域信息系统(Regional GIS) ③ 地理信息系统工具或地理信息系统 外壳(GIS Tools)
1.3.2 地理信息系统的特征
地理信息系统具有以下三个方面的特征: ① 具有采集、管理、分析和输出多种地理信 息的能力,具有空间性和动态性。 ② 由计算机系统支持进行空间地理数据管理, 并由计算机程序模拟常规的或专门的地理分析方 法,作用于空间数据,产生有用信息,完成人类 难以完成的任务。 ③ 计算机系统的支持是地理信息系统的重要 特征,因而使得地理信息系统能以快速、精确、 综合地对复杂的地理系统进行空间定位和过程动 态分析。
1.5 地理信息系统的功能
由计算机技术和空间数据相结合而产生的GIS 这一高新技术,它包含了处理地理信息的各种高 级功能,但是它的基本功能是数据的采集、管理、 处理、分析和输出。 1. 数据采集与编辑 2. 数据存储与管理 3. 数据处理与变换 4. 空间查询与分析 5. 数据显示与输出
1.6 地理信息系统与其他学科的关系
1.4.4 系统管理和操作人员
人是GIS中的重要构成因素,GIS不同于一幅 地图,而是一个动态的地理模型。仅有系统软硬 件和数据还不能构成完整的地理信息系统,需要 人进行系统组织、管理、维护和数据更新、系统 扩充完善、应用程序开发,并灵活采用地理分析 模型提取多种信息,为研究和决策服务。 一个周密规划的地理信息系统项目应包括负 责系统设计和执行的项目经理、信息管理的技术 人员、系统用户化的应用工程师以及最终运行系 统的用户。
MapInfo教程
MapInfo教程之一屏幕数字化屏幕数字化是通过手工跟踪鼠标依屏幕上的栅格图像来创建矢量对象屏幕数字化,利用绘图工具中的折线工具进行绘制。
一旦使图层可编辑,可以在装饰图层绘制对象,然后再将其保存至新图层或另一图层,也可以使用某一图层编,辑然后直接在其上绘制对象。
步骤如下1. 打开已配准好的栅格图像和新建的图层表。
2. 通过图层控制使装饰图层或新建的图层可编辑,3. 单击“折线”工具鼠标移到图幅内变成“+ ”字型,移到起点单击随即可沿基图上的区划边界移动,使鼠标轨迹与边界线条重合,在折点处单击,即可完成当绘制,到与开始点重合时双击鼠标左键,此刻区域内呈现填充图案一个区域对象建立完毕。
4. 逐个区域按以上步骤绘制,每个区域均应有独立的边界线,相邻区域要重复。
5. 选择【地图】>【保存装饰对象】命令将绘制的地图对象保存到指定的表。
绘制对象应注意以下几点1. 线型和颜色的确定一幅完整的矢量图由很多图层组成,为保持图幅整洁尽量使用较细的线型绘制对象。
当打开的基图为彩色时,对象颜色应尽量保持与基图一致。
2. 绘图工具的选用折线是由多条线段组成的,并视为一个对象,这与用直线创建的线型不同,可以使用【对象】>【平滑】“命令将其平滑处理成一条连续的曲线。
3. 操作要领鼠标单击视为定初始点和拐点,而双击则视为结束对象,拖动线条时一定注意不要误操作,当一个对象未绘制完毕而中断时,将要从开始点重新进行。
也可以分段进行利用合并对象使二线段为一个对象。
4. 同类型对象要重合相同类型的对象除在线型和颜色应保持一致外,在同一矢量对象,如主要河道和梯级河道表现同一内容中,线型应一定重合,不然在合成时会出现同一条河道二条线图幅不美观,造成矢量对象的混乱解决的办法是;用放大按钮使局部放得足够大,沿基图的中心描绘。
5 自动跟踪在对齐模式被激活时,可以自动跟踪折线或多边形的节点。
使用自动跟踪方法:按S键激活对齐模式。
单击要自动跟踪的折线或多边形的一个节点。
mapinfo教程
MapInfo教程MapInfo是一种流行的地理信息系统(GIS)软件,它可用于分析和可视化地理数据。
本教程旨在为初学者提供涵盖MapInfo基本功能的指南,帮助你快速入门。
1. MapInfo简介MapInfo是由Pitney Bowes Software开发的一套商业GIS 软件。
它提供了强大的地理信息分析和地图制作工具,可用于各种领域,包括市政府、农业、环境规划和商业分析等。
2. 安装和配置MapInfo在开始使用MapInfo之前,你需要先安装和配置软件。
2.1 下载MapInfo你可以从MapInfo官方网站下载MapInfo软件的安装包。
根据你的操作系统选择相应的版本。
2.2 安装MapInfo下载完成后,双击运行安装包并按照提示完成安装过程。
注意,你可能需要管理员权限来安装软件。
2.3 配置MapInfo安装完成后,你需要进行一些配置来确保MapInfo能够正常运行。
例如,你可以设置默认地图投影和坐标系统,以及数据连接。
3. MapInfo界面介绍当你打开MapInfo软件时,你会看到以下几个核心组件:3.1 主菜单主菜单位于软件窗口的顶部,包含各种功能选项,例如文件操作、地图编辑和数据分析等。
3.2 工具栏工具栏位于主菜单下方,提供了快捷访问常用功能的按钮,例如添加图层、选择对象和创建标签等。
3.3 地图窗口地图窗口是你用来显示地理数据的主要工作区域。
你可以在这里创建、编辑和分析地图。
3.4 图层控制窗口图层控制窗口显示了当前地图中所有图层的列表。
你可以在这里管理图层的可见性、绘制顺序和样式等。
3.5 属性窗口属性窗口显示了所选对象的属性信息。
当你选择地图中的对象时,你可以在此处查看和编辑其属性。
4. 基本地图操作在学习MapInfo之前,你需要先了解一些基本的地图操作技巧。
4.1 创建地图要创建一个新地图,请选择。
2024版《mapinfo全部教程》课件
2024/1/28
地图设计
选择合适的地图投影、比例尺、 图例、注记等要素,进行地图版 面设计。
数据符号化
根据数据特征,选择合适的符号 及表达方式,实现数据的可视化。
地图输出
将制作好的专题地图输出为图片、 PDF等格式,便于分享和打印。
21
三维地图展示及交互设计
三维场景构建
利用MapInfo的三维功 能,创建三维地形、建
6
02
MapInfo数据管理与处理
2024/1/28
7
数据类型及来源
空间数据
包括点、线、面等地理要 素,用于描述地理实体的 空间位置和形状。
2024/1/28
属性数据
与空间数据相关联的非空 间信息,如人口、经济指 标等。
数据来源
可以是地图、遥感影像、 GPS数据、统计数据等多 种来源。
8
数据导入与导出方法
Shapefile、KML、GeoJSON等。
2024/1/28
使用ODBC连接将数据导出到数据 库中。
03
通过编程方式(如MapBasic)实 现数据导出。
04
11
数据编辑与整理技巧
编辑技巧
使用MapInfo的编辑工具进行点、线、面的创建和编辑。
利用捕捉功能提高编辑精度。
2024/1/28
12
数据编辑与整理技巧
2024/1/28
16
缓冲区分析与叠加分析
2024/1/28
01
缓冲区分析
MapInfo支持创建空间对象的缓冲区,例如点的缓冲区、线的缓冲区和
面的缓冲区。缓冲区可以用于分析空间对象的影响范围或进行空间对象
的合并等操作。
02
MapInfo(入门教程)
索引文件并非必需,只有当用户规定了数据库的索 引字段后,MapInfo系统才会自动生成索引文件。 索引文件中对应每个索引字段都有一个索引表。在 每个索引表中,先给出总的数据库记录数目,然后 按照索引顺序给出每条属性数据记录在对应字段处 的具体属性数据和该记录在属性数据文件(.Dat)及 交叉索引文件 (.Id)中的记录号。
在Maplnfo地理信息系统中,空间数据与属性数 据是分开存储的。属性数据以数据库 的形式存 储为一张表,而空间数据则以Maplnfo自己定义 的格式保存于文件之中。两者之间通过一定的索 引机制联系起来。 MapInfo 每个图层均由4个基本文件构成:属 性数据表结构文件(.tab)、属性数据文件(.Dat)、 交叉索引文件(.Id)、和空间数据文件(.Map)。 此外,MapInfo 还包括其它几种辅助的文件类 型。
MapInfo 数据文件格式及数据关联机制
MapInfo 数据索引机制
MapInfo数据索引机制是指MapInfo系统中的 空间对象与属性数据之间相互关联的方法。
索引的过程: 1) 从属性信息查询空间信息时,MapInfo先要在属性数据 文件中找到相应的数据记录,如记录号为N,则可以在交 叉索引文件中找到第 N个指针,该指针所指向的地图对象 就是与数据库记录相对应的空间对象。 2) 从空间信息查询属性信息时,如果已从地图上查到某一 空间对象,MapInfo系统可以从空间数据文件中读出其空 间信息和与之相对应的数据库记录号,根据数据库记录号 就可以在属性数据文件中查到该地图对象的属性信息。
6)工作空间(WorkSpace)文件(.Wor) 工作空间文件记录了已经打开的地图图层、图层的 大小和它们在屏幕上的位置、专题地图、装饰对象、 标注、字、符号式样、线的式样以及用来显示对象 的填充图案等。
mapinfo教程
mapinfo教程
MapInfo 教程:
1. 地图浏览和导航:
- 打开 MapInfo 软件。
- 定位工具栏上的放大、缩小和漫游按钮。
- 使用鼠标滚轮进行缩放。
- 使用工具栏上的漫游按钮浏览地图。
2. 图层的添加和删除:
- 点击菜单中的 "文件" -> "打开",选择地理数据文件。
- 在 "图层控制" 窗口中选择要添加的图层。
- 右键点击图层,选择 "删除图层" 可以删除图层。
3. 地图符号化:
- 双击图层,在 "符号化" 选项卡中选择合适的符号化方法。
- 根据需要设置符号化的属性和颜色。
4. 地图查询:
- 点击 "地图查询" 工具栏按钮。
- 在查询对话框中选择要查询的图层和属性。
- 输入查询条件并执行查询。
5. 空间分析:
- 点击 "空间查询" 工具栏按钮。
- 在空间查询对话框中选择要查询的图层和空间条件。
- 执行查询并选择输出结果。
6. 地图输出:
- 点击菜单中的 "文件" -> "导出地图"。
- 选择输出格式和目标路径。
- 设置输出地图的样式和布局。
- 点击 "导出" 完成地图输出。
这些是 MapInfo 的基本操作和功能,希望对您有帮助。
如有其他问题,请随时提问。
MAPINFO软件的使用方法介绍
MAPINFO软件的使用方法介绍
一、如何在MAPINFO上显示街道、基站、小区的分布信息
把街道图层、基站小区图层导入MAPINFO的相关步骤如下:
1、打开MAPINFO软件
2、点击“文件”里的“打开”,选中要导入的街道图层,确定,如下图所示
3、点击“文件”里的“打开”,选中要导入的CDD里的基站小区图层,确定,如下图所示
图层控制功能的应用
1、点击绘图中的图层控制,或直接按,或直接在图上点击右键,选中进入即可
2、在打开的图层控制界面,我们可以看到图层里的所有信息。
例如,我们要把基站名在图层上显示出来。
首先我们把BASE选中,并把最后面的方框选中;其次,点击标注进入,在标注项中选中要显示的东西,如我们要显示基站名,则选中BS_NAME,其它项可选,然后按确定即可,如下图所示
专题地图功能的应用
1、打开“地图”栏,选中“创建专题,点击进入,根据所需选择相应的类型和模板。
2、选择模板后,按进入,然后就根据所需选择相应的表和字段。
3、选择后表和字段后,按下一步,就可看见所定义的专题地图的预览,我们还可通过右边
的自定义项,去定义所想要的范围、样式和图例,这里就不介绍了,大家可以去试一下。
注:
1、MAPINFO中使用到街道图层一般由局方提供;深圳地图常用:。
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语句查询数据表中的信息。
mapinfo教程
实习三地图数据分析一.地图数据分析工具1.统计分析单击主菜单查询程序组中的计算统计值命令,打开列统计对话框,可显示统计结果。
图 3-01 显示统计结果在主工具箱中,点击后,将弹出统计对话框,在该对话框中可以显示当前选取的地图目标数量,以及地图目标所有数值型属性项的总和、平均值,随着选取目标的改变,这些统计值可自动改变。
图 3-02 统计2.距离量算在MapInfo软件中,用主工具箱上的直尺工具(标尺)可量算折线各段的距离,和折线的总长度。
单击标尺工具后,出现一个标尺显示框,这时的距离和总都为0。
图3-03 直尺工具使用示意图移动光标到A点处单击后,再移动光标,在移动的过程中距离和总的值都在不断的变化,移至B点处停下来,距离和总的值就是折线A点到B点的距离,如上图A;单击鼠标后,记录的值变为0,总保持原值不变。
再移动光标,距离的值在0的基础上开始变化,总值在原值上变化,移动光标到C点处停下来,距离的值为B点到C点的距离,总为A点到C点的距离,如下图B。
依次类推,可量测折线的总长度。
图3-04 标尺显示框3.缓冲区分析在可编辑层中先选取需要建立缓冲区的一个或多个目标,然后单击对象中的缓冲命令,打开缓冲对象对话框(图3-05),在该对话框中可以设置缓冲区半径的大小和单位,选择为单个物体建立缓冲区,还是为所选中的所有物体建立缓冲区。
图3-05 缓冲操作创建面域的缓冲区与创建点缓冲区有一定的区别。
创建区域的缓冲区不是环状区域,而是包括整个区域以及区域外的环状区域的总面积,如图A;如果在创建线缓冲区,则结果缓冲区是环状的,如图B。
图3-06 面域缓冲区示意图4.构建Voronoi图在可编辑层中先选取需要建立Voronoi图的多个点目标,然后单击对象中的Voronoi命令,即可创建选取点目标的Voronoi图,如图3-07。
图3-07 建立Voronoi图5.建立最小凸壳(外包)在可编辑层中先选取需要被建立的凸壳包含的多个点目标,然后单击对象中的外接多边形命令,即可创建包含所有选取点目标的凸壳,如图3-08。
mapinfo制图基础教程
mapinfo制图基础教程M a p i n f o地理信息系统与地形图应用培训教程丰宁满族自治县林业局张士朋2008年12月著- 2 -精品目录第一篇mapinfo地理信息系统 (1)第1章地理信息系统概论 (1)1.1信息与信息系统 (1)1.1.1信息与数据 (1)1.1.2信息系统 (2)1.2地理信息与地理信息系统 (2)1.2.1地理信息 (2)1.2.2地理信息系统 (2)1.3地理信息系统的类型与特点 (3)1.3.1地理信息系统的类型 (3)1.3.2地理信息系统的特征 (3)1.4地理信息系统的组成 (3)1.4.1系统硬件 (4)1.4.2系统软件 (4)1.4.3空间数据 (5)1.4.4系统管理和操作人员 (6)1.5地理信息系统的功能 (6)1.6地理信息系统与其他学科的关系 (6) 1.7地理信息系统的发展历史 (7)1.8地理信息系统的应用 (7)1.9地理信息系统的发展趋势 (8)第2章MapInfo初步 (8)2.1MapInfo介绍 (8)2.1.1MapInfo的功能 (9)2.1.2M a p I n f o的特点 (10)2.1.3MapInfo的数据组织 (10)2.1.4MapInfo的运行环境 (11)2.1.5MapInfo的开发模式 (11)2.1.6MapInfo的产品优势 (11)2.2MapInfo的安装与启动 (12)2.2.1MapInfo的安装 (12)2.2.2MapInfo的启动 (16)2.3帮助和站点信息 (17)感谢下载载2.3.1如何使用MapInfo的帮助 (17)2.3.2按关键字搜索 (18)2.3.3从帮助目录中选择主题 (19)2.3.4如何使用M a p I n f o地图帮助 (19) 2.3.5站点信息 (19)第3章表的操作 (20)3.1表的基本概念 (20)3.2新建表 (21)3.2.1创建表的方法 (21)3.2.2打开表 (24)3.2.3表维护 (25)3.2.4保存表 (26)3.2.5关闭表 (27)3.3栅格图像 (27)3.3.1栅格图的类型 (27)3.3.2栅格图的用途 (27)3.3.3栅格图的处理 (28)3.4栅格图像的配准 (28)3.5图层 (30)3.5.1图层控制 (30)3.5.2无缝地图图层 (30)3.5.3图层显示 (31)3.5.4装饰图层 (31)第4章空间数据建库 (32)4.1 空间数据获取 (32)4.1.1 数字化地图转换 (32)4.1.2装入栅格图像 (34)4.1.3工具条 (34)4.2 属性数据输入 (38)4.3 地图标注 (39)4.3.1自动标注 (39)4.3.2标注工具 (40)4.3.3标注样式 (41)4.3.4用表达式标注 (41)4.3.5使用标注器 (42)- ii -精品第5章空间数据查询 (42)5.1 对象查询 (42)5.1.1对象 (43)5.1.2 对象属性查询 (43)5.2 SQL查询 (44)5.2.1 通过“查询”菜单上的“选择...”命令来查询. (45) 5.2.2 通过“查询”菜单上的“SQL选择”命令来查询 (45) 5.2.3 “SQL选择”的操作示例 (46)5.2.4 SQL选择 (48)5.2.5 “选择列”字段 (48)5.2.6 “条件”字段 (49)5.2.7 “按列排序”字段 (52)5.2.8 “按列分组”字段 (53)5.2.9 聚合函数 (54)5.3 获取单个对象的信息 (54)5.3.1 获取区域对象信息 (54)5.3.2 获取折线对象信息 (55)5.3.3 获取点对象信息 (56)5.4通过“更新列”对话框获取对象的信息 (56)5.4.1 获取表中图形对象信息 (57)5.4.2通过连接表获得属性信息 (59)第6章空间分析 (61)6.1 缓冲区分析 (61)6.1.1 创建缓冲区 (61)6.1.2 关于缓冲区计算 (62)6.1.3 设定缓冲区计算 (63)6.1.4 设定特定地图的距离、长度、周长和面积计算 (63) 6.1.5 同心环缓冲区 (64)6.2 叠置分析 (64)6.2.1 点与多边形叠加 (65)6.2.2 线与多边形叠加 (66)6.2.3 多边形与多边形的叠加 (66)第7章制图输出 (67)7.1 直接打印地图窗口中的地图 (67)7.2 使用布局窗口 (69)感谢下载载。
MapInfo系列教程
规划方案设计与实施
基于MapInfo的规划方案设计
利用MapInfo的空间分析功能,可以对城市空间结构进行深入分析,发现潜在问题和优化方向。在此基础上,可 以设计针对性的规划方案,如土地利用规划、交通规划、公共设施布局规划等。
规划方案的实施与监控
在规划方案实施过程中,MapInfo可以用于监控实施进度和效果。通过定期更新数据和进行空间分析,可以及时 发现并解决问题,确保规划目标的顺利实现。
图层编辑与属性修改
02
MapInfo允许用户对图层进行编辑,包括添加、删除、修改要
素等,同时支持修改图层的属性信息。
图层符号化与样式设置
03
用户可以为图层设置不同的符号和样式,以区分不同的要素和
类别,使地图更加直观易懂。
属性数据编辑与查询
属性数据编辑
MapInfo提供强大的属性数据编辑功能,用户可以直接在属性表中修改数据,或者通过SQL 语句进行批量更新。
属性数据查询
支持多种查询方式,包括简单查询、高级查询和SQL查询等,用户可以根据需要快速定位到 所需数据。
查询结果展示与导出
查询结果可以直接在地图上高亮显示或者以列表形式展示,同时支持将查询结果导出为Excel、 CSV等格式。
03
地图可视化与表达
Chapter
符号设置与调整
基础符号设置
在MapInfo中,用户可以通过符 号管理器选择、修改和创建符号。 基础符号包括点、线、面等,每
快捷键使用
如Ctrl+N新建文件,Ctrl+O打开文件,Ctrl+S保 存文件,Ctrl+C复制对象,Ctrl+V粘贴对象等。同 时,MapInfo还支持自定义快捷键设置,提高操作 效率。
2024年度MapInfo培训教程
拓扑关系建立与修改
建立拓扑关系
拓扑错误检查与修复
在数据导入或编辑过程中,可以通过 设置容差和捕捉选项来建立要素之间 的拓扑关系。
利用MapInfo提供的拓扑检查工具, 发现并修复空间数据中的拓扑错误, 如重叠、缝隙等。
修改拓扑关系
使用拓扑编辑工具对已有的拓扑关系 进行修改,如合并相邻多边形、打断 线段等。
中的公共设施布局、环境监测中的污染源分布等。
24
05 数据库连接与操作
2024/3/23
25
连接外部数据库
2024/3/23
ODBC数据源配置
通过ODBC数据源管理器创建并配置数据源,实现与外部数据库 的连接。
连接字符串设置
根据数据库类型和位置,设置正确的连接字符串,包括服务器地址 、数据库名、用户名和密码等。
导出为地图文件
将数据导出为MapInfo 的地图文件格式,如 MIF/MID或TAB格式, 实现数据的共享和交换 。
28
数据库维护和管理
2024/3/23
数据库备份与恢复
定期备份数据库,以防止数据丢失,并掌握数据库恢复的 方法。
数据库优化
对数据库进行性能优化,如索引优化、查询优化等,提高 数据处理效率。
通过编程接口,用户可以实现 对地图数据的读取、编辑、分 析和可视化等功能。
示例代码演示了如何使用编程 接口创建自定义地图应用,如 地图浏览、空间查询、路径分 析等。
31
二次开发环境搭建和部署流程
为了进行MapInfo的二次开发, 需要搭建相应的开发环境,包括 安装开发工具、配置开发环境等
。
部署流程包括编译、打包、发布 等步骤,以确保开发的应用程序
2024/3/23
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#开发GIS应用简明教程∙摘要:这篇是C#开发GIS应用简明教程,从工具开始将其,包括设计窗体、创建永久图层等等。
希望本文能对大家有所帮助。
∙C#开发GIS,这里将介绍MapX为开发人员提供一系列的工具,包括C#对MAPX图元的编程技术。
这些工具的使用,可以通过MapX的帮助文档中查到。
1.工具(ToolConstants)MapX为开发人员提供一系列的工具,这些工具的作用各有不同,我们通过开发一个应用程序来了解这些工具的作用,至于这些工具的具体说明,可以在MapX的帮助文档中,通过查找"Available Standard Tools" 看到相应的解释.一些MapX的相关资料也有介绍.在.NET编程环境中新建一个C#的WindeosApplication(Windows应用程序)项目,然后在菜单中选择”项目/添加引用”,打开如下图的窗口,在窗口中选择COM标签,在组件名称列表中双击MapInfo MapX V5.单击"确认"按钮,将Map5控件加入到.Net的工具箱中.接着,将MapInfo MapX V5 控件画到窗体上,再在窗体上画一个ComboBox控件comboBo x1.如下图:双击设计窗体,编写Form1_Load代码如下:1.private void Form1_Load(object sender, System.EventArgs e)2.{3.ArrayList ToolsList=new ArrayList();4.ToolsList.Add(MapXLib.ToolConstants.miArrowTool);5.ToolsList.Add(MapXLib.ToolConstants.miCenterTool);6.ToolsList.Add(abelTool);7.ToolsList.Add(MapXLib.ToolConstants.miPanTool);8.ToolsList.Add(MapXLib.ToolConstants.miPolygonSelectTool);9.ToolsList.Add(MapXLib.ToolConstants.miRadiusSelectTool);10.ToolsList.Add(MapXLib.ToolConstants.miSymbolTool);11.ToolsList.Add(MapXLib.ToolConstants.miTextTool);12.ToolsList.Add(MapXLib.ToolConstants.miZoomInTool);13.ToolsList.Add(MapXLib.ToolConstants.miZoomOutTool);boBox1.DataSource=ToolsList;15.}以上代码通过一个数组ToolsList,将MapXLib的工具加入到comboBox1中.MapX还有一些其它的工具,它们的作用是往地图上加上点,线,多边型和圆.因为这些工具要求有操作图层,一并在介绍图层的时候介绍.关于ArrayList的用法,请参考C#的有关资料.接着,双击comboBox1,并编写代码如下1.private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)2.{3.axMap1.CurrentTool=(MapXLib.ToolConstants)comboBox1.SelectedItem;4.}应注意,在C#中必须要显式地把comboBox1的选择项目SelectedItem(数据类型为obje ct)转换为MapXLib.ToolConstants.因为ToolConstants是MapX自己定义的一个枚举数据类型,C#不能自动完成这种枚举成员变量到object的数据转换.编译执行程序,从comboBox1中选择不同的工具,在地图上进行操作,你可以了解到MapX 工具集的强大功能.实际上,MapX提供的工具集就好像Photoshop,AutoCAD的工具栏一样,为你提供了一些控制地图的工具.但是,在开发GIS的时候,这些工具是不能完全满足要求的.所以,还应该学会自定义工具.下面,通过一个在地图上测距的例子,来介绍一下如何在C#下自定义MapX工具如前所述建立一个C#的Windows应用程序并将Mapinfo MapX V5 控件加到窗体上.并加入一个Button控件button1.将button1的Text属性改为"测距",再在窗口中放上两个Lab el控件label1,label2,将它们的Text属性设置为""空字符串,如下图:双击设计窗体,编写Form1_Load代码如下:1.private void Form1_Load(object sender, System.EventArgs e)2.{3.axMap1.CreateCustomTool(100,MapXLib.ToolTypeConstants.miToolTypePoly,4.MapXLib.CursorConstants.miCrossCursor,null,null,null);5.}在加载窗口的时候,我们定义了一个工具.它的编号是100(不要和MapX本身的工具编号重复),它的类型是一个多义线,采用十字光标.关于此函数的用法,建议查看MapX的开发手册和相关资料.现在我们定义了一个编号为100的工具,可以在程序中使用它了.双击设计窗体中的but ton1,编写它的Click事件处理代码如下:1.private void button1_Click(object sender, System.EventArgs e)2.{3.axMap1.CurrentTool=(MapXLib.ToolConstants)100;4.}现在编译运行,单击button1,就可以在地图上使用这个工具了.但是还有一部分重要的代码没有完成:测距!完成测距功能的代码在C#使用MapX开发GIS中非常具有代表性,也比较有难度.我在首次使用C#+MapX开发GIS的时候,被这个问题困扰了很久.项目经理也来研究,过两天说有结果了,但他给出的例子根本就行不通.当然,会了就不难了.其实,也很简单.首先,在窗口类中声明两个私有全局变量以保存测出的距离和总距,注意声明代码的位置:1.public class Form1 : System.Windows.Forms.Form2.{3.private AxMapXLib.AxMap axMap1;4.private System.Windows.Forms.Button button1;5.private bel label1;6.private bel label2;7.///8./// 必需的设计器变量。
9.///10.private ponentModel.Container components = null;11.private double Dis=0,DisSum=0;12....13....现在来编写工具的事件.注意,在MapX画多义线的时候,它触发消息的方式和一般的工具是不同的,首先,它并不是用鼠标一点击就完成了的,还可以继续画下去,所以,不应该在M apX控件的ToolUsed事件中编写,而应该在PolyToolUsed事件中实现测距.代码如下:1.private void axMap1_PolyToolUsed(object sender, AxMapXLib.CMapXEvents_PolyToolUsedEvent e)2.{3.MapXLib.PointsClass pts=new MapXLib.PointsClass();4.switch(e.flags)5.{6.case (int)MapXLib.ToolFlagConstants.miToolInProgress:7. pts=(MapXLib.PointsClass)e.points;8.Dis=axMap1.Distance(pts._Item(pts.Count-1).X,9.pts._Item(pts.Count-1).Y,10.pts._Item(pts.Count).X,11.pts._Item(pts.Count).Y);12. DisSum+=Dis;13.break;14.default:15. Dis=0;16. DisSum=0;17.break;18.}bel1.Text="距离:"+Dis.ToString("#.00");bel2.Text="总距"+DisSum.ToString("#.00");21.}这段代码虽短.但要注意的地方很多.首先,定义一个MapXLib.PointsClass类型的变量pts,注意,是PointsClass,不是Poin tClass.前者是点集,后者是点.为什么要增加那么一个变量呢?因为MapX的PolyToolUsed 事件的返回参数e的成员points不是MapXLib.PointsClass类型,而是object.类型.所以需要这么一个变量来转换它,当然,你也可以在程序使用pts的地方直接使用(MapXLib.Poin tsClass)e.points,但那样一来程序就比较难懂了;其次,要判断事件的标识e.flags的值,它指出工具当前的状态,是刚开始画多义线呢,还是正在画多义线,或者已经结束了,或者结束退出.我们只要在画的时候测距就可以了.其它时候将距离和总距都设置为0;接着,还要注意的是e.points的点数据保存方式,e.points首先是一个object,当在画多义线的时候,它被初试化为一个MapXLib.PointsClass的变量,并以二维数组的方式保存点集.这个数组是从1开始的,而不是从0开始的.它保存了多义线上每个转折点的坐标,鼠标每点一下,就增加一个新的数据到点集,我们计算最后一条直线长度,应该从这个数组的末尾往前取.计算好距离以后再加入到总距中.许多测距的程序例子都要做一个循环,其实是不必要的.最后,请注意数字转换到字符串的格式问题.在这个例子中我们保留两位小数.补充一点,因为没有设置地图的地理坐标系统,所以测出来的距离单位是英里,如果要改为公里,把MapX控件的MapUnit属性改为miUnitKilometer就可以了.要提高测量精度,除了可以通过转换格式的时候增加小数位,还应该注意到地图的测绘精度.否则,再多的小数位也是没有意义的.1.建立一个应用程序,加入MapX控件和一个ComboBox控件,两个:Label控件,在ComboBox 中加入第一个例子中的所有工具和测距工具,在ComboBox中选择测距工具时实现测距功能.2.将测距工具的光标改成箭头光标.并以米为单位显示测距数据.3.图层和图元(Layers and Features)有关图层和图元的概念,请参照相关资料.图层的应用分为几个方面,我们分别加以介绍.1)图层的创建:创建永久图层:在C#中,使用以下方法创建永久图层:yer lyr;2.lyr=yers.CreateLayer("MyLayer","D:\\MapTest\\MyLayer.Tab",0,32,axMap1.DisplayCoordSys);当执行这两句程序时,在指定的路径生成了一系列文件.它们是:MyLayer.Dat:图层的数据文件,它保存的是图层的数据库数据;MyLayer.ID:图层数据的唯一的,自动生成的编码,用以区分不同的图元;MyLayer.IND:图层数据的索引文件,以实现图层上图元的快速查找;MyLaer.MAP:图层上图元的图形数据;MyLaer.TAB:这是一个文本文件,它的作用是将图层的有关信息保存起来,供GST地图文件或其它程序调用图层.用记事本打开MyLayer.TAB文件,看到如下内容:1.!table2.!version 4503.!charset WindowsSimpChinese4.Definition Table5.Description "MyLayer"6.Type Native charset "WindowsSimpChinese"7.Fields 18.GEONAME char (32) Index 1 ;第一行总是"!table",说明这是一个图层表的文件;第二行指出图层文件的版本号,MapInfo MapX 5.0生成的图层版本号是450;第三行指出生成图层的操作系统;接着是对图层的定义段:首先指出图层的描述,就是我们上面程序代码中的"Mylayer".接着说明了字符集类型是简体中文;然后指出表格中只有一个字段,这个字段的名称是"GEONAME",是长度为32的字符类型字段,在表中的列索引为1.2)添加现有的图层:添加现有图层的方法和一般的程序语言没有很大的区别,我们在当前图层上添加刚才创建的永久图层,程序代码如下:yerInfo li;2.li=new yerInfoClass();3.li.Type=ayerInfoTypeTab;4.li.AddParameter("FileSpec","D:\\MapTest\\MyLayer.tab");5.li.AddParameter("Visible",false);6.li.AddParameter("AutoCreateDataset",true);7.li.AddParameter("DatasetName","MyLayer");yers.Add(li,0);yersDlg("","");10.axMap1.SaveMapAsGeoset("测试","D:\\MapTest\\MyMap.GST");在程序的最后,我们显示了图层信息对话框,以观察图层是否已经添加到当前的地图中.可以看到,地图中添加了我们创建的图层"MyLayer".放在第0层.然后,将地图保存在一个MyMap.GST的地图文件中,这个地图的标题是"测试".3)移除图层:好,接着我们上面做的工作,将工程的axMap1的GeoSet属性设置为刚刚生成的地图文件: "D:\MapTest\MyMap.GST".现在我们将MyLayer从地图中移除.添加一个按钮,在按钮的Click事件中编写如下代码:yersDlg("","");yers.Remove(1);yersDlg("","");我们使用两次显示图层对话框的方式查看程序的效果,应该注意的是在Remove第0层的时候使用的是Remove(1),如果不清楚图层的位置,就要作一个循环,将图层的位置取出来再移除,如下:1.int lyrind=0;yersDlg("","");3.for( int i=1;i4.{5.if (yers[i]._Name.Trim()=="MyLayer")6.{7. lyrind=i;8.break;9.}10.}yers.Remove(lyrind);yersDlg("","");移除操作只在内存中进行,也就是说,程序并不删除任何文件,也没有将图层真正地从地图集合中去掉,当程序重新启动的时候,MyLayer图层仍然在地图中.3)移除所有图层:使用yers.RemoveAll();就可以移除所有图层,用法和Remove相似.4)图层定位:和其它编程语言一样,使用axMap1.Move(1,2)函数就可以将图层的位置改变.5)创建临时图层临时图层和永久图层不同,它只存放在内存中,当关闭程序以后该图层将不存在.在这里我们将使用LayerInfo对象来创建临时图层,这和传统的MAPX程序相近,但是引入了C#编程的一些特色:yerInfoClass li=new yerInfoClass();2.MapXLib.Features ftrs=null;3.MapXLib.FieldsClass flds=new MapXLib.FieldsClass();4.MapXLib.Fields Myflds=null;5.MapXLib.Dataset dts=null;6.flds.Add("State","State_Name",7.MapXLib.AggregationFunctionConstants.miAggregationSum,8.MapXLib.FieldTypeConstants.miTypeString);9.dts=axMap1.DataSets.Add(MapXLib.DatasetTypeConstants.miDataSetLayer,yers._Item(1),"MyLayer",0,0,0,flds,false);11.Myflds=dts.Fields;12.ftrs=yers._Item("USA").Selection.Clone();13.li.Type=ayerInfoTypeTemp;14.li.AddParameter("Name","USA Temp Layer");15.li.AddParameter("Fields",Myflds);16.li.AddParameter("Features",ftrs);yers.Add(li,1);yersDlg("","");这段程序有两个关键的地方:一个是在C#中DataSets.Add的用法,在许多编程语言中,都可以使用空的参数或者干脆不用参数来调用这个函数,但是在C#中是不行的,必须8个参数全部指定.而且,还应该事先初始化Fields参数.这个函数的使用涉及到许多方面的知识,包括对MAPX相关概念的理解和C#编程的认识,是一个很重要,也比较难掌握的技术.后面的章节中我们还会作进一步的探讨.另一个是li.AddParameter和li.Type的配合使用问题,这在许多的MAPX书籍中都有论述,此处不再重复.以上程序最好能自己多琢磨琢磨.才能更好地掌握C#开发GIS的要领.6)缩放图层:所谓的缩放图层,并不是指将单个图层缩放.而是指定图层的可见范围比例,例如,设置一个图层在缩小显示大于5英里的时候隐藏.小于5英里的时候显示.和其它编程语言一样,只要设置Layer的ZoomMin和ZoomMax就可以了.7)显示整个图层:这里要提及的一个技巧是在C#下面怎样显示整个图层.众所周知,在VB下面只要:Map1.Bounds = yers("USA").Bounds一句程序就可以轻松实现.但是要是在C#中这样写的话,百分百会出错.其实,这里有一个小小的技巧,聪明的你一定能看出来:axMap1.CtlBounds=yers._Item("USA").Bounds;8)在图层上绘制永久图形:我们在介绍工具的时候,有一些工具没有介绍,这些工具其实是用来在图层上创建永久图形对象的(图元).当在图层上绘制了图形以后,这些图形将以数据记录的形式保存在图层表中,也就是创建了一个图元.如果不想保存图元,可以在临时图层里绘制.yers._Item("USA Temp Layer").Editable=true;yers.InsertionLayer=yers._Item("USA Temp Layer");3.axMap1.CurrentTool=MapXLib.ToolConstants.miAddLineTool;上面的程序使用了画线的工具,在地图上拖动鼠标就可以在临时图层上画线了.这些工具使用的前提是必须指定axMap1的插入图层(InsertionLayer).才能在图层表中插入数据.关于图层的关键技术就介绍到这里,掌握了这些技术以后,在作进一步的研究时,例如动画图层和绘制图层的开发,遇到的困难应该不大.下面我们介绍C#对MAPX图元的编程技术.9)在图层上创建图元:根据MAP Info提供的MapX 5.0开发手册,创建图元有两种方法,用两段代码说明这两种代码在C#的实现方法:第一种实现方法:直接使用Feature类创建图元1.MapXLib.Style sty=new MapXLib.StyleClass();2.MapXLib.Feature ftr=new MapXLib.FeatureClass();3.ftr.Attach(axMap1.GetOcx());4.ftr.Type=MapXLib.FeatureTypeConstants.miFeatureTypeText;5.sty.TextFontColor=255;6.sty.TextFont.Size=12;7.ftr.Style=sty;8.ftr.Caption="New Feature";9.ftr.Point.Set(axMap1.CenterX,axMap1.CenterY);yers._Item("US Top 20 Cities").Style=sty;11.ftr=yers._Item("US Top 20 Cities").AddFeature(ftr,new MapXLib.RowValuesClass());12.ftr.Update(ftr,new MapXLib.RowValuesClass());有几个要注意的地方:ftr.Attach(axMap1.GetOcx());如果在VB6下,这句程序应该是这样的:ftr.Attach Map1从这里可以看到在C#中因为严格的类型管理所带来的一些变化.如果不进行GetOcx()的转换,即使在下也是错误的.ftr=yers._Item("US Top 20 Cities").AddFeature(ftr,new MapXLib.RowV aluesClass());我们在这个程序中加入了一行空的数据,这也就代表着我们加入的图元不包含任何数据信息.这是为了在介绍图元的时候方便大家掌握,并不意味着这样增加图元就不能将数据保存进去,实际上,通过设置一个新的RowValues变量,是可以将数据信息保存到图元中的.我们将在后面的章节中介绍如何将数据保存在图元中.ftr.Update(ftr,new MapXLib.RowValuesClass());这句程序的作用是将创建的图元保存到图层表中,这种保存是永久保存的.除非是在临时图层上增加的图元,否则下次打开地图文件的时候,将看到创建的图元仍然保留在地图上.因此,在对图元操作之前请备份好地图文件,避免不必要的损失.另外,关于图元的类型(Type)和风格(Style),应该和其所在的图层相对应,比如上面程序中关于Type和Style的设置,都是和"US Top 20 Cities" 图层的类型对应的.有关类型和风格的设置,请查阅相关手册.第二种实现方法:使用FeatureFactory创建图元1.MapXLib.Feature ftr=new MapXLib.FeatureClass();2.MapXLib.Point p=new MapXLib.PointClass();3.p.Set(axMap1.CenterX,axMap1.CenterY);4.ftr=yers._Item("US Top 20 Cities")5..AddFeature(axMap1.FeatureFactory.CreateText6.(p,"New Feature",MapXLib.PositionConstants.miPositionCC,7.new MapXLib.StyleClass()),8.new MapXLib.RowValuesClass());这段代码和上面和第一种实现方法类似,我们在这里不再设置图元的Type和Style.FeatureFactory类似于设计模式中的Factory模式,从它可以产生各种类型的图元,这个过程相当于设置了图元的Type.10)查找图元:查找图元是很简单的,可以用下边的代码实现:1.MapXLib.FindFeature fRes=null;2.fRes=yers._Item("US Top 20 Cities").Find.Search("NewYork","");3.axMap1.CenterX=fRes.CenterX;4.axMap1.CenterY=fRes.CenterY;上面这段代码将找到的图元放置在地图中央.这里要注意的是不能使用1.MapXLib.FindFeature fRes=new MapXLib.FindFeatureClass();来创建FindFeature对象,否则将会出错:"带有 CLSID {436052C3-43E3-11D0-83EB-00AA00BD34FC}的COM对象无效或未注册。