本人最近搞一个基于ArcIMS的小项目,第一次真正意义上的玩ArcIMS,还是遇到不少问题,以下是在做的过程中遇到的问题及解决方法的总结[部分解决方法来自互联网]
一、ArcIMS网络发布系统总结 ArcIMS Author总结 1、TIF,JPG,PNG,IMG,GIF等格式在Author的catolog中不显示问题。 解答:是由于缺少坐标系统而导致的,即缺少“*._w”后缀的world file文件,如TIF的*.Tfw, JPG的*.JgW等。可以从ESRI官网下载CreateWorldFile文件,使栅格文件生成坐标文件http://edndoc.esri.com/arcobjects/9.0/Samples/Raster/Raster_Spatial_Reference/CreateWorldFile/CreateWorldFile.htm 2、使用ArcMAP配准时,一次线性函数无法满足校正的要求,选择二次或者三次函数。 3、设置图层显示范围时候(set maximum scale factor)注意设置的是比例因子,而不是比例尺。 4、Author支持自定义图片表示点(shp的point),设置style为image,然后设置本地image,以及URL Path,其中本地image实在本机不联网显示,URL Path用于发布地图后显示代表点的图片。 5、关于可以设置color Ramp的dem以及其他栅格文件在author中只显示黑白颜色问题 ArcMAP的DEM栅格数据(可以自定义symbol如color Ramp)及其导出的TIF,JPG等格式的栅格数据在Author中只显示黑白色,只能将其转换为RGB的影像图,才能显示其色彩。 二、ArcIMS Administrator总结 1、网络发布时,ArcIMS的Administrator中选择services中对应的服务,的HTTP location(URL) 应设置为网络域名或者IP地址。 三、ArcIMS Designer总结 ArcIMS 提供Java custom viewer,Java standard viewer,Html Viewer以及ArcExplorer四种客户端方式:Java custom viewer与Java standard viewer相似,功能较强,支持feature浏览,但需要客户端安装jre,很不方便,胖客户机类型。Html Viewer以图片传输,瘦客户机类型,目前国内大都采用此种类型。ArcExplorer需要安装ESRI公司的浏览器,不实用。 另外,Java custom viewer和Java standard viewer的速度比Html Viewer的速度要慢的多。 1、ArcIMS 9.0在发布影响地图时候很可能出错 至少在安徽气象探测环境保护这个项目中,arcims 9.0未能成功定制发布影响地图服务(tif格式等)。后来换用9.2成功发布,具体原因和解决方法尚不清楚。 生成的HTML VIEWER做如下修改: 2、修改错误arcims [ERR0134] Requested Service is not available 错误 方法: (1)本机调试 在ArcIMSparam.js中修改: var imsURL = 'http:// /machinename /servlet/com.esri.esrimap.Esrimap?ServiceName=test; var imsOVURL = 'http:// /machinename /servlet/com.esri.esrimap.Esrimap?ServiceName=test; 把主机地址(machinename)换成IP地址或localhost后就可以了 (2)网络发布时 公网发布时不能访问的解决办法 同样修改ArcIMSparam.js文件里面的imsURL和imsOVURL 以及地图服务中的HTTP location(URL)。 注意:imsURL,imsOVURL,及ArcIMS administrator地图服务HTTP location(URL)这三者要一致 注意:确认在浏览器里输入的URL和在ArcIMSParam.js文件的imsURL和imsOVURL的变量值是一样的(所以在引用的时候Viewer.htm窗体时候,要使用网络站点名引用,不可以使用绝对路径和相对路径引用,站点名即为浏览器中输入的URL的字符串) 3、修改支持显示中文图层名,属性,图例等。 方法: (1)修改aimsXML.js中的字符集var charSet = “ISO-8859-1”为var charSet = "GB2312"(中文字符集)可以使显示中文的toc及属性, (2) 编辑位于工作目录下的viewer.htm和mapFrame.htm文件。编辑下行:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 将ISO-8859-1替换为所需字符集,如GB2312。 以及修改aimsXML.js中的legend字体可以修改成中文图例,ArcIMS HTML Viewer中默认的使用Arial字库。为了正确显示字体,编辑ArcIMSParam.js文件相应部分: var legFont="Arial"; 将Arial替换为相应的系统字库。如改为:var legFont="黑体"; 4、自己定制HTML VIEWER常用的有两种方式: 一是在生成的框架网页View.html(含包括的top.htm,toolbar.htm,mapframe.htm,tocframe.htm等)中修改。二是,在其他网页中嵌入生成的框架网页View.htm,嵌入的代码<iframe src="../AHQXTCBH/viewer.htm" align="MIDDLE" width="654" height="436" scrolling="Yes"></iframe>
其中网络发布的需要src应该与imsURL 与imsOVURL 以及地图服务中的一致,所以应该改为: <iframe src="http://www.gisworld.net.cn/website/qxtc/viewer.htm" align="MIDDLE" width="654" height="436" scrolling="Yes"></iframe>。否则出现2的错误[ERR0134]。
5、ArcIMS发布地图时遇到ERR0406,ERR0418错误 问题:进入Administrator ,先是看不见以前发布的Service,退出、重起服务,问题依旧,但以前发布的服务依然能用,新的地图发 布时报错:ERR0406 Error when tring to administer ...,在Administrator Message console中查看日志,出现一个ERR0418的错误。 平台:Windows 2003 Server + IIS6 + ServletExec ISAPI5.0 解决办法: (1)、找到ArcIMS安装目录\AppServer\ArcIMSSite.sez,备份 (2)、删除此文件,在服务中重新启动ArcIMS的三个服务,Administrator登录,重新发布地图,问题解决。 错误原因分析: 可能是以前发布的地图服务连接丢失、地图数据损坏或数据不标准等原因造成ArcIMSSite.sez损坏。 6、忘记ArcIMS的登陆密码,再次进入的方法: (1)、ArcIMS安装的\ArcIMS\AppServer目录下删除密码文件AimsAdmPw。 (2)、依次停止ArcIMSTasker、ArcIMSMonitor、ArcIMSApplication服务(在控制面板的服务中)。 (3)、依次启动ArcIMSApplication、ArcIMSMonitor、ArcIMSTasker服务(在控制面板的服务中)。 (4)、重新运行manager即可设置新的用户名和密码。 7、在浏览ArcIMS主页时候出现如下错误“Unable to start. Required HTML Form missing (jsForm.htm).” (1) 打开站点目录下javascript下的aimsCommon.js 。 (2) 找到getStartExtent函数. (3) 找到这一段:
} else { alert(msgList[2]); 注:msgList 在aimsResource.js 中定义,msgList[2]=Unable to start. Required HTML Form missing (jsForm.htm).”) (4) 替换为:
} else { parent.location.reload(); // alert(msgList[2]; } 19、通常全局参数要在ArcIMSparam.js中修改等。 20、做开发一定要看ArcIMS 的 《ArcXML Programmer's Reference Guide》&《Customizing the HTML Viewer》这个参考文档,太有用了。
|