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

作者:朝阳


问:SuperMap iServer 7C 在linux上试用许可过期后,如何更新申请试用许可?
答:通过 com.supermap.license.jar 以命令行方式配置许可包括如下四个步骤:
(1)设置 Java 环境变量,并设置环境变量 LD_LIBRARY_PATH 为 com.supermap.license.jar 所在目录:

export PATH=./support/jre/bin/:$PATH
export LD_LIBRARY_PATH=./support/SuperMap_License/:$LD_LIBRARY_PATH

(2)获取本机运行报告,进入 SuperMapiServer7C\support\SuperMap_License 目录下,执行如下命令并指定生成的本机信息文件所存放的路径,在指定的路径下生成 .report文件:java -jar com.supermap.license.jar -report /路径名/.report
(3)使用本机运行报告申请试用许可。
将上面步骤生成的本机信息文件(.report)上传到SuperMap 7C 产品试用许可申请地址:http://istore.supermap.com.cn/License/license7C.aspx,北京超图软件股份有限公司将根据您的申请生成.v2c 试用许可文件并返回给您,您通过该文件配置试用许可。
(4)许可生效,将您获得的*.v2c 试用许可文件指定到文件位置,执行如下命令:
java -jar com.supermap.license.jar -update /路径名/*.v2c
此外,可执行 java -jar com.superamp.license.jar -help 查看配置许可的相关命令。SuperMap iServer7C SP1 及以后版本才支持生成运行报告文件。

问:使用SuperMap iServer发布网络数据集,发布之后SuperMap iServer自动停止,重启也启动不了,这是什么原因,如何解决?
答:这主要是由于SuperMap iServer发布网络数据集后占用的内存过大引起的,这种情况一般发生在32位的SuperMap iServer下。将SuperMap iServer换成64位即可解决该问题。

问:如果忘记 SuperMap iServer 初始化时创建的管理员账户密码怎么办?
答:SuperMap iServer服务启动后会自动将用户和角色存储于【SuperMap iServer_HOME】\webapps\iserver\WEB-INF\shiro.ini 中,如果忘记系统初始化时的管理员账户密码,可以通过以下操作重新创建管理员账户:(1) 打开 shiro.ini,在[users]中找到管理员账户,格式如:<管理员账户名> = **, admin,system;(2) 删除上述管理员账户,即删除整行文字,保存文件;(3) 重启 SuperMap iServer 服务,访问 iServer 首页时系统会自动跳转到创建管理员账户界面,此时只需重新创建管理员账户即可。

问:SuperMap iServer Java 6R支持哪些数据库?
答:SuperMap iServer Java 6R 32位版本支持的数据库有:SQL Server(2000/2005/2008)、Oracle(9i/10g/11g)、Oracle Spatial(9i/10g/11g,iServer6.1.3及之前版本仅支持点、线、面和文本数据集)、KingBase(KingbaseES V4 / KingbaseES V6)、DB2(9.7及以上版本)、PostgreSQL(8.3及以上版本);SuperMap iServer Java 6R 64位版本支持的数据库有:SQL Server(2000/2005/2008)、Oracle(9i/10g/11g)、Oracle Spatial(9i/10g/11g,iServer6.1.3及之前版本仅支持点、线、面和文本数据集)。

问:在SuperMap Deskpro.NET中配置的地图,通过SuperMap iServer Java 6R发布成地图服务后浏览地图,发现标签专题图只显示一部分标签,这是什么原因?
答:可能是由于地图中的标签专题图设置了流动显示导致标签显示不全,去掉流动显示即可。如果去掉觉得标签太少,可以在SuperMap Deskpro .NET中给标签专题图设置固定循环显示。

问:通过SuperMap iServer Java 6R将工作空间数据发布成WMTS服务,WMTS服务如何使用缓存?
答:WMTS服务缓存的使用方式和Rest地图服务缓存使用方式(参考SuperMap iServer Java 6R帮助文档 开始 > 配置管理 > 二维地图缓存的配置)一样,并且客户端(如:iClient 6R for JavaScript)调用时需要设置SuperMap.Layer.WMTS的属性,如:resolutions(预缓存时的scale可以通过resolution和DPI计算得到)、transparent、tileSize、format等要与预缓存时设置的参数一致。

问:如何修改SuperMap iServer Java 6R的端口?
答:SuperMap iServer Java 6R产品包默认部署在 Tomcat 中,Tomcat默认使用了 8090、8015端口。具体方法是修改%SuperMap iServer Java_HOME%/conf/server.xml中的相关端口,如:<Server port="8016" ……>、<Connector port="8091" …… redirectPort="8454" ……>,然后重新启动 SuperMap iServer Java 6R。

问:3.1缓存为什么在iServer 6R sp3上使用有偏移,已经修改过cacheVersion为3.1了
答:3.1缓存出图的DPI为76.2 而iServer sp3默认出图DPI为96,只需要修改iServer安装目录下support\objectsjava\bin\SuperMap.xml文件中

<CustomDPIX>96</CustomDPIX>
<CustomDPIY>96</CustomDPIY> 

2个节点值即可

问:如何避免iServer6R sp3 关闭窗口,服务自动重启?
答:可以修改iServer安装目录下\webapps\iserver\WEB-INF\iserver-system.xml文件,在properties节点中增加<restartWhenCrash>false</restartWhenCrash> 即可

问:为什么iServer快速发布含有网络数据集的工作空间不能勾选网络分析服务?
答:这是由于您数据源中包含多个网络数据集,快速发布只能含有一个网络数据集,如果含有多个网络数据集,那么可以手动创建服务提供者,服务组件,服务接口来进行发布.

问:切的预缓存的图片背景是透明的,客户端怎么设置呢?
答:在JS客户端初始化layer的时候设置transparent为true。在Flex客户端中,在layer标签里面设置transparent为true。

问:为什么使用分布式切图服务时有的子节点不切图
答:请检查子节点的地图数据,如果使用的是文件型数据源,需要保证子节点的地图数据与父节点的数据具有相同的路径

问:如何设置数据在iServer Manager中浏览固定比例尺地图?
答:iServer SP3支持数据预设固定比例尺(之前版本不行)
故,只要数据在配图的时候设置了固定比例尺,那么在发布地图后,在iServer Manager中浏览就可以看到浏览到所设置的比例尺.

问:再使用restAPI调用数据date查询时,返回对象的json都是很多url表示,每个url中才属性信息,如何让其直接返回?
答:可以让你在请求url的参数中添加returnContent=true属性.
如(http://localhost:8090/iserver/services/components-rest/rest/data/featureResults.json?returnContent=true)
这样就能直接返回结果了

问:使用iServer发布的WMTS服务,不出图
答:不出图很大可能是参数没写对,最基本的参数如layer,matrixSet,format,style ,这些参数可以wmts服务的url中找到,也可以在资源中心技术文章中搜索SuperMap iClient如何使用WMTS地图服务,里面有详细介绍.

问:使用WFS查询,为什么最多只能查2000个结果?
答:在webapps\iserver\WEB-INF文件夹下的iserver-services-interfaces.xml文件里的节点下添加 期望返回的结果即可。

问:geometry缓冲区分析填写很小的值500为什么分析是全图?

答:由于分析对象单位和地图单位一致,如WGS1984,那么分析半径就是500度,也就是全副了。解决办法可以在客户端度转米下,另外7C及以上最新版本将支持几何对象缓冲区分析传入SRID投影信息,将来就不需要转换了。

问:为什么启动服务后访问服务管理器(WebManager)时,服务器返回401
答:如果以前在同一浏览器使用了SuperMap iServer 6R(2012) 6.1.3的Beta或RC版,升级到SuperMap iServer 6R(2012) 6.1.3的正式版时,可能会出现401错误。因为SuperMap iServer 在 6.1.3正式版升级了安全登录的Cookie信息,如果使用旧版本的产品时点击过登录页面的“记住我”,则访问6.1.3 正式版产品时就可能因浏览器保存的旧的Cookie信息而导致401错误

问:iServer6R 出图慢,如何优化?
答:可以预先切好缓存,具体方法可以参照资源中心里面的技术文章【5.0缓存使用】

问:通过客户端制作统计专题图的时候,某些统计专题图显示不完整,缺少了一部分,是什么原因造成的?
答:这主要是由于出图造成的,可以修改SuperMap Objects Java的参数来解决这个问题。打开目录【iServer\support\objectsjava\bin】并打开SuperMap.xml文件,修改IsMapInflated参数为TRUE即可解决。

问:linux上启动iServer报端口被占用?
答:1.可以修改端口号,安装目录下conf\server.xml,修改8090启动端口和8015关闭端口。
2.可以使用lsof tcp:8090 查看端口号被哪个程序占用,如果这个程序可以关闭,那么直接kill -9 pid号删掉即可

问:通过服务配置文件修改服务实例名称后,原有授权信息为什么失效?
答:通过服务配置文件修改服务实例名称(即“服务组件/服务接口”)后,服务实例会被系统视为全新的服务,默认为“任何用户都可以访问”。管理员可以在服务管理器中对新的服务实例重新授权并手动删除 shiro.ini(WEB-INF下)中原服务的授权信息,或直接手动修改 shiro.ini,将原服务实例名更新为新的服务实例名。修改shiro.ini的方法是,找到[instances]节点,更新服务实例名称并与授权角色对应,格式如:<服务实例名称>= PRIVATE,role1,role2。如果需要重新命名服务实例且保留授权信息,建议通过服务管理器(WebManager)来修改,这样系统会自动更新服务实例名匹配原有的授权角色。

问:SuperMap iServer Java 6R如何使用5.0版本JPG_PNG格式的缓存切片?
答:通过SuperMap Deskpro.NET或SuperMap iServer预缓存功能切完5.0版本JPG_PNG格式缓存后,将缓存文件放到【SuperMap iServer_HOME】\webapps\iserver\output\cache目录。SuperMap iClient(如SuperMap iClient 6R for JavaScript)通过TiledDynamicRESTLayer调用地图时format参数使用默认值,并确保tileSize 、transparent、scales等参数与切预缓存时参数一致。

问:SuperMap iServer Java 6R如何使用5.0版本PNG8格式缓存切片?
答:通过SuperMap Deskpro.NET或SuperMap iServer预缓存功能切完5.0版本PNG8格式缓存后,将缓存文件放到【SuperMap iServer_HOME】\webapps\iserver\output\cache目录。再在SuperMap iServer 服务管理器中,服务提供者选项卡点击相应服务提供者的名称,进入服务提供者配置页面,修改服务提供者的配置信息:缓存版本选择5.0、首选PNG缓存图片类型选择PNG8(PNG8只在缓存版本为5.0时生效),修改完成后保存变更。SuperMap iClient(如SuperMap iClient 6R for JavaScript)通过TiledDynamicRESTLayer调用地图时format参数使用“png”,并确保tileSize 、transparent、scales等参数与切预缓存时参数一致。

问:SuperMap iServer Java 6R进行SQL查询,查询条件中含有“=”时,在数据集对应的属性表中是存在的,但查询结果为什么总为空?
答:可能是SuperMap iServer Java 6R的queryFilter新特性queryFilter导致的。SuperMap iServer Java 6R配置文件【SuperMap iServer_HOME】\webapps\iserver\WEB-INF\iserver-system.xml里面有个queryFilter节点,把enabled改为false即可。

问:在SuperMap Deskpro.NET中将地图图层重命名后,但进行查询时需要使用的是图层名称,在SuperMap iServer Java 6R中怎样查看图层的名称?
答:可以通过访问图层对应的layer资源获取图层的各种信息,例如访问“世界地图”的Capitals@World 图层layer资源:http://localhost:8090/iserver/services/map-world/rest/maps/World/layers/Capitals@World.1@@World.html

问:如何查看 SuperMap iServer 当前所用的 SuperMap iObjects Java 的位置以及版本号
答:在 %SuperMap iServer_HOME%/bin 目录下提供了 iserver.bat/iserver.sh 来启动和调试 SuperMap iServer。在命令行中使用“iserver.bat -v”(Linux/Unix 平台使用 “./iserver.sh -v”),即可显示出当前 SuperMap iServer 所用的 SuperMap iObjects Java 位置和版本号。

问:是用restAPI发请求,当get请求参数过长时,如何解决?
答:可以使用post模拟get请求,只需要在请求体后加_method=GET即可

问:64位iServer,发布64位oracle数据源失败,为何?
答:1.看下当前环境变量中是否32位oracle客户端或者32位oracle客户端环境变量在前面(path中看)
2.本地网络服务名是否是deskpro连接的时候写的。
3.检查用oracle户名和密码

问:Deskpro.NET所切5.0缓存哈希码,为什么和iServer生成的不同?
答:1.首选确定是否是同一个大版本,如Deskpro.NET sp3,iServer也是sp3。
2.其次是否是切同一个数据。
3.最后在看下是否是客户端代码的问题,如图片是否是切的大小,是否代码写了背景透明但是切图的时候不是背景透明。

问:windows上原本可以使用的oracle,当装了自己的jdk后,Oracle 数据源连接失败?如何解决?
答:部署 iServer 服务时,所使用的 JDK/JRE 路径中不能含有括号,否则会导致 Oracle 数据源连接失败,可以修改安装jdk目录或者将iServer中自带jre配置到path中

问:更新和升级SuperMap iServer Java产品包中使用的 SuperMap iObjects Java 时需要注意什么?
答:更新位于 %SuperMap iServer_HOME%\support\Objectsjava\bin 目录的 iObjects 产品包时,请同时更新 %SuperMap iServer_HOME%\webapps\iserver\WEB-INF\lib 目录中的组件JAR包,即名称以“com.supermap.”开头的JAR包。请确保这两个位置的组件包版本一致。

问:配置集群服务之后,如何使用服务才能起到集群的效果?
答:只需要使用的服务地址是启用集群,并且有其他GIS服务器加入的GIS服务器,所对应的iServer提供的服务地址即可。

问:如何设置才能使得iServer与自己配置的catalina_home、catalina_base、java_home、ugo_home环境变量不冲突?
答:需要修改iServerJava6R目录\bin目录中的catalina.bat、startup.bat、shutdown.bat这三个文件:
catalina.bat:将117行if not “%CATALINA_HOME%” == “” goto gotHome、
119行if exist “%CATALINA_HOME%\bin\catalina.bat” goto okHome删除;
startup.bat:将26行if not “%CATALINA_HOME%” == “” goto gotHome删除
shutdown.bat:将26行if not “%CATALINA_HOME%” == “” goto gotHome删除

问:iServer如何才可以发布海图服务?
答:首先需要确保有iServer高级版、海图服务这两个许可,然后直接将包含海图的工作空间用iServer以发布REST地图服务的方式来发布就可。

问:在进行分布式切图时,总是连接FastDFS失败,这是什么原因导致?
答:这个可能是Linux环境的防火墙开启导致的,请关闭防火墙再重新连接。

问:iServer6.1.3能否将iDesktop7C所制作的工作空间发布为地图服务?
答:只有将工作空间保存为UGC6.0及其以下版本的工作空间才可以成功发布,如果是UGC7.0能服务无法正常使用。

问:在访问地图服务时,提示:com.supermap.services.rest.HttpException: 请求url /iserver/services/map-china400/rest/maps/China/maps.json 与资源map 的 url 模板不匹配。
答:这个可能是因为地图服务的来源URL地址错误或者无法连接到URL来源服务导致的,检查来源服务以及URL的正确性即可。

问:Linux上,iServer6R已经正常启动,但是其他机器连接该服务器的地图服务无法正常浏览显示?
答:这个可能是因为Linux的防火墙开启了,将iServer6R的服务端口屏蔽了;只需要将防火墙关闭即可。

问:在外网中无法通过REST API的方式获取内网iServer发布的地图服务的地图图层的图例图片?
答:这个是因为地图名称和图层名称中含有中文造成的;只需要在发送请求之前对字符串进行UTF-8进行编码处理即可。

问:iServer的交通换成分析服务能否指定点的坐标来实现交通换乘线路查询?
答:这个可以参照iServer的交通换乘分析服务的API的帮助,该points参数既可以是起止公交站点也可以是起止点的坐标指定的点。

问:在配置使用iServer6R的预缓存时,iServer服务端需要哪些设置?
答:①在iServer6R的配置文件中找到对应的REST地图服务提供者(UGCMapProvider)Provider标签,配置文件在iserver6R安装目录\webapps\iserver\WEB-INF下,如果是iServer6R自带的地图服务则在iserver-services-samples.xml配置文件下;如果是用户自己发布的地图服务则在iserver-services.xml配置文件下;②在REST地图服务所对应的地图服务提供者(UGCMapProvider)标签下的中添加表示缓存版本的标签(如果是5.0则表示使用5.0的缓存,3.1和4.0与此一致)③如果用户切预缓存的设置中索引范围和地图范围不一致则需要在REST地图服务所对应的地图服务提供者(UGCMapProvider)标签下的中添加表示索引起始位置的标签XY(X表示索引范围的左上角点的x坐标,Y表示索引范围的左上角点的y坐标);④如果使用的是紧凑型缓存,需要将false设置为true,将true设置为false;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值