liu76xt
论坛版主
论坛版主
  • 注册日期2004-05-26
  • 发帖数262
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:50598回复:124

[原创]ArcIMS问题集中解决精华

楼主#
更多 发布于:2004-08-20 21:55
<P><FONT color=#0000ff size=4><B>强力推荐:ArcIMS在线支持链接:</B></FONT></P>
<P><a href="http://support.esrichina-bj.cn/esrilink/techprod.php?prod=ArcIMS" target="_blank" ><FONT color=#0000ff size=4><B>http://support.esrichina-bj.cn/esrilink/techprod.php?prod=ArcIMS</B></FONT></A></P>
<P>从现在开始,本贴将集中解决各位在ArcIMS二次开发中遇到的各种问题,你可以单独发贴,也可以在次跟贴提问。 版主会定期整理已经解决的问题。因此如果你有什么问题可以先到这里来看看,说不定好多人都遇到过和你一样的问题并切已经解决了。</P>
<P>说明:版主将会把解决的问题和问题答案整理到第一楼。谢谢大家的支持。</P>
<P><img src="images/post/smile/dvbbs/em11.gif" /><img src="images/post/smile/dvbbs/em11.gif" /></P>
<P>//-----------------------------------------------------------------------------------------------------</P>
<P>1、为什么有时候发布的网站的地图图片不能显示,甚至有时候出现访问不到地图服务的情况,而明明已经配置好了地图服务的?(Windows平台)</P>
<P>地图图片不能显示的原因大概有:</P>
<P>a)ArcIMS Administrator里面地图服务的属性里面没有正确配置output的位置,其位置应该在你的WEB服务器发布目录下</P>
<P>b)客户端的防火墙打开,有时候如果你安装的是XP或者2000,如果打开IE自带的防火墙就不能显示地图。</P>
<P>地图服务访问不到,如果没有特殊情况应该是:</P>
<P>ArcIMS并不能自动域名解析:如果你的ArcIMS administrator里面配置的服务器名称用的是IP比如127.0.0.1,那么你在访问的时候(特别是远程访问,而不是在本机访问)最好直接用IP地址加端口号,而不要用机器名加端口号访问;如果你的服务器配置使用的是服务器的名称,那么访问的时候如果是远程访问,也应该是机器名,但是你的客户端也就是访问服务器的机器的系统host(一般在C:/winnt/system32/drivers/etc目录下)里面添加机器名和IP的配置对应(对于windows系统来说)。</P>
<P>//-----------------------------------------------------------------------------------------------------</P>
<P>2、ArcIMS二次开发的参考网站:</P>
<P>0)首先隆重推荐ArcIMS自带的例子,相信如果你的应用系统相对简单的话,一般的功能在哪里都能够得到提示或者解决。还有就是自带的定制文档Customizing HTML Viewer 和Customizing Java Viewer 的确很重要。很重要</P>
<P>a) <a href="http://www.gisempire.com/bbs/list.asp?boardid=23" target="_blank" >http://www.gisempire.com/bbs/list.asp?boardid=23</A>  就是本论坛本版。呵呵</P>
<P>b) <a href="http://support.esri.com/index.cfm?fa=downloads.gateway" target="_blank" >http://support.esri.com/index.cfm?fa=downloads.gateway</A>  注册一个免费用户吧,在哪里你可能可以下载到你所需要的大部分源代码-独立、实用、高效。不管是Java的还是C的还是C++的也不管是ArcIMS HTML Viewer的 还是Java Viewer的还是ArcSDE的。</P>
<P>c)  <a href="http://support.esri.com/index.cfm?fa=forums.gateway" target="_blank" >http://support.esri.com/index.cfm?fa=forums.gateway</A>  这是ESRI的官方论坛,如果你对自己的英文有足够的信心,建议你直接到哪里提问,你会感到惊奇的。</P>
<P>d) <a href="http://www.esricanada.com/english/support/get_tech/arcgis/graphic_as_label.asp" target="_blank" >http://www.esricanada.com/english/support/get_tech/arcgis/graphic_as_label.asp</A> ESRI加拿大的技术论坛,有些解决不了的问题在这里能够得到解决,耐心一点。</P>
<P>e)  <a href="http://arcims.webgis.net/nc/alleghany/default.asp" target="_blank" >http://arcims.webgis.net/nc/alleghany/default.asp</A>  国外的一个支持在线编辑的例子网站,相信有不少人会喜欢的。</P>
<P>//-----------------------------------------------------------------------------------------------------</P>
<P>3、基于ArcIMS的一般系统开发体系结构参考:</P>
<P>a)开发平台: 选用ArcIMS,最好结合ArcSDE</P>
<P>b)中间件web服务器:支持IIS Tomcat Weblogic等-详见安装帮助文件</P>
<P>c)开发语言:二次开发要求你能够使用HTML DHTML Javascript 有时候可以结合JSP甚至是VML-基于ArcIMS,C Java-基于ArcSDE</P>
<P>d)技术关键在于 中间层于ArcIMS之间的交互即:ArcXML的拼写和解析。</P>
<P>//==========================================================</P>
<P>关于ArcGIS9系列新产品的特性:</P>
<P><a href="http://www.esrichina-bj.cn/produce/esri/arcgis/arcgis9/arcgis9.htm" target="_blank" >http://www.esrichina-bj.cn/produce/esri/arcgis/arcgis9/arcgis9.htm</A></P>
<P style3?><FONT style="FONT-SIZE: 10.5pt" span="span"><B><FONT font>新的面向开发商的产品 <br><br></FONT></B></FONT>
<P>
<P><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT face=Arial font><B><a href="http://www.esrichina-bj.cn/produce/esri/arcgis/ArcGIS%20Engine.htm" target="_blank" >ArcGIS Engine</A>:</B>ArcGIS engine</FONT><FONT font>是一个强大的嵌入式的开发工具,它包含了创建和配置客户自己的</FONT><FONT face=Arial font>GIS</FONT><FONT font>桌面应用程序的</FONT><FONT face=Arial font>GIS</FONT><FONT font>组件。</FONT></FONT></P>
<P><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT face=Arial font><B><a href="http://www.esrichina-bj.cn/produce/esri/arcgis/ArcGIS%20Server.htm" target="_blank" >ArcGIS Server</A>:</B>ArcGIS Server</FONT><FONT font>是一个</FONT><FONT face=Arial font>GIS</FONT><FONT font>企业应用的服务器,它提供了完整的</FONT><FONT face=Arial font>GIS</FONT><FONT font>的功能(比如地图显示,地理编码,空间查询,编辑,跟踪和线性参考),通过维护和管理一个大的数据库来实现。</FONT></FONT></P>
<P style3?><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT face=Arial font><B>ArcIMS</B></FONT><B><FONT font>: <br><br><br><br><br><br>
<P></FONT></B></FONT>
<P>
<P><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT font>新发布的</FONT><FONT face=Arial font>ArcIMS</FONT><FONT font>版本会在</FONT><FONT face=Arial font>Linux</FONT><FONT font>和</FONT><FONT face=Arial font>Unix</FONT><FONT font>操作系统下支持</FONT><FONT face=Arial font>ArcIMS ArcMap Server</FONT><FONT font>。</FONT><FONT face=Arial font>ArcIMS ArcMap Server</FONT><FONT font>允许用户能够利用</FONT><FONT face=Arial font>ArcMap</FONT><FONT font>提供的更多种类的数据源以及更好的绘制地图的能力,这个功能是通过在网上发布</FONT><FONT face=Arial font>ArcMap</FONT><FONT font>的地图文档</FONT><FONT face=Arial font>(MXD</FONT><FONT font>文件</FONT><FONT face=Arial font>)</FONT><FONT font>来实现的。</FONT></FONT></P>
<P style3?><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT face=Arial font="font"><B>ArcSDE: <br><br><br><br><br><br>
<P></B></FONT></FONT>
<P>
<P><FONT style="FONT-SIZE: 10.5pt" span="span"><FONT font>主要包括增强了栅格数据的管理,新的管理工具,对</FONT><FONT face=Arial font>IBM DB2</FONT><FONT font>和</FONT><FONT face=Arial font>Informix</FONT><FONT font>数据库的直接连接,改进了</FONT><FONT face=Arial font>Java</FONT><FONT font>应用程序的接口,以及对增加了对</FONT><FONT face=Arial font>DB2</FONT><FONT font>数据库的平台支持(包括</FONT><FONT face=Arial font>Red Hat Linux</FONT><FONT font>、</FONT><FONT face=Arial font>HP-UX</FONT><FONT font>和</FONT><FONT face=Arial font>Sun Solaris</FONT><FONT font>)。</FONT></FONT></P>
<P>//-----------------------------------------------------------------------------------------------------</P>
<P>最近关于ArcIMS做WEB-GIS的功能扩展有不少人关心讨论,具体见本版帖子:</P>
<P><a href="http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=14998;page=1" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=14998;page=1</A></P>
<P><a href="http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=28458;page=1" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=28458;page=1</A></P>
<P><a href="http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=28372;page=1" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?boardID=23;ID=28372;page=1</A></P>
<P>以上帖子都设计到使用WEB -GIS实现过程中的 </P>
<P>1:加强动态交互,人机交互和系统功能参数交互;</P>
<P>2:增强WEB-GIS的地图展现效果;比如动态的路径标注,GPS实时跟踪等;</P>
<P>3:使用VML或者SVG结合Javascript、XML、HTML以及DTML甚至 JSP多种语言结合;</P>
<P>关于ArcIMS实现WEBGIS的功能扩展问题 在此提一种实现思路 以及一些 参考内容的链接,感兴趣的可以好好看看,有问题可以跟贴联系讨论:</P>
<P>1、采用开发平台 ArcIMS、ArcSDE(虽然贵一点);</P>
<P>2、中间WEB服务器 Jboss Tomcat Weblogic任一;</P>
<P>3、空间数据入库 Oracle9i(便于对数据的使用和维护);</P>
<P>4、语言技术采用 Java(ArcSDE的二次开发),客户端JS+DHTML+VML(SVG没有测试过),JSP+JS实现参数的后台获取和前台交互。</P>
<P>实现过程:由SDE或者ArcIMS的请求获取坐标值(经纬度X Y)或者范围值(ENVELOPE)-》坐标、范围转换到屏幕坐标或者屏幕坐标转换到坐标、范围(允许有一定的精度损失)-》参数传递给JS<->VML<->DHTML-》通过客户端控制实现目标要素的动态变化-》通过JS的参数传递实现人机交互-》结合ArcIMS请求地图刷新前、刷新后控制地图显示与 动态目标的同步显示问题(待进一步研究);</P>
<P>参考网站:数字北京<a href="http://www.digitalbeijing.gov.cn/" target="_blank" >http://www.digitalbeijing.gov.cn/</A>  可以下载上面的JS文件好好研究一下。具体问题具体讨论,在此不再多赘述了。</P>
<P>忘记ArcIMS的登陆密码,再次进入的方法:</P>
<P>1、删除密码文件AimsAdmPw。</P>
<P>2、依次停止ArcIMSTasker、ArcIMSMonitor、ArcIMSApplication服务(在控制面板的服务中)。</P>
<P>3、依次启动ArcIMSApplication、ArcIMSMonitor、ArcIMSTasker服务(在控制面板的服务中)。</P>
<P>然后再次登陆manager,就会和刚安装时一样,要你输入新的用户名和密码了</P>
<P>//2004/11/15更新========================================================</P>
<DIV class=quote><B>以下是引用<I>zyj_iim</I>在2004-11-14 18:26:31的发言:</B>
<P>若选择Tomcat作为IMS4.0的Servlet,则在安装IMS4.0的过程中的Servlet路径应选择什么?</P>
<P>若我用Win2000 server+IIS+Tomcat+IMS4.0配置后,还需用JSP,则如何将JSP和IMS4.0中的HTML+JS配合起来工作?</P>
<P>非常感激帮助!</P></DIV>
<P>1、“若选择Tomcat作为IMS4.0的Servlet--这种提法可能欠妥,” ArcIMS有自己的连接器其中一种是Servelt连接器, 你选择Tomcat应该是作为ArcIMS Servlet的容器用于发布ArcIMS的信息。不管你选择什么样的WEB服务器 在安装过程中servlet可以选择默认配置路径,安装完成后可以复制到相应的Servlet目录下,并修改相应的配置文件即可。具体可以参考ArcIMS自带的Install Guide <br>
<P>2、“如何将JSP和IMS4.0中的HTML+JS配合起来工作?”其实就是参数传递的问题,在ArcIMS  JS里面定义了大量的全局变量,属于客户端的东东,你可以通过客户端《-》服务器交互技术实现和GIS无关。比如你可以通过 form提交 隐藏框架值的方法(ArcIMS里面典型的用的最多的参数传递方法)实现JS-》JSP的参数传递, JSP-》JS的传递,只要把JSP获取的参数传递到客户端就可以了,对吧。</P>
<P>//---------------------------------------------------------------------------------------------------------</P>
<P>通过jsp访问ArcIMS提供的IMAGEService,其中的一个服务是通过本机的AXL文件产生的,另外一个是通过局域网内的SDE上的图层,在jsp中本机AXL文件产生的服务是可以实现的,但是SDE上的图层,在jsp中不能显示。</P>
<P>请问jsp中访问SDE图层时,是链接ArcIMS中的服务呢,还是需要SDE上的服务呢?</P>
<P>答:</P>
<P>1、首先要明确SDE是数据库引擎,如果你使用AXL文件定制IMAGEService访问空间数据</P>
<P>肯定是通过ArcIMS去访问SDE的空间数据,这个层次关系你可以参考ESRI关于ArcIMS和SDE的介绍;</P>
<P>2、关于用JSP访问SDE图层我没有使用过,但如果使用的是AXL文件,那么你可以参考用Author定制地图服务的时候生成的AXL文件,一般的图层AXL文件里面需要加入<STRONG>SDE.</STRONG>Layername[如果你的SDE在数据库里面的表空间名称为SDE]。</P>
<P>//------------------------------------------------------------------------------------------------------</P>
<P><FONT face=黑体 color=#0000ff size=5><STRONG>关于ArcIMS体系结构的一篇很好的文档:</STRONG></FONT>2006-05-13更新</P>
<P><a href="http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html" target="_blank" >http://www.blogjava.net/zkjbeyond/archive/2006/05/12/45872.html</A>  转自<a href="http://www.blogjava.net/zkjbeyond/" target="_blank" >zkjbeyond</A>的个人blog。</P>
[此贴子已经被作者于2006-5-13 15:20:00编辑过]
喜欢0 评分0
| ------------- | 白云悠悠矶头月涌千骏过, 往事渺渺江上风情一燕来。 | ------------- | [img]http://www.gisempire.com/bbs/showimg.asp?BoardID=3&filename=2004-9/200491972356282.gif[/img]
NinJa
路人甲
路人甲
  • 注册日期2003-10-29
  • 发帖数144
  • QQ
  • 铜币238枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-08-21 02:11
顶!
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-08-24 11:48
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
我是一个兵
路人甲
路人甲
  • 注册日期2004-02-03
  • 发帖数79
  • QQ
  • 铜币153枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-08-25 10:10
举报 回复(0) 喜欢(0)     评分
zhulin
路人甲
路人甲
  • 注册日期2004-06-15
  • 发帖数10
  • QQ
  • 铜币95枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-08-27 10:32
<P><img src="images/post/smile/dvbbs/em01.gif" />太好了!请问各位高手:用request <get image>  得到的render 后的地图,当进行放大缩小或其他操作时,地图又回到原始的颜色(render前的颜色)。那位高手能解决这个问题?谢谢!!!!</P><img src="images/post/smile/dvbbs/em08.gif" />
举报 回复(0) 喜欢(0)     评分
liu76xt
论坛版主
论坛版主
  • 注册日期2004-05-26
  • 发帖数262
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-08-27 10:37
<DIV class=quote><B>以下是引用<I>zhulin</I>在2004-8-27 10:32:00的发言:</B>

<P><img src="images/post/smile/dvbbs/em01.gif" />太好了!请问各位高手:用request <get image>  得到的render 后的地图,当进行放大缩小或其他操作时,地图又回到原始的颜色(render前的颜色)。那位高手能解决这个问题?谢谢!!!!</P><img src="images/post/smile/dvbbs/em08.gif" /></DIV>
<P>地图颜色等相关配置信息是写在地图服务配置文件里面的,如果你想在地图缩放(地图刷新)后依然显示使用请求后得到的颜色就只好在sendXML请求的时候每次都添加 该render的请求字符串,总不至于修改你的地图服务吧?
<P>不知道有没有理解错楼上的意思。</P><img src="images/post/smile/dvbbs/em11.gif" /><img src="images/post/smile/dvbbs/em11.gif" />
| ------------- | 白云悠悠矶头月涌千骏过, 往事渺渺江上风情一燕来。 | ------------- | [img]http://www.gisempire.com/bbs/showimg.asp?BoardID=3&filename=2004-9/200491972356282.gif[/img]
举报 回复(0) 喜欢(0)     评分
zhulin
路人甲
路人甲
  • 注册日期2004-06-15
  • 发帖数10
  • QQ
  • 铜币95枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-08-27 11:34
<P><img src="http://www.gisempire.com/bbs/Skins/Default/emot/em08.gif">多谢斑竹!!我的开发工作就是想通过客户端选择要进行render的字段,根据写好的对应规则来进行动态的render.所以不能在配置地图服务(config)中事先做好。我用函数“writexml”根据客户端所选字段动态编写request ,然后通过函数“sendtoserver”传给服务器,然后我的map就刷新成render后的图像,我不懂您的意思怎样改才能使它不变回原来的样子?<img src="http://www.gisempire.com/bbs/Skins/Default/emot/em02.gif"></P>
举报 回复(0) 喜欢(0)     评分
redmetal
路人甲
路人甲
  • 注册日期2004-08-28
  • 发帖数80
  • QQ
  • 铜币293枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-08-28 00:55
<P>ArcIMS在html viewer中中文显示为乱码:</P><P>可以参考<a href="http://www.esrichina-bj.cn/support/esri/FAQ/answer39.htm。" target="_blank" >http://www.esrichina-bj.cn/support/esri/FAQ/answer39.htm。</A></P><P>即:1、编辑位于工作目录<FONT face=Arial>javascript</FONT>目录下的<FONT face=Arial>aimsXML.js</FONT>文件<FONT face=Arial>. </FONT>将下行</P><P align=justify><FONT face=Arial>var charSet = "ISO-8859-1"</FONT>替换为<FONT face=Arial>var charSet = </FONT>某个中文字符集。</P><P align=justify>例如 <FONT face=Arial>var charSet="GB2312"</FONT></P><P align=justify>2、编辑位于工作目录下的<FONT face=Arial>viewer.htm</FONT>和<FONT face=Arial>mapFrame.htm</FONT>文件。参照第五步,编辑下行<FONT face=Arial>:</FONT></P><P align=left><FONT face=Arial><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></FONT></P><P align=left>将<FONT face=Arial>ISO-8859-1</FONT>替换为所需字符集,如<FONT face=Arial>GB2312</FONT>。</P><P align=left>3、默认的,<FONT face=Arial>ArcIMS HTML Viewer</FONT>使用<FONT face=Arial>Arial</FONT>字库。为了正确显示字体,编辑<FONT face=Arial>ArcIMSParam.js</FONT>文件相应部分<FONT face=Arial>:</FONT></P><P align=left><FONT face=Arial>var legFont="Arial"</FONT>;</P><P align=left>将<FONT face=Arial>Arial</FONT>替换为相应的系统字库。如改为:<FONT face=Arial>var legFont="</FONT>黑体<FONT face=Arial>";</FONT></P><P align=left>……</P><P align=left>我用上述方法将原来可显示和选择有那些层的层的中文名字正确显示。</P><P align=left>但还有一问题:在<FONT face=Arial>aimsXML.js中添加的中文版权信息仍显示为乱码。map自带的中文属性信息也还是乱码。有劳高手帮忙解决。</FONT></P>
举报 回复(0) 喜欢(0)     评分
dsea
路人甲
路人甲
  • 注册日期2003-09-22
  • 发帖数60
  • QQ
  • 铜币161枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-08-28 14:54
谢谢,顶
举报 回复(0) 喜欢(0)     评分
liu76xt
论坛版主
论坛版主
  • 注册日期2004-05-26
  • 发帖数262
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-08-28 22:17
<P>回第8楼:</P><P>如果你用的是ArcIMS4或者ArcIMS401建议使用ESRI北京公司提供的汉化包。我一直用这个没有碰到你说的问题。</P><P><U><FONT color=#800080><a href="http://www.esrichina-bj.cn/download/ESRIdown/ESRIDownloadIndex.htm" target="_blank" >http://www.esrichina-bj.cn/download/ESRIdown/ESRIDownloadIndex.htm</A></FONT></U></P><P>没有碰到这个问题,因此不是很明白你的问题出在哪里,不过map自带的中文属性信息如果是在地图服务配置文件里面的话也应该改成相应的font ="黑体"而不是font="Arial".</P><P>注意:在ArcXML.js里面var charEncoding = "UTF-8";</P>
| ------------- | 白云悠悠矶头月涌千骏过, 往事渺渺江上风情一燕来。 | ------------- | [img]http://www.gisempire.com/bbs/showimg.asp?BoardID=3&filename=2004-9/200491972356282.gif[/img]
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部