




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 基于基于 MapInfo 的数字化校园的数字化校园 摘要摘要 随着三维地理信息系统的发展和计算机技术的提高 构建校园的地理信息平台 为校园地 理信息系统提供基础数据 校园数字化建设的基础 本文利用地理信息系统 GIS 软件 MapInfo 以内蒙古科技大学校园为例 探讨构建校园地理平台的方法 基于 MapInfo 的校 园数字化 关键词 MapInfo 数字化校园 地理信息系统 GIS 1 Abstract The construction of geographical patform not only provides basic datd of Campus GIS but also is the base of the digital campus construction This paper uses Mapinfo the software of GIS takes Inner Mongolia Univercity of Science the digital campus Geographical Information Systerm 2 引引 言言 校园作为城市或地区的一个特殊区域 其信息管理具有其特殊性 过去 人们将校园信 息的认识局限在与各职能部门上的关系上 把校园信息管理信息系统的研究与开发的重点放 在各职能部门关系密切的 事物 信息方面 如学生信息管理子系统 科研信息管理子系统 教学信息管理子系统等 这种认识与研究开发上的局限性 造成学校信息管理工作很难在一 个统一的平台上进行 借助于 GIS Geographic Information System 地理信息系统 的观点 可认为校园信息包 括空间信息 如建筑物的位置 和非空间信息 如学生成绩等 两大部分 而且非空间信息 总是与空间信息总是直接或间接地存在某种关联 如学生 宿舍 科研成果 教师 住宅等 这就说明空间信息可以作为校园信息管理信息系统的统一平台 地理信息系统 Geographical Information System 简称 GIS 是一门介于地球科学与信 息科学之间的交叉学科 它是近年来迅速发展起来的一门新兴技术科学 它将地球空间数据 与计算机技术相结合 通过系统建立 操作与模型分析 产生对资源 环境 区域规划 管 理决策 灾害防治等方面的有用信息 学校数字化建设是以 数字化校园 概念为基础的教育信息化工程 通过校园网的设 施建设和教育应用能力开发 构建一个集教学 科研 管理 生活为一体的数字化教育环境 最终实现教育过程的全面信息化 数字化将渗透在学校教学 科研 管理 公共服务以及学 校社区服务等各个领域中 实施数字化学习环境工程的核心目标是充分利用信息技术 建立 多层次 创新型 开放式的高等学校 提高办学的质量和效益 构建校园的地理平台 为校 园地理信息系统提供基础数据是数字化建设基础的基础 本文利用 GIS 软件 Mapinfo 以内 蒙古科技大学校园为例 探讨构架校园地理平台的方法 校园数字化 3 目录目录 引言 摘要 I ABSTRACT II 第一章 绪论 1 1 1 研究背景 1 1 1 1 国外研究状况 1 1 1 2 国内研究状况 2 1 2 研究的目的和意义 3 1 2 1 研究的目的 3 1 2 2 研究的意义 3 1 3 本文研究的主要内容 第二章 软件 MapInfo 的介绍 2 1 MapInfo 发展历史 2 2 MapInfo 功能介绍 2 2 1 MapInfo 图形的输入与编辑 2 2 2 查询功能 2 3 MapInfo 数据表管理 2 4 MapInfo 的二次开发语言 2 4 1 利用 MapBasic 开发 2 4 2 利用 OLE 自动开发 2 4 3 利用 MapX 开发 第三章 Mapinfo 的基本应用 3 1 Mapinfo 的界面 3 2 工具条介绍 4 3 3 Mapinfo 的菜单 3 4 mapinfo 的基本概念 3 4 1 Mapinfo 表 的概念 3 4 2 Mapinfo 图层 的概念 3 4 3 Mapinfo 的窗口类型 3 4 4 地图对象 第四章 校园数字化的实现 4 1 收集资料 4 1 1 校区概况 4 1 2 现有资料 4 2 校园数字化的实现 4 2 1 栅格图像 4 2 2 栅格图像用途 4 2 3 栅格图像处理 4 2 4 栅格图像的拼接 4 2 5 栅格图像的调整 4 2 6 配准栅格图像 4 3 建立数据库 4 4 图形数字化 4 5 组合工作空间 4 6 地图的整饰 4 7 数据输出 第五章 5 第一章第一章 绪论绪论 1 11 1 研究背景研究背景 1 1 11 1 1 国外研究状况国外研究状况 20 世纪 90 年代以来 作为新的城市理念和战略 数字城市 开始席卷全球 并成为 从技术科学到社会科学多学科探讨的领域 数字城市的研究方兴未艾 从 INTERNET 以及 有关专业资料的了解可知 数字城市相关技术已经开始应用于很多领域 美国 加拿大 澳 大利亚 日本等西方发达国家早在八 九年前就开始进行了 数字城市 的综合试验 新加 坡首先提出 智能城市 的设想 并在积极进行中 在美国大约有 50 个城市正在或计划建 设数字城市 许多发达国家也纷纷开始 数字社区 和 数字城市 的综合建设试验 例如 芬兰计算机工程师林都立试图应用信息技术展现生活和城市新未来 在网络上复制真实世界 的赫尔辛基市 成为世界上第一个虚拟城市 日本的 东京都地域情报化基本计划 且日 本已经建成一批 智能化生活小区 数字社区 的示范工程 新加坡准备环绕 240 平方英 里的岛屿 铺设一条光缆 为国民提供一个综合业务数字网和异步数字用户专线 将新加坡 90 的家庭连接在一起 使他们在网上可以随心所欲地购物 与政府机构联系 上剧院 电影院 上学校 去图书馆 去医院等 实现 网上生存 的梦想 德国的 Rostock 大学 Stuttgart 大学等研究机构目前正联合研究三维 GIS 在数字城市模型中的应用 对一些城市进 行的空间对象进行了分类和表示 研究 建立了数字城市模拟系统 1 目前 在国际上 GIS 的 19 个研究方向中关于空间信息的可视化表达是很重要的一项 内容 国外许多学者对二维 GIS 的三维结构 三维建模以及单一领域的应用提出了许多方 法和技术手段 三维城市模型从英国 Bath 城的三维计算机模型建立开始 在上世纪 90 年 代有了较大的发展 一项调查研究表明越是经济发达的城市 其应用的规模越大 其应用领 域包括应急服务 城市规划 电信 建筑设计 公用设施管理 营销与经济开发 产权分析 旅游与娱乐 电子商务 环境规划 教育和城市信息中心的人口等 事实上 人们对 3DGIS 真三维的建模与实现仍处于理论研究阶段 尚没有大的突破 3DGIS 仍处于初步阶 段 所实现的部分 3DGIS 功能也只是出现在一些实验性原型系统中 迄今为止还没有一个 商业性真三维城市 GIS 出现 数字校园 发展历史可追溯到上个世纪 国外数字化校园建设起源于 1990 年美国克 莱蒙特大学教授凯尼斯 格林 Kenneth Green 发起并主持的一项名为 信息化校园计划 的 大型科研项目 1 1 2 国内研究状况国内研究状况 6 我国城市规划建设与管理领域引入 GIS 等高新技术开始自 20 世纪 80 年代 近十多年 来 深圳 北京 海口 济南 广州等城市和国内著名科研单位相继建立了一些专业数据库 和机遇地理信息办公自动化的各类城市地理信息系统技术 UGIS 的应用系统 为数字城 市的研究积累经验和数据 进入到 90 年代 随着 GIS MIS OA 技术的推广和应用 更 多的城市已开始将计算机技术应用到城市规划管理与设计中 数字城市概念的提出一开始就 受到了政界和科学界人士的广泛认同 2000 年 在北京召开 21 世纪数字城市论坛 来自 全国近百城市的市长和 500 余位信息技术专家 学者和部分中外 IT 企业负责人 围绕数字 化城市对话 交流 为推进中国城市数字化进程献计献策 2001 年在广州举办了中国国际 数字城市建设技术研讨会暨 21 世纪数字城市论坛 国内从上世纪 90 年代开始 在北京 上海 广州 深圳等大城市也陆续开始了一些三 维城市模型在城市建设中的应用 与国外三维城市模型的研究与应用涉及很多领域不同 国 内三维城市模型的研究 集中于城市的三维场景表现以及城市规划与设计等领域 在这些项 目中比较有影响的包括上海北外滩虚拟城市系统与深圳市数字三维城市演示系统等 但总体 上来看 虽然目前国内外己经有许多家单位开始了数字城市研究工作 但基本上是停留在软 硬环境建设方面 至多处于研究的初期阶段 并没有在数字城市三维景观模型研究方面取得 实质性的进展 数字城市具有巨大的研究和利用潜力 我国高等学校大规模的数字校园建设大多从 20 世纪 90 年代开始 并得到快速发展 在 面向 21 世纪教育振兴行动计划 中提出并强调了要利用信息技术来推进教育的改革 国 内一些高校 科研机构开始着手数字城市的研究工作 1997 年 清华大学成立中国第一个 虚拟制造中心 分布在清华大学的自动化系 精仪系和机械系 进行异地协同仿真研究 1998 年 浙江大学建成国内第一套用于虚拟现实技术的 CAVE 系统 1999 年 武汉大学测 绘遥感信息工程国家重点实验室成功解决构建数字城市的关键技术 三维城市模型快速重建 大范围海量数据动态装载以及多种类型空间数据有效组织和管理等 2000 年 中国科学院 资源与环境信息系统国家重点实验室和广州城市信息研究所共同创办的城市信息联合实验室 主攻数字城市研究 2001 年 南京大学专门组建了以数字城市为主攻方向的城市规划与区 域开发模拟实验室 实验室一期建设投资 600 多万元 主要用于建立大型城市仿真与虚拟现 实系统 形成了具有较强计算能力的数字仿真计算分析系统 拥有国内最先进的 Power Wall 立体仿真屏和虚拟现实环境 1 1 21 2 研究的目的和意义研究的目的和意义 1 2 11 2 1 研究的目的研究的目的 城市是地球表面人口 资源 环境 基础设施与信息最密集的地区 是人类活动最活跃 的环节 在人类的社会生活当中 城市始终占有非常重要的地位 学校是社会政治 经济 文化 科技发展的基础 从某种程度上讲 学校的科技发展代表了社会的发展 人类的进步 当前 信息化 数字化己随着新世纪的到来逐渐深入到社会生活的各个方面 校园数字化已 7 经成为全球校园发展的主流 作为城市空间数据基础设施框架数据内容之一 数字校园 GIS 被提到优先的地位进行建设 1 2 21 2 2 研究的意义研究的意义 数字校园 是继 数字地球 数字城市 后提出的概念 它是一种集数字化 信息化 可视化等多种技术为一体的计算机管理应用系统 与传统二维数字校园相比 三维 数字校园能更真实地反映客观世界 三维数字校园系统功能强大 不仅能通过互连网更直观 地展示校园风貌 还能通过动态交互产生身临其境的感觉 对校际交流 教学科研及部分日 常事务管理等具有重要的现实意义 1 31 3 本文研究的主要内容本文研究的主要内容 数字城市是城市和社会信息化发展的必然趋势 它是一个非常庞大的 复杂的 长期的 系统工程 就整体研究状况而言 目前还处于初级阶段 本文在研究和分析了国内外数字化 发展的基础上 借鉴国内外相关研究成果基于内蒙古科技大学的实际情况进行数字化校园的 研究 主要探讨了如下内容 1 通过一定的校园数字化方法获得内蒙古科技大学的校园平面图 2 内蒙古科技大学校园平面图与相应地理信息的结合 3 数字化校园地图的成图软件和成图技术 4 在 mapinfo 软件中实现内蒙古科技大学的校园数字化 第第 2 章章 软件软件 mapinfo 的介绍的介绍 校园数字化的实现是以现在流行的 GIS 软件为开发平台 目前 GIS 软件很多 主要包 括三家美国 GIS 开发商 ESRI Intergraph 和 Mapinfo 的软件产品 以及三个国产软件 MapGis Geosar 和 Citystar Mapinfo 软件是美国 Mapinfo 公司推出的桌面地理信息系统平台软件 其含义是 mapping information 即 地图对象 属性数据 因此 mapinfo 又称 桌面地图信息系统 它一句地图及其应用的概念 融合计算机制图方法 使用地理数据库技术 加入地理信息系 统分析功能 形成了极具实用价值的大众化小型软件系统 MapInfo 是美国 MapInfo 公司的 桌面地理信息系统软件 是一种数据可视化 信息地图化的桌面解决方案 它依据地图及其 应用的概念 采用办公自动化的操作 集成多种数据库数据 融合计算机地图方法 使用地 理数据库技术 加入了地理信息系统分析功能 形成了极具实用价值的 可以为各行各业所 用的大众化小型软件系统 MapInfo 含义是 Mapping Information 地图 信息 即 地图 对象 属性数据 MapInfo 公司经历了近20年时间 MapInfo 公司成为全球最大的 100家软件公司之一 产品行销58个国家和地区 有 22种语言的版本 超过 30万个正式用户 该产品在 1990 8 后进入我国 经过十几年的发展 已经在诸多领域得到广泛应用 MapInfo 是一个全球 性的软件公司 整合软件 资料与服务以协助顾客了解地理信息的价值 并做出有远见 的决策 我们协助政府及企业顾客满足各层次各部门的需求 从财产经营 网络规划到 位置筛选 风险管理或是手机传输最近服务的应用等 有些时候 我们的客户最初可能 并不了解区位知识在他们领域的重要性 不管是转变他们组织运作的模式 解决复杂的 问题 还是做关键性的决策等方面 在另外一些情况下 我们的客户或是合作伙伴可能 使用创新的方法去使用区位来提高他们的组织运作效能 我们相信我们客户的实例就是 区位智能应用的最好的证明 2 1 发展历史 Pitney Bowes MapInfo 在1986年 由四名 RPI 学生和一名前任教授创办 尽管 MapInfo 创业者们最初的设想是一家导航信息通讯公司 但他们后来修改了商业计划 力图把握提供桌面地图这个更大的商业机遇 MapInfo 先是作为 Rensselaer 产业孵化计 划的一部分 后来独立出来并 在纽约特洛伊市区建立了自己的总部 1986年 MapInfo 公司成立并推出了第一个版本 MapInfo for DOS V1 0及其开发工具 MapBasic 此后又 推出了 DOS 平台的2 0和3 0版 1995年底 MapInfo 发布了 MapInfo Professional 是一 个以 Windows 95和 Windows NT 为平台的桌面地理信息系统 目前该软件的最新版本 是 MapInfo Professional 9 5及 MapInfo2008系列软件 目前 Professional 已打包开发工具 MapBasic 2007年3月22日 总部位于 康涅狄格州 Stamford 的文件管理系统 供应商 Pitney Bowes Inc PBI 周四宣布 以大约 4亿800万美元现金收购 MapInfo Corp MAPS 其中不包括交易完成时 MapInfo 资产负债表上的现金馀额 直至今日 MapInfo 公司 更名为 Pitney Bowes MapInfo MapInfo Professional 是一套强大的基于 Windows 平台的地图化解决方案 可以方 便地将数据和地理信息的关系直观的展现 其复杂而详细的数据分析能力可帮助用户从 地理的角度更好地理解各种信息 可以增强报表和数据表现能力 找出以前无法看到的 模式和趋势 创建高质量的地图以便做出高效的决策 凭借其新特性和增强功能 MapInfo Professional 使得桌面地图化和分析功能更快和更容易 并可延伸至整个企业 MapInfo Professional 提供一整套功能强大的工具来进行复杂的商业地图化 数据可视化 和 GIS 功能 通过 MapInfo Professional 可连接本地及服务器端的数据库 创建地图和 图表以揭示数据行列背后的真正含义 也可以定制MapInfo Professional 以满足用户的 特定需要 支持 Oracle8i 完全读 写 通过 OCI 对 Oracle8i 及通过 ODBC 对其它数据源 的实时访问 经历了近 20年时间 MapInfo 公司成为全球最大的 100家软件公司之一 产品行销58个国家和地区 有 22种语言的版本 超过 30万个正式用户 该产品在 1990 后进入我国 经过十几年的发展 已经在诸多领域得到广泛应用 9 2 2 2 2 功功能能介介绍绍 MapInfo 是个功能强大 操作简便的桌面地图信息系统 它具有图形的输入与编辑 图形的查询与显示 数据库操作 空间分析和图形的输出等基本操作 系统采用菜单驱 动图形用户界面 的方式 为用户提供了 5种工具条 主工具条 绘图工具条 常用工具条 ODBC 工具条和 MapBasic 工具条 用户通过菜单条上的命令或工具条上的铵钮进入到对 话状态 系统提供的查看表窗口为 地图窗口 浏览窗口 统计窗口 及帮助输出设计 的布局窗口 并可将输出结果方便地输出到打印机或绘图仪 2 2 2 2 1 1 图图形形的的输输入入与与编编辑辑 图形的输入是将各种地图信息数据进行数字化或转换 以获得MapInfo 的基本图形 数据组织 表 随数据源的不同可用手扶数字化仪 扫描仪输入或其它标准数据格式 转入 如 AutoCAD 的 DXF 和 DWG Intergraph 的 DGN ESRI 的 ArcView Shape 数据等 利用 MapInfo 提供的绘图工具条 对地图数字化输入与编辑的要点为 1 正确设置地图的坐标系 投影 地图方向和单位 MapInfo 支持多种地图投影方式 用户数字化地图时 首先要设定该地图使用的坐标 系和投影 由于大多数地图在图例中已指出这两项 用户可选择MapInfo 提供的坐标 系 存放在文本文件 MAPINFOW PRJ 中 修改 MAPINFOW PRJ 可得到新的坐标系 若要在 MapInfo 中显示栅格地图 必须配准该图象并为其设定投影 由于投影地图的过 程通常不是完全可逆的 应该做好副本的备份工作 其次要根据选用的坐标系 设定使 用的地图单位 例如经 纬度投影中的地图将以度显示地图坐标 2 设置控制点坐标 为了在跟踪地图时能正确判读数字化仪移动头的位置 必须在地图上设置控制点坐标 参数 至少选择 4个控制点 控制点越多 从数字化板到地图的坐标变换越精确 选择的 控制点离散性要好 如不能在一条直线上 可以在系统中增加 修改 删除控制点 并 把控制点保存在工作空间中 3 绘图和编辑工具 MapInfo 具有一套完整的绘图和编辑工具 对图层进行编辑时首先要从地图菜单中选 择 图层控制 命令或用 图层控制 工具按钮 使该图层处于可编辑的状态 4 利用对地理元素整形方式编辑地图 地图编辑方式可对地图图层上的区域 折线 直线 圆弧和点进行整形 这个过程是 通过移动 增加和删除定义线段的节点来完成的 也可通过复制和粘贴选择的节点来创建 新的点 直线和折线 编辑过程中还可利用区域与折线的相互转换功能来查看区域对象的 结点 或者利用合并 分割 擦除和叠压结点等辅助编辑功能 5 使用自动跟踪地图的功能 10 自动跟踪对象的功能 用来自动跟踪获取重复边界 以避免重复数字化 打开对齐 方式 用 S 键 则可激活自动跟踪 自动跟踪不适于跟踪由绘图工具制作的矩形 圆弧 椭圆等图形 2 2 2 查查询询功功能能 MapInfo 系统为用户提供了强大而灵活的查询功能 在系统中称为选择 Selection 功能 通过选择既可以直接从地图上查询到相应数据表的信息 也可以利用系统提供的 SQL Selection 从数据表查到相应的数据和地图信息 系统用一个临时表 Selection 表 存放选择的结果 对于临时表也可执行很多用于基础表的操作 如浏览 统计 复制或 编辑表 还可进一步生成新的 Selection 1 从地图上选择 1 用主工具条中的工具和菜单命令进行选择 主要的选择工具有 上面介绍的任何 一种选择工具均可选多个或全部对象 选多个对象时需按住 Shift 键 逐个点击要选的对 象 从 查询 菜单中选 全部选中 命令也可选中所有对象 选 全不选 命令撤消所有 选择对象 当要查看所选数据的信息时 可以从 新建浏览窗口 命令调出对话框 选择 所选数据的 Selection 表 2 用查看地图信息的工具 如用信息工具查看所击中的地图对象相应的数据信息 用图例工具查看当前的地图所使用的图例 用标尺工具计算并显示地图上的点之间的距 离等 2 用 SQL Selection 进行选择 1 选择命令 使用 查询 菜单上的 选择 命令 可对单张基础表进行查询 根据用户创建的条件 从表中选择出结果 并在地图窗口中显示出所选记录的地图对象 所选择出的表同其它 表一样可进行浏览 查询 地图化或制作统计图 用 另存为 命令创建结果表 2 SQL 选择命令 Maplnfo 以二维关系表的形式组织地理数据的属性数据 MapInfo 的 SQL 查询菜单项可 以完成各种基与关系表的组织 分析 汇总等操作 同时 作为一个 GIS 软件 MapInfo 的 SQL 查询菜单项包含许多用于空间分析的函数和操作 SQL 选择 可以利用聚合函数只查看分类汇总值的列 而不是整张表 能将两张或更 多表合并成一张结果表 或只显示所需要的行或列 在 MapInfo 中 选择 能够完成一些 比较复杂的查询 但结果表中不会有基础表中不包含的记录信息 而 SQL 选择 则有更 强大的查询分析功能 结果表中可以含有隐含在基础表中的信息 2 2 3 3 MapInfo 数据表管理 在 MapInfo 中数据库称为表 可以使用两种表来建立 存储 查询和显示属性数据 一种是数据表 可分为包含图形 地图 对象的数据表和不包含图形对象的数据表 例如 11 电子表格或外部数据表 另一种表是栅格表 它是一种只能在地图窗口中显示的图象 没有数据表的记录 字段和索引等表结构 这里我们只讨论数据表的有关操作 1 数据的转入 MapInfo 可调用 dBASE 数据库 MS Excel 电子表格 MS Access 数据库 Lotus1 2 3和 ASCll 文件等 文件类型在菜单上文件 打开中的 打开表 窗口中选择 进入 系统的外部表必须用 文件菜单下的 另存为 命令转存为 MapInfo 表后才能对它进行编辑 2 数据表维护 在 MapInfo 中可以直接改变数据表的结构 如增加或删除字段 改变字段的顺序 名 称 类型 宽度或索引 从对话框中设定或确定表的投影 还可以删除数据表 重命 名数据表和紧缩表结构以减少磁盘空间 3 对数据表的操作 MapInfo 的表操作命令 除查询外 都集中放在菜单项 表 中 主要包括 1 建立新表 添加 修改 显示 删除数据记录 2 更新列命令 用于快速且可视化地更新表 先选择对象 在菜单上选择表 更新列 填写更新列的对话框 3 聚合数据 MapInfo 中提供了许多功能强大的聚合函数 用来派生新的信息 聚 合函数包括 Average 计算平均值 Count 计算一组中记录的个数 Minimum 查找一组中所有记录的最小值 Maximum 查找一组中所有记录的最大值 Sum 计算一组中所有记录值的总和 Weighted Average 当计算平均值时 给某一值比另一值更高的权重 Proportion Sum 根据一个对象有多少在另一个对象内 对总计计算进行调整 Proportion Average 根据一个对象有多少在另一个对象内 对平均计算进行调整 Proportion Weighted 根据一个对象有多少在另一个对象内 对加权平均计算进行调整 4 地理编码 这是将原本非地图化的数据库记录显示在地图中的一种方式 以此查看数据的地图分 布 为了在地图上观察数据 必须先把定位坐标赋给每个记录 使记录中数据与地图匹 配 地理编码有几种不同的方法 这里对 按边界地理编码 方法说明 这里 边界 指 封闭的区域或面积 按边界地理编码 的实质是将边界中心的 X 和 Y 坐标赋给表中的每 个数据记录 这样 就能在地图窗口中各边界中心用指定的符号显示数据记录 一旦地 理编码完成 可用 查找 命令来定位单个记录或对象 12 2 4 二二次次开开发发语语言言 MapBasic 是 Mapinfo 自带的二次开发语言 它是一种类似Basic 的解释性语言 利 用 MapBasic 编程生成的 mbx 文件能在 Mapinfo 软件平台上运行 早期的 Mapinfo 二 次开发都是基于 MapBasic 进行的 2 4 1 利用利用 MapBasic 开发开发 MapBasic 是 Mapinfo 自带的二次开发语言 它是一种类似 Basic 的解释性语言 利用 MapBasic 编程生成的 mbx 文件能在 Mapinfo 软件平台上运行 早期的 Mapinfo 二次开发都 是基于 MapBasic 进行的 MapBasic 学起来容易 用起来却束缚多多 无法实现较复杂的自 定义功能 用它来建立用户界面也很麻烦 从现在角度看 MapBasic 比较适合用于扩展 Mapinfo 功能 2 4 2 利用利用 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 13 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 Create oleMapInfo SetCallBack My 这里打一个比方我想会有助于理解上述机制 客户程序与 Mapinfo 之间的交互就像舞台指挥 与木偶演员的交流 客户程序中的地图窗口或说 Mapinfo 子窗口只不过是一个牵线木偶 后 台的 Mapinfo 才是真正操纵木偶的演员 所以客户程序必须与后台 Mapinfo 建立正向 反向 的联系机制 才能操纵地图窗口中的图形目标 2 4 3 利用利用 MapX 开发开发 1 掌握使用 MapX MapX 是 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 用于访问 14 空间对象的属性数据 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 var MapDatum Variant 地球基准面 begin try MapDatum 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 finally VarClear MapDatum end 15 坐标系是 GIS 系统的基石 正确设置坐标系是系统成败的关键 3 操纵地图对象 你可以简单地加载一个 GeoSet 文件 给 Layers 对象集合赋予具体的内容 随之在 Map 对象中就能看到地图显示 GeoSet 文件类似 MapInfo 中的工作空间 MapX 中带有 Geoset 文件的编辑器 GeosetMangater exe 用户可在编辑器中组合及设置图层 然后保存生成一个 gst 文件直接调入 Map 对象 这样可以节省时间 你也可以通过 Layers 对象的 Add 或 Remove 方法添加或移走地图图层 如 Map layers Add FileName 添加图层 FileName 为文件全路径名 Map Layers Remove 3 移走地图第三层 Layers 对象由一组 Layer 对象组成 通过 Layer 对象的 Features 和 Selection 对象集合你可以 操纵和选择图层上的图形目标 如 Map Layers Item 1 AddFeature Newobj 将新建对象 Newobj 添加到图层一 4 地图数据捆绑 数据捆绑是将不同来源的数据对应到地图层的过程 捆绑结果会产生一个 Dataset 对象 Dataset 对象的集合组成 Datasets Collection 它定义了 Map 对象的数据集属性 你可以通过 Datasets 将不同来源的数据捆绑到地图上实现图文互动 或创建专题图 如下例 ODBC Access 数据的捆绑及专题分析 procedure TMapForm ODBC1Click Sender TObject var param ODBCQueryInfo ds Dataset 定义数据集 Datafields Fields 定义数据域 begin param SqlQuery select from China 选择 Access 数据库中的 China 表 param DataSource MapChina ODBC 数据源名 param ConnectString ODBC 或是 user Pwd 定义 ODBC 连接 Datafields Add GEONAME GEONAME miAggregationAuto miTypeString 添加数据域 GEONAME Datafields Add POPU POPU miAggregationAuto miTypeNumeric 添加数据域 POPU 将 Access 数据捆绑到 Mapinfo China 表 ds Map Datasets Add miDataSetODBC param unassigned unassigned unassigned CHINA Datafields unassigned ds Themes Add miThemeRanged POPU MyTheme 添加一个范围专题图 end 16 5 建立客户定制工具 你还可以定制自己的地图操作工具 下面通过定制一个名为 Info 的信息按钮工具简述方 法步骤 1 定义客户工具常量 Const CUSTOM INFO TOOL 1 2 利用 Map 对象的 CreateCustomTool 方法定义客户工具 方法为 CreateCustomTool ToolNumber Type Cursor ShiftCursor CtrlCursor InfoTips 其中 ToolNumber 为工具号 即上面定义的常量 Type 为工具类型 Cursor 为光标形状 其他参 数可选 定义Info工具为十字光标点触发工具 Map CreateCustomTool CUSTOM INFO TOOL miToolTypePoint miCrossCursor miArrowCursor miArrowCursor unassigned 3 在 Map 对象事件 ToolUsed 中编写工具的 Handler 操作内容 procedure TMain MapToolUsed Sender TObject ToolNum Smallint X1 Y1 X2 Y2 Distance Double Shift Ctrl WordBool var EnableDefault WordBool begin Case ToolNumber of CUSTOM INFO TOOL 信息工具 Info try end 4 定义信息按钮的 Click 事件 procedure TMain InfoClick Sender TObject begin Map CurrentTool CUSTOM INFO TOOL end 综上所述 基于MapBasic的开发简单但受限制较多 比较适合 Mapinfo功能扩展编程 而基 于OLE自动化的开发比较繁琐 因为需要来回向后台的 Mapinfo发送MapBasic字符串命令 所建 立的应用程序运行速度也相对较慢 但这种开发方法能随心所欲制作出美观友好的界面 将地理操 作与非地理操作溶为一体 并且能实现几乎 100 的Mapinfo功能 这是目前的MapX4 5也不能比 拟的 与传统GIS专业性开发环境相比 像 MapX这类组件式GIS系统的出现可说是一种质 的飞跃 它小巧灵活 开发简捷 价格便宜 以后会越来越大众化 用MapX开发的GIS系统运行速度快 因为它不需要在Mapinfo软件平台上运行 但从目前 MapX4 5看 MapX并没能实现所 有的 Mapinfo功能 据称95 以上 使用过程中发现其生成或编辑地图能力及地理分析能力不足 而且 17 里面Bug也不少 当然随着今后新版的推出 MapX会越来越稳定 完美 第第 3 章章 Mapinfo 的的 基本应用基本应用 3 1 Mapinfo 的界面的界面 正确安装 mapinfo 后 运行后显示如下图的 mapinfo 的主界面 图 3 1 图 3 1 Mapinfo 界面中除地图外 还有各种菜单和工具按钮等几部分构成 1 标题栏 显示当前地图窗口的标题 也可以理解为显示当前地图编辑主题 如下图 3 2 图 3 2 2 主菜单与二级菜单 显示 Mapinfo 系统功能英单以及二级菜单内容 是地图编辑与管理的重要功能菜单 二 级菜单很多 在内蒙古科技大学平面图数字化过程中会逐步介绍 18 图 3 3 点击上图中的一级菜单就会自动弹出二级菜单 3 状态栏 图 3 4 4 工具按钮 工具按钮是 Mapinfo 为用户设计的最便捷的地图编辑和管理工具 其功能非常全面 它 由 工具条 常用 工具条 绘图 工具条和 主 工具条组成 图 3 5 3 2 工具条介绍工具条介绍 工具条的设置在进入 Mapinfo 系统后 可以看到各种工具按钮 这些按钮为用户的数 据加工 管理提供了极大的方便 但是 有些时候 因为用户对地图窗口的特殊要求 需要 关闭或打开某功能按钮条 就需要进行工具条选项设置 Mapinfo 为用户提供了工具条显示 隐藏的开关设置功能 设置的方法很简单 只要打 开 选项 菜单下 工具条 菜单 就会出现如图 3 5 所示的工具条设置框 按照自己的需 要 适当设置后保存就可以了 下面就各工具条中每个按钮的名称及用途做简单介绍 1 常用 工具条 图 3 6 19 常用 工具条中的按钮多是编辑地图和管理数据经常用到的 类似于 office 办公软中 的工具按钮 因此取名 常用 也有人称其为 标准 按钮 其含义都是相同的 至于每 个按钮独有的含义 新建浏览窗口 按钮 新建统计图 按钮 新建重新分 区 按钮 的具体的含义 只要将鼠标指针移动到按钮上稍停留一下 就会有该按钮的 功能提示 其中 mapinfo 的常用工具条具体作用 在后面的地图编辑中会陆续介绍 下面要 重点介绍 绘图 工具条的功能按钮 2 绘图 工具条 图 3 7 绘图 工具条 绘图工具条按钮按功能分为 点 线 面 文本 功能按钮 后面四个带 号的为点 线 面 文本样式设量按钮 绘图 工具条中的各按钮功能主要是地图编辑 其中 为整型功能按钮 使用整形可以通过移动 增加 删除定义线段的节点来编辑区域 折线 直线和点 也可以拷贝和粘贴选中节点来创建新的折线 为增加节点按钮 利用 它可以增加区域 折线和圆弧的节点 各功能按钮的具体使用方法将在本书后面的地图编辑中用到 可以在制作内蒙古科技大 学校园数字地图实践中逐渐掌握使用方法 4 主 工具条 图 3 8 主 工具条 该工具条中的主要功能是对地图目标的选择操作 浏览和图层控制等 如 是距离测 量工具 是信息工具 利用它可以获得地图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学淘气的作息时间公开课教案
- 商务文书写作培训
- 农业基础知识培训
- 创伤救护教学幻灯课件
- 向日葵(教学设计)-2023-2024学年人美版(北京)(2013)美术四年级下册
- 小学政治 (道德与法治)人教部编版一年级下册6 花儿草儿真美丽教学设计
- 燃气系统法务培训
- 会议室租赁简易合同2025
- 人工智能技术服务合同2025
- 版个人租住房屋契约
- TSDPIA 05-2022 宠物猫砂通用技术规范
- 2023年河南工业和信息化职业学院单招面试题库及答案解析
- 国企治理三会一层详解
- GB/T 788-1999图书和杂志开本及其幅面尺寸
- GB/T 756-2010旋转电机圆柱形轴伸
- GB/T 6172.1-2000六角薄螺母
- GB/T 19189-2011压力容器用调质高强度钢板
- 公司合格供应商清单
- 2022年物流仓储行业REITs研究
- 政治学基础课件全部终稿
- 朱兰质量手册课件
评论
0/150
提交评论