SuperMap iServer常见问题解答集锦 (四)

作者:朝阳


问:为什么启动 iServer 服务时,报端口占用错误,导致 iServer 服务启动失败?
答:SuperMap iServer 目前部署在 Tomcat 中,默认发布的端口是 8090,该端口被占用则无法正常启动服务,请退出对应程序后再启动 SuperMap iServer。目前已知的可能占用 8090 端口的程序有:360 杀毒软件的自动升级程序。

问:为什么运行“启动 iServer 服务” 或 startup.bat 无法启动服务?
答:启动 SuperMap iServer 服务需要安装 JRE 1.6 或以上版本和 SuperMap Objects Java 6R(SP2),并设置环境变量,设置 JAVA_HOME 为 JDK 目录(如果安装的是 JRE,则设置 JRE_HOME 为 JRE 目录),设置 UGO_HOME 为 SuperMap Objects Java 的目录,并在 PATH 环境变量中添加 %UGO_HOME%\Bin。

问:为什么最后一步安装 License Manager 的时候出现问题?
答:首先,License Manager 是独立安装的,不影响 SuperMap iServer Java 6R 的安装。产品安装包里附带的是最新的 SuperMap License Manager 6R 版本,如果原机器中已经装有 SuperMap License Manager 6,会出现此问题。解决办法:(1) 不必安装安装包里附带的新版本 License Manager ,继续使用以前版本进行 License 配置;(2) 卸载以前版本的 License Manager,安装本产品安装包附带的 SuperMap License Manager 6R,位置在“安装包根目录\LicenseManager”下。

问:如何发布数据库型的工作空间?
答:数据库型的工作空间(SQL Server 工作空间、Oracle 工作空间)的发布,目前不支持通过服务管理器进行,可在 XML 文件(%SuperMap iServer Java_HOME%\webapps\iserver\WEB-INF\config\services.xml)中进行服务提供者的配置工作,然后再进行服务组件、服务接口的配置,参见6R帮助文档体系结构中各层的配置。

问:如何部署新的服务?
答:请参见6R帮助文档 GIS 服务的快速发布、服务介绍、体系结构中各层的配置。

问:打开帮助文档,发现都是乱码,怎么解决?
答:该问题是浏览器编码导致的,解决办法:开始运行里面输入regedit 进入注册表:找到:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International
你会看到右边:AutoDetect
将AutoDetect 设置为1 (默认为0表示默认编码,设置为1表示自动检测)
注:如果没有AutoDetect,那么需要手动新建个DWORD(32-值),命名为AutoDetect,将其设置为1即可

问:使用SuperMap Deskpro.NET sp2版本切5.0缓存放到SuperMap iServer Java 6R缓存目录下,客户端调用地图的时图层参数的设置和切缓存时的参数也一致,为什么缓存还是使用不上?
答:使用5.0缓存需要在发布地图服务后在配置文件iserver-services.xml(【SuperMap iServer Java 安装目录】\webapps\iserver\WEB-INF文件夹下)找到对应的节点,修改下的节点的值为5.0,默认动态缓存的版本为4.0,如果没有则添加该节点,保存后重启iServer服务。

问:Linux上配置许可管理工具怎么读取不到计算机名?
答:读取不到计算机名是因为IP地址尚未与计算机名绑定的原因,可以修改/etc/hosts文件,增加一行【IP 计算机名】实现绑定,例如【192.168.1.1 linux】绑定结束后,输入hostname 计算机名,最后在输入su回车即可。

问:使用32位SuperMap iServer Java 6R发布地图后浏览时,SuperMap iServer Java 6R崩溃,是什么原因?如何处理?
答:如果地图数据超过了2G,可能是内存不足造成的,建议更换64位SuperMap iServer Java 6R

问:下载的SuperMap iServer Java6R 英文版本,启动服务后打开服务管理页面怎么还是英文?
答:设置浏览器语言为英语,如IE浏览器在Internet选项->语言中设置。并清除浏览器缓存后,重新打开服务管理页面就为英文了。

问:Linux下发布Oracle数据源的地图,地图上中文乱码,如何解决?
答:出现乱码的原因可能是Oracle服务端字符编码与客户端字符编码不一致造成。查询服务端字符编码使用语句:SELECT * FROM v$nls_parameters。查询客户端编码使用语句:env | grep NLS_LANG。解决此问题可以将客户端字符编码设置成与服务端字符编码一致,使用语句,例如:export NLS_LANG=“Simplified Chinese_china”.ZHS16GBK,“=”号后面接的是服务端的字符编码。

问:如何在三维上叠加DIV?
答:首先在承载三维场景的div上叠加一个iframe,因为iframe的优先级比div高,所以不会被三维场景覆盖,然后在iframe里面再添加div。

问:发布oracle数据库型工作空间时各参数如何填写?
答:服务器名称为oracle服务名称,工作空间名称为在Deskpro.NET中保存的工作空间名称,数据库名称与用户名一样,用户名和密码为用来登录数据库的用户名和密码。如在创建oracle型工作空间时新建的用户名为test,密码为ora,oracle服务名称为ORCL,保存的工作空间名称为workspace。

问:之前使用文件型试用许可,后来配置硬件许可,怎么地图上仍有“SuperMap Unregistered”标记?
答:在配置硬件许可时需要先在配置文件管理页面中删除之前配置的文件型许可,配置完硬件许可后清除%SuperMap iServer Java_HOME%\webapps\iserver\output\cache目录下的地图缓存。

问:如何设置文件型工作空间为相对地址?
答:工作空间的相对路径是指工作空间相对%SuperMap iServer Java_HOME%\webapps\iserver目录的路径。如范例中工作空间Word.sxwu在%SuperMap iServer Java_HOME%\samples\data\World目录下,则工作空间的相对路径为…/…/samples/data/World/World.sxwu。

问:地物编辑成功后,地图没更新
答:地物编辑功能时,需要将地图图层,如TiledDynamicRESTLayer中enableServerCaching该属性设为
false,否则影响编辑后的显示效果

问:如何扩大一幅地图的范围?
答:用桌面工具新建一个面数据集,在面数据集中画一个比地图略大的矩形框,设置矩形框背景透明以及边线不可见,然后将地图添加到矩形框中,重新设置地图中心点,即可实现地图扩大范围。

问:Linux系统上部署SuperMap iServer Java6R,地图上有些字体怎么没有显示出来?
答:需要设置SUPERMAP_ROOT环境变量,如下:
export UGO_HOME=SuperMap Objects Java 的安装目录
export SUPERMAP_ROOT=$UGO_HOME/Support。

问:如遇到使用IE9快速发布服务,选择工作空间路径后,点击下一步报错。
答:由于部分IE9的版本对Manager页面支持有问题。解决方法:取消勾选“服务位于本地”,或使用兼容模式视图

问:三维中有专题图缓存吗?
答:专题图没有独立的缓存。一般是把专题图和场景一起发布,然后再使用场景缓存。

问:SuperMap iServer 6 英文版本,Firefox浏览英文版本显示为中文,如何调整?
答:在FireFox地址栏里输入"about:config" 回车,然后在过滤器里输入general.useragent.locale,双击该项然后再弹出的对话框里输入"en-GB"。如果初次安装请直接下载英文版本Firefox,地址为:http://releases.mozilla.org/pub/mozilla.org/firefox/releases/。如果想下载响应的语言包可以到上述地址所安装的版本里找相应操作系统目录/xpi下找到相应的语言xpi包,拖到Firefox即可安装。

问:SuperMap iServer 6 英文版本,IE 浏览英文版本显示为中文,如何调整。
答:打开IE浏览器菜单栏–工具–选项–常规–语言–添加英文英文语言即可,另外设置完后清除IE缓存,重启IE即可。

问:使用64位的SuperMap iServer6R发布32位Oracle数据库的数据源数据,为什么服务内容为空?
答:64位的 SuperMap iServer6R打开 Oracle 数据源时需要使用64位的Oracle客户端。

问:将一个应用和iServer war包放到一个tomcat下,出错。
答:这样做需要配置ObjectsJava到Path环境变量。

问:linux下启动iServer6R报libWrapj600.so
错误。

答:使用远程工具启动的话,如putty等 需要输入X命令,解决办法:输入X :n& (n为第几个屏幕,可以

设置高点,如22,33,44),然后在输入:export DISPLAY=:n.0 然后 在启动iServer就行了

问:在浏览海图数据、标签专题图、符号专题图等时,出现部分要素被截断、显示不全的现象,应如何解决?
答:请将 SuperMap Objects Java 根目录\bin\SuperMap.xml 中的 IsMapInflated 属性改为 true。iServer 自带的 SuperMap Objects Java 位于 %SuperMap iServer Java_HOME%/support/objectsjava 目录中。

问:如何让SuperMap iServer Java 6R服务在开机时自动启动?
答:需要先安装1.6 或其以上版本的JDK(与SuperMap iServer Java 6R的位数相同),并在系统环境变量的path里加入SuperMap iServer Java 6R自带的objectsjava(在安装目录的support目录下)的bin路径和jre(在安装目录的support目录下)的bin路径,然后在命令行方式下进入SuperMap iServer Java 6R的bin目录下,输入service.bat install命令即可注册为本地服务(SuperMap iServer Java 6R),然后将启动类型修改为自动。如果想删除注册的本地服务,同样在命令行中输入service.bat uninstall(或者service.bat remove)。

问:SuperMap iServer Java 6R在Linux系统中安装后,不知道如何配置硬件许可
答:SuperMap iServer Java 6R (2012) 正式版,在Linux上不支持硬件许可.可以用文件型许可。

问:SuperMap iServer Java 6R (64位),配置不了硬件许可
答:SuperMap iServer Java 6R(64位)中不支持,硬件许可。

问:按照帮助文档中的开发指南/使用 iServer API/使用 Java API/使用服务组件中的操作步骤创建服务组件,将提供的范例工程导入eclipse,并添加了iServer的lib库中的jar包,运行程序报错: java.lang.UnsatisfiedLinkError: no Wrapj600 in java.library.path,这是什么原因?
答:在系统环境变量的path中添加SuperMap iServer Java 6R自带的objectsjava(在安装目录的support目录中)的bin目录后重启eclipse,在项目中添加objectsjava的bin中的jar包,重新运行程序即可。

问:在Windows Server 2003操作系统上安装SuperMap iServer Java 6R(2012),启动服务后一闪而过,这该怎么解决?
答:可以在Windows自带命令行中进入SuperMap iServer Java 6R安装目录下的bin目录,然后输入startup,此时出现两个窗口,其中一个窗口会显示SuperMap iServer Java 6R使用的环境变量,查看是否都有值 ,如果没有则在环境变量中添加该环境变量后重启服务即可。

问:SuperMap iServer Java 6R(32位)使用64位oracle数据库,但是数据源连接失败,是什么原因造成的需不需要其他条件?
答:需要使用32位的客户端,服务端的位数不限制。

问:发布工作空间后,浏览地图为白图,是什么原因?
答:如果数据源为文件型数据源,一般是因为用Deskpro.NET同时打开了数据源;
如果数据源为数据库型数据源,确定数据库是否连接上。

问:发布工作空间时,该工作空间没有设置密码但是报工作空间密码错误,这是为何?
答:这是因为该工作空间中含有SDB型数据源,SuperMap iServer Java 6R不支持SDB型数据源,将SDB型数据源转换为UDB型数据源即可。

问:当属性表为宽字符时,查询返回结果为空.
答:宽字符属性,其里面只能填写中文,中文引号,中文逗号等,占2个字符的。而填写英文,英文引号等,则不行。

问:在Linux系统中安装SuperMap iServer Java 6R ,如果要用自己的JDK或JRE,要注意什么?
答:所安装JDK或JRE必须为1.6版本以上,且为32位的,SuperMap iServer Java 6R (2012)正式版,目前暂不支持64位JDK或JRE。

问:SuperMap iServer Java 6R启动服务的时,报环境检测没通过。
答:1. 确定许可是否配置成功及许可是否过期。
2. 修改系统的环境变量path项,删除path中所包含objectsjava/bin的配置。
3. 查看,在path中所配置的JDK版本,目前只支持JDK或JRE1.6及以上的。

问:浏览地图时,出现范围不正确或者乱图,并且已确认清过缓存。
答:用SuperMap Deskpro.NET打开其所在的工作空间,把所用数据重建空间索引及重新计算范围即可。如果地图属性中有设置固定比例尺,则取消固定比例尺的设置。

问:发布交通网络分析服务时,服务端报“加载交通网络分析设置失败”错误,具体错误信息如下:
ERROR com.supermap.services.providers.UGCTransportationAnalystProvider.init(UGCTransportationAnalystProvider.java:1223) - 加载交通网络分析设置失败。
WARN com.supermap.server.impl.ServiceBeanBuilder.buildComponent(ServiceBeanBuilder.java:138) - 业务组件transcomp-test创建失败
java.lang.IllegalStateException: 没有初始化。

答:在SuperMap Deskpro.NET中检查网络数据集对应的属性表,查看SFNODE字段对应的字段值,是否存在-1的值,如果存在删除相应的记录即可。

问:发布oracle型工作空间,总是报工作空间连接字符串错误?
答:检查填写的参数是否正确,服务器名称为其TNS服务名称,工作空间名称为工作空间在数据库中的名称,数据库名称为空间数据库名称,用户名为用来登录数据库的用户名,密码为用来登录数据库的密码,数据库名称和用户名必须相同,注意大小写。

问:启动SuperMap iServer Java 6R后,浏览范例,出现白图,在地图列表中点击地图名称后点击image后提示工作空间中没有任何数据,这是什么原因?
答:原因是使用的操作系统在C:\Windows\System32中存在sqlite3.dll文件,与objectjava\bin\中的sqlite3.dll冲突,导致读取不到数据源,解决方法是修改该文件名使之不可用,例如改为:sqlite3.dll_bak,然后重启服务即可。

问:如何修改SuerpMap iServer Java 6R的缓存目录?
答:在SuerpMap iServer Java 6R配置文件server.xml(%SuperMap iServer Java_HOME%\webapps\iserver\WEB-INF\config\server.xml)中
修改节点的值(出图目录)为所需目录的路径,修改节点的值(访问目录)为将出图目录通过web服务器(如:tomcat或apache)发布出来后的访问路径即可。

问:如何捕捉地图放大缩小事件?
答:在map对象中添加zoomStart或者zoomEnd事件监听。

问:在Linux(SUSE除外)上如何设置开机自动启动SuperMap iServer Java 6R(2012)服务?
答:(1)在/etc/rc.d/rc.local文件中添加:sh startup.sh文件路径(在安装目录bin文件夹下);(2)把support/objectsjava/bin路径下的libmawt.so,放到support/jre/lib/i386/headless下面,原来support/jre/lib/i386/headless路径下的同名文件改成随便另外的名字。(64位SuperMap iServer Java 6R需要把libmawt.so文件放到support/jre/lib/amd64/headless下面)

问:图层中设置了风格符号,但是在三维场景中不能打开该图层。
答:带有任何风格符号的图层都不能向场景中添加。解决方法是将这些带有符号的图层单独做一个场景,然后再用sence.open方法打开

问:模型与场景间有空隙,如何消除?
答:在模型导出的时候将高度设为0即可。

问:为啥配置好了等值线,基准值和等值距,但是在进行空间分析的时候还是报错?
答:如果等值线,基准值和等值距配置正确,估计是分辨率的错误,重新修改一下分辨率就好了。

问:linux配置许可,当前环境变量使用自己的JDK,弹出框乱码
答:是因为系统自带JDK没有中文字体库的原因,可以删除系统JDK配置,让配置许可工具使用iServer6R中support中自带的JRE即可(iServer自带的JRE

已有中文字体库)

问:在linux中,oracle数据源连接失败
答:可以source下JDK和ObjectsJava的环境变量,然后进入到ObjectsJava的Bin目录下输入ldd libEngineOracle600.sdx

问:在三维中执行SQL查询(GetFeature3DsBySQLService)的时候报:对象 不支持此属性或者方法。
答:1:检查querySewrviceUrl地址是否正确。
2:确保查询条件中的数据源和数据集是下面的形式:getFeaturesBySQLParameters.datasetNames = [dataSourceName + “:” + dataSetName],即“数据源:数据集”。

你可能感兴趣的:(云GIS,supermap,iServer,GIS,常见问题)