如何进行ArcIMS的二次开发

转载 2006年05月23日 08:28:00

如何进行ArcIMS的二次开发

                                                                               ---------转载:http://www.hmgis.cn/ 浩淼的天空

    很多人都询问过我怎么做基于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是最简单的,也是最麻烦的。

【二次开发】如何使用C#进行CATIA二次开发

由于项目需要,最近搜集整理了一些关于CATIA二次开发的资料,貌似国内对于CATIA二次开发需求不大,相关资料比较有限,因此刚开始遇到了不少问题,通过分析网上的一些示例,以及结合CATIA的宏录制功能...
  • KuChienSky
  • KuChienSky
  • 2016年11月12日 20:56
  • 3620

UEditor 如何进行二次开发

背景UEditor虽然功能众多,但对于广大开发者来说,还是有很多定制化的功能需求,如果都靠UEditor团队自己开发那是不现实的,这时就需要广大开发者在UEditor的基础上自己开发定制功能。但在之前...
  • zhangdaiscott
  • zhangdaiscott
  • 2015年09月23日 10:46
  • 4554

CrashMonkey4Android-如何进行二次开发

如何进行二次开发下载源码我们可以开发的源码分两部分,这个我在cts专辑中也讲过,cts分两部分,一个是基础库,一个是运行库,所以我们的源码也分为两部分运行库同步CrashMonkey4Android源...
  • qhshiniba
  • qhshiniba
  • 2015年06月05日 11:33
  • 2311

利用C#进行AutoCAD的二次开发

  • 2014年06月22日 13:56
  • 63KB
  • 下载

基于产品进行二次开发.pdf

  • 2016年11月01日 15:01
  • 10.14MB
  • 下载

VB与MapInfo结合进行地理信息系统(GIS)二次开发

  • 2010年01月06日 10:09
  • 265KB
  • 下载

WebBuilder 3.7 Web应用开发平台(带OA,CRM,ERP,HRM可进行二次开发)

  • 2010年10月29日 12:31
  • 9.41MB
  • 下载

如何基于报表工具FineReport进行二次开发

  • 2016年11月11日 17:35
  • 913KB
  • 下载

dxf使用手册可以方便的进行二次开发autocad的官方使用的格式转换

  • 2010年11月06日 19:36
  • 844KB
  • 下载

skyline5进行B/S二次开发

  • 2012年12月08日 22:04
  • 37KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何进行ArcIMS的二次开发
举报原因:
原因补充:

(最多只允许输入30个字)