一、SuperMap GIS基础产品桌面GIS-FAQ集锦
问题1:【iDesktop】安装了idesktop 11i,现想进行插件开发,根据安装指南安装SuperMap.Tools.RegisterTemplate.exe,运行多次均失败
【问题原因】该脚本是之前老版本针对VS2010写的,由于产品升级更新,因此目前11i的拓展开发暂时不支持使用该功能了。
【解决办法】iDesktop 11i桌面插件开发建议您参考以下博客:
https://blog.csdn.net/supermapsupport/article/details/131509283
https://blog.csdn.net/supermapsupport/article/details/127007251
问题2:【iDesktopX】【11.1.1】 请问 iDesktopX 生成 mvt 缓存的时候,原本地图上被隐藏的图层数据会生成缓存吗?
【解决办法】 生成的 mvt 缓存数据中不会包含隐藏的图层数据和样式。
问题3:【iDesktopX】使用gdb迁移到pgis数据库,数据检查通过,但是导入会报错“打开数据源失败:authentication method 10 not supported”?
【解决办法】
修改pg_hba.conf,允许所有ip访问贴图 ,重启navicat,详细介绍参考技术博客:https://blog.csdn.net/qq_35237533/article/details/125328143
问题4:【iDesktopX】【11.1.1】测地线周长结果不正确
【问题原因】当数据集为投影坐标系和平面坐标系时,是平面空间下,此时测地线周长与对象默认SmPerimeter周长相同,需要指定计算的地理坐标系,计算地理坐标系下的测地线周长才有意义
【解决办法】设置计算几何属性的参数坐标系为地理坐标系; 或将数据集投影转换为地理坐标系后再进行测地线周长计算
问题5:【iDesktopX】分级配图时,同样的图层风格,不想重复配图怎么办? 如何复用?
【解决方法】右键图层选择【图层风格模板】-【输出】XML图层风格模板.xml文件,在其他需要复用风格的图层上右键【图层风格模板 】-【加载】此xml文件即可。
问题6:【iDesktopX】彩色svg图片导入符号库后,为什么变成黑白色了?
【问题原因】Supermap使用QT5.6版本库,QSvgRenderer是Qt中用于渲染SVG文件的类,QSvgRenderer在Qt 5.6中支持SVG 1.1规范。在QT 5.6中,QSvgRenderer存在一些限制,无法完全支持某些高级的SVG功能,包括:滤镜效果、动画、嵌套的SVG符号和复杂路径。此问题是由于版本5.6的限制。更换svg图片即可。
问题7:【iDesktopX】TIN处理提取数据功能,需要使用GPU吗?无独立显卡的设备是否能够使用?
【问题原因】不需要, 此功能支持在无独立显卡的设备中执行。
问题8:【iDesktopX】大疆产出的倾斜数据生成配置文件后显示模糊,怎么办?
【解决方法】将倾斜文件夹中,移除顶层osgb文件,重新生成配置文件即可正常显示。
问题9:【iDesktopX】倾斜数据有很多tiles文件夹,想要每个文件夹生成一份配置文件,不想要手动一个个生成,如何实现?
【解决方法】可以使用GPA工具,构建自动化模型,通过【迭代目录】、【生成配置文件】等GP算子,连接参数搭建自动化模型生成scp文件即可。【贴图】
问题10:【iDesktopX】数据别名为中文,导出为shp格式后,重新导入iDesktopX后别名变成英文,为什么?
【问题原因】shp格式本身不支持别名,所以重新导入后就会按照字段名称命名。
问题11:【iDesktopX】数据属性字段为多个(大于3)汉字时,导出为shp文件,检查字段名只剩前三个字,为什么?
【问题原因】shp字段名称有长度限制,最长9个字符,一个汉字占3个字符,因此最多3个汉字。
问题12:【iDesktopX】提取外壳功能可以通过显示设置分离内部和外部模型,如何实现外壳和内部数据分开存储?
【解决方法】提取外壳后,在属性表中,存在IsShell提取结果字段, true为外壳模型,false为内部模型。 可通过属性表筛选后,选中,右键另存数据集得到外壳模型数据集,和内部模型数据集,实现分开存储目的。
问题13:【iDesktopX】在处理自动化中如何将已经制作好的数据集重新赋值为原有数据集的名称?
【解决方法】在处理自动化的模型构建器中,可以使用“行内变量替换”的方式替换输入参数的部分内容,通过用百分号(%**%)的方式进行表达,在选择对应的行内变量替换后,也可以输入‘#’来选择需要的属性组成完整的行内变量替换。详细介绍如下:贴图
问题14:【iDesktopX】在iDesktopX中对大数据量的路网数据做最佳路径分析,为什么实际耗时与输出窗口显示耗时不一致?
【解决方法】在iDesktopX中做最佳路径分析执行流程一共分为三步(拓扑检查、加载网络模型、查找最短路径),由于前两步要对所有数据以及有效范围内的整个图层进行操作,所以耗时较长;而输出窗口显示的耗时指的是第三步查找最短路径的时间。
问题15:【iDesktopX】通过风格拉伸的白膜模型在晚上看为什么全黑的,关闭可见也无效?
【问题原因】关闭可见对风格拉伸的白膜数据是不支持的
【解决方法】使用面拉伸生成模型缓存制作白膜数据
问题16:【iDesktopX】属性表字段数值怎么保存两位小数呢?
【解决方法】属性字段更新时选择函数表达式Round(col,2)即可保留两位小数
问题17:【iDesktopX】有没有类似于ArcMap的分割功能,可以将图层中的要素进行分割而结果会生成多个数据集?
【解决方法】可以使用GPA算子【拆分+矢量裁剪】实现
问题18:【iDesktopX】如何将二维面只贴倾斜的桥面上呢?
【问题原因】倾斜桥下有空隙,贴对象会默认将下方覆盖
【解决方法】可以通过二维面数据对倾斜的桥面高度进行提取,会生成一个三维面数据,通过设置三维面的场景中的风格来实现贴桥面的效果(风格设置参数:高度模式为绝对高度,底部高程为1)
问题19:【iDesktopX】为什么切矢量瓦片设置了自定义水印没有生效呢?
【问题原因】地图切瓦片矢量瓦片不支持自定义水印
问题20:【iDesktopX】将一个全是整数的双精度字段转换为文本型字段,所有数值都会出现小数“xx.0”
【解决办法】方案一:将双精度字段先转换为整型,再转换为文本型字段;
方案二:将双精度字段转为文本型字段,通过更新列的方式去掉后面的“.0”
问题21:【iDesktop】在iDesktop中导入CAD数据集,保存为地图后切地图瓦片,显示失败
【问题原因】导入的CAD设置为地理坐标系从节点上看应该是投影坐标系
【解决办法】导入CAD没有坐标系,需要先设置坐标系,如果存在偏移,还需要进行数据集配准。最后再进行投影转换为目标坐标系,再进行切图
问题22:【iDesktopX】制作点符号时,设置中间部分颜色为白色,使用符号时白色部分也变成设置的符号颜色,如何解决?
【解决办法】如果需要使用符号时白色部分固定显示为白色需要在编辑符号时勾选【固定画刷颜色】,不勾选的话使用符号时所有面都会填充选定颜色。设置位置如下:贴图
问题23:【iDesktopX】桌面连接瀚高数据库,报错:ERROR: could not load library “/opt/hgdb604/lib/postgis-3.so",如何解决?
【问题原因】该报错是由于瀚高数据库未进行PostGIS扩展,桌面无法正常连接。
【解决办法】数据库部署完成后需要对数据库进行PostGIS扩展,扩展完成后再进行桌面连接。具体步骤可参考:https://blog.csdn.net/supermapsupport/article/details/129268236
问题24:【iDesktopX】iDesktopX的最佳路径分析功能是灰的,如何解决?
【解决办法】将需要进行最佳路径分析的网络数据集添加到地图(不能只添加网络数据集的节点,需要弧段节点一起添加),添加完成后最佳路径分析功能就可以正常点击使用了。
问题25:【iDesktop】镶嵌数据集如何修改影像的顺序?
【解决办法】打开属性表,可修改SmZOrder该字段值控制影像的显示顺序。
问题26:【iDesktop】如何将osm文件转化为shp文件?
【解决办法】
1.在开始->数据处理->单击数据导入,弹出数据导入话框,选择osm文件导入为数据集。
2.右键数据集,导出数据集,转出类型为ArcGIS Shape类型。
问题27:【iDesktop】创建mysql数据库型数据源报错:ENGINE = MyISAM-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-basic.SmRegister(SmDatasetID INT NOT NULL primary key,SmDatasetName VarChar(64)’ at line 1。
【问题原因】表名或列名中包含了连字符(-)。
【解决办法】创建数据源时命名不要带有特殊字符。
问题28:【iDesktop】单值专题图如何设置透明度?
【解决办法】添加一个字段,设置透明度的数值,在专题图设置窗口,勾选透明度,选择字段。
问题29:【iDesktop】如何将具有相同属性字段值的对象组成一个对象?
【解决办法】使用“数据-数据处理-融合”工具,选择“组合”模式,将字段名相同的数据组合成一个对象。
问题30:【iDesktop】矢量面的边缘有锯齿状如何消除?
【解决办法】地图属性勾选线性反走样,图层属性勾选反走样显示。
问题31:【iDesktop】如何将具有多个节点一条直线分解成两个节点构成的直线?
【解决办法】【对象编辑】中使用【炸碎】功能将线对象分解。
问题32:【iDesktop】Dem数据精度不够,有什么办法将增大dem数据分辨率?
【解决方法】
可以使用【数据】-【栅格】-【栅格重采样】功能对数据进行重采样,来修改dem数据的分辨率。
问题33:【iDesktopX】SuperMap iDesktopX 如何配置Neo4j数据库创建知识图谱?
【解决方法】
可以参考下方博客配置Neo4j数据库创建知识图谱
(https://blog.csdn.net/supermapsupport/article/details/136745648)
问题34:【iDesktop】如何导入文本格式(txt)的坐标数据至SuperMap iDesktop 中?
【解决方法】
可以参考下方博客将txt类型坐标数据导入至SuperMap iDesktop产品中
(https://mcaitaco.blog.csdn.net/article/details/136715579)
问题35:【iDesktop】三维数据模型工具中实例化处理与数据集生成缓存时的实例化有什么区别?
【解决方法】
关于实例化处理与缓存时实例化的区别可以参考下方博客
(https://mcaitaco.blog.csdn.net/article/details/134403971)
问题36:【iDesktopX】iDesktopX怎么生成矢量瓦片风格样式文件.json呢?
【解决办法】
1、打开矢量地图,在地图窗口右键菜单选择生成矢量瓦片风格项,弹出生成矢量瓦片风格对话框;
2、在对话框中设置生成风格的路径,即可生成矢量瓦片风格;
3、结果文件包含三个文件夹,包括:fonts(矢量瓦片使用的字体文件)、sprites(矢量瓦片图标相关风格内容资源)、styles(矢量瓦片风格描述文件)
问题37:【iDesktopX】iDesktopX切完的模型缓存,修改了下模型,可以更新缓存吗?
【解决办法】桌面端目前还不支持直接更新缓存,可以使用组件产品,参考:https://blog.csdn.net/supermapsupport/article/details/127003774
问题38:【iDesktopX】iDesktopX视频配准不成功,这是为什么?
【问题原因】视频导入的时候勾选了视频空间化,使图像坐标转换为地理空间坐标,影响了配准
【解决办法】添加视频的时候别勾选视频空间化,即可正常配准
问题39:【iDesktopX】iDesktopX加载wmts服务有偏移怎么办?
【问题原因】wmts服务和桌面端的坐标系比例不一样导致的
【解决办法】在【桌面安装目录】\Bin\Cache\WebCache\WMTS目录中,找到相应服务图层对应的文件夹,继续打开其子文件夹找到sci文件,修改sml:CoordRatio的值为3.779527559055118(96/25.4),保存后重启桌面端加载服务即可
问题40:【iDesktopX】Oracle数据库型数据源,导入数据集,数据库里表名少了三个字符,这是为什么?
【问题原因】客户的数据集名称有20个字符,桌面端为了统一各数据库数据集表名的最长限制,选用了17个字符,所以数据导入到数据库型数据源里表名最长只有17个字符
【解决办法】控制数据集表名长度,可以在桌面端重命名数据集,控制在17个字符以内
问题41:【iDesktop】矢量拉伸成白膜,这个白膜怎么转换为osgb格式?
【解决办法】可以通过三维地理设计中规则建模进行线性拉伸,得到模型数据集,加载到场景中,选中模型右键导出为osgb格式
问题42:【iDesktop】线符号风格线端点连接处效果不好,端点没有打通,该怎么解决?
【解决办法】在图层属性里开启十字路口优化即可
问题43:【iDesktopX】倾斜入库结果加载到球面场景里没东西,这是为什么?
【问题原因】倾斜入库时没设置目标坐标系
【解决办法】需要设置目标坐标系为对应的地理坐标系:如原始坐标系为ENU,坐标单位为度,则需要设置中心点坐标单位为度,对应目标坐标系为EPSG4326;如原始坐标系以及目标坐标系皆为地方坐标系,则需设置投影转换参数,此参数通常为地方测绘局保管;如原始坐标为投影坐标系,坐标单位设置为米,需要设置目标坐标系为对应的地理坐标系。
问题44:【iDesktopX】iDesktopX专题图打印设置在哪?
【解决办法】“打印地图”功能用于直接打印已保存的地图(仅iDesktop支持)。在“工作空间管理器”中选中需打印的地图->右键->选择“打印”,弹出“打印”对话框。
问题45:【iDesktopX】构建三维管线之后管点的属性没了这是为什么?
【问题原因】点数据不在线上,和线有段距离,导致该点的属性没保留下来
【解决办法】在构建三维管线时提高容限即可
问题46:【iDesktop】可以设置自定义桌面主题颜色吗?
【解决办法】 iDesktop目前支持的主题风格都是DevExpressUI控件内置的,不能自定义主题颜色; 但是iDesktopX可以,在功能搜索框直接搜索“桌面配色调整”即可打开自定义桌面配色面板
问题47:【iDesktopX】矢量面拉伸白膜生成缓存,加载到场景中白膜边缘异常,该怎么解决?
【问题原因】矢量面节点数量太多,有15万多的节点,在二维平面加载正常,但是在三维场景中节点数量太多渲染不出来,导致拉伸白膜显示异常
【解决办法】使用【数据】—【数据处理】—【矢量重采样】功能减少矢量面的节点之后再拉伸白膜
问题48:【iDesktopX】添加地图格网能否不显示分和秒?
【解决办法】 官网11.1.1版的iDesktopX支持地图格网标注只显示度,在布局地图属性面板中点击标注风格,选择显示方式为度即可
二、SuperMap GIS基础产品云GIS-FAQ集锦
问题1:【iServer】【11.1.1】 请问 iServer 启动时无法正常读取硬件网络锁如何解决呢?
【解决办法】 建议参考以下思路进行排查:
- 检查许可状态:在浏览器输入硬件锁服务器的 ip:1947 插件硬件网络锁状态是否正常;
- 若无法访问 ip:1947 页面,检查是否安装许可驱动,若没有安装则安装;
- 确认许可状态正常后,若iServer依然无法读取,建议从 _setup 页面查看异常原因。
问题2:【iServer】正在进行的切图任务,暂停后把地图服务的提供者才A改为B保存后,再点击继续切图任务,会识别不到B?
【解决办法】修改iserver目录下\webapps\iserver\WEB-INF\config中的iserver-tlejob-config-任务编号.xml文件中记录的原始工作空间路径为最新的即可
问题3:【iServer】在Linux上切SMTiles类型瓦片存储到共享目录下,会报错“ SQL error or missing database (no such table: metadata)”?
【问题原因】Sqlite数据库不支持在共享的目录中进行建表,更新表数据的操作,数据库会被锁定
【解决办法】先切到本地文件夹上再传到共享文件夹上
问题4:【iServer】从11版本迁移到10版本,iserver-service.xml拷贝恢复服务,启动报错:No such field.fullLabelEnabled?
【问题原因】fullLabelEnabled字段是新版本才有的,10.2.1没有这个字段
【解决办法】在iserver-service.xml中删除该字段即可
问题5:【iServer】iServer如何实现 IP访问限制?
【解决方法】tomcat可以通过增加配置,来对来源ip进行限制,即只允许某些ip访问或禁止某些来源ip访问。配置路径:iServer安装目录下/conf/server.xml 文件中,例如:增加表达式限制用户仅支持IP为127.0.0.1方式访问iServer贴图,更多限制规则参考技术博客:https://blog.csdn.net/qq_35393472/article/details/124146042
问题6:【iPortal】【11.1.1】使用autoUpgrade工具迁移成功后启动报错“Error parsing XML. configuration:iportal-ehcache.xml”?
【问题原因】11.1版本在iportal-ehcache.xml 文件修改过内容,工具迁移会把旧版本的文件带过去启动,所以导致不兼容的情况启动失败
【解决办法】工具迁移成功后,把11.1版本压缩包里面的iportal-ehcache.xml 文件复制到【iPortal安装目录下\webapps\iportal\WEB-INF】替换已有文件后,重新启动iPortal即可
问题7:【iServer】【11.1.1】iServer使用【上传数据】上传1.2G大小的zip文件时报错“上传中断或超出最大文件限制”?
【问题原因】
iServer默认开启了限制文件最大体积为1056MB,超过限制则会中断上传并报错
【解决方法】
修改iServer目录下\webapps\iserver\WEB-INF\iserver-system.xml 中的参数的默认值大小即可
问题8:【iServer】当只有TIF数据没有数据源,在GPA中该怎么导入?
【解决方法】在GPA的“导入.TIF”算子中,必须要填写“目标数据源”参数,所以当没有数据源时,可以选择新建个“创建数据源”的算子,作为“导入.TIF”算子的目标数据源。具体模型如下:贴图
问题9:【iServer】在iServer中使用GPA导入tif数据后并发布成服务,背景成黑色的该怎么解决?
【问题原因】这里是由于在GPA中使用“自动制图”制作地图时没有指定"图层模板集合",导致使用的是默认的配置,从而出现tif影像地图背景为黑的情况。
【解决方法】先在iDesktopX中将符合条件(图层属性中“无值透明”和“背景透明”都勾选上)的输出成模板,然后再在iServer中重新导入后,新制作的地图就不会出现背景为黑的情况了。
问题10:【iServer】iServer11i如何提升最佳路径分析的性能?
【解决方法】iServer11i对交通网络分析服务的最佳路径分析,新增支持开启 SSC 分析模型,可大幅提升分析性能,具体操作可参考博客 https://blog.csdn.net/supermapsupport/article/details/132536544
问题11:【iServer】iServer将热力图发布成地图服务后,为什么出现了边缘被裁剪的情况?
【问题原因】由于当前热力图所对应的地图显示范围是点数据集范围,所以出现了热力图渲染边界显示不完整的情况。
【解决方法】修改点数据集范围,让新的范围包含热力图渲染的范围,再重新保存地图发布就可以了。
问题12:iServer】iServer升级到11i版本,替换iserver-services.xml文件后启动报错该怎么解决?
【报错内容】java.lang.SecurityException: Could not decrypt: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.”
【问题原因】因为iserver-services.xml里有带密码等敏感信息加密(可能是工作空间加密、数据源使用数据库参数链接等),需要iserver-system.xml的tokenkey进行解密(需要用到旧包的tokenkey)。
【解决方法】在替换iserver-services.xml文件的同时将iserver-system.xml也一起拷贝到新包中。
问题13:【iServer】在iServer1021版本中对PostgreSQL数据通过分布式分析服务做数据分析,iServer耗时较长可以怎么优化?
【问题原因】1、因为iServer1021版本底层算法未调优,且无法进行参数调优;
2、当前使用的PostgreSQL数据库型数据源,而在大数据读写时会序列化落盘到磁盘,PostGIS数据源效率更高;
【解决办法】1、建议将iServer升级到11.1.1最新版,并使用GPA的内置spark集群进行分析,这样可以调整spark参数;
2、建议采用PostGIS数据源,并行读写效率更高。
问题14:【iServer】iServer转发ArcGIS Rest服务为地图服务后,地图名称能修改吗?
【问题原因】这里的地图名称是ArcGIS服务对应的地图名称,iServer只是转发并不能对此进行修改。
问题15:【iServer】iServer10i的文件型正式许可是否可以通过命令进行回收?
【问题原因】目前只有以强指纹出的11i 文件型正式许可才能通过命令进行回收,所以iServer10i的文件型正式许可并不能通过命令进行回收。
问题16:【iServer】当前系统中有单独安装Tomcat,启动iServer11i后闪退该怎么解决?
【问题原因】客户当前系统环境中有Tomcat的环境变量,导致iServer在启动时默认读取的是系统环境变量中单独安装的Tomcat环境;
【解决方法】解决该问题主要是从避免iServer与单独安装的Tomcat出现环境变量冲突,可以从以下两个方向入手:
1、调整系统环境变量,在系统环境变量中将默认设置的Tomcat环境变量删除,使iServer读取的是自带的环境变量;
2、修改iServer/bin目录下的catalina.bat配置文件,将文件中的CATALINA_HOME和CATALINA_BASE参数调整成自定义的名称,使其与系统环境变量Tomcat的CATALINA_HOME和CATALINA_BASE不冲突即可;修改完成后保存再重启iServer,就不会出现闪退的情况了。
问题17:【iServer】如何通过REST API发布地图服务?
【解决方法】通过iServer REST API发布服务主要分为三步:构建服务接口、服务组件和服务提供者三部分,具体操作可参考博客 https://blog.csdn.net/supermapsupport/article/details/135236520
问题18:【iServer】iDesktopX打开工作空间正常,复制工作空间和数据源到其他机器,发布后地图空白
【问题原因】原来的工作空间和数据源不在同一目录下,复制后相对路径发生改变,工作空间找不到数据源
【解决办法】将工作空间保存为.sxwu格式,用记事本打开.sxwu文件,根据文件中数据源的相对位置,在新机器中重新放置或者是在原机器上关闭数据源,移动数据源文件,再打开数据源,重新保存工作空间
问题19:【iServer】对WMS服务构造GetFeatureInfo请求查询点对应的要素时,点对应位置没有要素时仍会返回最近的要素,为什么?
【问题原因】iServer发布的WMS服务进行GetFeatureInfo查询时,有个参数为FEATURE_COUNT=number,该参数为要返回信息的要素的数量(默认为1)。对指定的查询图层进行查找时,如果查询返回结果小于用户指定的 number 值,将查找半径扩大一倍继续查找,如果查询结果数目满足用户要求返回的要素数目,返回结果,否则继续扩大半径。当查找半径达到初始搜索半径的8倍时,终止查询,返回查询结果,进入下一图层的查询。所以当点对应位置查询结果为空,小于返回信息的要素数量,即会扩大范围继续查找,最后就会返回最近的要素信息。参数具体介绍参考帮助文档:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/API/WMS/WMS130/GetFeatureInfo/GetFeatureInfo_request.htm
问题20:【iServer】iServer启动报错:“此时不应有 supermap-iserver-11.1.1a-windows-x64\bin\javaopts.config。”,如何解决?
【问题原因】该报错是由于iServer所在文件路径存在空格和括号。
【解决办法】修改iServer所在文件路径,最好部署在不带有空格、括号、中文的路径下。
问题21:【iServer】iServer启动报错:No buffer space available (maximum connections reached?): connect。
【问题原因】端口不够导致,Windows默认情况下的端口启用情况可以用命令:netsh int ipv4 show dynamicportrange tcp;
【解决办法】以管理员身份运行命令窗口,通过命令netsh int ipv4 set dynamicport tcp start=2000 num=63000修改端口数,其中start为起始端口号,num为端口数量。
问题22:【iServer】vue框架下对数据服务进行要素修改,axios发送post请求修改失败。
【解决办法】构建请求参数错误,使用axios要设置请求头
headers: {
'Content-Type': 'application/rjson;charset=UTF-8'
}
问题23:【iServer】11i的正式许可和试用许可都是形如licx的文件型许可,两者可以同时使用吗?
【问题原因】不能,存储许可目录只能同时存放一个licx后缀文件
【解决办法】将正式或试用许可换一种许可类型,比如文件型正式许可+Web型试用许可
问题24:【iPortal】动态ip服务在iPortal中进行服务注册,如何能够确保一直可访问呢?
【解决办法】由于iPortal注册服务时必须给定实际的ip,对于动态变化的ip,可以将127.0.0.1映射成一个固定的域名,然后直接注册该域名即可
问题25:【iServer】iServer启动时报错“无法执行二进制文件,可执行文件格式错误”如何解决?
【问题原因】产品包的类型和系统架构不匹配
【解决办法】使用命令(例如:uname -m)查看系统架构,再去下载与之匹配的产品包即可
问题26:【iServer】通过iDesktop发布工作空间时勾选“上传工作空间”,发现报如下错怎么解决?
- WARN - 增加文件失败
- WARN - 上传的文件大小不能超过2048MB
【问题原因】iServer上传文件最大体积,默认2048MB
【解决办法】增大【iServer安装目录】/webapps/iserver/WEB-INF/iserver-system.xml中的uploadSize和uploadUnzipSize参数,当值为空时代表无限制。
问题27:【iServer】发布达梦工作空间后发现达梦数据源中获取不到数据集
【问题原因】连接中断导致数据集列表获取数据为空
【解决办法】打开iserver安装目录下webapps\iserver\WEB-INF\iserver-system.xml, refreshDatasource设为true,checkServiceStorageConnectionInterval设置为30,表示开启数据库刷新,刷新时间为30s。设置之后iServer会每30s检查一次数据源
问题28:【iServer】发布mongodb瓦片找不到数据库中的瓦片
【问题原因】数据库后于iserver启动,导致数据库连接信息为空
【解决办法】先启动mongodb再启动iserver,确保数据库连接信息生效
问题29:【iServer】iServer攻击漏洞,Host头攻击漏洞怎么解决?
【解决办法】修改【iServer安装目录】/conf/server.xml配置文件,设置Host name="localhost"为自己的ip地址,限制其他Host访问
问题30:【iClient】前端如何加载携带token的服务?
【解决办法】在url里加token,例如:http://localhost:8090/iserver/services/map-china400/rest.rjson?token=NZkILm9Tl2FGzwK_nUh9krlHOtO0ds83lDoARA85_rMveuTyK0TyGcYV-5rn3wUYE-MSNPlw6wKnewy8jek_JQ.
问题31:【iServer】iServer的Linux版本启动报错:ERROR - Failed to start service.该怎么办?
【问题原因】检查日志发现报java.lang.UnsatisfiedLinkError:
java.lang.String com.supermap.data.EnvironmentNative.jni GetBasePath(),依赖问题
【解决办法】./dependencies_check_and_install.sh install -y 检查并安装相关依赖
问题32:【iServer】怎么把Datastore中存储的关系数据库迁移到独立运行的PostgreSQL数据库中?
【解决办法】
1、用pgAdmin连接Datastore内置的PostgreSQL数据库,用户名是postgres,密码不用填
2、数据迁移的话直接在pgAdmin里进行数据库的备份与还原即可
需要注意的是:11.1.1的iServer DataStore内置的PostgreSQL版本为9.6.2-2,版本跨度太高数据可能不兼容
问题33:【iServer】iServer首页的服务列表入口可以通过什么方式隐藏呢?
【解决办法】
1、关闭iServer,打开【iServer安装目录】\webapps\iserver\WEB-INF\lib,找到server-hosts的jar包,例如server-hosts-11.0.1-21424.jar
2、用解压软件打开该jar包,进入templates目录,找到iServer_index_zh_CN.ftl(英文版为EN),右键选择“编辑”
3、注释掉相应的元素,如图所示:贴图,然后保存重启iServer即可
问题34:【iServer】一台机器能不能同时读一个iServer标准版的文件许可,和一个其他机器部署的扩展模块许可?
【解决办法】 不能,配置许可时只能配置一种类型的许可,不能同时配置多个许可。
三、SuperMap GIS基础产品WebGIS-FAQ集锦
问题1:【iClient】iClient for OpenLayers在vue项目中如何引入工具类Util,并使用setMask方法?
【解决方法】在vue项目中可以直接通过import {Util}方式引入,然后用Util.setMask调用,具体可参考 https://iclient.supermap.io/dev/docs/openlayers/Util.html#.setMask 详细添加部分如下:贴图
问题2:【iClient】iClient for Leaflet加载地图如何才能缩放到第18级之后?
【问题原因】在Leaflet中,默认的maxZoom为18;当设置的值大于18后,缩放地图会变成空白,并且http请求并未触发第19级的请求。
【解决方法】在初始化tileLayer时,追加layer.options.maxZoom参数,并且该参数一定要在 layer.addTo(map)之前。
具体可参考博客https://blog.csdn.net/supermapsupport/article/details/123912365
问题3:【iClient】iClient for Classic如何加载XYZ瓦片服务
【解决办法】代码如下:
url = "http://{ip}:8888/tiles/qhtiles/${z}/${x}/${y}.png";
layer = new SuperMap.Layer.XYZ('world',url);
问题4:【iClient】Leaflet的服务区分析服务如何设置30分钟作为半径?
【解决办法】如果网络数据集中存在字段表示从一个节点到另一个节点的时间,可以将其赋给weightFieldName参数,如果没有这样的字段,需要将时间转换为权重字段代表的数据,如将length作为权重字段,需要将30分钟转换为距离,再作为分析服务的半径
问题5:【iClient】如何leaflet中实现对一个图层里的面统一移动和旋转
【解决办法】需要在Leaflet中引入Leaflet.Path.Transform插件,将插件中的js和css引入项目,https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124017952
例如:var polygon = L.polygon([..., ...], { transform: true }).addTo(map);
问题6:【iClient】iClient for Leaflet加载UGCV5瓦片发布的wms服务失败是为什么?
【问题原因】UGCV5瓦片发布的wms服务不支持动态投影,前端加载时只能使用原始坐标系加载。例如数据为EPSG4326坐标系时,使用EPSG3857坐标系加载就会失败。
【解决办法】使用原始坐标系加载即可。
问题7:【iClient】iClient for Leaflet如何删除右下角默认自带的logo图片?
【解决办法】初始化map时设置 logoControl: false即可,示例代码如下:
map = L.map('map', {
preferCanvas: true,
crs: L.CRS.EPSG4326,
center: {lon: 0, lat: 0},
maxZoom: 18,
zoom: 2,
logoControl: false
});
问题8:【iClient】iClient for OpenLayers加载知识图谱服务时如何切换显示中心点和级别?
【解决办法】可以通过zoomTo接口切换显示中心点和级别,示例代码如下:
graphmap.graph.zoomTo(5,{x: 1138.3743385492153, y: 286.55578999099276});
问题9:【iClient】iClient for OpenLayers vue框架下如何通过查询语句查询知识图谱数据?
【解决办法】可以通过query接口进行查询,示例代码如下:
new KnowledgeGraphService('https://iserver.supermap.io/iserver/services/knowledgeGraph-budongchan/restjsr/graph'
).query('match p=()-[r:所属地籍区]->() return p LIMIT 100',function loadQueryData(data){
dataa = KnowledgeGraph.dataFromGraphMap(data.result, graphmap);
console.log( dataa);
},false) ;
问题10:【iClient】iClient for OpenLayers如何加载tmsrest服务?
【解决办法】可以通过ol.layer.Tile接口进行加载,具体示例代码如下:
var tmslayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://localhost:8090/iserver/services/map-Population/tmsrest/1.0.0/PopulationDistribution/{z}/{x}/{-y}.png?transparent=true",
wrapX: true,
opaque:false
}),
projection: 'EPSG:3857'
});
map.addLayer(tmslayer);
问题11:【iClient】iClient for OpenLayers如何旋转地图?
【解决办法】设置View的rotation参数即可,该参数表示视图的初始旋转(以弧度为单位)(顺时针正旋转,0表示北)。示例代码如下:
view: new ol.View({
center: [100, 0],
zoom: 3,
projection: 'EPSG:4326',
multiWorld: true,
rotation:50
})
问题12:【iClient】iClient for MapboxGL中如何移除DeckglLayer图层?
【解决办法】移除图层方法deckglLayer.onRemove(map)
。
问题13:【iClient】iClient for Openlayrs如何设置图层显示顺序?
【解决办法】设置z-index控制图层显示顺序。
var map = new ol.Map({
layers: [
// 添加第一个图层
new ol.layer.Tile({
source: new ol.source.TileSuperMapRest(),
zIndex: 1 // 设置 zIndex 为 1
}),
// 添加第二个图层
new ol.layer.Tile({
source: new ol.source.TileSuperMapRest(),
zIndex: 2 // 设置 zIndex 为 2
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
问题14:【iClient for JavaScript】使用ajax请求iserver服务信息发生跨域失败
【问题原因】浏览器的同源安全策略限制了该请求
【解决办法】请求体避免带上自定义请求头
问题15:【iClient for JavaScript】mapbox怎么加载矢量瓦片服务
【解决办法】加载方法与服务地址格式如下
var map = new mapboxgl.Map({
container: 'map',
style: host + "/iserver/services/map-mvt-China/restjsr/v1/vectortile/maps/China/style.json?type=MapBox_GL&styleonly=true",
center: [120.143, 30.236],
zoom: 6
});
问题16:【iClient】npm引入 SuperMap iClient for OpenLayers,引用的时候报错找不到相关模块,这是为什么?
【问题原因】没安装@supermap/babel-plugin-import依赖
【解决办法】参考该文档安装依赖即可:https://iclient.supermap.io/web/introduction/openlayersDevelop.html#Ready
四、SuperMap GIS基础产品三维GIS-FAQ集锦
问题1:【WebGL】鼠标右键按住拖拽可以相机距离缩放,左键中间右键等拖拽事件是否能够修改?
【解决方法】可以修改,可以参考原生Cesium中修改方式,如下代码:
//设置左键旋转
viewer.scene.screenSpaceCameraController.tiltEventTypes = [ Cesium.CameraEventType.LEFT_DRAG, Cesium.CameraEventType.PINCH, { eventType: Cesium.CameraEventType.LEFT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL }, { eventType: Cesium.CameraEventType.MIDDLE_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL } ];
//设置中键平移
viewer.scene.screenSpaceCameraController.rotateEventTypes = [ Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.MIDDLE_DRAG ];
问题2:【WebGL】从iServer的config配置文件信息中,获取到的position位置信息,通过WebGL相机定位flyTo过去,为什么不是模型中心点?
【问题原因】考虑为数据集缓存范围非模型范围。 数据集中心点不是模型对象中心点。 可通过右键数据集重新计算范围,重新计算当前数据集数据范围。
问题3:【WebGL】前端加载BIM模型,透明窗户等模型,直接穿透显示到地表,无法透明看到后方模型,为什么?
【问题原因】图层顺序影响。 与iDesktop中部件图层顺序不同,带透明度的模型直接穿透地表情况相似。
【解决方法】可前端通过透明排序S3MTilesLayer.orderIndependentTranslucency =false
解决。
问题4:【WebGL】前端可视域分析调整viewshed3D.viewposition的height值后,可视域范围和观察点为什么发生了偏移?
【问题原因】更改高度时viewposition的经纬度也发生了改变
【解决方法】定义一个变量,在画完可视域后将位置信息存进去,修改时只需要修改变量的height值再赋值给viewshed3D.viewPosition即可
问题5:【WebGL】项目在使用vite打包后三维服务为什么加载不出来?
【问题原因】Mock.js 拦截导致请求失败:在使用 Mock.js 时,它会拦截特定的请求,并返回模拟数据,有时候可能会导致实际的请求无法发送或处理失败。禁用 Mock.js 后,请求就可以正常发送到服务端,获取到真实的数据。
【解决方法】在开发环境中禁用mock.js后再打包
问题6:【WebGL】iClient3D for Cesium有没有内置的地图状态缓存功能,实现返回前一视图的功能?
【解决方法】可以通过监听,记录每一视图时刻的场景位置相关信息来实现前后视图功能。具体记录场景位置方法为: 在执行场景操作(如平移、缩放、旋转)时,通过viewer.scene.postRender.addEventListener事件监听器来监听,并在回调函数中获取当前的视图状态参数,例如viewer.camera相机位置、朝向等信息。
问题7:【WebGL】iClient3D for WebGL视频投放功能,setImage()设置视频地址,setInfo()设置视频位置信息,结果前端报错,没正常加载视频投放,这是什么原因呢?
【问题原因】经测试是setInfo参数中文件格式错误,导致setInfo方法读取失败
【解决方法】修改setInfo参数url中字段即可正常读取
问题8:【iDesktop】Revit导入的模型,纹理显示与原始Revit中的效果不一致,出现了错乱应该如何解决?
【解决方法】
可以将模型添加至场景中,使用【三维地理设计】-【模型操作】-【材质】-【重新计算纹理坐标】功能,对纹理坐标重新计算。计算后纹理与原始效果一致。
问题9:【iDesktop】SuperMap iClient3D for Cesium 如何制作抽屉效果的白模数据?
【解决方法】
可以参考下方博客制作抽屉分层效果的白模数据
(https://blog.csdn.net/supermapsupport/article/details/136848933)
问题10:【WebGL】SuperMap iClient3D for Cesium 如何使用白模数据实现抽屉效果?
【解决方法】
可以参考下方博客实现白模的抽屉分层效果
(https://blog.csdn.net/supermapsupport/article/details/136848933)
问题11:【WebGL】SuperMap iClient3D for Webgl 如何使用三维数据与知识图谱进行关联?
【解决方法】
可以参考下方博客实现三维数据与知识图谱进行关联
(https://blog.csdn.net/supermapsupport/article/details/136745648)
问题12:【iDesktopX】SuperMap iDesktopX 如何基于BIM数据制作知识图谱?
【解决方法】
可以参考下方博客实现基于BIM数据制作知识图谱
(https://blog.csdn.net/supermapsupport/article/details/136745648)
问题13:【WebGL】SuperMap iServer 发布的3dtiles数据在SuperMap iClient3D for Cesium中应该如何加载?
【解决方法】
可以使用Cesium.Cesium3DTileset()进行加载。
完整代码
viewer.scene.primitives.add(Cesium.Cesium3DTilest({
url:"url",
isSuperMapiServer:true,
}))
五、SuperMap GIS基础产品组件GIS-FAQ集锦
问题1:【iObjects Java】【11.1.1】 请问 iObjects Java 组件如何对倾斜入库后的数据进行更新?
【解决办法】 建议参考iObjects Java组件帮助文档,iObjects Java 组件提供了 ObliquePhotogrammetryBuilder.update 接口用于更新倾斜数据。详细代码使用可参考https://gitee.com/liuchengxian8409/i-objects-java-function-test/blob/develop/src/com/company/ObliquePhotogrammetryBuilderTest.java
问题2:【iObjects Java】【11.1.1】 请问 iObjects Java 组件如何对 TIN 地形缓存数据实现局部更新呢?
【解决办法】 iObjects Java 组件没有封装直接更新的接口,建议使用绕行方案:
- 生成新的 TIN 缓存;
- 通过合并 TIN 的方式进行局部更新 CacheBuilderTIN.combineTerrainTIN。
问题3:【iObjects Java】【11.1.1】 请问如何解决新建的 CAD 数据集中文本数据导出 DWG 数据后显示被颜色填充的问题?
【问题原因】 iObjects Java 组件中新建的文本样式默认背景是不透明的,所以导出后会出现文本被背景颜色填充的情况。
【解决办法】 iObjects Java 组件 TextStyle 中提供了设置文本背景是否透明的接口 setBackOpaque(boolean value) ,设置 false 即可让文本的背景透明。
问题4:【iObjects for Spark】Spark组件是否支持jdk17版本?
【问题原因】需要看当前Spark版本所匹配的Scala版本:
Spark组件10i版本用到的Spark是2.3.4,对应的Scala是2.11;
Spark组件11i版本用到的Spark是3.3.2,对应的Scala版本是2.12 2.13,满足jdk17的最低要求
问题5:【iObjects Java】使用updateField进行字段更新,返回true,但是从桌面看没有更新
【问题原因】桌面打开这个数据集的属性表,日志中可以看到显示“database is locked”
【解决办法】关闭桌面,再执行updateField就可以了
问题6:【iObjects Java】如何将PostGIS数据库的表中geometry转为咱们组件中可以用的Geometry对象
【解决办法】将表中的geometry用PostGIS自带的函数转成GeoJSON:
SELECT ST_AsGeoJson(smgeometry) AS geojson FROM “New_Region” WHERE smid = 1;
再在java组件中转成Geometry对象:
GeoRegion region = (GeoRegion) Toolkit.GeoJsonToGeometry(geojson);
问题7:【iObjects Java】用Java组件生成新地图,并将地图保存成图片,outputMapToFile接口返回false
【解决办法】需要为添加图层的地图设置地图范围,可以通过设置“全幅显示本图层”的方式
Map map = new Map(workspace);
DatasetVector dataset = (DatasetVector) workspace.getDatasources().get(0).getDatasets().get(0);
LayerSettingVector layerSettingVector = new LayerSettingVector();
Layer layer = map.getLayers().add(dataset, layerSettingVector, true);
map.refresh();
map.ensureVisible(layer);
map.setLineAntialias(true);
workspace.getMaps().add("new", map.toXML());
workspace.save();
boolean b = map.outputMapToFile(filePath,ImageType.PNG, 96, dataset.getBounds(), true);
问题8:【iObjects Java】运行Java组件程序报错:java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter,该如何解决?
【问题原因】工程项目使用的JDK版本过高
【解决办法】1.降低项目使用的JDK工程版本为1.8
2.在maven中添加依赖:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
问题9:【iObects Java】在Java组件bin目录执行ldd libWrapjCore.so报错NSS_3.52 not found,该如何处理?
【问题原因】Java组件bin目录下的libnss3.so和系统库版本冲突。
【解决办法】将Java组件bin目录下的libnss3.so文件删掉即可。
问题10:【iObjects Java】在Linux中解压Java组件压缩包报错:Cannot create symlink to ‘*.so’:Operation not supported。该如何处理
【问题原因】解压时将压缩包放在共享目录文件夹了
【解决办法】将压缩包移出共享目录文件夹再解压。
问题11:【iObjects Java】在Linux系统使用Java组件如何生成report文件?
【解决办法】在Java组件bin目录下执行命令: java -jar com.supermap.licensemanager.jar -report /路径名/*.report 命令生成运行报告
问题12:【iObjects Java】怎么在mapcontrol点击到对象后获取对应的图层
【解决办法】使用Layer.getSelection()获取图层的选择集,遍历每个图层,获取选择集非空的那个图层就是目标图层
六、SuperMap GIS基础产品其他-FAQ集锦
问题1:【其他】OBJ格式文件内容参数如何解析?
【解决方法】参考官方文档:https://www.cnblogs.com/3dgiser/articles/10157353.html
https://www.cnblogs.com/slysky/p/4081307.html
问题2:【其他】许可中心生成运行报告失败,显示“ 未能找到路径“C:\Program Files\Common Files\SuperMap\License”的一部分。”
【问题原因】许可中心生成运行报告时,需要在“C:\Program Files\Common Files\SuperMap\License”生成一个xx.id文件
【解决办法】创建文件夹“C:\Program Files\Common Files\SuperMap\License”
问题3:【Web许可】Web许可中心能导入多个许可文件吗?
【解决办法】11i(2023)及以前版本不支持识别多个许可,建议联系流程信息中心将多许可整合为一个许可。
问题4:【Web许可】Web许可中心如何开启“回收许可”功能?
【解决办法】打开【Web许可中心安装包】/bin/application.properties文件,添加manual.enabled=true设置,重启Web许可中心服务,即可看到下图中【回收】按钮。贴图
问题5:【云许可】当使用云许可时报错“1425null”怎么办?
【问题原因】该报错是由于该许可账号未正常注销(即在其他端未正常退出)导致的
【解决办法】您可以通过Online页面–>许可管理,一键退出,如下图所示:贴图
问题6:【云许可】为什么我已经关闭了所有超图软件,云许可还是用不了?
【问题原因】只是关闭软件,账号未注销,需要等待2小时+才能在另一台机器登录。
【解决办法】方法一:在产品的许可页面,注销该账号,这里以iServer为例:贴图
方法二:通过Online页面–>许可管理,一键退出
问题7:【许可】iServer读取按核许可,为什么点击下一步一直循环配置许可页面?
【问题原因】由于许可核数小于机器的CPU逻辑核数导致,许可核数必须大于或等于当前机器的CPU逻辑核数。
【解决办法】根据正确的逻辑核数重新出许可
问题8:【许可】已有iServer专业版许可,许可模块中显示处理自动化可用,但GPA自定义的模型执行失败怎么解决?
【解决办法】GPA中空间分析等功能,需要iServer许可+分析等扩展模块许可。
七、SuperMap GIS基础产品移动GIS-FAQ集锦
问题1:【iMobile】栅格瓦片与天地图叠加后开启动态投影也不显示
【问题原因】栅格瓦片与天地图都是影像数据,动态投影对影像数据不生效
【解决办法】将栅格瓦片替换为矢量数据再开启动态投影与天地图叠加
问题2:【iMobile】地图卷帘对部分图层不生效
【问题原因】不生效图层存在地图图层组中,没有对单个图层设置卷帘
【解决办法】打开图层组,找到对应图层设置地图卷帘