很多人都询问过我怎么做基于ArcIMS的二次开发,因为他们在安装了ArcIMS后就已经束手无策了。这个情况我也曾经碰到过,在好不容易安装了ArcIMS后,我完全不知道下一步该干些什么,如何进行二次开发。当然,这个阶段已经过去了...
要进行基于IMS的二次开发,首先必须理解IMS的原理。ArcIMS是一个基于B/S结构的服务,它与我们常常谈论的ArcMap等程序完全不同。在安装完IMS后,我们必须先使用Author设计一个要发布的地图,在这个工具里面可以引入数据,进行着色,标注,显示提示文本等信息,它建构的地图将会在将来的地图发布中出现。当我们完成一幅地图的设计后,将把它保存为一个AXL文件,这是一个ArcXML文件,它里面保存在许多地图的原始信息,比如数据的来源,范围,如何着色等等。
生成了AXL文件以后,我们就需要建立数据服务,即想办法让这个数据可以在网络上发布。建立服务的工作是在管理器中完成的,服务有多种形式,如矢量、栅格和ArcMap服务等。服务是运行在内存中的一段进程,我们可以将它理解为一个运行在后台而没有界面管理的程序——这种程序很多,MYSQL、ORACLE都是服务,我们不打开他们的管理界面程序照样可以使用这些服务。对这些服务,我们需要做的是监听它们的默认端口,看看它接收和返回什么信息。
ArcMap服务是一个使用MXD文件的地图服务,这是因为Author的设计能力有限,如果需要进行复杂的着色,可以使用ArcMap来设计,然后我们直接使用MXD文件来完成这项工作。这个服务不是默认安装的。
建立了一个数据服务后,在服务器上要干的事情都完成了一大半。接下来的工作就是产生一个WEB站点,用于监听端口以实现电子地图的效果。这个工作我们即可以自己从头编写代码(这就是二次开发),也可以使用IMS自己带的设计器来设计一个站点。设计器可以使用HTML/JAVASCRIPT和JAVA两种方法来建构一个站点,但无论如何,这个站点都是用于监听相应的服务的。
以HTML/JAVASCRIPT站点为例,它是如何工作的呢。我们知道,HTML中无论如何也出现不了什么“动态”的效果,只有使用JAVASCRIPT配合,才能有点DHTML的效果出现,勉强出现一点“动”。当我们在一个WEB站点上看地图的时候,比如放大地图,绝对不是说有一个特殊的控件使得地图在缩放,而是前后出现了两张不同的图片,由于间隔时间短,使得我们有了这个“动态”的感觉。
当我们使用放大工具在图片上拖曳的时候,页面会调用一个JAVASCRIPT函数,产生一个ArcXML请求,这个请求包含了相关的信息,如希望出现的新图片的范围,数据等等。这个请求被一个表单发送到相应的服务,服务接收到请求后,会进行处理,它除了产生一张图片,还会沿反向路径传递出ArcXML响应,而我们的页面程序,在接收到响应后,需要对这个响应进行解析,如果是查看地图,就是解析出新图片的地址,然后将它传给一个图片对象,这样,图片就改变了,我们看起来地图就被放大了。
上面简要介绍的这些,就是XML的基本原理。实际上,XML的请求有多种,而解析方法也有很多形式,特别是所谓的“连接器”也有不同的类型,使得进行二次开发拥有多种方式,但总体而言,使用HTML/JAVASCRIPT是最简单的,也是最麻烦的。
分享到:
相关推荐
arcims二次开发是基于arcims应用服务器的二次开发方法,旨在帮助开发者更好地使用arcims平台进行gis应用开发。本文将对arcims二次开发的六种方法进行详细的介绍和分析。 1. ArcIMS 的 Viewer 定制 _viewer 定制是...
### ArcGIS 10二次开发核心知识点概览 #### ArcGIS 10简介与体系架构 ArcGIS 10作为ESRI公司推出的一款全面、可伸缩的GIS平台,其核心在于整合了GIS与数据库、软件工程、人工智能、网络技术等多领域技术,形成了...
例如,文章提到了使用jython进行快速开发或原型化的方法,这表明除了传统的开发平台如ASP、Java、.NET和ColdFusion,Python编程语言(尤其是jython,即Java平台上运行的Python解释器)也成为了ArcIMS二次开发的一种...
4. 开发环境与语言:ArcIMS提供了丰富的开发接口,如JavaScript API、ActiveX控件、Java Applet等,开发者可以根据需求选择合适的编程语言进行二次开发。同时,它也支持常见的Web开发框架,如ASP、JSP、PHP等。 5. ...
ArcIMS - Using Java Connector.PDF Java与ArcIMS二次开发
7. **二次开发接口**:提供了丰富的API接口,便于开发者进行二次开发,增加更多的功能模块。 #### 三、安装与配置 1. **系统要求**:在安装前,需确保计算机满足最低系统要求,包括操作系统类型、内存大小、磁盘...
GIS(Geographic Information System,地理信息系统)二次开发是利用现有的GIS平台或组件,根据特定需求进行定制化开发的过程。MapObjects是ESRI公司推出的一款强大的GIS桌面开发工具,它允许开发者在常见的Windows...
值得注意的是,在ArcIMS 9.2版本中引入了**ADF**(Application Development Framework)组件,为二次开发提供了更高级别的支持,增强了系统的可扩展性。 #### 二、基于切片技术实现WebGIS **地图切片技术**是一种将...
二次开发是利用ArcGIS提供的API(应用程序接口)或SDK(软件开发工具包)进行定制化开发,以满足特定用户或行业的需求。本资源包含了一套完整的ArcGIS 9.2二次开发源代码,旨在帮助开发者从基础到高级,逐步掌握如何...
理解这些对象及其关系是进行二次开发的基础。 4. **地图操作**:教程可能涵盖如何加载地图数据(如Shapefile、DBF等),绘制地图,以及如何使用Zoom、Pan等工具来改变视图。 5. **图层管理**:学习如何创建、添加...
总结来说,GIS二次开发中的ArcEngine基于COM模型,提供了强大的GIS功能,可以在多种编程环境中进行开发,且不依赖ArcGIS Desktop。通过理解和利用ArcEngine的组件,开发者可以构建出高效、灵活的GIS应用,满足特定...
GIS二次开发,即地理信息系统(Geographic Information System)的二次开发,指的是在现有的GIS平台基础上,利用其提供的API(Application Programming Interface)接口进行定制化的功能开发,以满足特定应用需求的...
在本文档中,我们将深入探讨ArcGIS系统和其核心组件之一——ArcEngine的C#二次开发。ArcGIS是由Esri公司开发的一套全面的地理信息系统(GIS)平台,它集成了多种计算机技术,包括GIS、数据库、软件工程等,提供了一...
7. **二次开发**:提供多种开发方式,允许用户根据需求扩展和定制功能。 8. **Web服务兼容**:遵循标准的Web服务协议,如OGCWMS,与多种开放客户端兼容。 9. **负载均衡**:通过负载均衡技术优化服务器资源分配,...
在AutoCAD平台上开发VBA程序访问WebGIS(以ArcIMS为例)地图服务接口,将返回的地图图片以光栅影像的方式插入到CAD图形里,实现CAD数据和远程GIS数据、影像的叠加使用,在日常工作的使用中取得很好的效果.
它具备处理栅格和矢量数据的能力,以及提供地图编辑、修改和发布的管理工具,便于二次开发。 在构建基于ArcIMS的城市地理信息查询系统时,首先要选择合适的系统平台。ArcIMS因其稳定、易用、功能强大且支持快速响应...
二次开发则是基于GIS平台提供商提供的开发工具和API进行的应用程序开发。这种方式降低了开发门槛,使得更多开发者能够参与到GIS应用的构建中。目前,常见的GIS组件开发工具包括Esri的Arc Engine、MapObjects(MO)、...
而二次开发和组件式开发则利用专业软件,如ArcGIS提供的开发工具,如VBA和ArcObject,以降低开发成本、缩短周期并提高代码的可重用性。 3. **ArcObject**:ArcObject是ArcGIS的二次开发组件集,提供对ArcGIS功能的...
#### 二、Viewers的选择 1. **HTMLViewer**: - **组成**:由一组HTML和JavaScript程序构成。 - **特点**:较轻量级,但不是最轻的Viewer。 - **优点**:具有高度的可扩展性,可通过DHTML、JavaScript、XML等...