基于Delphi和MapObjects的地理信息系统二次开发

合集下载

基于Delphi和MapObjects的地理信息系统二次开发

基于Delphi和MapObjects的地理信息系统二次开发

存在的任何 问题 。
五 、 束语 结
数 字 图书 馆 的研 究 和 发 展 方 兴 未艾 , 要 应 用 和集 需
的验证 , 如果账号有效 , 则数字图书馆系统接受访 问, 并 向用户返 回访 问结果。基 于 U 2 ML . 0建立用户身份统一
认证 的顺 序 图 如 图 2所 示 : 四 、 一登 录 服 务 系统 的 实 现 、 统 测试 和 系统 配 置 经 过 系统 分析 与 设 计后 , 可 以根 据 设 计 模 型 在具 就
MaO jc 是一套 制图软件集 , p bet s 它使程 序员 能够把
地图加 到应 用程序中去。通过 MaO jc 可灵活地建 p bet s 立适合用户的地 图接 口。在小 内存空 间中, 能用多种工
2 0 . 0 4
[] 郑巧英. 3 数字图书馆的一种模式——网络图书馆 [1 J. 图 现代
书情 报 技 术 ,0 5 20 .
3 河 科 0. 0 南 技2 8上 01
维普资讯
信 息 技 术
成 , 而在一个可视化的界面来实现系统的大部分功能。 从
维普资讯
地 理信 息系统 ( egahcl Ifr tn S s G orp i n mao y- a o i t G S 是一 种决策支持 系统 , e m, I ) 它具有 信息 系统 的各 种特点。 地理信息系统与其它信息系统 的主要区别在于 其存储和处理的信息是经过地理编码 的, 地理位置及与 该位置有关的地物属性信息是信息检索的重要部分。 在 地理信息系统 中, 现实世界被表达成一系列 的地理要素 和地理现象 , 这些地理特征至少 由空间位 置参考信息和 非位置信息两个部 分组成。
成最新的信息技术 , 以达到对数字信息资源的最 有效利

GIS二次开发-使用MapObjects

GIS二次开发-使用MapObjects

继承
继承是可以让某个类型的对象获得另一个 类型的对象的属性的方法。它支持按级 分类的概念。例如,知更鸟属于飞鸟类 ,也属于鸟类。就像下图中描绘的那样 ,这种分类的原则是,每一个子类都具 有父类的公共特性。
Class Bird{
Class flyBird inherit from Bird{
String type;
ActiveX的内容
• ActiveX脚本-(ActiveX Scripting)
–用于从客户端或者服务器端操纵ActiveX控件 和Java程序、传递数据以及协调它们之间的 操作等;
• ActiveX服务器框架(ActiveX Server Framework):
–提供了一系列针对Web服务器应用程序设计各 个方面的函数及其封装类,诸如服务器过滤 器、HTML数据流控制等;
•开发周期长,软件功能相对简单,对 开发者要求高,用于购买软件的费用相 对节省
宿主型开发模式
•基于GIS平台软件,进行应用系统开发 •多数GIS平台软件都提供了可供用户进行二 次开发的脚本语言,用户以原GIS软件为开 发平台,利用这些脚本语言,开发出自己的 针对不同应用领域的应用程序。 •如ArcView中的Avenue语言,MapInfo Professional的MapBasic语言 •开发较为容易; 二次开发的脚本语言,功 能较弱;所开发的系统不能脱离GIS平台;是 解释执行的,运行效率低;用户界面受平台 软件的限制
Public move{ ….
String Name;
Publice fly { …
}
} }
}
• 在OOP中,继承的概念很好的支持了代码的重 用性(reusability),也就是说,我们可以 向一个已经存在的类中添加新的特性,而不必 改变这个类。这可以通过从这个已存在的类派 生一个新类来实现。这个新的类将具有原来那 个类的特性,以及新的特性。而继承机制的魅 力和强大就在于它允许程序员利用已经存在的 类(接近需要,而不是完全符合需要的类), 并且可以以某种方式修改这个类,而不会影响 其它的东西。 • 注意,每个子类只定义那些这个类所特有的特 性。而如果没有按级分类,每类都必须显式的 定义它所有的特性。

地理信息系统二次开发

地理信息系统二次开发

常见错误(如前例)
Dim pRace As IRace Set pRace = New RaceCar
这虽然会得到IRace接口,但却指向了一个完全不同的RaceCar对象。
要引用由pCar所指向的同一个RaceCar对象必须为:
Set pRace=pCar
这样,两个变量就都指向同一个RaceCar对象,两个变量控制同一个 RaceCar的不同方面。
'Must use Set!
Set pLayer.FeatureClass = pMoresbyData
ArcObjects地理信息系统二次开发
几个关键类
ArcObjects地理信息系统二次开发
Geometry objects
Geometry *
Geometry collection
Curve
Envelope
ArcObjects地理信息系统二次开发
Getting other interfaces

QueryInterface (QI)
接口查询的概念是指在同一个对象上使用附加的接口。 在本课中常用到这个概念,缩写为“QI”
Dim A As IInterfaceA Set A = New SomeObject object variable (A) 'This instantiates the
ArcObjects地理信息系统二次开发
COM classes have interfaces


对象拥有一个或多个接口
接口是定义了一组方法和属性的逻辑关系 与对象的通信是通过接口来进行的
GarbageTruck IDrive Fuel Accelerate Brake IGarbage Dump Pickup IRace IDrive

基于MapObjects组件的GIS二次开发

基于MapObjects组件的GIS二次开发

功能 ,介绍了在 Vsa C+ 以下简称 v )环境下 基于 MaO j t组件开 发地理信息 系统 的过程 ,并 i l +( u c p be s c 以宁波市电子地图为例 ,探讨 了在 V C中加载 MO组件 的一 般流程 、 自定 义符号 ( 路 、道路 等)加 铁 载 、图层颜色文 字渲染等 功能的具体实 现方法 . 实践 表明 ,该控 件具有较 强的 G S I 分析 及应用功 能 , 是开发地理信息系统较好的工具 . 关键词 :组件式 GS I;MaO jc M ) p b t O ;地理信息 系统 ;电子地 图 e s(
作者简介 :刘爽 (97 , , 17 一) 女 辽宁锦州人 ,大连 民族 学院计算 机科 学与 工程学院讲 师 ,博士 . 研究方 向 :机
器学习 、自动文本分类 、智能交通系统 .

8 ・ 7
维普资讯
维普资讯
பைடு நூலகம்
重要 塑 ! 星曼
9月 1 5日出版
G S二 I
基 于 M p b c 组 件 的 G S 次 开 发 aO j t es I二
刘 爽
( 大连 民族 学 院 计 算机 科 学 与工程 学院 ,辽 宁 大连 160 ) 165
摘 要 :在讨论组件式 GS二次开发特点的基础上 ,分析了 M p b c 组 ( I aO j t es 以下简称 MO )件的特点和
MO在投 影转 换 、 地址 匹配 、 据 访 问 、 图 查询 、 数 地
显示 及制 图方 面 都具有 较强 的 GS 能 . I功
1 M p bet特 点 和 功 能 aO j s c
MO由一 个 称 为 Ma 件 的 A te p控 cvX控 件 和 i

浅谈基于ArcObjects的地理信息系统二次开发与实现

浅谈基于ArcObjects的地理信息系统二次开发与实现

高新技术2017年2期︱21︱浅谈基于ArcObjects 的地理信息系统二次开发与实现段 然重庆市勘测院,重庆 401121摘要:随计算机技术以及信息技术的飞速发展,地理信息系统也逐步得到了完善与发展,并且在我们的日常生活着有着深远的影响。

本文对地理信息系统进行简单的分析,对其编码技术以及二次开发方法进行研究,对地理信息系统的开发提供一定的建议。

关键词:地理信息系统;GIS;二次开发 中图分类号:K9 文献标识码:B 文章编号:1006-8465(2017)02-0021-01地理信息系统是建立在地理空间数据库的基础上实现的,它综合了计算机网络技术,对数据进行采集、分析、存储、显示的一个系统,能够对大量的地理数据进行整理分析。

目前,该系统已经深入到了我们生活的每个角落,对城市规划、环境监测、资源管理、配电网管理等等方面均有较大的帮助。

但是GIS 在处理各种数据的同时,还要建立不同的模型及GIS 算法,为此,我们在处理数据时,必须要熟悉不同的操作,这也为GIS 的推广带来一定的阻碍,为此,我们也需要对GIS 进行二次开发,为广大用户提供便捷的服务。

1 地理信息系统及组件技术分析 组件技术采用的一种二进制的技术,它能够帮助不同的软件采用统一的标准进行数据信息的交互,并且,利用组件技术创建的程序修改比较小,其代码的应用程度比较高。

组件式GIS 是将GIS 的所有功能模块进行划分,构成为多个控件,进而实现每个功能,不同的控件间或是控件与非控件可以通过软件进行集成,形成最终的GIS 系统。

不少软件开发公司都是建立在组件技术实现GIS 技术的二次开发,这类软件通常具有以下的优点:价格便宜且操作灵活;不需要专门的开发语言;功能比较强大;适应性比较强,且操作简单,具有良好的推广性。

GIS 软件利用面向对象技术进行二次开发,利用可视化编程技术,综合地理信息系统本身的数据处理功能,进行组件式二次开发,大大提高了系统的开发效率,在完善功能的同时,也能对系统的外观进行优化。

基于Delphi 7.0和MapObjects 2.3编写控制点管理系统

基于Delphi 7.0和MapObjects 2.3编写控制点管理系统
术 出版社 ,0 3 2 0
[ ] 粱水 , 1 李方超 , 赛奎春 .D lh 开发技 术 大全 [ .北 京 e i p M]
Th n r lPo n e ut e Pr g a s d o l h . e Co t o i tEx c i o r m Ba e n De p i7 0 v
() 4 编辑 功能
L"
辑 。需要注意的是 , 点名必须与 sp数据点名完 全一致 。 h
() 3 点之 记 的管理 与维护
() 5 查询 功能 点击 管 理 程 序 中 的 “ 询 ” 输 入控 制 点 点 名 , 查 , 即
点 之记 须 以图 片 的形 式存 在硬 盘 里 , 同时 为 了点 之记 的安全 问题 , 将点 之 记图片进 行加 密处 理 , 存 在 保
观地显示在“ ” , 屏 上 达到 了管理控制点 的 目的。
关键词 : 点之记 ; 实地相 片; 展绘 ; 图表查询
1 引 言
随着 中国经 济 的快 速 发展 , 国城 乡面 貌 发 生 了 中
系统, 既能精准确定该点的存在 与 , 否 又能从宏观上直
观 的掌握 控制 点 的分布情 况 。
能 直观 反 映当前测 区内各控 制点 状态 。
3 系统技术路线 图
针‘ 对以上两种控制点管理方式 的优缺点 , 根据作
业 的 实际情 况 , 天津 市 测 绘 院 开发 了一 套 控制 点 管 理
图 1 管理程序主界面
收稿 日期 :0 l O 1 2 1一1一 8 作者简介 : 吕会义 (9 2 ) 男 , 18 一 , 助理l T程师 , 主要从事: 程测量工作。 亡
2l 0 2年 2月

基于组件技术的地理信息系统二次开发——以地下水资源空间分析系统为例

基于组件技术的地理信息系统二次开发——以地下水资源空间分析系统为例

收稿日期:2002-09-20; 修订日期:2002-12-21 基金项目:国家自然科学基金资助项目“基于GIS 技术的城市水资源科学管理”(70073045);国家重点基础研究规划973项目“黄河水资源可再生性维持机理”(G 19990346-06) 作者简介:诸云强(1977-),男,硕士研究生,研究方向为地理信息系统的开发与应用。

基于组件技术的地理信息系统二次开发———以地下水资源空间分析系统为例诸云强,宫辉力,赵文吉,朱少霞,贾 萍(资源环境与地理信息系统北京市重点实验室,北京100037)摘要:组件地理信息系统不依赖于某一种开发语言,一般利用地理信息控件实现地理信息功能,专业应用功能则直接在通用平台上开发或是插入其它的专业模型分析控件来实现。

目前,组件地理信息系统开发模式已成为地理信息系统二次开发的主要模式。

该文阐述了组件地理信息系统的基本概念和技术基础,详细介绍了ESRI 公司推出的MapObjects 控件,结合实例论述了基于组件技术的地下水资源空间分析系统的设计开发过程。

关键词:地理信息系统;组件技术;组件式地理信息系统中图分类号:P208 文献标识码:A 文章编号:1672-0504(2003)01-0016-04 地理信息系统(GIS )以其强大的空间数据处理分析和地图可视化功能受到了各管理部门、使用单位的青睐,目前正广泛应用于土地利用、国土整治、城市规划、交通指挥、水利水电、测绘、环境保护等部门。

随着地理信息系统的发展,各部门对地理信息系统深入应用的同时,要求建立适合自己部门、行业特点的地理信息系统的趋势也越来越强烈。

因此,开发兼具通用地理信息系统功能和专业应用功能的信息系统在各部门地理信息系统应用中已占了相当大的比重,逐渐引起各方面的重视。

传统GIS 技术体系面临着严峻的挑战,其中最为突出的问题是:开发负担过重、应用系统集成困难、二次开发语言复杂以及难于普及等问题[1]。

GIS二次开发平台简介

GIS二次开发平台简介

MO允许定制利用制图和GIS组件的应用程序,它的特点包括:支持广泛的数据格式;支持ODBC和ADO访问数据库表格数据源;支持扩展的图形数据及操作;支持投影;增强的GPS管理功能;空间分析功能;提供了ArcExplorer组件源代码;支持ArcIMS;支持数据库版本管理。
MO对地图数据的组织方式概念清晰,易于理解。一个综合性的地图由多个图层构成,图层数据来源广泛。对于矢量图层,其内部统一用记录集来表达,抹平了各种不同格式数据间在内存中的表达鸿沟,简化了程序员的数据观点。记录集就像关系数据库中的二维表,行表示每个要素,列表示每个属性,如果含有名称为“Shape”的列,则该记录集表示的是地
iveX是微软公司的组件技术标准,是对象链接与嵌入(OLE)的扩展,它使OLE接口加强了对数据和特性的管理,而且便于进行Internet互操作。
ActiveX控件是建立在COM标准之上的独立的软件元件,提供给用户应用接口,发送相应的事件,开发者则可以截取这些事件,执行相应的功能。
目前基本的组件地理信息系统开发都是通过第三方提供的ActiveX控件(通常为.ocx或.dll文件)来在开发环境中进行集成开发,组件技术可以使程序设计变得简单、高效,去掉了大量代码重复编写的繁琐性,提高了代码的重复使用性,增强系统的可扩展性、可伸缩性和可移植性,加强了系统实用性和维护性。
地理信息系统二次开发平台简介
地理信息系统二次开发平台以MO等组件式开发技术为主下面为大家简单介绍一下MO组件技术。
1. MO简介
MapObjects(简称MO),是由美国ESRI开发的,一组供应用开发人员使用的GIS功能ActiveX控件,它包括一个名为Map的ActiveX控件(OCX)和一组(四十多个)ActiveX自动化对象。它适用于工业化标准程序环境,如Visual Basic,Delphi,C++Builder,PowerBuilder与MS Access等,利用它可灵活的建立适合用户的地图接口,且开发费用小。

基于MAPGIS的地质环境信息管理系统二次开发2

基于MAPGIS的地质环境信息管理系统二次开发2

第4卷 第2期 中 国 水 运 ( 理 论 版 · 自 然 科 学 ) Vol.4 No.2 2006年 2月 China Water Transport(Theory Edition·Natura science) February 2006收稿日期:2006-1-25作者简介:罗美芳 女(1982-) 中国地质大学(武汉) 硕士 (430074) 研究方向:地下水数值模拟和地质灾害评价预测基于MAPGIS的地质环境信息管理系统二次开发罗美芳 孙 敬摘 要:以MAPGIS 作为地质环境信息管理系统二次开发的平台,主要介绍了MAPGIS 的开发环境和数据管理方式、系统设计结构以及体系结构图。

该管理系统的关键就在于对属性数据的管理,在MAPGIS 的开发库里主要提供了三种方式。

最后对介绍如何实现对工程文件的管理和编辑。

关键词:地理信息系统 地质环境 二次开发中图分类号:X141:TP14 文献标识码:A 文章编号:1006-7973(2006)2-0042-02一、引言地理信息系统主要有三种开发模式:一是独立开发,完全从底层做起,不依赖任何GIS 系统,所有的算法都由开发者独立设计,这种模式开发难度大、周期长、投资大,不适合一般的开发用户;二是单纯的二次开发,基于国内外先进的GIS 平台,利用其提供的二次开发语言进行开发,如美国Esri 公司Arcview Gis 的二次开发语言Avenue,开发出具有特定应用功能的地理信息系统,该模式简单易行,有很多功能可以直接从原有的平台软件中引用过来,但它的可扩充性太差,往往不能满足要求;三是借助某些商用地理信息系统提供的组件库或MFC 函数库,结合特殊的功能需求开发专业的地理信息系统。

MAPGIS 提供了完整的二次开发库,用户可以在MAPGIS 平台上开发面向各自领域的应用系统。

目前,二次开发库以API 函数、MFC 扩展类、COM 组件、ActiveX 控件四种方式提供。

基于MapObjects的县级森林资源地理信息系统的二次开发

基于MapObjects的县级森林资源地理信息系统的二次开发

中 图 分 类 号 :2 8 P 0
文 献 标 识 码 : A
文 章编 号 :6 1 3 6 ( 0 8 0 0 2 0 1 7 — 18 2 0 ) 2— 0 6— 4
The S c n a y De e o e o d r v l pm e t o o r p c I f r a i n S s e fFo e t n f Ge g a hi n o m to y t m o r s
行 e m n t操 作 的. l ia i e 其方 便 的菜 单 驱动 方 式 给实 际 工作 带来 了很 大便利 .
( )方 法 2与 方 法 3都 是 针 对 矢 量 文 件 进 行 e 2 —
Ab t a t T e s c n a d v l p s r c : h e o d  ̄ e e o me to e g a hi n o ma i n s s e o o e tr s u c s a o n y l v l n f g o r p c i f r t y t m ff r s e o r e tc u t e e o wa o d c e n t e lg t o h e d o o e tr s ur e ma a e n a e n a t a p l a i n o ・ s c n u t d i h i h f t e n e f f r s e o c n g me t b s d o c u la p i t f Ma c o
s s e t tuc u a e i n a d r a i a i n o y t ma i u c i n y t ma i sr t r ld sg n e lz to f s s e c t fn t . c o
Ke r s Ma O jcs g o rp i fr t ns s m o rs rsuc s tesc n a d vlp n ; y wo d . : p be t ; e ga hci omai y t f oe t eo re ; h e o d  ̄ e eo me t n o e f

MAPGIS地理信息系统的二次开发

MAPGIS地理信息系统的二次开发

16 测绘信息与工程 2000 N o .1M A PG IS 地理信息系统的二次开发郭际元 曾 文摘 要 介绍了M A PG IS 地理信息系统的二次开发的环境,工作区概念,空间实体及其数据组织,应用程序类型以及编写应用程序的方法。

关键词 地理信息系统 二次开发 工作区 空间实体 M A PG IS 地理信息系统是中国地质大学(武汉)信息工程学院,在十几年数字制图软件开发的基础上,开展G IS 应用系统研究工作而开发出来的。

该软件于1995年10月通过鉴定,经过这几年的不断完善和扩充,于1998年推出了5.32版本。

M A PG IS 是运行在PC 486以上微机平台的工具型软件,它为用户提供了两种使用方法:其一是利用软件自身的各种功能,建立用户的空间和专业属性数据库,并实现用户所需的各种专业检索和分析;其二是借助软件所提供的完整的二次开发函数库,在M A PG IS 平台上开发面向各自领域的应用系统。

目前,利用该平台已研制开发出通信管网及配线、国土详查、地籍管理、供水管网、煤气管道、城市综合管网、电力配网、城市规划、辅助作战指挥、GPS 导航与监控、环境保护与监测等一系列应用软件系统。

1 M A PG IS 的二次开发环境操作系统,M A PG IS 开发函数库以及M A PG IS 应用程序的相互关系,如图1。

目前,M A PG IS 二次开发库主要是以A P I 函数的方式提供的,这些函数的实现被封装在12个动态链接库(DLL )中,因此,是独立于开发工具的。

用户在所使用的高级语言中,如何调用W indow s 的A P I 函数,可依此调用M A PG IS 的二次开发函数。

M A PG IS 二次开发函数库,有工作区基础函数、图形显示输出、工作区管理函数、图形窗口操作、空间分析函数、地图库读取显示、图形编辑函数、图像输入输出、图像显示函数、彩色变换函数、图像处理函数以及进程控制函数。

基于Delphi环境下MapObjects的使用

基于Delphi环境下MapObjects的使用

基于Delphi环境下MapObjects的使用【摘要】:添加、放大、缩小、漫游、整屏显示、查询等功能是许多地理信息系统的必备功能,鉴于MapObjects在Delphi环境下开发的实例及书籍非常少,为此文章给出了在Delphi环境下使用MapObjects来实现地图的添加、放大、缩小、漫游、整屏显示、查询的代码。

【关键词】:MapObjects; 高级语言Delphi; GIS1.引言随着计算机技术的不断发展,计算速度越来越快。

也使得地理信息系统(GIS)技术应用领域越来越广泛,如测绘、规划、电信线路管理、城市供排水管道管理等。

现在在市场上有许多关于GIS方面的软件出现,有国外的,也有国内开发的软件。

但在有的实际工作中,地图只是应用程序的一部分。

[1]此时,应用开发人员迫切需要一种制图与GIS功能组件,而不是最终的应用软件来定制或扩展已有的应用。

MapObjects正是为了满足这种需要而开发出来的。

它包括一个OLE控件(OCX)叫做地图控件(Map control)和一组(三十多个)OLE 目标(objects)。

MapObjects是一套制图软件集,它使程序员能够把地图加到应用程序中去。

通过MapObjects你可以灵活地建立适合用户的地图接口。

在小内存空间中,你能用多种工业标准程序环境之一去建立应用程序,你能够联合使用MapObjects与其它软件去实现地图与用户信息的联系。

[2]现在介绍MapObjects 在Visual Basic环境下开发的实例及书籍非常多,然而在Delphi环境下MapObjects使用的例子寥寥无几,文章正是针对这一现象,结合一实例,详细介绍如何在Delphi环境下使用MapObjects来实现地图的添加、放大、缩小、漫游、整屏显示、查询等。

2.基于Delphi环境下MapObjects的使用2.1 在应用程序中加入MapObjects和数据(1)安装MapObjects控件。

如何进行地理信息系统的二次开发

如何进行地理信息系统的二次开发

如何进行地理信息系统的二次开发地理信息系统(Geographic Information System,简称GIS)是一种以地理空间数据为基础,用于收集、存储、管理、分析和展示地理信息的工具。

它在各个领域中被广泛应用,如城市规划、环境保护、交通管理和自然资源管理等。

然而,使用现有的GIS软件可能无法完全满足特定需求,因此进行GIS的二次开发成为一种必要的选择。

第一步:需求分析与功能设计在进行GIS的二次开发之前,首先需要明确自己的需求。

根据具体应用领域和业务需求,确定需要哪些功能和特性。

例如,如果是用于城市规划,可能需要功能强大的空间分析和模拟工具;如果是用于环境保护,可能需要数据可视化和监测分析的功能。

在确定了需求后,可以开始进行功能设计,明确所需实现的功能和数据处理流程。

第二步:选择合适的开发语言和技术GIS的二次开发可以使用多种编程语言和技术实现,如Java、Python、C++等。

选择合适的开发语言和技术取决于开发人员的技术背景和项目需求。

例如,如果需要与数据库进行交互,可以选择使用Python和PostgreSQL/PostGIS组合;如果需要开发桌面应用程序,可以选择使用Java和QT。

第三步:数据处理与集成在进行GIS的二次开发时,数据处理与集成是一个重要的环节。

数据的质量和精度对于GIS系统的效果和可靠性至关重要。

因此,在进行数据处理和集成时需要保证数据的完整性和一致性。

可以使用Python等编程语言编写数据处理和集成的脚本,以提高效率和减少错误。

第四步:系统开发与测试在进行GIS的二次开发时,需要按照功能设计和需求分析的结果进行系统开发。

可以采用敏捷开发等方法,将整个开发过程分为多个迭代阶段,便于及时调整和修正。

同时,测试也是一个不可忽视的环节。

通过编写测试用例和进行系统测试,可以验证系统的功能和性能是否符合预期,并及时修复bug和改进系统。

第五步:用户培训与技术支持GIS的二次开发需要将开发的系统或应用交付给最终用户使用。

基于Delphi和Mapinfo的GIS系统二次开发途径

基于Delphi和Mapinfo的GIS系统二次开发途径

基于Delphi和Mapinfo的GIS系统二次开发途径
梁晓晖;黄志强
【期刊名称】《河北软件职业技术学院学报》
【年(卷),期】2006(008)003
【摘要】随着计算机及信息技术的发展,GIS技术几乎渗透到国民经济的各个领域.如何快速高效地开发满足不同部门、不同需求的GIS产品,成为人们所关注的问题.本文结合实际案例,对基于Delphi和Mapinfo的GIS系统二次开发进行了简单的介绍,并对关键技术进行了分析.
【总页数】2页(P65-66)
【作者】梁晓晖;黄志强
【作者单位】华北电力大学,河北,保定,071000;华北电力大学,河北,保定,071000【正文语种】中文
【中图分类】TP27
【相关文献】
1.VB与MapInfo结合进行地理信息系统(GIS)二次开发 [J], 张峰;秦庚仁;刘久艳
2.MapInfo与Delphi集成开发应用GIS方法探讨 [J], 任印国;潘俊成;许新刚
3.Delphi与MapInfo集成开发应用GIS系统 [J], 王文;龚静怡
4.MapInfoGIS应用系统二次开发技术 [J], 吕丽英;耿云峰
5.PowerBuilder与MapInfo结合进行地理信息系统(GIS)二次开发 [J], 郑涛因版权原因,仅展示原文概要,查看原文内容请购买。

基于Delphi环境下MapObjects的使用

基于Delphi环境下MapObjects的使用

基于Delphi环境下MapObjects的使用【摘要】:添加、放大、缩小、漫游、整屏显示、查询等功能是许多地理信息系统的必备功能,鉴于MapObjects在Delphi环境下开发的实例及书籍非常少,为此文章给出了在Delphi环境下使用MapObjects来实现地图的添加、放大、缩小、漫游、整屏显示、查询的代码。

【关键词】:MapObjects; 高级语言Delphi; GIS1.引言随着计算机技术的不断发展,计算速度越来越快。

也使得地理信息系统(GIS)技术应用领域越来越广泛,如测绘、规划、电信线路管理、城市供排水管道管理等。

现在在市场上有许多关于GIS方面的软件出现,有国外的,也有国内开发的软件。

但在有的实际工作中,地图只是应用程序的一部分。

[1]此时,应用开发人员迫切需要一种制图与GIS功能组件,而不是最终的应用软件来定制或扩展已有的应用。

MapObjects正是为了满足这种需要而开发出来的。

它包括一个OLE控件(OCX)叫做地图控件(Map control)和一组(三十多个)OLE 目标(objects)。

MapObjects是一套制图软件集,它使程序员能够把地图加到应用程序中去。

通过MapObjects你可以灵活地建立适合用户的地图接口。

在小内存空间中,你能用多种工业标准程序环境之一去建立应用程序,你能够联合使用MapObjects与其它软件去实现地图与用户信息的联系。

[2]现在介绍MapObjects 在Visual Basic环境下开发的实例及书籍非常多,然而在Delphi环境下MapObjects使用的例子寥寥无几,文章正是针对这一现象,结合一实例,详细介绍如何在Delphi环境下使用MapObjects来实现地图的添加、放大、缩小、漫游、整屏显示、查询等。

2.基于Delphi环境下MapObjects的使用2.1 在应用程序中加入MapObjects和数据(1)安装MapObjects控件。

MAPGIS二次开发常见问题汇总

MAPGIS二次开发常见问题汇总

1、问:如何用Delphi生成MAPGIS明码文件?答:先利用手册看懂明码格式文件的格式,知道数据的组织方式,利用delphi的文件函数创建一个文本型文件,吧数据库中的数据按照格式输出就是了。

2、问:A TT_STRU 和CA TT_STRU的区别和联系?答:A TT_STRU是以前老版本的东东,换成CATT_STRU试试.CATT_STRU中包含了属性结构的详细信息,具体用法可参见二次开发帮助文档中第三章数据结构中关于属性字段描述结构,属性字段描述头和属性信息头的介绍,里面有该结构的详细内容。

3、问:请教关于“不能打开子图库...”的问题,急!答:系统库路径不对,将mapfont.gis、mconfig.gis、netcfg.gis三个文件拷贝到执行目录即可。

这几个语言件放在MAPGIS\PROGRAM\目录中。

或是运行MapEnv.exe可设置,该运行文件也同样在MAPGIS\PROGRAM\目录中。

4、问:如果只知道工作区ai 能不能依次得到工作区中的图元号,该如何得到啊!答:long i,pntn;short len;pnt_info inf;d_dot xy;char *dat;{_GetPntNum(ai,&i,&pntn);//取点数for(i=1;i《pntn;i++){if(_getpnt(ai,i,&xy,&dat,&len,&inf)<=0)//取点,返回值1/0/-1 成功/失败/删除continue;…对该图元进行操作}}i就是图元号5、问:MapGis6.5的SDK函数NearPnt,到底应该如何用啊!跟以前的不同了,给个例子吧!答:long WINAPI _NearPnt(short ai,D_DOT *xy,unsigned char *layerOnOffPad,short padLen,double *dis);ai 点工作区号*xy 点位置号---比如鼠标的位置layeronoffpad 图层开关标志,如不为空就只在打开状态的图层中查找padLen 是layerOnOffPad的长度出口dis 返回距离返回值成功返回点号,失败为06、问:如何屏蔽掉CPrjEditView中的右键功能!!!答:editview有一个PopMenuControl属性,同理CPrjEditView也可以直接使用这个属性。

基于MapObjects组件的GIS二次开发

基于MapObjects组件的GIS二次开发

基于MapObjects组件的GIS二次开发
刘爽
【期刊名称】《大连民族学院学报》
【年(卷),期】2007(9)5
【摘要】在讨论组件式GIS二次开发特点的基础上,分析了MapObjects组(以下简称MO)件的特点和功能,介绍了在Visual C++(以下简称VC)环境下基于MapObjects组件开发地理信息系统的过程,并以宁波市电子地图为例,探讨了在VC中加载MO组件的一般流程、自定义符号(铁路、道路等)加载、图层颜色文字渲染等功能的具体实现方法.实践表明,该控件具有较强的GIS分析及应用功能,是开发地理信息系统较好的工具.
【总页数】5页(P87-91)
【作者】刘爽
【作者单位】大连民族学院,计算机科学与工程学院,辽宁,大连,116605
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于MapObjects的组件式GIS的开发与应用 [J], 时素平;方源敏;王建华
2.基于MapObjects的组件式GIS技术应用研究 [J], 郭维;刘小勇
3.基于MapObjects组件的开放式GIS系统设计与实现 [J], 樊丽华;洪志全
4.基于MapObjects的组件GIS开发与应用 [J], 刘东民;逯波;张建超;倪明
5.基于Mapobjects组件式GIS导航系统开发 [J], 王倩;陈怀民
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南科技2008.1上
信息技术
ITWORLD
地理信息系统(Geographical
InformationSys-tem,GIS)是一种决策支持系统,它具有信息系统的各
种特点。

地理信息系统与其它信息系统的主要区别在于其存储和处理的信息是经过地理编码的,地理位置及与该位置有关的地物属性信息是信息检索的重要部分。

在地理信息系统中,现实世界被表达成一系列的地理要素和地理现象,这些地理特征至少由空间位置参考信息和非位置信息两个部分组成。

全球最大的GIS厂商ESRI(美国环境系统研究所)
的桌面地图信息系统ArcGis是功能强大的工具型
GIS,被广泛应用于各个领域,并且它还提供了二次开发
语言MapObject,用于建立专题GIS时进行二次开发和功能扩充。

本文介绍了如何利用Delphi开发语言以及地理信息系统二次开发组件MapObject进行地理信息系统的二次开发。

一、系统软件开发技术
本系统利用组件式技术作为核心的软件开发技术,采用了组件式技术中的ActiveX技术,AetiveX技术是建立在COM技术基础上,结合OLE技术发展而来的,它是一套与其创建语言无关,支持软件组件在网络环境中进行互操作的面向对象的软件体系结构。

在开发系统的过程中,将组件式GIS软件MapObjects2.1作为一个
ActiveX控件集成到可视化开发语言Delphi中,应用组
件MapObjects2.1的方法、属性、事件来实现与应用程序的交互,而编程的大部分甚至全部工作都用Delphi来完
由若干相关的对象交互合作来完成。

对于这种系统内部的协作关系和过程行为,可以通过绘制顺序图和合作图来帮助观察和理解。

此外,描述工作流和并发处理行为还可以用活动图,表达从一个活动到另一个活动的控制流。

顺序图和合作图适合描述多个对象的协同行为,状态图适合描述一个对象穿越多个用例的行为。

状态图与活动图的区别是,状态图描述的是对象类响应事件的外部行为,活动图描述的是响应内部处理的对象类的行为。

下面以顺序图为例,来说明UML2.0在数字图书馆统一登录服务系统中的应用。

统一登录模式是以数字图书馆用户身份统一认证服务为核心的服务使用模式。

用户登录系统后,即可利用统一登录服务系统支持的所有数字图书馆服务。

用户使用在统一登录服务系统注册的账号登录统一认证服务系统,认证服务进行对用户信息的验证,如果账号有效,则数字图书馆系统接受访问,并向用户返回访问结果。

基于UML2.0建立用户身份统一认证的顺序图如图2所示:
四、统一登录服务系统的实现、测试和系统配置经过系统分析与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。

然后需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。

测试的结果将确认所完成的系
统可以真正使用。

最后系统配置的任务是在真实的使用运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

五、结束语
数字图书馆的研究和发展方兴未艾,需要应用和集成最新的信息技术,以达到对数字信息资源的最有效利用和共享。

本文通过对数字图书馆统一登录服务系统的分析,探讨了UML2.0的具体应用。

参考文献:
[1]郑巧英,杨宗英.图书馆自动化新论:信息管理自动化[M].上海:上海交通大学出版社,2000.
[2]
张龙详.UML与系统分析设计[M].北京:人民邮电出版社,
2004.
[3]郑巧英.数字图书馆的一种模式——
—网络图书馆[J].现代图书情报技术,2005.
图2用户身份统一认证顺序图
华北水利水电学院
聂相田陈钰华郭长起
基于Delphi和MapObjects的地理信息系统二次开发
30
河南科技2008.1上
成,从而在一个可视化的界面来实现系统的大部分功能。

二、MapObject简介
MapObjects是一套制图软件集,它使程序员能够把
地图加到应用程序中去。

通过MapObjects可灵活地建立适合用户的地图接口。

在小内存空间中,能用多种工业标准程序环境之一去建立应用程序,你能够联合使用
MapObjects与其它软件去实现地图与用户信息的联系。

通过MapObjects可完成以下甚至更多功能:
1.显示一张多图层地图(道路,河流,边界)。

2.放大,缩小,漫游。

3.生成图形元素,如点,线,圆,多边形。

4.说明注记。

5.识别地图上被选中的元素。

6.通过线,方框,区域,多边形,圆来拾取物体。

7.拾取距某参照物特定范围内的物体。

8.通过SQL描述来选择物体。

9.对选取物体进行基本统计。

10.对所选地图元素的属性进行更新,查询。

11.绘制专题图。

12.标注地图元素。

13.从航片或卫星图片上截取图像。

14.动态显示实时或系列时间组数据。

15.在图上标注地址或定位。

MapObjects可以执行许多基础制图功能,但不能执
行某些高级功能,如高质量地图输出、地图坐标系投影、表面模型或网络分析等高级空间分析功能以及拓扑编辑。

可利用ESRI公司的其他产品(如Arc/Info、Ar-
cView)来实现这些高级功能。

三、系统功能简介
本地理信息系统实现了地理信息图形放大、缩小、全屏、漫游、坐标显示、图层的叠加显示、图层特征与图形的属性显示、图层管理等功能,实现地理信息系统的查询、浏览、分析以及数据库管理功能,见下面图1的界面:
本系统的数据类型有两类,一是dbf数据库,二是
Shape文件数据,用与存放空间位置数据。

四、程序实现显示图层属性:
StringGrid1.Cells[0,0]:=
‘字段’;StringGrid1.Cells[1,0]:=
‘字段值’;StringGrid1.Col-Widths[1]:=StringGrid1.defaultColWidthS 3;
与数据库连接:
dc:=IMoDataConnection(CreateOleObject('MapOb-jects2.DataConnection'));dc.DataBase:=sampl.ReturnData-Path('world');
ifnotdc.Connectthen
exit;
显示点层图:
layer1:=IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));
layer1.GeoDataset:=dc.FindGeoDataSet('cities');I-MoSymbol(layer1.Symbol).Color:=moRed;IMoSymbol(lay-er1.Records.Fields.Item('name')).Color:=moBlack;
Map1.Layers.Add(Layer1);ft:=TFont.Create;
ft.name:='TimesNewRoman';ft.size:=35b
oleFt:=FontToOleFont(ft);
定位地图:
ifnotrecs.eofthenbegin
tdesc:=IMoTableDesc(CreateOleObject
('MapObjects2.TableDesc'));
tdesc:=recs.TableDesc;flds:=recs.Fields;
fori:=0totdesc.FieldCount-1dobegin
fld:=flds.Item(tdesc.FieldName[i]);StringGrid1.Cells[0,i+1]:=fld.name;
StringGrid1.Cells[1,i+1]:=fld.valueasstring;end;end;
r:=Map1.Extentb
五、结语
本文采用MapObjects组件与Delphi相结合的集成二次开发模式,利用这种开发模式,开发者能够方便、快捷地实现电子地图的主要功能,而且开发出的应用型地理信息系统系统界面简洁,操作方便,功能齐全,运行稳定,便于维护,大大方便了普通用户对地理信息的需求。

本系统作为应用型的城市地理信息系统,具有实际的应
用价值。

参考文献:
[1]毛锋等.ArcGIS8开发与实践[M].北京:科学出版社.2003.[2]
刘光,刘小东.地理信息系统二次开发实例教程[M].北京:科学出版社.2003.
图1
ITWORLD
信息技术
31。

相关文档
最新文档