SuperMap GIS基础产品FAQ集锦(20241014)
一、SuperMap iDesktopX
问题1:您好,请问咱们桌面端产品11.2.0连接瀚高数据库报这个错什么原因呢?
11.2.0
【解决办法】
可以参考博客配置,对瀚高数据库进行pg扩展安装
https://blog.csdn.net/supermapsupport/article/details/129268236
问题2:咨询一下倾斜数据更新功能更新数据和待更新数据坐标系要保持完全一致嘛?
11.2.0
【解决办法】前后的数据只要参考椭球体一致即可,因为会有一个插入点来控制数据的偏移
问题3:我这边有多个倾斜模型,想要用软件批量拼接,能否请大佬指导一下
11.2.0
【解决办法】在倾斜入库的界面,添加多个scp文件,勾选左下角的合并即可
问题4:请问下合并TIN配置文件,点确定没反应该怎么处理
11.1.1
【问题原因】列表中只添加了一个TIN配置文件,需要添加2个以上。
【解决办法】添加需要合并的TIN配置文件,两个以上
问题5:请问下,idesktopX11i2024版本如何把sgm动画模型添加到场景中,并发布为三维服务,用户目的是想让夜景楼上的流光动起来
11.2.0
【解决办法】需要先将sgm模型导入为模型数据集后,对模型数据集生成三维缓存;对于生成流动与发光纹理的三维模型缓存,可以参考博客https://blog.csdn.net/supermapsupport/article/details/121281506
设置PBR材质与自发光纹理生成
问题6:制作符号时,这个默认大小是起什么作用的?单位是什么
11.2.0
【解决办法】默认大小指设置点符号的默认大小,当用户通过点符号选择器设置点符号的大小时,如果指定的大小值为0时,点符号的大小将取默认大小的数值。点符号默认大小的数值范围为0到25.5之间,单位为:毫米。
问题7:MapGIS迁移单个工程转换和批量转换结果符号样式不一样,那位同事对接下呢
11.2.0
【问题原因】用户数据结构改变,不满足批量迁移文件夹结构要求。
【解决方法】批量迁移文件夹对文件夹结构有要求,符号库统一需要叫SLIB名称,这个正常来讲默认名称都叫SLIB,名称应该是被用户手动修改了。 单幅正常,是因为单幅时候勾选了指定符号库 。把符号库命名改回默认名称后即可正常转换。 文件夹结构要求, 地图相关放到map文件夹中,符号库用SLIB命名,每个文件夹都需要遵循这个结构,否则找不到对应的符号库。
问题8:请教一下,目前我们有超图数据库的数据(pg)定时更新机制吗
11.2.0
【解决办法】如题可用通过iServer计划任务实现。结合客户试用场景推荐:
方案1: iObjects Java 代码接入
数据中台那边可以接入代码的话,处理数据时调用iObjects组件代码,将数据追加到数据库型数据源。我们支持 .NET Java C++ Python
http://support.supermap.com.cn/product/iObjects.aspx
方案二:iServer 将数据库型数据源发布为数据服务。
数据中台那边得到数据更新后,调用 http/https请求将数据通过iServer的数据服务录入到数据库型数据源
问题9:请教下 叠加分析失败 是什么原因造成的啊
11.2.0
【问题原因】两个数据集不是相同的坐标系
【解决办法】先使用”投影转换“功能将坐标系统一再进行叠加分析
问题10:请问一下,结合AI的建筑建模方案,屋顶分类和构建带屋顶的建筑物这两步是怎么操作的呢?
11.2.0
【解决办法】操作步骤可参考视频:https://pan.baidu.com/s/19VfXWNQTZoVH-38PzuWVew?pwd=yyds
视频中的工具地址:建模-AI+程序化建模工具
链接: https://pan.baidu.com/s/1cMv6UlucxJlk2QxOtbXZvA 提取码: smsw
问题11:请问下,通过idesktopx制作知识图谱,创建实体关联关系时,结果一直是0,这个是什么原因呀
11.2.0
【问题原因】客户创建实体时,没有勾选需要用来构建实体关系的字段。
【解决办法】重新创建实体,勾选需要用来构建实体关系的字段。
问题12:请教一下,现在用户对idesktopX有这样一个需求,需要从二维的DWG户型图数据快速构建成三维内部户型模型数据,具体如下图,可以怎样实现呢
11.2.0
【解决办法】可以使用 线性拉伸来实现。实现过程中: 起始高度,高度,模型的位置以及宽度是要有的。如果要有材质: 数据的要分类,那些代表门,那些代表窗,那些代表阳台,以及材质。
和用户沟通 这个DWG里面能拿到哪些参数指标了,比如门 的宽,高,位置,等等。通过组件编写代码就可以构建了
问题13:请问 数据库型数据源的系统表有说明文档吗?比如dm 中的 SmID_tmp*
11.2.0
【解决办法】tmp是数据源创建的时候创建的,这个不能删,这些表的作用是:空间索引。 达梦引擎是我们自己实现的,所以空间索引也是自己实现的,这样空间索引的查询结果是一堆id,用临时表存储再次关联查询。才可以实现一次真正的查询
问题14:您好,请问咱们桌面端如何对地形栅格数据实现这种效果呢,如果用iObjects JAVA代码实现又该如何实现呢?
11.2.0
【解决办法】使用"三维晕渲图"能达到此效果,将栅格数据集添加到地图,选中图层右键属性,显示方式选择”栅格函数显示“,栅格函数选择“三维晕渲图”
问题15:通过导入svg符号的方式,导入进来和真实的SVG不一样这个可以解决吗?
11.2.0
【问题原因】SuperMap中使用QT5.6版本库,QSvgRenderer是Qt中用于渲染SVG文件的类,QSvgRenderer在Qt 5.6中支持SVG 1.1规范;
【解决办法】导入符合规范的SVG符号正常显示。
问题16:想请问一下,这种坐标系该怎么转地理坐标系
11.2.0
【问题原因】原始数据丢失了坐标系信息,导入后默认为“平面坐标系|无投影参数”
【解决办法】向数据提供方咨询数据的坐标系信息,然后使用”重新设定坐标系“功能,为数据集设定到本身的坐标系。再使用“投影转换”功能,转换到EPSG4490即可
问题17:请问在桌面端可以打开3DTlies数据吗,我需要提取这个三维模型的轮廓
11.2.0
【解决办法】1.先 将3DTiles 转换为 S3M 。2.再参看这个博客进行边界提取 https://blog.csdn.net/supermapsupport/article/details/133797251
问题18:请教一下,参考这个博客https://blog.csdn.net/supermapsupport/article/details/105075581在idesktopx生成体元栅格,做出的结果和实际的不一致可能是什么问题?
11.2.0
【问题原因】生成体元栅格的最小高度和剖切次数数值导致生成的结果要高出三维点很多
【解决办法】适当修改下最小高度和剖切次数,保证剖切面高度不超过三维点的最大高度
问题19:单独的地形数据+单独的影像数据得到一份完整的倾斜摄影数据
11.2.0
【解决办法】可以使用“栅格影像生成三维模型”功能,生成结果,参数瓦片类型选择OSGB
问题20:请问一下,在idesktopx11.2版本中,对矢量面设置三维的水面效果,但是在场景中并没有对应的水面效果,也没有周围三维建筑模型的倒影,这种是啥情况呢?
11.2.0
【问题原因】图层的高度模式为“贴地”
【解决办法】在“风格设置”中将高度模式设置为“绝对高度”、“相对地面”、“贴对象”其中之一
问题21:从文件型数据源往数据库型数据源里面复制数据集,然后数据库型数据源的数据集里面是空的,没有图斑数据
11.2.0
【问题原因】数据库有字段长度限制,数据集里文本类型字段长度过长导致复制数据集到数据库型数据源失败
【解决办法】将文本类型字段长度都改为255即可
问题22:请问下,切图任务执行完毕了,但是切的图大比例尺下看不到是为什么
11.2.0
【问题原因】地图设置了固定比例尺
【解决办法】在地图属性里取消固定比例尺之后再切图
问题23:请问下县级行政区合并为市级失败是什么原因
11.2.0
【问题原因】功能使用错误,应该使用数据集融合功能
【解决办法】使用“数据选项卡->数据处理组->矢量->融合”功能,设置融合字段(数据集中具有相同字段值的字段),根据此字段的值进行数据的融合、组合
问题24:请问一下,idesktopX将shp数据导入pg库时,存在字段数据过长无法全部显示的问题,这个需要怎么解决?arcgis里面是正常的
11.2.0
【问题原因】用户的shp数据是从ArcGIS导出的,由于shp数据本身限制,字段长度不能超过10个字符,所以导出后过长的字段就被截断了
【解决办法】通过“数据迁移->GDB导入”方式直接导入数据
二、SuperMap iServer
问题1:请问一下,iServer11.2地图服务,修改数据后,地图不更新,怎么解决?清了缓存,以及删除了output下的文件;
11.2.0
【解决办法】进入iserver管理页面点击数据-工作空间-刷新工作空间后解决
问题2:请问一下要修改iserver相关的所有端口然后启动的话有相关的操作步骤手册吗
11.1.1
【解决办法】修改端口在iServer安装目录下/conf/server.xml,修改8090启动端口,8015关闭端口 https://blog.csdn.net/supermapsupport/article/details/78006656
问题3:请问,https://tiles.mwr.cn:8888/iserver8080/services/map-mvt-lake/restjsr/v1/vectortile/maps/lake/tiles/{z}/{x}/{y}.mvt 这个z、x、y各自的范围,能从iServer服务获取吗
11.2.0
【解决版本】不能直接拿到,可拿到的信息下方帮助文档连接所示 :http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/root/vectortile/map/map.htm
例如: https://iserver.supermap.io/iserver/services/map-Population/restjsr/v1/vectortile/maps/PopulationDistribution.rjson
问题4:请教一个问题,同一份数据同一个服务器,在iserver10.1.1上进行sql查询iserver响应需要1秒以上,在iserver11.0.1上查询100毫秒左右,针对这个问题我应该如果优化使iserver10,也能达到iserver11的效率?
10.1.1
【解决办法】由于采购的是10i版本许可,所以无法升级11i。建议升级至10.2.1最新版,相较于10.1.1版本的sql查询有所提升。
问题5:ip:1947/能访问到界面,但是同一个网段的iserver识别不到
10.2.1
【解决办法】在需要使用许可的服务器上配置许可驱动,并修改hasp.ini文件,使得其可以访问ip:1947界面,在“配置”—>“访问远程授权管理器”中添加插锁机器的ip,然后就可以在“Sentinel 锁”界面看到锁的信息
问题6:各位同事们请教一下为什么用iserver发的服务leaflet跟openlayers3显示效果不一样呢
11.1.1
【问题原因】将影像数据添加到地图中保存工作空间中,没有将地图默认黑色的背景颜色修改为白色,并且leaflet和openlayers出图渲染方式不同,所以就出现了显示效果不一样的情况。
【解决方法】在iDesktopX中修改地图默认的背景颜色,再重新保存地图,重新发布地图服务后预览正常。
三、SuperMap iClient3D for WebGL
问题1:请问下 用webgl在浏览器添加100个三维模型后卡顿 但是电脑性能没有充分使用 这个要怎么优化呢?
11.2.0
【问题原因】客户的100个三维模型是gltf格式,前端使用entity的方式添加的。
【解决办法】建议更换为实例化方式加载,具体参考官网范例的“实例化方式加载”下拉框对应的代码http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#gltf
问题2:请教一下这个cesium示例加载粒子效果,cesium换成SuperMap3D形式能使用吗?http://support.supermap.com.cn:8090/webgl/Cesium/examples/webgl/editor.html#Particle%20System_Fire
11.2.0
【问题原因】iClient3D for Cesium 和 iClient3D for WebGL的粒子实现方式都不一样.
【解决办法】就按照示例的用法,两个包的实现方式完全不一样
问题3:webgl的这个标签在缩放到球上会显示一半,这个问题可以避免掉吗
11.2.0
【解决办法】初始化viewer后添加一行代码:viewer.scene.globe.depthTestAgainstTerrain = false; 关闭深度检测。
问题4:咨询一下是否能基于h5结合uniapp做开发,目标是能适配小米、华为和oppo市面上主流的机型。
11.2.0
【解决办法】支持h5+uniapp开发并打包apk,支持市面上的主流机型。
问题5:请问一下,我们的三维服务已经加载完成的区域移动到其它地方在移动回来是回重新加载的吗,项目上使用云套件出现这个情况,有办法设置成不再重新加载的吗
11.2.0
【问题原因】产品正常的优化性能逻辑
【解决办法】
办法1:设置 S3MTileLayer的 LOD缩放比例
layer.setLodRangeScale(0.01),(数值可视情况调整)。
但是这样的前端页面会有内存过大而崩溃得风险。我们又再设置图层的最大显示范围(visibleDistanceMax), 避免内存过大
办法二:试用多子域避免浏览器最大请求数限制带来的加载缓慢https://blog.csdn.net/supermapsupport/article/details/126406459
https://blog.csdn.net/supermapsupport/article/details/112007385
四、SuperMap iObjects Java
问题1:请教一下,怎么通过java组件将地图缓存生成到mongodb中,看MapCacheBuilder类没有找到存储格式参数?
11.2.0
【解决方法】MapCacheBuilder.mongoDB2Builder(String server, String database, String name, String user, String password) 使用mongoDB缓存信息构建本类实例。其他如瓦片类型参数与生成本地瓦片设置一致。
问题2:您好,请教一下如何通过iObjects Java添加类似这种的文本注记呢。
11.1.1
【解决办法】通过GeoText即可实现,示例代码:
TextPart textPart = new TextPart();
textPart.setAnchorPoint(new Point2D(125, 400));
textPart.setRotation(30);
textPart.setText("示例");
textPart.setX(100);
textPart.setY(100);
textPart.offset(10.0, 20.0);
// 将子对象添加到文本对象中
GeoText geotext = new GeoText();
geotext.addPart(textPart);
elements.addNew(geotext);
问题3:咨询下咱们11i 的java组件支持出绑定mac地址的正式许可吗?
11.1.1
【解决办法】支持的,是mac地址+机器名,详情请参考 iObjects Java帮助手册->开发指南->许可配置说明->SuperMap许可类型-支持的许可类型
问题4:DataExportUtil.export把矢量导出成GeoJson时,前端读取这个格式失败,但是把crs干掉就可以正常读取json,怎么能把这个crs属性去掉
11.2.0
【解决办法】DataExport没有直接的API控制不导出CRS。您可以又两个办法:
办法1:在前端代码中使用 delete jsonObj[‘crs’] 来删除这个属性字段
方法2:在DataExport导出后 使用单纯的JAVA代码删除crs再重新保存json文件
问题5:您好,我想请教下为啥组件和桌面端测出来的线段长度不一样呢?
11.2.0
【问题原因】坐标系设置错误;API使用错误
【解决办法】
1.根据客户数据,坐标系应使用EPSG:4490.
2.应使用Geometrist.computeGeodesicDistance来计算。
五、SuperMap iDesktop
问题1:idesktop打印上下缺少怎么设置呢?
11.0.2
【解决办法】右键已保存的地图-打印地图…弹出的预览画面是默认大小,可新建布局将地图合理添加到布局中,并对页面的纸张方向、纸张大小、页边距按需设置后通过“布局”选项卡->“输出与打印”组->“打印预览”功能,预览当前布局窗口中布局页面中显示的所有内容。
问题2:请问许可时间显示-9天什么原因
10.2.1
【解决办法】更新许可后,重启iDesktopX
问题3:请问安装许可驱动报这个错误咋解决啊
10.2.1
【问题原因】许可中心安装驱动有问题。
【解决办法】使用最新版本的许可驱动,下载链接: https://pan.baidu.com/s/1ffuhZ9jQFXczZO03zLiqLQ?pwd=1edy 用这个包里面的许可驱动
问题4:请问硬狗插上了不管用,许可中心显示占用0,这个怎么解决呀
10.2.1
【问题原因】许可驱动是11版本的(1947页面为蓝色主题),用户的硬件锁是10版本的。
【解决办法】卸载许可驱动,使用iDesktop10.2.1安装目录中的许可中心安装许可驱动:https://blog.csdn.net/supermapsupport/article/details/88966868
六、SuperMap 其他
问题1:请问一下 光有图片可以导入成模型数据集嘛
11.1.1
【解决办法】目前不支持,您可以通过以下方法:
- 找照片提供商 制作为模型文件
- 或者是知道照片的协议标准,在网上搜索相关的工具制作为模型文件,再导入到超图
问题2:请教下,咱们idesktopx支持导入glb格式的3dtiles么?这边测试工具提示转换成功,但目标目录下都是空文件夹。
11.2.0
【问题原因】GLB和3Dtiles是两种格式,客户数据不是3Dtiles。
【解决办法】将GLB转为3Dtiles或osgb后,再使用我们产品入库,比如库Cesium实验室可以将GLB转为3Dtiles。
七、SuperMap iClient for JavaScript
问题1:请教个问题,矢量面数据切好了mvt瓦片并且在iserver里发布了地图服务和矢量瓦片服务,我想在maplibregl里把他拉伸成白模,这块代码应该怎么写?
11.2.0
【解决办法】参考MapLibre GL官方示例: https://maplibre.org/maplibre-gl-js/docs/examples/3d-extrusion-floorplan/
设置图层样式的type为“fill-extrusion”,设置对应参数即可。
问题2:请教一下,用leaflet如何对接矢量瓦片并支持点击查询属性信息[抱拳]
11.2.0
【解决办法】Leaflet点击查询MVT首先需要注册点击事件,具体实现可以参考博客:https://blog.csdn.net/supermapsupport/article/details/127958630
查询要素属性可以参考如下代码实现:
$.get('http://localhost:8090/iserver/services/map-GanSuHuaNeng1/rest/maps/fullFigure@GanSuHuaNeng/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true&tileURLTemplate=ZXY', function (style) {
style.layers[0].paint['background-color'] = 'rgba(168,209,221,0)'
var gl = L.mapboxGL({
renderWorldCopies: false,
style: style,
crs: 'EPSG:4326',
interactive: true,
// mapboxgl zoom 和leaflet zoom 差一级
minZoom: 1,
maxZoom: 13
}).addTo(map)
// 获取 mapboxgl 地图
var mapboxglMap = gl.getMapboxMap()
mapboxglMap.on('click', function (evt) {
const features = mapboxglMap.queryRenderedFeatures(evt.point)
const displayProperties = ['type', 'properties', 'id', 'layer', 'source', 'sourceLayer', 'state']
const displayFeatures = features.map((feat) => {
const displayFeat = {}
displayProperties.forEach((prop) => {
displayFeat[prop] = feat[prop]
})
return displayFeat
})
console.log(displayFeatures)
})
})
八、SuperMap iMobile Android
问题1:如何在iMobile for Android中实现室内导航
11.2.0
【解决办法】根据室内导航数据制作教程,可以参考博客https://blog.csdn.net/supermapsupport/article/details/135266310
问题2:请教下,imobile64位的动态库没有libimbAutoCAD.so,看帮助文档说是“libimb、libimb2d和libimbAutoCAD有重复功能,可根据需要选择其中一个库即可”。选用了libimb2d动态库,但是出现以下报错,该如何解决呢
11.2.0
【问题原因】imobile for Android 64位不支持CAD数据
【解决办法】更换iMobile for Android 32位包
九、SuperMap iPortal
问题1:请问,iearth对三维服务(模型)进行属性查询没有反应,哪位同事帮忙看下呢
11.2.0
【解决办法】数据服务里面的数据集名称需与生成缓存时的数据集名称保持一致
问题2:请问centos系统中,iportal如何实现自启动
11.2.0
【解决办法】将iPortal的startup.sh添加到/etc/rc.local:
su - master -C “/opt/iportal/bin/startup.sh”
十、SuperMap iManager
问题1:请问下,调用云套件的api来完成上传文件,发布服务的操作,这个有相关api说明文档吗
11.1.1
【解决办法】
云套件支持通过API发布服务实例,不支持通过API上传数据。
云套件通过API发布服务参考:https://help.supermap.com/iManager_K8S/1121/zh/microservices/instancecreate/
问题2:请教一下imanager 10.2.1 env端点泄露的漏洞需要如何修复
10.2.1
【解决办法】修改ConfigMap 中imanager-gateway-config 的配置如下:
开启网关交互端点:
endpoint:
gateway:
enabled: false
交互端点暴露的路径, 可以通过/actuator/gateway/routes来查看当前路由信息
endpoints:
web:
exposure:
include:
最后再删除重建Gateway容器