arcengine java_浅析 ArcEngine Java - EngineViewer 例子

例子源文件:\DeveloperKit\samples\Applications\EngineViewer\Java\EngineViewer.jar

运行环境的搭建:

解压后,在Eclipse或Jbuilder里新建工程并添加类源码,然后添加arcgis java 类库引用,类库文件在\java 目录下,可以根据需要引用所需的,我是图方便把所有文件都引用到工程里了。最后在系统环境变量Path里追加\Bin,否则AO将不能完成初始化的工作,实质是调用Com组件。 完成以上,工程环境大致就搭建完成了。

本人的环境是:Windows server 2003  JDK1.5  ArcEngine9.0  eclipse3.2

这个例子功能比较简单,实现打开MxD文件,放大缩小漫游地图,点选查看属性等功能。

界面布局与ArcMap类似,左边显示TOC,中间显示主地图。

这里需要重点说的是,这个TOC和Map不是COM或者NET里的TOCControl和MapControl控件。他们都是通过Java基础的可视化组件编码实现的,实现的功能并没有COM或NET上的强大和高效,在例子的源码包里,你可以找到实现的细节。说白了,就是自己写了一个Toc和Map控件,虽然编码工作量增大了,但从另一个侧面来看,程序的灵活性加强了,你可以自己打造出个性化的地图控件来,当然这是要求有深厚的Java编程作为基础的。TOC的分组图层,符号显示等都需要自己实现,例子里没有实现,Map显示的实质是一张二进制流的图片文件(有了这个图片流,自己也可以实现一个简单的Web地图服务)。

代码摘要:

启动对象:EngineViewer.java

地图显示:MapInfo.java,MapComponent.java

TOC显示:TocControl.java TocTreeRenderer.java

此例子使用了arcengine底层java对象接口,界面表现使用将java awt来实现,我大致的列出几个主要的:

MapServer:负责数据加载和显示

IMapServerInfo:获得地图服务的相关信息

IMapImage:负责生成地图显示的图片流

ILayerDescriptions 和 ILayerDescription:获得图层的描述信息,图层名,类型等

IMap:这个接口不用多说,地图资源接口,可以进一步获得地图的图层对象等等。MapServer.getMap(arg0) 由此方法获得引用。

总结:

(1)arcengine没有可视化的java组件,编程面向较底层的arcengine java对象

(2)开发工作量较com或net的大,但程序灵活性高

(3)要求开发人员有较深的java windows编程基础

(4)arcengine java功能实质调用的是com组件实现,非100%java,至少在arcengine windows安装版本上是这样。

大约就这些,待续。欢迎留言讨论。有说得不对的地方请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值