﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-zkjbeyond-随笔分类-gis地图服务</title><link>http://www.blogjava.net/zkjbeyond/category/7041.html</link><description>原创专栏 开源学习</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 09:30:02 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 09:30:02 GMT</pubDate><ttl>60</ttl><item><title>说说arcgisserver9.2</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 17 Nov 2006 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/81869.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/81869.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/81869.html</trackback:ping><description><![CDATA[
		<p>没时间参加大会，下载了文档看了看。</p>
		<p>很是失望！随便说几条</p>
		<p>
				<strong>一、arcgis server的进一步推广</strong>
		</p>
		<p>自从9.0推出arcgis server我就感觉不妙。那时rob的 <a href="http://www.china-pub.com/computers/common/info.asp?id=26147">without ejb</a> 在国内正是火热，关于类似EJB的远程调用组件模型都值得我们思考。但ESRI却把宝压在这上面。</p>
		<p>不但进一步完善COM恶心的组件模型，还通过java-com桥，.net对com的向下兼容，整合出了arcgis server。</p>
		<p>增加的开发难度一会在说。”循证框架“的选择权利也不给我们了吗？sde/soc/som/webserver 我都装在一台机器上，还是远程访问，够郁闷。系统/平台的分层不一定都要物理分离吧！ </p>
		<p>
				<strong>二、关于开发平台和操作系统平台</strong>
		</p>
		<p>     .net/j2ee 的比较会带来太多的争论。具我了解esri对于java/.net开发是两个项目组。所以公司的侧重，开发的难易程度很是明显。当然底层组件的开发更重要。</p>
		<p>      据悉esri gis软件最早是在unix系统下运行。不知道什么时候靠拢到window了。估计MS资组esri了<img src="http://www.gissky.net/blog/images/emot/face2.gif" /> 。就arcgis server 最先发布的是window平台下的。然后才是linux/solaris。。。别的不敢说，arcims9.1在 window/solaris/ibm aix的表现相差很多。当然是window支持的最好。 </p>
		<p>    虽然我喜欢.net的简单、开发效率。但我更相信大的企业应用是unix的天下。也就是j2ee是首选。arcgis server /arcims虽然官方支持多了平台，但是让我选择的话，为了让自己能睡着觉，我会先给客户选择window 2003。真是悲哀，客户花100万买的ibm p570/aix 居然让在那躺的睡觉。</p>
		<p>     esri的做法让我很是不爽。</p>
		<p>
				<strong>三、esri烦乱的产品线</strong>
		</p>
		<p>    作为gis界”老大“，让人琢磨不透的复杂的产品线，让国内gis行业不能很好的发展，把门槛提的这么老高，到底是为了多卖点钱，随意分割产品呢？还是要故作深沉呢？ 首推arc engine,卖老贵，还没什么东西还有gis portal/adf/webservice支持....什么GS玩意？把gis这部分做好就让人满意了，还老跟着it潮流，可怜我们这帮gis程序员。</p>
		<p>可能这也不能怪美国老，可能他们用的不错，但esri中国也给我们过滤一下啊。</p>
		<p>
				<strong>四、技术选择</strong>
		</p>
		<p> esri是个没有创新的公司，只能跟着规范走的弱弱。</p>
		<p>1、应用iframe/frame无刷新的提交数据是什么时候提出了，可能这方面arcims 的htmlview算早了吧！看看现在的AJAX，官方文档只在9.2里出现过。但ajax还没出现，无刷新的技术当在javaeye讨论的时候，我这个新手就早在htmlview见识过。我想表达的是 为什么在我接触的arcims3.0/4.0/9.0 htmlview模板 丝毫没有变化过。这么好的思想n年都没有进步，还有模板例子中那些恶心，难懂的javascript代码？</p>
		<p> 2、顺着ajax说下去。jsf/asp.net 这类 mvc框架天生不适合ajax的应用，而webgis天生就是ajax应用。 为什么选择这么恶心的官方标准。随便搜索一下ms ajax</p>
		<p>
				<a href="http://searchwebservices.techtarget.com.cn/atlas/">http://searchwebservices.techtarget.com.cn/atlas/</a> 人家ms用ajax有atlas，</p>
		<p>
				<a href="http://www.cnw.com.cn/news/news/htm2006/20060619_10C8P.htm">http://www.cnw.com.cn/news/news/htm2006/20060619_10C8P.htm</a>  sun也不在jsf上搞ajax。 顺便在这推荐一下 dojo <img src="http://www.gissky.net/blog/images/emot/face2.gif" />。</p>
		<p>esri不能这样落伍了，为什么jsf还没有正式发布的时候，你的arcgis server ADF for java 就选择的jsf。为什么那时不关注一下ms的atlas。 而还要自己写那些恶心的javascript代码， 用服务器端语言封装javascript。 我们是跟着你走，你跟这 sun/ms 走。 </p>
		<p>难道不知道 sun 提出规范/标准基本都是<img src="http://www.gissky.net/blog/images/emot/face50.gif" />吗？强烈建议大家看 without ejb。</p>
		<p>不知道跟ms合作的公司一般都会倒闭吗？</p>
		<p>
				<strong>五、谁能给我解释AO如何在浏览器调用？</strong>
		</p>
		<p>题目有些问题。</p>
		<p>arcgis server 最想解决的问题是 让AO对象可以用浏览器调用。而不是象在arcims中，都是通过人可以识别的xml来描述。而是通过远程对象访问。</p>
		<p> 到底是二进制远程对象访问好呢？还是象webservice 的xml协议好？我没能力说，但就开发难度，”性能“来说，arcims比arcgis server强很多。</p>
		<p>所以arcims能解决的问题，没必要arcgis server。小道消息，arcims还有两年的生命力。</p>
		<p> 关于arcgis server能实现的功能我们很想与人讨论。谁有兴趣可留言。</p>
		<p> 我们可以从这个角度考虑。 arcmap是AO的实现。试问你arcmap的功能用了多少？没多少吧！因为很多人认为mapinfo比arcmap好用多了。　AO庞大的类库你熟悉吗？谁敢说熟悉，赶快通知我，我去拜师！</p>
		<p>既然在桌面环境下，我们也没用AO的多少功能。更不用说我们二次开发商的客户了。所以我说：把AO搬到服务器端意义不大。</p>
		<p>当然不是没意义，就象without EJB中说的。我们并不是在j2ee中不用ejb，但至少90%的j2ee项目不需要EJB，但我们却用了。</p>
		<p>我现在就怕，arcgis server的宣传把国内那些所谓的“方案撰写者”迷失了。</p>
		<p>前天和一朋友聊天，他说arcgis server可以实现严谨的浏览器采集（可能只拓扑关系，图形校验等）。但浏览器上的绘图限制已经让AO数据编辑没什么意义了。还是用arcsde for　java api.(不知道.net用户怎么办，用c的api?)</p>
		<p>
				<strong>六、后记</strong>
		</p>
		<p>一气呵成，大家看着开心一下就好。</p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/81869.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-11-17 23:06 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/11/17/81869.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax blog 搬家</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/08/21/64760.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Mon, 21 Aug 2006 04:52:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/08/21/64760.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/64760.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/08/21/64760.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/64760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/64760.html</trackback:ping><description><![CDATA[BlogJava做为java的专业blog，偶在这老写javascript  ajax的东西，有些不合适。<br /><br />朋友给了个blog,专门放ajax的文章吧！以后这专门写关于java的东西吧。<br /><a href="http://zkj.wisekernel.net">http://zkj.wisekernel.net</a><br /><br />谢谢支持。<img src ="http://www.blogjava.net/zkjbeyond/aggbug/64760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-08-21 12:52 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/08/21/64760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写给gis程序员</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Thu, 08 Jun 2006 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/51399.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/51399.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/51399.html</trackback:ping><description><![CDATA[
		<div>
				<b>一 写在前面的话</b>
		</div>
		<div>  首先我就是gis程序员，也在迷惘，希望大家指点。</div>
		<div>  <br /></div>
		<div>  作为某大学地理系本科专业毕业学生,我庆幸没继续"生造"考研.在gis,it行业编程混几年,唯一感受是程序员不是人干的活,gis程序员不是正常人干的活.<img src="http://mimg.163.com/popo/smile43.gif" />.难啊!</div>
		<div>  可能以下言语中太多个人色彩,很多内容也是猜想,查证对我没什么意义.但目的是让搞gis的技术人员能走好.</div>
		<div>  想拍就拍吧<img src="http://mimg.163.com/popo/smile23.gif" /></div>
		<div> </div>
		<div>
				<b>二 国内gis行业状况</b>
		</div>
		<div>  几近被高校,研究部门,政府垄断的行业.先提个醒,如果你已经在这个行业混了,跳潮前千万慎重,很容易踩雷的,炸你个几年缓不过气来.<img src="http://mimg.163.com/popo/smile39.gif" /></div>
		<div> 
中国gis行业的发展还是要感谢这些老前辈的,尤其是几个国产gis软件,争光不少(可惜偶一个也没有用过).不过,感觉它们的优势也在逐渐减少,可能是
产品发展跟不上用户需求,可能是技术创新完全来自"抄袭"过外软件,最大问题可能是它们核心技术的close,核心技术人员的太过稳定限制的发展.当然在
如此透明,高速发展的it行业里,凭些老教授和在它们体系下培养的理论博士生,发展也是很艰难的.</div>
		<div>  举几个例子,国产linix,还有什么wps....,可能中国整个it也都有这种问题.</div>
		<div>  可能你就是从这些机构"生造"出来的一员,想想你硕士,博士干了些什么.<br /><br /></div>
		<div>  我在一级***上发表了n篇论文;</div>
		<div>  我对***软件了如指掌;</div>
		<div>  我开发了某国产gis软件的**模块;<br /><br /></div>
		<div>
				<img src="http://mimg.163.com/popo/smile17.gif" />,你仔细想想吧,可能也就是你帮着导师发了篇文章;你也只会使用使某某软件,如果你能掌握核心技术,那你不可能离开培养你的机构的,咋们的软件可以自主产权的,别出去泄露了;你可能参与的某gis软件的开发,但你每界的师兄弟都和你一样,帮着导师积累了下产品.</div>
		<div>惨点的GGMM也就每天搞些数字化,整理整理数据混个文凭.我不知道你们毕业了都去干吗?</div>
		<div> </div>
		<div>
				<b>三 你能去哪就业</b>
		</div>
		<div>  没有调查,我也发发言.</div>
		<div>  <strong>政府事业单位</strong>:不到博士你休想,没有关系休想,没有嘴皮子休想,不懂特有的仕途国情休想,休想......,</div>
		<div>  <strong>留校,继续深造:</strong>如果你你是这种人,你不会看到这了.两字: 难啊!</div>
		<div>  <b>出国:</b>看你和导师关系,以及你导师的高度了.几率很小啊.</div>
		<div>  <b>转行:</b>我把这里被的行业特指与IT相关的.恭喜你,有先见之明啊!</div>
		<div>  <b>去搞gis的公司:</b><img src="http://mimg.163.com/popo/57.gif" />,欢迎加入.希望我们未来美好.</div>
		<div> </div>
		<div>
				<b>四 你懂编程吗</b>
		</div>
		<div> 
如果你和我一样来到搞GIS的公司.那你只能从coder做起.在这我不是贬低coder,是怕你贬低.可能你会说,我可以做售前,可以做销售,可以做数
据.从gis公司结构上来看,这些职位你可能不符合,你受的教育,你的知识结构限制你去做销售,而售前你贫乏的行业知识决定你需要重新认识一门行业,而这
些行业如水利,森林,土地,房产....都是政府部门,及其复杂.做数据的给不了你几个钱.</div>
		<div> 
如果你是博士毕业,你也愿意来公司发展.那可能会给你项目经理之类的职位,但你很快就会发现,现实会让你失望的.你的位置会很尴尬,你对IT的了解,决定
你底下的人会很不服你,领导会觉得你技术不行.试问你懂j2ee,.net吗?你能写出象样的设计文档吗?不会写代码的上司你好受吗?你在公司发展空间大
吗?.....可能这类人不多!<br />
  (请允许我没做全面调查而做以下发言，我只是让大家更好发展)<br /></div>
		<div>  看到这的估计就是那些以coder身份来到公司的.回到标题,你懂编程吗?以上是我常见的几类gis程序员。<br /><br />
  擅长使用各种数据处理软件，略懂vb或vc.<br />
  用vb/vc用mo,mapx等控件开发个小软件。<br />
  熟悉tab,mif,shape...数据结构，能做数据转换。<br />
  能用asp用arcims,mapxtreme模板开发个小webGis.<br /> 
能用asp.net基于arcims,mapxtreme,super IS开发webgis.<br />
  <br />
 
可能是常见的几种gis程序员，他们的代码我也看过一些。都有一个特点。如：他们学习vb是从mo或mapx提供的例子开始的，真正ｖｂ，ｖｃ他们根本不
是很熟悉。如果好点，能用asp开发webgis，但也是在vb基础上开始接触web的。可能自己努力点，会接触.net,J2ee，但无论那样。<b>都是为了gis而学习一门语言的。<br />
  引出我的主题：<br />
  我们gis程序员的编程能力，与计算机科班出生的人，各方面都有差距。<br />
  因为你的编程能力差，可能在某个职位竞争时，你会输给不懂gis的程序员。<br /></b></div>
		<div>  如果公司给我分配两个程序员，我会要编程能力好的，而懂不懂gis无所谓。<br />
  我们公司技术总监也是这个态度。<br />
  一个gis公司的部门经理也亲口对我说了这个事实，他们部门很少懂gis的人。<br />
  让个懂编程的人熟悉gis软件很容易。但让懂gis的人提高编程水平很难。<br /><br /></div>
		<div>
				<b>五 我们该怎么办</b>
				<br />
  现在我也感觉到GIS程序员很尴尬。国内gis行业的不景气，新的地图形式（google maps mapbar，mapabc...）与传统gis的竞争，国内教育机构培养的GIS专业人员与IT行业的脱节......<br />
  还好，现在行业对既懂GIS，编程能力水平不错的专业人员需求很大，而且都是一定的职位。<br />
 <br />
  所以我们最既紧要的事是提高自己计算机能力，主动学习新的技术，而不是被动的跟的GIS软件的支持学习新技术。<br /></div>
		<div> </div>
		<div>
				<b>六 技术方向<br /></b>  1 gis数据，gis分析是大数据量，大运算的操作。web,webservice的发展弱化了桌面GIS的应用。对于跨平台的java语言，对GIS来说，无疑是现阶段最佳的编程语言。<br />
  2 ajax技术。现在真火的技术。google在这无疑走在前面，google
maps更对gis行业影响巨大。传统webgis的开发更需要ajax对用户交互来次创新。
arcims模板(javascript)，arcgis server(JSF)都做了些尝试。无疑ajax是最合适的。<br />
  3 python.如果你有vb,vc基础。python脚本语言你该关注了。arcgis好多模块改用python实现的。<b><br /><br /><br />
以上都是我个人的一些感想，由于水平有限，希望批评，共同提高。<br /></b><br /><b><br /></b></div>
		<div> </div>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/51399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-06-08 16:52 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/06/08/51399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>arcims结构分析</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 12 May 2006 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/45872.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/45872.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/45872.html</trackback:ping><description><![CDATA[
		<p>
				<strong>1、 arcims的体系结构</strong> <br /> <img style="width: 495px; height: 463px;" alt="arcimstijiagou.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/arcimstijiagou.jpg" border="0" height="540" width="691" /><br />  
当你安装完arcims软件以后，已经包括了上图中的ArcIMS应用服务器，ArcIMS空间服务器两个中间件。当然还有Monitor,
Tasker；工具软件admin,author；各种连接器servlet,javaconnector的代码等。<br />   大家可以看到，arcXML在应用服务器和空间服务器之间传递。所以空间服务器是这些中间件中压力最大的。<br />   表现层：html，applet,ocx控件。也可以是c/s的任何桌面程序。<br />   业务逻辑层：arcims的应用服务器和空间服务器是arcims软件自带的。<br />Arcims
的servlet连接器必须与web服务器（iis,tomcat…）绑定。而javaconnector支持http,tcp-ip等多种协议。可选择
的与web服务器绑定，但ims的admin软件必须有web服务器才能运行，另外arcims中的图片也是个url，也需要web服务器。所以web服
务器是各种连接器的容器。<br />   数据存储层：arcims支持的文件，或arcsde空间数据引擎等。</p>
		<p>Arcims应用服务器：管理虚拟服务器，地图服务（admin配置的），连接器请求线程管理等。连接器调用它，它在调用空间服务器。一个应用服务器可以连接多个空间服务器。<br />Arcims
空间服务器：把矢量书生成图片，或做空间分析，查询等。Arcims的核心。还好我们不要关注具体算法等。开源gis,mapxtreme,super
map等也就这部分没arcims强。但空间服务器与别的组件的协议是arcxml。虽然arcxml规范比较全面，但这个高度的松散偶合也给
arcims的复杂开发带来些局限性。以后我会提到。<br /><strong>2、 arcXml的重要性</strong><br />因为搞编程的人不是地理学专家、矢量数据结构专家、图象技术专家。至少不能共同关注这好些技术。所以arcXml规范的定义是极其重要的。也可以让外行人开发专业的程序。这叫好比VML.SVG标签语言一样，如果你不懂数学算法，不可能画一个椭圆。<br />　　　　以前我也说过，如果你掌握了arcxml，那你就基本知道arcims能做什么，能实现什么功能。至于做的好坏，那看你的行业知识、编程能力了。<br /><strong>3、 Introduction to ArcXML</strong><br />上面说了一堆废话，现在看看arcXML到底是什么。<br />ArcXML
是为了与arcIMS空间服务器通信而定义的协议。而arcIMS空间服务器是arcims的核心，它把地图和数据打包成适当的格式，发送到它的客户端
（arcIMS应用服务器）。要懂arcxml,首先必须知道怎么样配置文件，建立arcims服务，请求和响应，以及怎么与空间服务器结合。<br /> <br />1、 建立一个axl为扩展名的配置文件。（xml格式）<br />2、 用 ArcIMS Administrator 建立并启动 ArcIMS Service <br />3、 接受请求<br />4、 响应请求<br /><img alt="intro_1.gif" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/intro_1.gif" border="0" height="310" width="474" /><br /><strong>4、 arcims核心（ArcIMS Spatial）</strong><br />  arcIMS 空间服务器是arcims的核心。Arcims软件也可以分布式部署ArcIMS Spatial.关于详细部署可以看arcims安装文档。有时间我写篇专门讲讲。如果是正版软件，你可以让esri公司来干这个事。<br /><img alt="arcimsxnyx.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/arcimsxnyx.jpg" border="0" height="398" width="500" /><br />（1） 传输时间：接器的选择会影响<br />（2） 排队时间：以多建立虚拟服务器来解决。<br />（3） 渲染时间：比较费事，可以分布式部署空间服务器来解决）<br />（4） 查询时间：数据库调优，arcsde调优。（有时间再讨论）<br /><strong>5、 servletconnector与javaconnector的区别</strong><br /></p>
		<p>
				<a target="_blank" class="" title="" href="/zkjbeyond/archive/2006/02/10/30157.html">arcims开发经验总结</a>
				<br />
				<a target="_blank" class="" title="" href="/zkjbeyond/archive/2006/02/10/30156.html">arcIMS 客户端 连接器的选择</a>
				<br />
以前文章我也简单说了说。<br /></p>
		<p>用图表来分析。<br />Servletconnector:<br /> <img alt="servlet.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/servlet.jpg" border="0" height="328" width="500" /><br />上
图表示了servlet连接器的结构。注意，用这种连接器，把从arcims返回的arcxml直接传递给了浏览器，浏览器用字符串拆分技术或dom技术
来解析这个复杂的xml串。（还好htmlview的模板提供了这些代码，不过用javascript拆分字符串，没用dom标准）<br />    每次请求的arcxml字符串是很大的，arcxml包含的有些信息对用户是没用的，所以在web服务器与浏览器之间，浪费了许多带宽，对于二次开发人员，难度也加大不少。<br />javaconnector:<br /> <img alt="javaconnector.jpg" src="http://www.blogjava.net/images/blogjava_net/zkjbeyond/javaconnector.jpg" border="0" height="328" width="500" /><br />使用javascnnector ，浏览器与web服务器之间传输的协议由二次开发人员定义，这可能会加大编程难度，但随着ajax技术的成熟，开源框架dwr,json等的完善，这部分工作会越来越简单。<br />但javaconnector
引来一个问题，它的Map
java对象不是线程安全的，而这个对象的初始化比较费时间。它和jdbc中的数据库连接差不多。针对这个对象写了个Map池，从我们项目运行的情况看，
效果还不错。如果用javaconnector,对java编程需要一定的基础。 <br /><strong>6、 业务的复杂度决定我们应该用哪种连接器</strong><br />如
果你只是想简单的发布地图，htmlview就可以满足你的需求。如果有复杂的业务，gisporal定制，权限管理，那你用htmlview会让你面临
灾难。我选择javaconnector. Using_ActiveX_Connector, Using_NETLink也有文档。
但你要做大型，高性能的webgis,j2ee必定是受选，unix，arcims在j2ee的积累，arcims很多程序使用java实现的。（另外
arcinfo最早是在unix命令行形式运行的）。<br />A、 java语言比javascript高级多了。Htmlview大多数用javascritp实现。<br />B、 跨浏览器的支持。噩梦吧。<br />C、 ajax技术的成熟，客户端与服务器端交互容易多了。<br />D、 webgis无刷新更新数据是必须的，那必须下载足够多的数据。安全性是个问题。<br />E、 权限判断，业务定制等用javascript实现简直是噩梦。<br />    <br /><strong>7、 webgis开发人员的感想</strong><br />开
发webgis系统，对程序员的要求太高了，可是工资水平一直很低，行业极其不成熟，国内也没什么发展前途，让我好多次有想法转行专门做j2ee去，但还
是坚持下来了。国内这帮搞gis的都是学院派出生，相对编程能力，计算机应用水平比较差，对it行业市场把握能力也较差，被别人抢的先机。现在以
google牵头各大搜索引擎都提供的 地图服务，另外国内 edushi等又有一批仿三维的地图服务出现，让我看到一思希望。做传统gis
的公司该收复失地的，毕竟我们是有优势的。</p>
		<p>
				<br />参考：<br /><a target="_blank" class="" title="" href="http://downloads.esri.com/support/documentation/ims_/ArcXML9/Support_files/arcxmlguide.htm">arcxmlguide.htm</a><br />arcims性能优化和调整  许晓辉<br /></p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/45872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-05-12 17:07 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发基于arcims的webgis需要的人员配置</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/04/28/43683.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Thu, 27 Apr 2006 16:39:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/04/28/43683.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/43683.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/04/28/43683.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/43683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/43683.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 近一年多完整的负责了一个比较大的基于arcims的webgis项目,抛去业务不谈,基本arcims javaconntor 85%的功能都用到了.&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/04/28/43683.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/43683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-04-28 00:39 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/04/28/43683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小议google\baidu maps 的地图显示</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/04/26/43440.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Wed, 26 Apr 2006 15:50:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/04/26/43440.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/43440.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/04/26/43440.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/43440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/43440.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于google maps其它服务我也在学习中,对于地图显示这块,研究了下,与大家分享.<br>因为 baidu maps 都是中国地图,我以baidu图片为例说明.<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/zkjbeyond/archive/2006/04/26/43440.html'>阅读全文</a><img src ="http://www.blogjava.net/zkjbeyond/aggbug/43440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-04-26 23:50 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/04/26/43440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>google maps 胡言乱语</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/04/23/42739.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Sun, 23 Apr 2006 15:43:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/04/23/42739.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/42739.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/04/23/42739.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/42739.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/42739.html</trackback:ping><description><![CDATA[
		<p>做了几年的webgis,从我的专业角度分析了先google maps。（个人言论）<br /><strong>1、什么是传统的webgis</strong><br />    这些理论的东西偶不在行。<br />    简单的说，把空间数据在浏览器上展示出来。通过用户操作，可以对数据进行查询、空间分析等，并把操作结果以不同的形式展示给用户。<br />    有几个关键字： 数据，浏览器，用户操作，操作结果，展示。<br /><strong>2、google maps</strong>   <br /><a href="http://maps.google.com/">http://maps.google.com/</a><br />   巨头出马，影响不小。<br /><strong>a、数据</strong><br />   大家打开ie临时文件夹可以看到，里面都是PNG格式的图片。进一步分析，发现这些文件名有一定律。哦原来我们在界面上看到的都是些图片啊？那放大，缩小怎么办，也不是矢量数据啊？其实，google已经把地图按照等级预先制作成图片了。当你放大时，只是显示某等级大小的图片。<br />   google maps地图都是分等级的图片，预先制作好的。可能他们也是用了某些桌面GIS工作来制作地图的。<br />   这种数据问题是 数据的更新维护比较麻烦，可能你也看到，google maps图片上只有些路，河流、铁路一些基础数据，更新不会很大，但你把卫星影象数据和png图片对比看，有些数据是不一致的。<br />   业务数据（关注点数据），其实仅仅让我们看看地图，看看卫星影象，也没啥意思，还不如我们自己做的地图呢。当然google提供的专门的API让我们添加业务数据，例如google maps 提供的Pizza的查询，并可以标到地图上，可以查看简单的信息。 这类关注点数据，其实是保存在MIS库里面，用ms 的 VML实现展示的。注意都是点数据。</p>
		<p>    其实这种解决办法不是很好，假如我们要做个房管GIS，要管理全市的楼房，如果把楼房当成业务数据的话，在图上没法显示，会挤到一块的，另外面状的楼块很难建模。如果作为图片显示的话，以中国建楼速度，累死你。<br />   <br /><strong>b、浏览器</strong><br />   对于用户来讲，google maps 只能在IE上来用，它用了MS ie 特有的VML。有</p>
		<p>些限制，但比要下在个SVG插件，或下在JRE强多了。<br /><strong>c、用户操作<br /></strong>   作为AJAX最早案例，用户操作体验当人不让。无刷新提交，很快的响应速度。<br /><strong>d、操作结果</strong><br />   地图数据内容的单调。<br />   google maps能够提供给我们服务实在不多。如果把全世界所有的pizza在地图</p>
		<p>上显示，估计没发看了。<br /><strong>e、展示</strong><br />   google maps查询结果的展示继承google一贯做法，大家都习惯了。地图的显</p>
		<p>示也大方，注意赢眼效果很好，有移动的效果。<br />3<strong>、总结<br /></strong>    google maps是个很类似webgis的东西,由google推出,反响不小,但我感觉它提供的服务并不是很多.从程序员角度,这套系统扩展起来还是比较麻烦的.比如数据更新维护,大量关注点数据在MIS中,当量大时,如何在图上展示有些麻烦.<br />   另外矢量分析也不能通过矢量数据处理.比如我想查某饭店旁边500米的停车场,脱离传统GIS实现这些功能我觉得还是比较复杂的.<br /></p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/42739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-04-23 23:43 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/04/23/42739.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>arcsde for java api 小问题</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/04/14/41061.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 14 Apr 2006 04:14:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/04/14/41061.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/41061.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/04/14/41061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/41061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/41061.html</trackback:ping><description><![CDATA[arcsde空间数据引擎总体上很不错。做b/s数据采集，用到arcsde for java api。这套API应用比较简单，提供的功能和jdbc驱动差不多。但有个恶心的是居然建立SeConnection类没有个这样的构造函数<br />SeConnection (java.sql.Connection con).<br /><br />例如我用sde插入一条记录的话，同时要用jdbc写一条日志，这时不能保证这两个操作在一个事务内。<br /><br />查了半天api不知道解决方法。郁闷中。<img src ="http://www.blogjava.net/zkjbeyond/aggbug/41061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-04-14 12:14 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/04/14/41061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>升级</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/02/23/32195.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Thu, 23 Feb 2006 12:26:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/02/23/32195.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/32195.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/02/23/32195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/32195.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/32195.html</trackback:ping><description><![CDATA[这段空闲时间想实现一下 <A href="http://map.baidu.com">http://map.baidu.com</A> 。<BR><U><FONT color=#800080>http://www.blogjava.net/Files/zkjbeyond/baidu.rar<BR></FONT></U><BR>&nbsp;&nbsp;&nbsp;<BR><img src ="http://www.blogjava.net/zkjbeyond/aggbug/32195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-02-23 20:26 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/02/23/32195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>google map 小例子</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/02/14/30607.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Tue, 14 Feb 2006 06:45:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/02/14/30607.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/30607.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/02/14/30607.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/30607.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/30607.html</trackback:ping><description><![CDATA[    <br /><br />   Google maps ( <a href="http://maps.google.com">http://maps.google.com</a> ) 被称为AJAX的先行吧！ajax技术用的不错，我没啥说的，但对搞 webgis 的技术人员造成不小的影响。对于学gis出身的我想说，google map ,baidu map ( <a href="http://map.baidu.com">http://map.baidu.com</a> )只是一堆图片的拼凑，周末我实现了一下。没有用到ajax,没有与服务器端的任何交互。还有许多不完善，晚上要出差，只能先打住了。以后完善！<br /><br /><a href="http://forum.javaeye.com/viewtopic.php?t=18541">http://forum.javaeye.com/viewtopic.php?t=18541</a><br /><img src ="http://www.blogjava.net/zkjbeyond/aggbug/30607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-02-14 14:45 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/02/14/30607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>arcims开发经验总结</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30157.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 10 Feb 2006 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30157.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/30157.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30157.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/30157.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/30157.html</trackback:ping><description><![CDATA[发表于 2004年10月30日 1:27 PM ,当然现在感受不一样了,但还是保持原味吧.<br /><br />搬家自<a href="http://blog.csdn.net/zkjbeyond/">http://blog.csdn.net/zkjbeyond/</a> 比较老的内容了<br /><br />幸在arcims mapxtreme两大平台上做过开发，谈谈个人感受 
<p>   抛开arcgis9 的 arcgis Server.先说arcIms开发。（以Image Services为例，ArcMap Image Services我估计在arcgis9中，着重在arcGIS Server体现）<br /><br />   
arcIms的核心是AcrXML，也可以说是围绕着ArcXML进行的开发，如果熟悉了ArcXML,估计关于arcIms的开发就掌握了60%.
象htmlview,javaconnect,Activex等各种连接，只是对ArcXML的一个封装。</p><p> 
ArcIMS服务器，其实相当于一个webservice.我们输入一定格式的参数，他处理后就返回相应的结果。而这个格式就是ArcXML。（其实
ArcXML还是ims的配置文件,由author生成。）ARCXML包括内容丰富，还在不断增强。 我们常用的请求为Using
GET_IMAGE and IMAGE with Image Services，Using GET_FEATURES and FEATURES
分别得到图象和属性值。<br />  <br />    
对于我们二次开发来说，我们只是不断的组合请求的ArcXML,得到我们想要的结果。然后显示这些结果。 我把这个开发过程分为 GIS业务应用 和
WEB编程。 比如：北京工交网： 其实就是组合了几个ARCXML
,然后显示出来。IT公司WEB编程肯定没问题，所以现在GIS行业焦点在如何最大的挖掘需求，挖掘行业应用。如何把行业需求用GIS软件提供的功能表达
出来。（难啊！）作了两年GIS,做的基本都是放大，缩小。业务上，在中国政府机构，公司很难提出什么应用来。（急需一些标准）。估计以后是个方向。（我
要有钱，专门做GIS应用行业标准<img src="http://blog.csdn.net/Emoticons/regular_smile.gif" />）<br />  <br />  
我较喜欢htmlview,
用他可以作出很漂亮的界面（有段时间我认为做GIS和做美工性质一样）。很多工作在客户端。但安全性低，都用javascript实现。至于
javaConnect等，更符合OOP，但是1、因为webGIS系统有很多状态，比如地图的比例，活动层的选择等要保持，要保持这些状态，必须把这些
放到缓冲中，那对于大用户量来说，性能是个大问题。2、javaconnect和mapxtreme很类似，
改变地图要刷新MAP对象，把MAP对象放到SESSION中。（急剧影响性能，访问量大了<img src="http://blog.csdn.net/Emoticons/hitwall.gif" />）
所以状态要保持，对web服务器也是个挑战。对很酷的地图操作也是个挑战。3、个人觉得javaconnector类库的设计好象不是面向开发人员的，完
全以地理分类的概念分组，打包。（package  Map对象应该分成几个对象，弄的太复杂了，对不同的请求，有些属性是空的。）<br />（<img src="http://blog.csdn.net/Emoticons/cry_smile.gif" />现在我正在研究用javaconnector开发高性能ims webGIS）</p><p>在ArcGIS9
中，ESRI公司有了新的webGIS编程模型，地理分析可以在web上实现（当然IMS还有），主要针对J2ee 和 .Net平台。 新内容有
1、由arcgis   Server管理AO对象 2、可以远程调用这些AO对象3、有个ArcObject Develop
FrameWork(ADF) 和 运行时,支持J2ee,.net平台，可以开发webgis.4、webservice,EJB支持<br />看了一下
文档，焦点在对象的远程调用 和 对象状态的保持 两方面。 第一点，性能问题，没用过，但估计悬，
但AO对象强大的功能通过远程对象访问搬到web上来了，值得期待。 第二点：对象状态保持，
和mapxtreme一样，有对象池了概念。和EJB的有状态bean
无状态Bean类似。和有状态Bean一样，对象状态保持问题好象解决的不好。但gis大多为有状态对象。麻烦啊。状态保持方案 好象有 
shallowly stateful application 和 deeply stateful Web
application。需要很大的编程技巧。 个人感觉，.net在这开发还好。J2ee的JSF不知道什么时候能成熟啊。<br /></p><img src ="http://www.blogjava.net/zkjbeyond/aggbug/30157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-02-10 15:16 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30157.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>arcIMS 客户端 连接器的选择</title><link>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30156.html</link><dc:creator>原创专栏 开源学习</dc:creator><author>原创专栏 开源学习</author><pubDate>Fri, 10 Feb 2006 07:14:00 GMT</pubDate><guid>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30156.html</guid><wfw:comment>http://www.blogjava.net/zkjbeyond/comments/30156.html</wfw:comment><comments>http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30156.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/zkjbeyond/comments/commentRss/30156.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zkjbeyond/services/trackbacks/30156.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#ff0000">
						<font color="#000000">发表于 2004年11月26日 5:49 PM,当然现在感受不一样了,但还是保持原味吧.<br /></font>
						<br />客户端选择。</font>
				<br />   就IMS来说提供了 HTML Viewer ，Java Standard Viewer Java Custom Viewer<br /> <br />   Java Standard Viewer，Java Custom Viewer功能差不多。 对于程序员、中国客户来说。Java    <br />Standard
Viewer基本不用。典型的胖客户端，Image 和Feature MapServices
都要下载APPLET,客户端还要装jre。随着微软IE对applet的抵制 和 Arcgis Server(远程数据分析，Feature
MapServices的替代)成熟，估计这种胖客户端没什么大用了，至少我觉得在中国是这样的。就我接触的webgis项目中，applet的应用不是
很多，政府部门更是因为安全性，很少用。（<a href="http://www.668map.com/">http://www.668map.com/</a>）用applet,但是假如我们对于大数据量的gis应用，有还多业务查询、分析。估计把数据放到缓冲中的做法就悬了。还有假如我要加遥感应用，数据量大的更是可怕。 我个人对Java Viewer前景不是看好。另外AJAX技术的成熟，applet基本没什么地位了。</p>
		<p>  
HTML
Viewer：AJAX的成熟。随着web程序的流行，xhtml,javascript,css的成熟（对不同浏览器有统一标准就完美了，不过客户端
IE就现在还是老大）。arcgis server的客户端也是html
view（没办法.net,j2ee还是以浏览器为主要客户端的）。另外html,xhtml是如此的轻便，页面是可以如此的漂亮，扩展，维护也不用编译
什么的。虽然不支持Feature MapService，但Feature MapService的应用可以由arcgis server实现。<a href="http://maps.google.com/">http://maps.google.com</a><br /><br /><font color="#ff0000">连接器选择。</font><br />.NET Link 、ActiveX 、AppServerLink 、ColdFusion 、General、Java 、Servlet 、WMS <br />思想就是把ArcXML封装了，再向ArcIMS发送请求，客户端展示。<br />下面以arcIMS提供了例子探讨一下Servlet Connector ，javaconnector。请自行配置htmlview和javasconnector的例子。</p>
		<p>Servlet Connector：修改viewer.htm，使jsForm.htm 可以在页面中看到。（&lt;FRAMESET ROWS="30,*,30,50"—）</p>
		<p>jsForm.htm加载地图前代码<br />......<br />function passXML() {<br />}<br />......  <br />加载地图后代码<br />......<br />function passXML() {<br />var XMLResponse='&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;ARCXML <br />version="1.1"&gt;&lt;RESPONSE&gt;&lt;IMAGE&gt;&lt;ENVELOPE minx="116.325273231549" miny="39.9126536248245" <br />maxx="116.741417757427" maxy="40.08" /&gt;&lt;OUTPUT url="<a href="http://zhangkj:8080/Output/txzy_ZHANGKJ188425841.jpg">http://zhangkj:8080/Output/txzy_ZHANGKJ188425841.jpg</a>" /&gt;&lt;/IMAGE&gt;&lt;/RESPONSE&gt;&lt;/ARCXML&gt;';<br />parent.MapFrame.processXML(XMLResponse);<br />}<br />........<br />在aimsXML.js中看函数function htmlSendToServer(URLString,XMLRequest,theType)和function <br />processXML(theReplyIn) 一目了然了，htmlSendToServer把我们组合的arcXML发送到com.esri.esrimap.Esrimap?ServiceName，返回的XMLResponse由processXML显示出来。<br />核
心代码就这些，你在javascript文件夹中的大部分js文件是 组合请求的arcXML字符串 和
解析从arcIMS返回的arcXML字符串。其他js文件是DHTML，参数，公有函数等。看上去挺吓人的。我个人觉得htmlview例子里的js代
码可重用性很高。但必须很熟悉这些代码，函数。和其他连接器比较，htmlview可以说是最简单的了。
熟悉html,熟悉javascript,有arcXML文档，这就够了。</p>
		<p>剩下的是用 javascript构造不同的arcXML,请求arcIms, 用dhtml,javascript显示返回arcXML.<br />(大家可以看一下jspForm.jsp，用com.esri.aims.mtier.io.ConnectionProxy类来请求IMS服务。和上面的流程差不多。<a href="http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.gateway&amp;p=16&amp;pf=217">http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.gateway&amp;p=16&amp;pf=217</a>上面讲的都不错，从更深的角度讲了各个连接）</p>
		<p>javaconnector:把arcXML文档用java对象封装起来。组合arcXML的工作由纯面向对象的java语言来做，<br />com.esri.aims.mtier.io.ConnectionProxy
对象请求ims服务器，返回java对象的响应。servlet connector 是字符串，而java
connector是java对象。这样java语言的优势，java对象的可操作性，易用性，方便性就显露出来拉。javaconnector对
arcIMS服务动态增加等。</p>
		<p>Map map=new Map();<br />map.initMap(mapCon,750,false,false,false,false);<br />map.setHeight(500);<br />map.setWidth(400);<br />map.refresh();   <br />String url=map.getMapOutput().getURL();<br />Map对象封装ArcXML,map.refresh() 请求IMS服务。 请求完了Map对象包括响应的内容。（其实map.initMap也触发了一次请求 GET_SERVERINFO。javaconnector的类库设计的有问题。）</p>
		<p>servlet connector 和 javaconnector比较</p>
		<p>一、性能<br />   servlet connector: 用户下载javascript文件。组合arcXML在客户端执行。如果用户机器不是太慢的话，性能应该是最好的，服务器压力也小。据说ims 群集安装，系统配置的好的话，可以支持几百万用户。<br />  
javaconnector:比不上servlet
connector。1、java对象的封装，在服务器端运行。（不过可忽略）2、Map对象建立的性能损耗。map.initMap()，
map.refresh()都要触发请求ims。操作一次地图 新建一个map对象的做法是不可能的。有两个解决 把map对象放到Session中
和 map对象池。 把map对象放到Session，用户多的时候，web服务器压力很大，多用户时不可行。 map对象池 ，map对象的
钝化，激活（EJB的提法）操作复杂。因为不同用户当前操作状态不一样（在arcgis9 server中，状态保存是个值得研究的地方）。
运用javaconnector 性能问题得考虑。
（个人觉得javaconnector类库建立的有问题，用反编译工具看，代码设计有改进的地方，可以解决map对象初始化问题）。</p>
		<p>二、功能：<br />  
servlet connector: arcXML的所有功能。 问题在 组合arcXML和显示响应的arcXML的环节上。
因为这些用javascript实现。有一定局限性。 比如，我要把 响应arcXML
的查询结果排序。实现起来费事。（arcXML查询不支持order by ）.不可以对ims服务操作。<br />   javaconnector:arcXML的所有功能。可以用java语言的优势处理很多问题。比如前面排序。动态图层、与遥感影象图的叠加实现起来都比较方便。还可以结合arcSDE的java接口处理元数据。</p>
		<p>待续.....</p>
<img src ="http://www.blogjava.net/zkjbeyond/aggbug/30156.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zkjbeyond/" target="_blank">原创专栏 开源学习</a> 2006-02-10 15:14 <a href="http://www.blogjava.net/zkjbeyond/archive/2006/02/10/30156.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>