超图GIS新手必看:常用地址、日志目录与常见问题全汇总
超图(SuperMap)是国内领先的GIS平台提供商,提供了服务端、桌面客户端、移动端软件和开发SDK。本文收集了超图相关的常用地址、iServer相关日志目录和桌面客户端(iDesktop)、服务器软件(iServer)、开发SDK(iObjects),方便大家入门超图国产GIS平台。
常用地址
资源中心:http://support.supermap.com.cn/
商店:https://www.supermapol.com/subscription/time-license/desktop
许可中心:http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx
iServer在线服务:http://support.supermap.com.cn:8090/iserver/
iServer联机帮助:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/index.htm
iDesktop在线帮助:https://help.supermap.com/iDesktop/zh/
开发文档:https://iclient.supermap.io/i
Maven仓库:https://maven.supermap.io/
常用软件
iDesktop
SuperMap iDesktop是一款桌面端的地理信息桌面软件,具备数据管理、地图制图、空间分析、三维场景构建等功能,支持二三维一体化的数据处理与可视化表达。用户可通过其交互界面完成从基础数据编辑到复杂空间建模的全流程工作,适用于数据生产、地图设计与初步分析等场景。
iDesktopX
SuperMap iDesktopX 是超图软件推出的一款跨平台、专业化的桌面端 GIS 产品,它在继承传统 iDesktop 强大功能的基础上,进一步拓展了跨平台能力、数据处理效率与二次开发灵活性。与上一代主要依赖 Windows 环境的 iDesktop 不同,iDesktopX 原生支持 Windows、Linux 等多种操作系统,并适配多种国产 CPU 与操作系统环境,满足信创国产化需求。
iServer
SuperMap iServer是基于服务器端的企业级GIS平台,提供地图服务、空间数据管理、分析处理及服务聚合与发布能力。它能将GIS能力以OGC标准、REST等接口形式对外输出,支持云环境部署与多端访问,便于构建集中式或分布式的地理信息应用系统。
iObjects
SuperMap iObjects是一套面向GIS二次开发的组件库,提供丰富的API接口与对象模型,支持C++、Java、.NET等多种开发语言。开发者可基于该组件在桌面或服务端深度定制空间数据处理、分析算法及可视化功能,实现复杂业务逻辑与专业GIS能力的无缝融合。
日志目录
iDesktop日志
iDesktop日志:D:\SuperMap\SuperMap iDesktop 11i\Bin\log\Desktop\2023年11月10日.log
iObjects日志:D:\SuperMap\SuperMap iDesktop 11i\Bin\log\iObjects.2023.11.10.log
iServer日志
iServer错误日志:D:\SuperMap\supermap-iserver-11.0.1-windows-x64\logs\iserver.log
iObject错误日志:D:\SuperMap\supermap-iserver-11.0.1-windows-x64\support\objectsjava\bin\log\iObjects.2023.09.25.log
常见问题
iDesktop常见问题
1、如何使用超图iDesktop构建二维网络?
(1)打开iDesktop,打开网络工作空间 Network.smwu。
(2)点击工作空间管理器中的数据源,点击交通分析菜单中的拓扑构网、构建二维网络。
(3)在构建二维网络对话框中,点击添加,添加需要构建网络的点和线数据。数据集即生成的网络数据集名称。勾选点自动打断线,设置打断容限。注意:如果打断容限太小,在数据不精确的情况下,阀门不在线上,爆管分析无法分析出阀门。点击确定,即可生成网络数据集。
(4)将网络数据集添加到当前地图上。在网络数据集Network上,右键属性,在属性面板、属性表中,添加字段DIRECTION,类型为32位整数,点击应用。在网络数据集Network_Node上,右键属性,在属性面板、属性表中,添加字段NODE_TYPE,16位整数,点击应用。注意不要把节点类型字段命名为NODETYPE,否则会创建流向失败。
(5)点击交通分析菜单,勾选环境设置。在追踪分析、流向字段中,选择流向字段为DIRECTION。
(6)点击环境设置面板上面的按钮创建流向、追踪网络分析建模。在弹出的对话框中勾选创建流向。右侧选择导入,在弹出的导入节点对话框中,选择源点所在的数据集。节点类型字段可以选择SMUSERID。可以把源点数据集中的SMUSERID字段设置成1,表示是源。点击确定,创建流向成功。
2、iDesktop数据源不显示数据源中的数据表。
iDesktop日志
[14:51:25] 正在执行功能“打开文件型工作空间”。
[14:51:30] 打开数据源“DMPlus”失败。
iObjects日志
23-11-10 14:36:39 [error] 创建数据源失败, ThreadID: 20716, Timespan(ms): 32719, ResourceID: ELc017, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\engine\ugdatasources.cpp(437)
2023-11-10 14:36:39 [error] 创建数据源集合失败, ThreadID: 20716, Timespan(ms): 0, ResourceID: ELc112, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\engine\ugdatasources.cpp(438)
2023-11-10 14:51:30 [error] 数据库连接失败,请检查数据源连接参数, ThreadID: 13364, Timespan(ms): 32469, ResourceID: ELf002, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\enginedmci\ugdatasourcedmci.cpp(523)
2023-11-10 14:51:30 [error] 数据库连接失败,请检查数据源连接参数, ThreadID: 13364, Timespan(ms): 16, ResourceID: ELf002, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\enginedmci\ugdatasourcedmci.cpp(393)
2023-11-10 14:51:30 [error] 打开数据源EngineType: 17,Server: localhost:5236,Database: 失败, ThreadID: 13364, Timespan(ms): 0, ResourceID: ELc009, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\engine\ugdatasources.cpp(426)
2023-11-10 14:51:30 [error] 打开数据源失败, ThreadID: 13364, Timespan(ms): 0, ResourceID: ELc008, SourceCode: d:\teamcity\ugo1100\01_sourcecode\src\enginedmci\ugdatasourcedmci.cpp(5899)
解决方法:使用iDesktopX。
iServer常见问题
1、关阀分析返回{“succeed”:false,“error”:{“code”:400,“errorMsg”:“没有初始化。”}}。
编辑文件 D:\SuperMap\SuperMapiServer11i\webapps\iserver\WEB-INF\iserver-services.xml,将对应服务的initFacilityAnalyst改为true,添加directionField为正确的流向字段Direction即可。
配置文件示例:
<provider class="com.supermap.services.providers.UGCTransportationAnalystProvider" enabled="true" name="transportationAnalyst-Network_database">
<config class="com.supermap.services.providers.TransportationAnalystSetting">
<workspaceConnectString>D:/SuperMap/Data/项目/Network_database.smwu</workspaceConnectString>
<datasourceName>nanbu</datasourceName>
<datasetName>test_Network</datasetName>
<edgeIDField>SmEdgeID</edgeIDField>
<nodeIDField>SmNodeID</nodeIDField>
<fromNodeIDField>SmFNode</fromNodeIDField>
<toNodeIDField>SmTNode</toNodeIDField>
<tolerance>-1.0</tolerance>
<weightFieldInfos>
<com.supermap.services.components.commontypes.WeightFieldInfo>
<name>SmLength</name>
<forwardWeightField>SmLength</forwardWeightField>
<backWeightField>SmLength</backWeightField>
</com.supermap.services.components.commontypes.WeightFieldInfo>
</weightFieldInfos>
<poolSize>1</poolSize>
<autoCheckNetwork>true</autoCheckNetwork>
<initFacilityAnalyst>true</initFacilityAnalyst>
<isMultiInstance>false</isMultiInstance>
<directionField>Direction</directionField>
</config>
</provider>
2、两个图层,坐标系和投影都相同,但是iServer空间查询,一个可以查出数据,另一个图层无法查出数据。
错误日志:
2023-09-25 09:15:48 [error] 获取记录数失败, ThreadID: , Timespan(ms): 0, ResourceID: ELc082, SourceCode: ()
2023-09-25 09:15:48 [error] 第 1 行, 第 1122 列[.1]附近出现错误:
语法分析出错, ThreadID: , Timespan(ms): 15, ResourceID: -100, SourceCode: ()
2023-09-25 09:15:48 [error] 获取数据失败, ThreadID: , Timespan(ms): 0, ResourceID: ELc083, SourceCode: ()
2023-09-25 09:15:48 [error] 取数据失败, ThreadID: , Timespan(ms): 0, ResourceID: ELc080, SourceCode: ()
2023-09-25 09:15:48 [error] 查询结果为空, ThreadID: , Timespan(ms): 0, ResourceID: EKb001, SourceCode: ()
解决方法:在SuperMap iDesktop数据源中,复制无法查出数据的数据集,删除原来的数据集,将复制的数据集改为原来的名字即可。
3、iServer有的图层无法添加点要素。
错误原因:违反唯一约束。
2023-09-25 10:10:17 [error] 数据集[GasFaMen]提交数据失败, ThreadID: , Timespan(ms): 0, ResourceID: ELe068, SourceCode: ()
2023-09-25 10:10:20 [error] 违反表[SMDTV_81]唯一性约束, ThreadID: , Timespan(ms): 3078, ResourceID: -100, SourceCode: ()
2023-09-25 10:10:20 [error] 数据集[GasFaMen]提交数据失败, ThreadID: , Timespan(ms): 0, ResourceID: ELe068, SourceCode: ()
4、rest api接口报错:geometry已经被释放。
日志文件D;\SuperMap\supermap-iserver-11.0.1-windows-x64\support\objectsjava\bin\log\iObjects.2023.10.13.log中的错误:
2023-10-13 14:30:47 [error] Failed Exec strSQL : Select Count(*) from (Select SMDTV_78.SmID,SMDTV_78.SmKey,SMDTV_78.SmSdriW,SMDTV_78.SmSdriN,SMDTV_78.SmSdriE,SMDTV_78.SmSdriS,SMDTV_78.SmGranule,SMDTV_78.SmGeometry,SMDTV_78.SmUserID,SMDTV_78.SmEdgeID,SMDTV_78.SmFNode,SMDTV_78.SmTNode,SMDTV_78.SmResistanceA,SMDTV_78.SmResistanceB,SMDTV_78.SmLength,SMDTV_78.SmTopoError,SMDTV_78.OBJECTID,SMDTV_78.CODE,SMDTV_78.DEVTYPE,SMDTV_78.MATERIAL,SMDTV_78.THICK,SMDTV_78.RUNSTATE,SMDTV_78.RUNPRESSURE,SMDTV_78.DESPRESSURE,SMDTV_78.CPMATERIAL,SMDTV_78.MAUNFACTURER,SMDTV_78.INSTALLDATE,SMDTV_78.INTOUSEDATE,SMDTV_78.USETIME,SMDTV_78.REPEOPLE,SMDTV_78.DISTRICT,SMDTV_78.MAPNO,SMDTV_78.PROCODE,SMDTV_78.OWNERDEPT,SMDTV_78.BURYWAY,SMDTV_78.DESC1,SMDTV_78.DESC2,SMDTV_78.POINTNUMBER,SMDTV_78.LPOINTNUMBER,SMDTV_78.STABURDEPTH,SMDTV_78.ENDBURDEPTH,SMDTV_78.STAALTITUDE,SMDTV_78.ENDALTITUDE,SMDTV_78.FEATNAME,SMDTV_78.WASTEDEVICE,SMDTV_78.WASTEDATE,SMDTV_78.WASTEPERSON,SMDTV_78.F_GUID,SMDTV_78.F_CASEID,SMDTV_78.F_IME,SMDTV_78.F_PERISHTIME,SMDTV_78.ENABLED,SMDTV_78.ADDRESS,SMDTV_78.CALIBER,SMDTV_78.DRAWINGCODE,SMDTV_78.COMPANY_CODE,SMDTV_78.SHAPELEN,SMDTV_78.SHAPE_Length,SMDTV_78.X,SMDTV_78.Y,SMDTV_78.Direction FROM supermap_nanbu.SMDTV_78 WHERE 1 < 0 ) SMTEMP-MySQL server has gone away, ThreadID: , Timespan(ms): 0, ResourceID: ELj004, SourceCode: ()
解决方法:重启iServer。
5、iDesktop新建数据库型数据源,DMPlus为灰色。
解决方法参考:SuperMap iDesktop连接达梦数据库问题排查_达梦数据库数据出现问号-CSDN博客
6、空间查询线图层能查出数据,点图层无法查出数据。
空间索引错乱问题。右键数据表,选择重建空间索引,重新计算范围。
7、添加要素报错:the number of ‘fieldNames’ and ‘fieldValues’ are not equal。
日期DATETIME字段要传yyyy-MM-dd格式,不要传时间戳。
8、查询要素返回:{“succeed”:false,“error”:{“code”:400,“errorMsg”:“对象已经被释放”}}。
重启iServer解决。
9、iServer报错:Java.lang.OutOfMemoryError: Java heap space.
编辑SuperMapiServer11i\bin\catalina.bat,查找set JAVA_OPTS一行,改为以下配置即可。
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx8096m -Xss512k
10、iServer管理页面,点击服务管理报错:java.lang.ClassCastException: com.supermap.server.impl.DefaultServicesContainer cannot be cast to com.supermap.server.impl.LazySBMDecorator。
重启iServer解决。
参考文档
网络分析环境设置窗口:https://help.supermap.com/iDesktop/zh/tutorial/Network/NetAnalystEnvironmentWIN
流向设置概述:https://help.supermap.com/iDesktop/zh/tutorial/Network/AboutDirection