安装与部署

  1. 如何部署新的服务?
  2. 安装 SuperMap iServer 7C 以前版本时,最后一步安装 License Manager 的时候出现问题怎么办?
  3. 启动 SuperMap iEdge 服务时,环境检查不通过的几种可能原因及解决方法。
  4. 为什么启动 iEdge 服务时,出现 iServer 实际使用的 UGO 版本较低,不推荐使用的警告?
  5. 更新和升级 iEdge 产品包中使用的 SuperMap iObjects Java 时需要注意什么?
  6. 为什么启动 iEdge 服务时,报以下类似错误:“java.lang.UnsatisfiedLinkError: D:\SuperMap\SuperMap Objects Java 6R\Bin\Wrapj600.dll: 找不到指定的程序”?
  7. 为什么启动 iEdge 服务时,报端口占用错误,导致 iServer 服务启动失败?
  8. 为什么运行 iEdge 过程中报如下错误:“java.lang.OutOfMemoryError: unable to create new native thread”?
  9. SuperMap iEdge 服务崩溃的可能原因有哪些?
  10. SuperMap iServer 在非正常关闭的情况下,服务为什么会自动重启?
  11. SuperMap iServer 在 Tomcat 等 Java Web 容器中,以 Windows 服务形式启动时,日志文件放在哪里?
  12. 在 windows 系统上启动 SuperMap iEdge 时,如果在控制台中出现:The APR based Apache Tomcat Native library which allows optimal porformance in production environments was not found on the java.library.path,怎么办?
  13. 停止 iServer 时,bin 下为什么会生成 *.mdmp 文件,导致磁盘占用过多?
  14. 如果iServer所在的操作系统配置了多个IP,如何指定iServer服务所使用的IP?
  15. 跨平台与中间件

  16. 在 WebLogic 上部署成功的 iEdge 服务,通过 WebLogic 的管理页面更新之后,再次访问时出现“HTTP 500 内部服务器错误”?
  17. 为什么在 WebLogic 上部署 iEdge 服务失败,并抛出 PermGen space 的错误信息?
  18. 在 Linux 系统下使用 iEdge 时,如何设置才能监视 iServer 与数据库型数据源的连通情况?
  19. 为什么在 Linux 系统上启动 iEdge 服务时,报以下类似错误:“Exception in thread "main" java.lang.UnsatisfiedLinkError: 【libWrapj600.so】: home\SuperMapiServerJava6R\support\jre\lib\amd64\headless\libmawt.so: symbol awt_FreeDrawingSurface, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference ”?
  20. 为什么有时候在Linux下启动 iEdge 时出现以下错误:“../libWrapj.so:libpng12.so.0:无法打开共享对象文件;没有那个文件或目录?”
  21. 为什么在 SUSE Linux Enterprise 11 SP2 操作系统上无法启动 iEdge 服务?
  22. 为什么在 Linux 系统上启动 iEdge 服务时,报如下类似错误:“Unable to set localhost. This prevents creation of a GUID”?
  23. Linux 系统没有图形界面,如何通过命令行方式配置 SuperMap iExpress 7C 使用许可?
  24. 在 Linux 64位操作系统上安装 SuperMap License Center 许可驱动程序时,有的会出现:“The 32bit support is missing. Please install the x86 compatibility packages required by your distribution and retry the installation. See the installation guide for more details.Aborting … “,如何解决?
  25. 如果在 Hyper-v 上运行的 Linux 操作系统中,安装7C 许可失败,或在重启系统后许可不可用,该如何解决?
  26. 在较低版本的 Linux 系统上使用7C 产品时,服务无法启动,support/objectsjava/bin/libWrapj.so 出现 libgomp.so 相关的错误,如何解决?
  27. 在 Linux 操作系统上安装 SuperMap License Center 许可驱动程序时,有时会出现:“hasp_update failed with status 65”错误信息,如何解决?
  28. 为什么使用远程工具(如:putty、SecureCRT、SSH)启动 Linux 机器上的 SuperMap iExpress 7C 服务后,访问服务首页报“Could not initialize class sun.awt.X11GraphicsEnvironment”或“系统环境检查不通过”错误,而在本机上启动服务,访问服务首页却正常?
  29. 为什么 Linux 系统中,启用多进程以后,重启 iEdge 时会启动失败?
  30. 服务访问

  31. 为什么访问 REST 服务或 WFS 服务时出现错误码500,并在日志中看到“警告:Java heap space”?
  32. 使用二维地图缓存时,需要注意什么?
  33. 为什么通过 JavaScript 的 httpxmlrequest 对象获取“World Map”的地图服务时正常而获取“世界地图_day”的地图服务时却没有结果?
  34. 如何配置 SuperMap iEdge,使支持跨域请求?
  35. 为什么获取透明图片时,并不透明,背景为黑色?
  36. 为什么有时候发送请求时服务器无法正确识别请求,即出现返回乱码、请求失败或者得到错误结果的情况?
  37. 为什么 SuperMapCloud 表述方式下,地图与云服务图层出现偏差;Tianditu 表述方式下,地图与天地图服务的图层出现偏差?
  38. 在浏览海图数据、标签专题图、符号专题图等时,出现部分要素被截断、显示不全的现象,应如何解决?
  39. 通过某比例尺获取的地图图片为什么与以前版本产品中同样比例尺下获取的地图图片不一样?
  40. iEdge_中对 REST 资源进行 POST 请求时_得到的结果资源 ID 为什么与 REST_API 请求示例中的不一样?
  41. 为什么对 iEdge 提供的地图服务进行查询时会出现如下错误“java.lang.OutOfMemoryError: Java heap space”?
  42. 为什么启动 SuperMap iExpress 7C 后,控制台会有网络数据检查不通过的警告?
  43. 为什么 SuperMap iEdge 提供的 WMTS 1.0.0服务在常用工具 Gaia 中打不开?
  44. 浏览地图时,为什么会出现同一标签中字体不同的情况?
  45. 配置管理

  46. 如果忘记 SuperMap iEdge 初始化时创建的管理员账户密码怎么办?
  47. 通过服务配置文件修改服务实例名称后,原有授权信息为什么失效?
  48. 为什么配置 CAS 认证服务器后,单点登录认证失败?
  49. 为什么将 FastDFS 地图切片集导出为 MBTiles 文件后,有时结果为白图或不正确?
  50. 数据库

  51. iEdge 对部署路径有哪些要求?
  52. 当 KML 文件中包含模型数据的时候,如何发布成 SuperMap 3D 服务?
  53. 使用 64 位的 SuperMap iEdge 发布 Oracle 数据源的数据,为什么服务内容为空?
  54. 如何调整数据库检查的频率?
  55. 在 Linux 平台上,使用 SuperMap iEdge 发布包含 Oracle(非 10.1 版本) 数据源的文件型工作空间时,为什么服务内容为空?
  56. 数据查询中采用关联外表查询条件时,如果关联的数据库为Oracle,为什么有时候查询结果为空?

 

 

  1. 如何部署新的服务?
  2. 答:请参见 GIS 服务的快速发布服务介绍体系结构中各层的配置

     

  3. 安装 SuperMap iServer 7C 以前版本时,最后一步安装 License Manager 的时候出现问题怎么办?
  4. 答:首先,License Manager 是独立安装的,不影响 SuperMap iServer 的安装。产品安装包里附带的是最新的 SuperMap License Manager 版本,如果原机器中已经装有 SuperMap License Manager 6,会出现此问题。解决办法:

    (1) 不必安装安装包里附带的新版本 License Manager ,继续使用以前版本进行 License 配置;

    (2) 卸载以前版本的 License Manager,安装本产品安装包附带的 SuperMap License Manager 6R,位置在“安装包根目录\LicenseManager”下。

     

  5. 启动 SuperMap iExpress 7C 服务时,环境检查不通过的几种可能原因及解决方法。
  6. 答:SuperMap iExpress 7C 服务需要配置 JRE 1.6 或以上版本、SuperMap iObjects Java,需要配置 SuperMap iServer 7C 的使用许可。

    在 %SuperMap iServer_HOME%\bin 目录下使用“iserver.bat -v”(Linux/Unix 平台使用 “./iserver.sh -v”)可以查看当前 SuperMap iServer 的版本及配置信息。可能原因及解决方法如下:

    (1) SuperMap iExpress 许可配置不正确,请确保使用许可已正确配置。许可的配置请参见许可配置说明

    (2) JRE/JDK 版本过低或者不兼容。SuperMap iExpress 支持1.8以上版本的 JRE/JDK。

    (3) SuperMap iObjects Java 安装不完整或者不正确(使用 war 包的情况,其他发行包已自带),请确保 SuperMap iObjects Java 已正确安装并设置环境变量,即设置 UGO_HOME 为 SuperMap iObjects Java 的目录,并在系统的 PATH 环境变量中添加 %UGO_HOME%\Bin。

    (4) SuperMap iObjects Java 的版本不正确,此时可能是 SuperMap iObjects Java 的版本过低,或与 JRE/JDK 的版本不对应(若使用32 bit 的 JRE/JDK,则需要使用32 bit 的 SuperMap iObjects Java;若使用64 bit 的 JRE/JDK,则需要使用64 bit 的 SuperMap iObjects Java)。请升级 SuperMap iObjects Java。

     

  7. 为什么启动 iServer 服务时,出现 iServer 实际使用的 UGO 版本较低,不推荐使用的警告?
  8. 答:iServer 服务需要配置 UGO,即 SuperMap iObjects Java,且 iServer 实际使用的 SuperMap iObjects Java 版本不能低于 iServer 期望使用的版本。默认情况下,iServer 使用自带的 SuperMap iObjects Java,位于 %SuperMap iServer_HOME%\support\Objectsjava\bin 目录。您可以通过在 %SuperMap iServer_HOME%\bin 目录下使用“iserver.bat -v”(Linux/Unix 平台使用 “./iserver.sh -v”)查看 iServer 当前使用的 SuperMap iObjects Java 版本信息。

     

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

  11. 为什么启动 iEdge 服务时,报以下类似错误:“java.lang.UnsatisfiedLinkError: D:\SuperMap\SuperMap Objects Java 6R\Bin\Wrapj600.dll: 找不到指定的程序”?
  12. 答:可能的原因及解决办法有:

    (1) JRE/JDK 版本过低或者不兼容。请下载安装 JRE(1.8及以上版本)并设置环境变量,即设置 JAVA_HOME 为 JDK 目录(如果安装的是 JRE,则设置 JRE_HOME 为 JRE 目录)。

     

  13. 为什么启动 iEdge 服务时,报端口占用错误,导致 iEdge 服务启动失败?
  14. 答:SuperMap iEdge 产品包默认部署在 Tomcat 中,Tomcat 默认使用了 8090、8015端口,这两个端口被占用则无法正常启动服务。可以通过以下两种方式解决:

    (1) 请退出占用端口的程序,然后重新启动 SuperMap iEdge。目前已知的可能占用 8090 端口的程序有:360 杀毒软件的自动升级程序。

    (2) 修改 SuperMap iEdge 产品包中 Tomcat 的端口号,然后重新启动 SuperMap iEdge。具体方法是修改%SuperMap iEdge_HOME%/conf/server.xml 中的相关端口,如:<Server port="8016" ……>、<Connector port="8091" …… redirectPort="8454" ……>。

     

     

  15. 为什么运行 SuperMap iServer 过程中报如下错误:“java.lang.OutOfMemoryError: unable to create new native thread”?
  16. 答:SuperMap iServer 中,线程池中创建线程时会在操作系统里创建一个真正的物理线程,在某些内存小的机器上,当发布的数据量大、访问量大时,因处理高并发的请求,操作系统创建物理线程所需的内存空间会跟 Java 虚拟机堆产生内存竞争,由此导致线程创建失败(iServer 32位安装包默认分配的最大的 Java 虚拟机内存为512M,最大线程数为300)。可通过如下方式解决:

    (1) 减少分配给 java 虚拟机的内存;修改 Java 虚拟机参数,例如在 windows 版的 iServer 包中,修改 %SuperMap iServer_HOME%/bin/catalina.bat 中的 JAVA_OPTS,设置 -Xmx512m 为更小值;

    (2) 减少 tomcat 连接池的活动线程数;修改 %SuperMap iServer_HOME%/conf/server.xml 中,<Executor/>节点的 maxThreads 为更小值。

     

  17. SuperMap iServer 服务崩溃的可能原因有哪些?
  18. 答:有如下可能原因:

    (1)若在使用地图服务时崩溃,请检查本机是否安装并开启了金山毒霸杀毒软件。开启金山毒霸可能会导致 iServer 服务崩溃。

    (2)已知 Tomcat 7.0.29 版本会导致内存泄露,更换为其他 Tomcat 版本,如 Tomcat 7.0.26 即可。

     

  19. SuperMap iEdge 在非正常关闭的情况下,服务为什么会自动重启?
  20. 答:这是为了在 iEdge 服务异常的情况下,通过服务自动重启来保证 iEdge 继续正确工作。自动重启功能在如下场景中有效:

    • iServer Windows/Linux 安装包,以命令行方式启动时

    自动重启功能不适用如下场景:

    • iEdge 以 Windows 服务启动时

    注意:SuperMap iEdge 可通过执行 shutdown.bat/shutdown.sh(位于【SuperMap iEdge 安装目录】\bin 下)或按住键盘上的 Ctrl+C 键结束服务,来正常关闭,详细请参见服务器的启动/停止

    系统配置文件(iserver-system.xml)中<properties> 节点下的<restartWhenCrash>参数,可用于控制是否启用该功能。

     

  21. SuperMap iEdge 在 Tomcat 等 Java Web 容器中,以 Windows 服务形式启动时,日志文件放在哪里?
  22. 答:当 SuperMap iEdge 以 Windows 服务形式启动时,以部署到 Tomcat 中为例,在【SuperMap iEdge 安装目录】\webapps\iserver\WEB-INF\iserver-log4j.properties 文件中,指定了日志文件的存放路径:log4j.appender.F.File=../logs/iserver.log,因此 logs 文件夹放在服务启动文件(cmd.exe)的上一级目录下,即日志文件的存放位置为:C:\Windows\logs\。

    另外,用户可以修改上述 log4j.properties 文件,把指定的存放 log 文件的相对路径改为绝对路径,例如:log4j.appender.F.File=D:/Tomcat /logs/iserver.log。

     

  23. 在 windows 系统上启动 SuperMap iEdge 时,如果在控制台中出现:The APR based Apache Tomcat Native library which allows optimal porformance in production environments was not found on the java.library.path,怎么办?
  24. 答:此条信息不影响 iEdge 服务。可以将【SuperMap iEdge 安装目录】\bin\x64(或 x86)目录下的 tcnative-1.dll 动态库文件拷贝到【SuperMap iEdge 安装目录】\bin 目录下即可。需要注意的是,x64 目录下的 tcnative-1.dll 动态库文件对应的 windows x64 系统, x86 目录下的 tcnative-1.dll 动态库文件对应的 windows x86 系统,用户需要根据自身的操作系统类型拷贝相应目录下的 tcnative-1.dll 动态库文件到 bin 目录下。

     

  25. 停止 iEdge 时,bin 下为什么会生成 *.mdmp 文件,导致磁盘占用过多?
  26. 答:停止 iEdge 时,请使用 shutdown.bat/sh,而不是 Ctrl+C 命令。

     

  27. 如果iEdge所在的操作系统配置了多个IP,如何指定iEdge服务所使用的IP?
  28. 答:您可以通过修改Catalina.bat中的Java虚拟机参数中的-Diserver_ip来指定iServer所使用的IP。即:修改 %SuperMap iEdge_HOME%/bin/catalina.bat 中的 JAVA_OPTS,设置-Diserver_ip为期望的IP,如:

    set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1536m -XX:MaxPermSize=192m -Xss512k -Diserver_ip=192.168.12.13

     

  29. 在 WebLogic 上部署成功的 iEdge 服务,通过 WebLogic 的管理页面更新之后,再次访问时出现“HTTP 500 内部服务器错误”?
  30. 答:这是由于部署 iEdge 服务时需要加载自带的动态链接库,首次部署时该动态链接库已经被加载,导致更新时加载失败。解决方法:更新 iServer 之后,请在 WebLogic 的管理页面重启部署 iEdge 所用的服务器(Server)。

     

  31. 为什么在 WebLogic 上部署 iEdge 服务失败,并抛出 PermGen space 的错误信息?
  32. 答:这是因为 PermSize 大小不能满足 iEdge 需求。请将当前所使用 WebLogic 域的 PermSize 设为 256M。如 Windows 系统上创建的 WebLogic 域为 C:\wls1033_dev\user_projects\domains\SuperMapiServer,则在 C:\wls1033_dev\user_projects\domains\SuperMapiServer\bin\startWebLogic.cmd 的如下位置加上第二行:

    @REM Call setDomainEnv here.
    set JAVA_OPTIONS=-XX:MaxPermSize=256M
    set DOMAIN_HOME=D:\MIDDLE~1\WLS103~2\user_projects\domains\base_domain
    for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi
    call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*
    set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS%
    set SAVE_CLASSPATH=%CLASSPATH%  

     

  33. 在 Linux 系统下使用 iEdge 时,如何设置才能监视 iEdge 与数据库型数据源的连通情况?
  34. 答:在启动 iEdge 服务前,以 root 用户执行如下命令:

    echo 5 > /proc/sys/net/ipv4/tcp_retries2

    这样,当数据库连接断开时,iServer 中将提示:****工作空间连接失败。

     

  35. 为什么在 Linux 系统上启动 iEdge 服务时,报以下类似错误:“Exception in thread "main" java.lang.UnsatisfiedLinkError: 【libWrapj600.so】: home\SuperMapiServer\support\jre\lib\amd64\headless\libmawt.so: symbol awt_FreeDrawingSurface, version SUNWprivate_1.1 not defined in file libmawt.so with link time reference ”?
  36. 答:如果使用 32 位的 iEdge,请用$SuperMap iObjects Java_HOME\bin 目录下的 libmawt.so 文件替换 $JRE_HOME\lib\i386\headless 目录中的 libmawt.so 文件;

    如果使用 64 位的 iEdge,请用 $SuperMap iObjects Java_HOME\bin 目录下的 libmawt.so 文件替换 $JRE_HOME\lib\amd64\headless 目录中的  libmawt.so 文件。

     

  37. 为什么有时候在Linux下启动 iServer 或 iPortal 时出现以下错误:“../libWrapj.so:libpng12.so.0:无法打开共享对象文件;没有那个文件或目录?”
  38. 答:由于当前系统中缺少libpng12库文件所致,安装与系统匹配的libpng12库文件即可解决。

    您可以直接使用系统盘完成库安装,也可以使用产品包中提供的rpm包完成安装(【SuperMap iServer 安装目录】\SuperMapiServer8C\support\objectsjava\third_lib 或 【SuperMap iPortal 安装目录】\SuperMapiPortal8C\support\objectsjava\third_lib):

    (1)SUSE系统,通过yum install libpng12-0-1.2.44-7.1.x86_64.rpm

    (2)Redhat 或 CentOS,通过yum install libpng-1.2.10-17.el5_8.x86_64.rpm完成安装

     

  39. 为什么在 SUSE Linux Enterprise 11 SP2 操作系统上无法启动 iEdge 服务?
  40. 答:在 SUSE 上需要安装第三方数据库客户端才能正确加载 sdx 数据引擎。一个 sdx 加载失败会影响其他 sdx 数据引擎的加载,从而导致无法打开任何数据源或系统崩溃。需要依赖第三方数据库客户端的 sdx 数据引擎文件有:libSuEngineSRDB.sdx、libSuEngineOracle.sdx、libSuEngineDMCI.sdx、libSuEnginePG.sdx、libSuEngineOsp.sdx、libSuEngineAltibase.sdx、libSuEngineDB2.sdx。

    解决方法是:删除 $SuperMap Objects Java_HOME\bin 中不需要的数据库引擎文件(上述列表中的*.sdx)。例如:需要使用 Oracle 数据源,则首先安装 Oracle 客户端,然后删除 libSuEngineOracle.sdx 之外的上述所有*.sdx,再启动 iServer 服务。以此类推,如果需要使用其他数据库引擎,也进行相应的处理。

     

  41. 为什么在 Linux 系统上启动 iEdge 服务时,报如下类似错误:“Unable to set localhost. This prevents creation of a GUID”?
  42. 答:出现这种现象时,请在 /etc/hosts 文件中,配置主机名对应的 IP 地址,即将主机名映射到具体的 IP 地址。如加上下面最后一行,表示将机器名 linux-3z6l 映射到 192.168.112.213。

    # Syntax:  
    # IP-Address  Full-Qualified-Hostname  Short-Hostname
    127.0.0.1       localhost
    192.168.112.213 linux-3z6l linux-3z6l      
    		

     

  43. Linux 系统没有图形界面,如何通过命令行方式配置 SuperMap iExpress 7C 使用许可?
  44. 答:通过 com.supermap.license.jar 以命令行方式配置许可包括如下四个步骤:

    (1)设置 Java 环境变量,并设置环境变量 LD_LIBRARY_PATH 为 com.supermap.license.jar 所在目录:

    export=./support/jre/bin/

    export=./support/SuperMap_License/

    (2)获取本机信息,进入 SuperMapiExpress7C\support\SuperMap_License 目录下,执行如下命令并指定生成的本机信息文件所存放的路径,在指定的路径下生成 *.c2v 文件:

    java -jar com.supermap.license.jar -create /路径名/*.c2v

    (3)将本机信息提交给北京超图软件股份有限公司。

    将上面步骤生成的本机信息文件(*.c2v)提交给北京超图软件股份有限公司,北京超图软件股份有限公司将根据您的申请生成*.v2c 正式许可文件并返回给您,您通过该文件配置正式许可。

    (4)许可生效,将您获得的*.v2c 正式许可文件指定到文件位置,执行如下命令:

    java -jar com.supermap.license.jar -update /路径名/*.v2c

    此外,可执行 java -jar com.superamp.license.jar -help 查看配置使用许可的相关命令,详细请参见Linux 系统下的许可配置说明

     

  45. 在 Linux 64位操作系统上安装 SuperMap License Center 许可驱动程序时,有的会出现:“The 32bit support is missing. Please install the x86 compatibility packages required by your distribution and retry the installation. See the installation guide for more details.Aborting … “,如何解决?
  46. 答:因为该 Linux 64 位操作系统缺少 32bit 支持库,所以运行出错。解决方法是需要手动安装支持32位的支持库(参考如下列表),您可以加载系统盘补充安装相关库,或到相应系统的官网上获取相关库来安装。

    • libc6-i386 和 ia32-libs(Ubuntu)
    • libstdc++-devel.i686、glibc.i686、libgcc.i686、libstdc++.i686、glibc-devel.i686(RHEL、 CentOS、OpenSUSE、SLES 和 OES)
    • glibc-32bit(OpenSUSE、SLES 和 OES)

    对于 SUSE 系列10.3以上、Red Hat 系列5.5以上的操作系统,iServer 提供了一个脚本文件协助您安装上述依赖库。您只需要在启动 iServer 前,在【SuperMap iServer 产品目录】/SuperMapiServer7C/support/SuperMap_License/Support 下以如下方式运行:

    ./rpms_check_and_install_for_64bit.sh

     

  47. 如果在 Hyper-v 上运行的 Linux 操作系统中,安装7C 许可失败,或在重启系统后许可不可用,该如何解决?
  48. 答:如果遇到许可安装失败,或安装过的许可不可用,可以通过以下方法把驱动卸载后重新安装。

    (1)把/var/hasplm 目录删除,命令如下:

    cd /var

    rm -rf hasplm

    (2)卸载许可驱动:

    cd /SuperMapiServer7C/support/SuperMap_License/Support/aksusbd-2.2.1-i386

    ./dunst

    (3)重新安装许可驱动:

    ./dinst

     

  49. 在较低版本的 Linux 系统上使用7C 产品时,服务无法启动,support/objectsjava/bin/libWrapj.so 出现 libgomp.so 相关的错误,如何解决?
  50. 答:可能是因为系统缺少了相关的动态库文件所致,目前已知的文件有:libgomp-4.4.0-6.el5.i386.rpm 和 libgomp-4.4.0-6.el5.x86_64.rpm。

     

  51. 在 Linux 操作系统上安装 SuperMap License Center 许可驱动程序时,有时会出现:“hasp_update failed with status 65”错误信息,如何解决?
  52. 答:该错误提示可以忽略,当您重复安装许可驱动时,会出现该错误提示信息,表示当前计算机已导入过90天的试用许可,试用期内不影响许可的正常使用。如果已经过了90天试用期,请联系销售人员申请继续试用或正式购买(可通过在线商店购买短期许可)。

     

  53. 为什么使用远程工具(如:putty、SecureCRT、SSH)启动 Linux 机器上的 SuperMap iEdge 服务后,访问服务首页报“Could not initialize class sun.awt.X11GraphicsEnvironment”或“系统环境检查不通过”错误,而在本机上启动服务,访问服务首页却正常?
  54. 答:如果使用远程工具启动服务,需要首先登陆 Linux 机器,然后打开一个终端运行以下命令:

    (1)X:n&     在第 n 个屏幕上启动一个 XServer , n 为任意整数(如:22、30 等)。

    (2)export DISPLAY=:n.0     设置 DISPLAY 变量到本机的 XServer 服务器上,然后再重启服务即可。

     

  55. 为什么 Linux 系统中,启用多进程以后,重启iEdge时会启动失败?
  56. 答:可能是因为该系统的hostname对应的IP与系统实际的IP不一致,导致多进程的服务无法启动。使用单机多进程时,需确认hostname对应的IP与ifconfig查询到的IP一致。如果不一致,则修改/etc/hosts中hostnam对应的IP,与 ifconfig查询结果一致后,再启动iEdge即可。

     

  57. 为什么访问 REST 服务或 WFS 服务时出现错误码500,并在日志中看到“警告:Java heap space”?
  58. 答:Java 虚拟机内存对于某些服务不够用,所以出现上述错误。解决方法:修改 Java 虚拟机内存参数为更大,例如 -Xmx1024m,然后重启服务。

     

  59. 使用二维地图缓存时,需要注意什么?
  60. 答:制作二维地图缓存时,需要注意机器的 DPI,生成二维地图缓存的机器的 DPI 需要跟 SuperMap iEdge 服务器所在机器的 DPI 一致,才能保证缓存可用。

     

  61. 为什么通过 JavaScript 的 httpxmlrequest 对象获取“World Map”的地图服务时正常而获取“世界地图_day”的地图服务时却没有结果?
  62. 答:对于 URI 地址中的中文地图名称需要进行编码,比如对“世界地图_day”进行编码 var mapName= encodeURI(“世界地图_day”);使用编码后的地图名称的 URI 是 var uri="http://192.168.115.68:8090/iserver/services/maps/rest/maps/"+mapName+".json"。

     

  63. 如何配置 SuperMap iEdge,使支持跨域请求?
  64. 答:实现跨域有多种方式,在服务器端 SuperMap iServer 不仅提供了 JSONP 表述格式支持 Ajax 客户端的跨域请求,还提供了 Access Control 方式(参见:http://www.w3.org/TR/access-control/)支持跨域请求,可在 REST 接口(含 RestServlet、JaxrsServletForJersey)中进行配置,如下:

    Restlet 机制的 REST 接口的配置:

    <interface name="rest" class="com.supermap.services.rest.RestServlet">
            <config class="com.supermap.services.rest.RestConfig">
                    <accessControlAllowOrigin>*</accessControlAllowOrigin>
            </config>
    </interface>

    JaxRS 机制的 REST 接口的配置:

    <interface class="com.supermap.services.rest.JaxrsServletForJersey" name="restjsr">
            <config class="com.supermap.services.rest.JaxrsConfigForJersey">
                    <accessControlAllowOrigin>*</accessControlAllowOrigin>
            </config>
    </interface>

    其中<accessControlAllowOrigin/>标签的值对应支持跨域的请求来源,多个地址以英文逗号隔开,即资源可被来自这些地址的请求跨域访问。“*”表示服务可以被来自任何地址的请求跨域访问,不设表示不支持此种方式的跨域,SuperMap iServer 的配置文件中,rest、restjsr 接口默认配置的是“*”。

    根据 W3C 的跨域资源共享标准(http://www.w3.org/TR/access-control/),HTTP 响应中包含消息头 Access-Control-Allow-Origin 时,Access-Control-Allow-Origin 的值标识该资源可以被那些地址跨域使用,对应 Supermap iEdge 配置中的<accessControlAllowOrigin/>标签。Access-Control-Allow-Origin 消息头的值类似“http://sample1:8080”,标明资源可以被来自“http://sample1:8080”的请求跨域访问,多个地址以英文逗号隔开。

    对于非 GET 请求,在向服务器发送请求前,都会先发一个 OPTION 请求。按照 W3C 的跨域资源共享标准,服务器对 OPTION 的 HTTP 响应中,消息头需要包含 Access-Control-Allow-Origin、Access-Control-Allow-Methods 来标识资源是否可被跨域访问,消息头 Access-Control-Allow-Origin 的含义跟以上描述类似,消息头 Access-Control-Allow-Methods 标识了资源可以被哪些 HTTP 请求方法跨域访问,取值为“GET、HEAD、POST、PUT、DELET”中的一个或多个,多个 HTTP 方法以英文逗号隔开,区分大小写。

     

  65. 为什么获取透明图片时,并不透明,背景为黑色?
  66. 答:24 位以下的颜色深度不支持图片透明显示,此时需要检查操作系统的颜色深度设置,需要设置为24位或以上才支持图片透明显示。有如下几种情况影响 SuperMap iServer 出透明图片:

    (1) SuperMap iServer 服务器所在操作系统本身的颜色深度设置小于 24 位;

    (2) 远程连接来启动 SuperMap iServer 时,远程连接的显示选项中,颜色深度的设置小于 24 位;

    (3) SuperMap iServer 服务器所在的操作系统中,RDP-Tcp 属性设置中,客户端设置的“颜色深度最大值”一项小于 24 位,此时通过远程连接该服务器启动服务。

     

  67. 为什么有时候发送请求时服务器无法正确识别请求,即出现返回乱码、请求失败或者得到错误结果的情况?
  68. 答:发送的 HTTP 请求没有使用 UTF-8编码导致服务器无法识别所致。对于非 ASCII 字符,SuperMap iServer 默认使用 UTF-8编码,如果不是,则无法正确解析。

     

  69. 为什么 SuperMapCloud 表述方式下,地图与云服务图层出现偏差;Tianditu 表述方式下,地图与天地图服务的图层出现偏差?
  70. 答:由于 SuperMap 云服务的数据、天地图服务的数据按照国家有关规定进行了脱密处理,与原始数据不一致。

     

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

     

  73. 通过某比例尺获取的地图图片为什么与以前版本产品中同样比例尺下获取的地图图片不一样?
  74. 答:这是由于 SuperMap 产品体系中的比例尺是基于屏幕分辨率的,目前屏幕分辨率默认值为96dpi,而在 SuperMap iServer Java 6R(2012) 及以前的产品中,屏幕分辨率默认为76.2dpi,此变更从 SuperMap iServer Java 6R(2012) SP1开始生效。关于地图比例尺的详细介绍,请参考比例尺的定义

     

  75. iEdge 中对 REST 资源进行 POST 请求时,得到的结果资源 ID 为什么与 REST API 请求示例中的不一样?
  76. 答: newResourceID 作为操作结果资源的 ID 是一个随机数,如对 datasetBufferresults 资源执行 POST 请求后得到的结果资源 datasetBufferresult 的 ID,因此每次执行 POST 请求得到的结果子资源 ID 是不同的。

     

  77. 为什么对 iEdge 提供的地图服务进行查询时会出现如下错误“java.lang.OutOfMemoryError: Java heap space”?
  78. 答:可能是由于查询时返回的结果记录集中包含的对象数量过多造成的。可以采用以下方式限制一次返回的结果记录数从而避免此类问题:

    (1)客户端进行查询时,可以通过 expectCount 参数设置期望返回结果的记录数,使之限制在服务端可接受范围内。

    (2)服务器端可以设置默认返回记录数,iEdge 提供了 queryExpectCount 配置项(默认值为1000)来设置默认返回记录数,详见通过 XML 文件配置服务提供者

     

  79. 为什么启动 SuperMap iEdge 后,控制台会有网络数据检查不通过的警告?
  80. 答:启动 iEdge 服务时后台会对网络数据集和转向表进行检查,并抛出针对网络数据的警告,不影响其他功能的使用。如果需要使用交通网络分析功能,则应该根据警告日志调整网络数据以保证网络分析功能的正确性。

     

  81. 为什么 SuperMap iEdge 提供的 WMTS 1.0.0服务在常用工具 Gaia 中打不开?
  82. 答:Gaia 只识别<WGS84BoundingBox>节点,不识别<BoundingBox>节点,而 iServer 提供的 WMTS100接口的 GetCapabilities 中包含3857对应的<BoundingBox> 节点,所以在 Gaia 中无法打开 WMTS100服务。解决这个问题,需要用户自定义 WMTS 接口,比例尺集合应选择投影4326对应的比例尺集: GlobalCRS84Scale,GlobalCRSPixel,GooleCRS84Quad,ChinaPublicServices,当数据自身投影为4326时,也可以选择 Custom。

  83. 浏览地图时,为什么会出现同一标签中字体不同的情况?
  84. 答:因为部署 iServer 服务的系统中不存在该标签所使用的字体库。

    解决方法是:在该系统中,安装该标签所使用的字体库。例如:Linux下字体库的安装目录为 %SuperMap iServer_HOME%/support/fonts。详细说明请参见:安装后配置

     

  85. 如果忘记 SuperMap iEdge 初始化时创建的管理员账户密码怎么办?
  86. 答:在 SuperMap iEdge 的【SuperMap iEdge_HOME】\bin 目录下有个 passwordreset.bat/passwordreset.sh 文件,专门用来处理用户忘记系统初始化时的管理员账户密码问题。如果忘记系统初始化时的管理员账户密码,可以通过以下操作重新创建管理员账户:

    (1) 停止 SuperMap iEdge 服务,即执行 【SuperMap iEdge_HOME】\bin 目录下的  shutdown.bat /shutdown.sh 文件。

    (2) 执行 passwordreset.bat/passwordreset.sh 文件 。

    (3) 重启 SuperMap iEdge 服务,即执行 【SuperMap iEdge_HOME】\bin 目录下的 startup.bat/startup.sh 文件。服务启动后访问 iEdge 首页时,系统会自动跳转到创建管理员账户界面,此时只需重新创建管理员账户即可。

     

  87. 通过服务配置文件修改服务实例名称后,原有授权信息为什么失效?
  88. 答:通过服务配置文件修改服务实例名称(即“服务组件/服务接口”)后,服务实例会被系统视为全新的服务,默认为“任何用户都可以访问”。管理员可以在服务管理器中对新的服务实例重新授权并手动删除 shiro.ini(WEB-INF 下)中原服务的授权信息,或直接手动修改 shiro.ini,将原服务实例名更新为新的服务实例名。

    修改 shiro.ini 的方法是,找到[instances]节点,更新服务实例名称并与授权角色对应,格式如:

    <服务实例名称>= PRIVATE,role1,role2

    如果需要重新命名服务实例且保留授权信息,建议通过服务管理器(WebManager)来修改,这样系统会自动更新服务实例名匹配原有的授权角色。

     

  89. 为什么配置 CAS 认证服务器后,单点登录认证失败?
  90. 答:如果 CAS 认证服务器和 GIS 服务器不在同一台机器上,由于两台机器的时间差,可能导致登录验证不成功,这时需要调整两台机器的时间保持一致,或延长容错时间间隔,iServer(或 iPortal、iEdge)默认的时间差容限为 3 分钟。修改容错时间差容限的方法是编辑 shiro.ini(WEB-INF 下),修改 casRealm.tolerance 参数(单位为毫秒)如下:

    ...

    casRealm.enabled = false

    casRealm.reserveSystemAccount = true

    casRealm.casServerUrlPrefix = http://{ip}:{port}/cas

    casRealm.casService = http://{ip}:{port}/{contextPath}/shiro-cas

    casRealm.securityInfoDAO = $sqliteRealm

    casRealm.tolerance = 180000

    ...

     

  91. 为什么将 FastDFS 地图切片集导出为 MBTiles 文件后,有时结果为白图或不正确?
  92. 答:在 FastDFS 地图切片集正在写入时导出 MBTiles 文件,此时生成的文件可能不能包含最新的切图结果。如果地图切片集是第一次写入,此时导出的 MBTiles 可能出现白图;如果不是第一次写入,导出的 MBTiles 文件会不包含最新的结果,导致其中的切图结果不正确。

    因此,请等待 FastDFS 地图切片集写入完成后再导出 MBTiles 文件。

     

  93. iEdge 对部署路径有哪些要求?
  94. 答:部署 iEdge 服务时,所使用的 JDK/JRE 路径中不能含有括号,否则会导致 Oracle 数据源连接失败;

     

  95. 当 KML 文件中包含模型数据的时候,如何发布成 SuperMap 3D 服务?
  96. 答:当 KML 文件中包含模型数据的时候,需要将 KML 文件、模型数据和纹理一起打包,以 zip 格式压缩,然后将压缩包的扩展名改为 *.KMZ 格式后,才能发布成 SuperMap 3D 服务。

     

  97. 使用 64 位的 SuperMap iEdge 发布 Oracle 数据源的数据,为什么服务内容为空?
  98. 答:64 位的 SuperMap iEdge 打开 Oracle 数据源时需要使用 64 位的 Oracle 客户端,请确保当前系统正确安装配置了 64 位的 Oracle 客户端。

     

  99. 如何调整数据库检查的频率?
  100. 答:SuperMap iEdge 支持调整数据库检查的频率,即检查“数据库型 工作空间”是否改变或“数据库型数据源”是否断开的时间间隔。具体方法是:修改系统配置文件(iserver-system.xml)中的 <checkDatasourceConnectionInterval> 参数值。

     

  101. 在 Linux 平台上,使用 SuperMap iEdge 发布包含 Oracle(非 10.1 版本) 数据源的文件型工作空间时,为什么服务内容为空?
  102. 答:因为在 Linux 平台上,使用 Oracle Client 连接 Oracle Server 打开数据库时, UGO 缺少依赖文件 libcIntch.so.10.1。具体解决办法如下:

    (1)建立软连接。进入到 %ORCL_HOME%/lib 目录下,将文件 libcIntch.so.[版本号] 建立成名为 libcIntch.so.10.1 的软连接,即运行命令 ln –s libcIntch.so.[版本号] libcIntchso.10.1,如下图所示:

    (2)验证 UGO 依赖是否正确。到 UGO 目录下执行命令行 ldd –d libSuEngineOracle.so,然后查看输出信息,如果没有出现“not found”等提示信息,则 UGO 依赖正确。重启 SuperMap iEdge 服务后,包含 Oracle 数据源的工作空间对应的服务即可正常访问。

     

  103. 数据查询中采用关联外表查询条件时,如果关联的数据库为Oracle,为什么有时候查询结果为空?
  104. 答:因为对 Oracle 数据库查询时,如果查询的数据集加字段名超过27个字符,则将不能成功查询。因此,在设置查询条件时,请确认查询的数据集名加字段名不超过27个字符。