SuperMap GIS基础产品FAQ集锦(202405)

一、SuperMap GIS基础产品桌面GIS-FAQ集锦

问题1:【iDesktopX】Win10系统安装字体库文件后,X桌面打开点符号库—导入TrueType字体,下拉框里没有已安装的字体符号选项?

问题原因】安装方式不对,ttf字体文件只是为当前用户安装的。X桌面是Java无法直接读取到Win系统里安装的字体。Net桌面可以直接读取字体符号,因为是C#是微软开发语言。
解决办法】点击ttf字体文件,鼠标右键—为所有用户安装。这样iDesktopX软件才可读取到已安装的字体符号。
image1_7.png

问题2:【iDesktopX】怎么样框选删除模型?

解决办法】在“场景”选项卡上的“浏览”组中找到多边形查询功能,在图层中绘制多边形区域,鼠标右键结束绘制,设置选择图层、底部高程及拉伸高度实现场景框选,目前支持模型对象、点、线、面、三维点、三维线、三维面。
选中以后,让图层处于编辑状态,然后按delete键删除即可。

问题3:【iDesktopX】fbx在max里面查看是多个模型,但是导入桌面以后,就合并成一个了。怎么拆分成多个?

解决办法】在导入参数页面勾选【分解为多个模型】,则导入时会根据原始数据将模型分解为多个对象,且会增加一个ModelName字段,记录模型对象的名称。

问题4:【iDesktopX】导出了一份二维点符号库,导入到其他电脑中,符号就变成了数字1,2,3,4等等。怎么回事?

问题原因】其他电脑上没有安装对应的字体库。
解决办法】拷贝对应的tff字体文件到其他电脑。然后右键【为所有用户安装】,或者将文件直接拷贝到C\WINDOWS\FONTS路径下即可。

问题5:【iDesktop】【iDekstopX】添加标注后,在不断放大地图的过程中,标注字体在视觉上看会变小。请问如何保持标注字体大小不变或者随比例尺放大而放大

解决办法】可以在专题图风格面板取消勾选【固定大小】。

“固定大小”按钮用来控制文本图层中文本对象是否固定大小。当该按钮为按下状态表示文字大小不随地图的缩放而改变大小;如果按钮为非按下状态 表示文字大小随地图的缩放而缩放。

问题6:【iDekstop】【iDekstopX】怎么按照范围批量选择三维模型并复制出来

解决办法】如果是想另存为数据集,可以通过【三维地理设计】->【模型编辑】->【模型裁剪】功能,绘制对应的范围面,然后另存为数据集。
如果您是想导出模型的话,在“场景”选项卡上的“浏览”组中找到多边形查询功能,在图层中绘制多边形区域,鼠标右键结束绘制,设置选择图层、底部高程及拉伸高度实现场景框选。然后右键导出模型。

问题7:【iDesktopX】修改字段后如何不生成backup备份数据?

解决办法】矢量数据集属性窗口属性表参数面板下,取消勾选“修改字段后保留备份数据”。

问题8:【iDesktopX】河流面内如何沿着河流走向设置标注?

解决办法】数据选项卡->数据处理->矢量->面主干中心线功能提取面数据集主干道面对象的中心线,即按面对象的最长距离进行提取,并将结果保存为线数据集,对线数据集进行标签统一专题图的制作,适当调整专题图参数面板内的参数,如沿线字间距、沿线字相对角度等,隐藏线数据集在地图中的显示即可。

问题9:【WebGL】在做数据展示的时候,切图数据完整,但是发布服务后无法点击面内部进行对象的选中,这种情况如何处理?

问题原因】客户原始面数据填充为Null,即为空心面,矢量瓦片在前端Mapbox渲染以线的方式进行渲染,导致选择空心面内部任意位置后无法进行对象的选中;
【解决方法】对原始面数据设置任意非空填充符号并按需设置透明度,使矢量瓦片在前端能以面的方式进行渲染,从而点击面内部去进行对象的选中。

问题10:【iDesktopX】有两份面数据集在场景中显示,直角矩形正常,河流面元素显示不出来

问题原因】面元素节点过多,达到了场景的渲染瓶颈;
解决办法】通过去除冗余节点算子处理面元素,然后重新在场景加载。
image22_7.png

问题11:【iDesktopX】使用mysql数据源时,怎么使用两个字段关联作为专题图的表达式?

解决办法】可以使用自定义表达式:CONCAT(IFNULL(COLUMN1, ‘’), IFNULL(COLUMN2, ‘’)),COLUMN1、COLUMN2为对应字段名

问题12:【iDesktopX】面拉伸生成模型瓦片后,有很多尖刺状的凸起

问题原因】使用的三维面数据异常,三维面的部分顶点异常的高或低
解决办法】先将三维面数据集转为二维面数据集,再结合底部高程字段将二维面数据集转为三维面数据集,以此修复异常的三维面数据集。再使用面拉伸生成模型瓦片功能
image31_7.png

问题13:【iDesktopX】iDesktopX 中填充符号库中的System5 斜线太密了,有什么办法遍稀疏些吗?

解决办法
第一步:上传一个斜线的点符号,点符号中的斜线贯穿点符号的左上角到右下角。
第二步:新建二维填充符号,类型 选择 符号填充,点风格选第一步中上传的点符号。调整符号大小、水平间隔,垂直间隔到合适的值,以调整斜线的疏密。

问题14:【iDesktopX】多个模型数据集如何进行平移和旋转

解决办法】对于平移,可以使用“批量平移”功能对多个模型数据集进行相同平移参数的平移,它位于“三维数据”->“模型工具”;对于旋转可以使用“追加行”功能将多个模型数据集合并为一个模型数据集,再使用“模型旋转”,它位于“三维地理设计”->“模型操作”->“模型编辑”

问题15:【iDesktopX】如何合并多份scp,倾斜入库后像是直接把成功文件复制在一个文件夹。

解决办法
1.使用“倾斜入库”功能,添加需要合并倾斜摄影scp文件。
2.设置输出“输出目录”
3.勾选"合并图层"。
4.勾选“重建LOD”,“重建指数”使用界面中计算出的默认值。
5.点击“确定”,开始进行合并
合并完成后在输出目录下即会出现一个新的scp文件

问题16:【iDesktopX】iDesktopX11.0.2中BIM模型数据集生成缓存之后又缝隙

解决办法】经过测试,使用iDesktopX11.1.1 生成缓存没有缝隙。下载地址http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=2550

问题17:【iDesktopX】重装系统后(win10专业版),iDesktopX无法启动,停在了启动页面

问题原因】重装系统使用的镜像缺少系统库。使用微软官网下载的win10专业版能正常启动,未能重现。
解决办法】可使用iDesktopX按照目录下\support\depends中的depends.exe 检查缺失的库文件,然后进行补充。

问题18:【iDesktopX】在编辑线数据集时,移动节点跟该节点有关的拓扑会随之移动吗?

解决办法】默认不会,若需保持拓扑关系,可以开启“编辑节点自动协调”功能,它位于"对象操作"->“对象绘制”->“绘制设置”->“编辑节点自动协调”,点击它呈现选中状态则代表开启。

问题19:【iDesktopX】为什么iDesktopX使用“面内无自交”无法勾选修复拓扑错误?

问题原因】面内无自交不在自动修复的拓扑规则内
解决办法】支持自动修复的拓扑规则有线内无假结点、线或面边界无几余节点、线与线无重叠、线内无自交叠、线内无重叠、节点距离必须大于容限、节点之间必须相互匹配、线段相交处必须存在交点

问题20:【iDesktopX】自适应管点不显示

问题原因】设置管点符号为自适应管点后,移除了管线图层,导致自适应管点没有依附对象
解决办法】不要移除管线图层,隐藏管线图层即可

问题21:【iDesktopX】iDesktopX二次开发如何在启动页面之前添加登录页面?

解决办法】在MyStartUp.main()方法中引入登录页面,在登录按钮的点击事件里面执行Application.getActiveApplication().initialize()即可。

问题22:【iDesktopX】iDesktopX二次开发自定义登录页面点击登录按钮之后桌面本身的启动页面不显示?

问题原因】按钮的响应事件是在绘制线程里面触发的。
解决办法】在子线程里面执行Application.getActiveApplication().initialize()即可。

问题23:【iDesktopX】SuperMap iDesktopX二次开发添加数值控件之后启动桌面在对应功能区看不到数值控件?

解决办法】在group标签上添加rowCount="2"属性即可。

问题24:【iDesktopX】SuperMap iDesktopX二次开发如何给数值控件设置默认值?

解决办法】在spinner标签上添加value="10"属性即可。

问题25:【iDesktopX】SuperMap iDesktopX二次开发如何将成果部署到其他机器上使用?

解决办法】在IDEA将二次开发工程运行后,会在桌面根目录\bundles\plugin_bundles下面生成对应的jar包,如要在其他电脑上部署该二次开发成果、只需将该jar包放在\bundles\plugin_bundles目录下然后启动桌面即可。

问题26:【iDesktopX】SuperMap iDesktopX将obj模型导入之后发现模型所有的对象都合并成了一条记录,如何拆分?

解决办法】导入obj模型时,在参数面板勾选“分解为多个模型对象”即可。

问题27:【iDesktopX】影像地图在iDesktop中把黑边设置为透明色,去除黑边后,切片仍然有白边

问题原因】用户原始数据为ige格式的栅格数据
解决办法】将数据导入桌面后,以tiff文件导出,再重新导入设置背景色透明,勾选alpha通道,切瓦片的时候选择png格式,勾选背景透明后正常

问题28:【Idesktop】平面立体地图,拉伸高度选不了想要的字段

解决办法】该字段必须为数值型

问题29:【iDesktopX】栅格数据在地图里面加载拉远后栅格值有变化,精度有损失

问题原因】栅格数据创建了金字塔,栅格金字塔是一种多分辨率的图像表示方法,会对原始栅格数据集进行缩减采样,形成分辨率逐渐降低的图像集合,随着比例尺减小分辨率越低,会损失精度,但是对于大数据量的数据建议创建金字塔来提高数据访问速度。

问题30:【iDesktopX】切好的地图瓦片怎么存到MongoDB里面?

解决办法】工具箱中使用“本地瓦片转MongoDB瓦片”工具

问题31:【iDesktopX】在三维场景里面加载地图导出的图层模板不生效,是本来就不支持的吗?

问题原因】二维地图导出的模板需要在地图中加载。三维场景中加载的是场景模板,场景模版中存储了场景的图层信息、图层风格、专题图设置、场景定位等信息。

问题32:【iDesktopX】电脑性能还不错,但倾斜入库时感觉没有应用上

解决办法】在倾斜入库时可以设置线程数,可以根据电脑的逻辑核数来进行设置。

问题33:【iDesktopX】倾斜数据生成配置文件,指定根节点时如何使用通配符进行快速检索?

解决办法】用通配符表达文件名称,“?”表示一个字符,“*”表示多个字符,示例:
Tile_+004_+00?_L16_0.osgb
*_0003.s3m
*_0006.s3mb

问题34:【iDesktopX】怎么打开并浏览MongoDB中存储的三维瓦片?

解决办法】三维数据选项卡->三维瓦片->瓦片管理按钮,弹出瓦片管理窗口。选中瓦片数据节点,单击右键,将瓦片数据添加到场景中或删除。注意:该操作是对 MongoDB 数据库中瓦片的删除操作,瓦片一旦被删除将是不可恢复

问题35:【iDesktopX】使用“矢量数据集生成三维瓦片”功能,为什么“轮廓线”选项灰色不可选?

问题原因】高度模式设置为贴地时“轮廓线”选项才可用

问题36:【iDesktopX】【11.1.1】 请问 iDesktopX 导入 CAD 三维数据的时候,如何保留其高程值呢?

解决办法】 导入CAD数据的时候勾选“保留对象高度”的参数,即可保留三维矢量数据的高程值。

问题37:【iDesktopX】【11.1.1】 请问 iDesktopX 如何保存瀚高数据库的工作空间呢?

解决办法】 瀚高本身是基于 PostgreSQL 内核的,若客户有安装 PostGIS 插件的话,则可以选择保存为 PostGIS 数据库型工作空间。

问题38:【iDesktopX】【11.1.1】 请问 iDesktopX 扩展开发如何在编辑事件中添加权限验证,判断操作图层是否具体编辑权限呢?

解决办法】 Layers 对象提供了 addLayerEditableChangedListener 监听事件,用于监听图层编辑状态的改变,可以在这里面进行判断并添加权限验证的逻辑。

问题39:【iDesktopX】【11.1.1】 请问为什么在许可中心显示许可正常,但是 iDesktopX 无法正常识别呢?

解决办法】 建议对比许可文件和运行报告的内容,若许可文件中的计算机名称多了一个空格的话,iDesktopX 就无法正常识别,则需要重新申请许可。

问题40:【iDesktopX】【11.1.1】 请问 iDesktopX 扩展开发后,直接双击 iDesktopX.exe 启动,无法正常识别扩展开发的内容是什么原因呢?

问题原因】 没有重新生成 iDesktopX.exe,iDesktopX.exe 依然是之前的内容。
解决办法】 建议参考 https://blog.csdn.net/Causal321/article/details/131592251 教程,重新生成 iDesktopX.exe。

问题41:【iDesktopX】【10.2.1】 请问 iDesktopX 将 GDB 导入 UDBX 数据源后,计算的矢量面面积值比第三方产品计算的面积值小了很多是什么原因呢?

问题原因】 矢量面是岛洞类型,中间存在空洞。
解决办法】 iDesktopX 计算的矢量面面积是正确的,是精确的,排除了岛洞多边形的空洞面积,而第三方产品计算的面积包含了岛洞的面积,是不正确的。

问题42:【iDesktopX】如何自定义三维水面符号的风格呢?

解决办法】对已有的三维水面填充符号无法修改其参数,想要自定义的三维水面符号需要新建一个三维填充符号,然后自定义水面的亮度、频率和大小,以及水波速度

问题43:【iDesktopX】将栅格数据集添加到场景中作为地形数据后,三维地理设计下的TIN地形镶嵌功能按钮还是灰色的怎么办?

问题原因】TIN地形镶嵌功能需要场景中有TIN地形缓存数据
解决办法】将栅格数据生成TIN缓存后,在场景中打开TIN缓存然后使用TIN地形镶嵌功能即可

问题44:【iDesktopX】如何将矢量数据按照一定的距离偏移导致想要的位置呢?

解决办法】可以使用指定偏移功能进行偏移操作,将图层加载到地图后开启编辑后参考下面步骤操作:
1.在可编辑图层中,选中要移动的几何对象。
2.在对象操作选项卡的对象编辑组的 Gallery 控件中,单击移动对象分组中的指定偏移按钮。
3.此时鼠标提示:“请指定基点坐标”,在地图窗口中单击鼠标(或者通过Tab键切换并输入X、Y坐标值,Enter键确定输入)确定移动的基点坐标。
4.此时鼠标提示:“请指定目标点坐标”,在地图窗口中移动鼠标,地图窗口中会实时显示移动后对象的预览图(用虚线表示)。单击鼠标左键(或者通过Tab键输入X偏移量和Y偏移量,Enter键确定输入)确定目标点坐标后,选中的对象将按照指定的偏移量移动到新的位置。

问题45:【iDesktopX】已有二维点与线数据如何进行爆管分析呢?

解决办法】需要先使用数据类型转换功能将二维的点跟线数据集转换为三维点跟线数据集

问题46:【iDesktopX】iDesktopX数据迁移需要arcgis的许可是什么?

解决办法】支持许可类型:Default、Engine、EngineGeoDB、ArcServe、rBasic、Standard、Advanced
使用数据迁移功能需验证ArcGIS许可模块:
当前计算机使用ArcGIS版本为10.4、10.6、10.7、10.8,需要ArcServer模块;
若使用的是其他ArcGIS版本,则需要 Advanced 模块。

问题47:【iClient for Javascript】参考使用iClient for Mapbox的echarts的热力图示例加载自己的数据没有渲染出来

问题原因】echartsgl不支持4490等坐标系,只支持4326与3857坐标系
解决办法】初始化定义map的时候,设置为4326或3857坐标系即可

问题48:【iDesktopX】使用新版本iDesktopX创建的矢量金字塔在老版本打开会有影响吗?

解决办法】SuperMap GIS 11.1.0 及以上版本支持矢量金字塔能力,使用SuperMap iDesktopX 11.1.0 以下版本打开具有矢量金字塔的数据集,金字塔层数据集表将被注册为数据源中的普通数据集,再使用SuperMap iDesktopX 11.1.0 及以上版本打开,这些普通数据集依旧存在,但不会影响矢量金字塔的应用。

问题49:【iDesktopX】iDesktopX在运行过程中的信息会输出到日志吗?日志存放在哪里?

解决办法】输出的日志有两种,一个是SuperMap iDesktopX的log,一个是SuperMap iDesktop iObjects的log,分别记录了桌面和组件运行输出的信息,日志中的内容包括程序输出窗口的输出信息、异常信息等内容。日志存放在根目录下的“bin”目录下的“log”文件夹中。

问题50:【iDesktopX】在布局中如何保证插入的图片可以等比例缩放?

解决办法】可在选择填充图片时,勾选保留图片原始尺寸。之后将鼠标光标放置到图片右上角后,按住键盘shift键即可对插入的图片按照原始尺寸等比例缩放。

问题51:【iDesktopX】核密度分析结果为栅格状,如何美化呢?

解决办法】首先应根据分析需要,选择合适的密度字段与查找半径,对结果数据设置合适的分辨率。其次,对于核密度分析结果的栅格图层,可以对其设置合适的颜色表,并在图层属性中调整合适的透明度,达到美化的效果。此外,如果是为了得到美观的地图,可以用专题图中的热力图也可以实现聚合的效果。

问题52:【iDesktop】三维网络数据集需要用什么数据生成?

解决办法】需要先准备好三维点和三维线数据集,然后在“交通分析-拓扑构网-构建三维网络”中设置参数,生成三维网络数据集

问题53:【iDesktop】iDesktop10.2.1导入Excel,双精度字段值会从“1.2”变成“1.1999999”

解决办法】将iDesktop从10.2.1升级为11i,导入Excel不会出现同样的问题,如果用10.2.1,可以在导入后,用“更新列”的方式去掉多余的小数,round(“字段名”, 2)

二、SuperMap GIS基础产品云GIS-FAQ集锦

问题1:【iServer】能否通过自动化服务不建模型直接调用系统自带算子,如果可以,需要怎么调用,参数怎么传?

解决办法】可以的,我们在iServer的算子详情中,可以找到算子的工具ID,参数ID,然后根据ID传递对应的参数即可,详细步骤可以参考http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/index.htm

问题2:【iServer】访问iServer图层并缩放时,出现部分瓦片依然显示上一级,导致地图显示错乱

解决办法】iServer关闭缓存,清除缓存文件,浏览器清除缓存,正常显示后重新开启iServer缓存,其中iServer缓存文件目录为webapps\iserver\output\cache
image26_7.png

问题3:【iServer】使用缓存瓦片发布wmts-china服务后,能力文档缺失不完整,缺少tileMatrixSet,resolution等参数

问题原因】wmts-china目前仅支持4326坐标系和支持默认投影的数据源;
解决办法】切缓存瓦片前,把地图转换为4326坐标系

问题4:【iServer】欧拉系统iServer服务开启后无法访问,正式环境也不想关闭防火墙

解决办法】如果不想关闭防火墙,可以依次执行以下两个命令,单独开放8090端口:

sudo firewall-cmd --zone=public --add-port=8090/tcp --permanent
sudo firewall-cmd --reload
问题5:【iServer】使用上下游追踪分析,不管传入的edgeID是什么,返回结果一直是空的;设置了流向字段,而且连通性分析是有结果的

问题原因】数据里的流向字段类型错误
解决办法】流向字段的数据类型需设置为32位整型

问题6:【iServer】发布文件型工作空间后预览postGIS数据库下的数据集dataset资源,报错404页面不存在

问题原因】检查到数据库中数据集表名称出现了点号。
解决办法】经验证SuperMap 产品无法设置数据集名称包含点号,请避免直接操作数据库数据源中的系统表。解决方法:回顾数据库操作,恢复数据库表名。

问题7:【iManager】云套件通过高级选项,添加服务配置方式去创建聚合地图服务实例报错:“Data too long for column ‘providerName’ “

问题原因】ispeco.i=instances.providername默认为 255字节,而添加的服务提供者又很多,超过了该字段的最大长度。
解决办法】1、进入云套件的ispeco-mysql容器,
2、登录mysql(账密supermap/supermap),指令: mysql -u supermap -p
3、切换数据库,use ispeco;
4、查看instances表结构去查看providername字段长度,decribe instances;
5、修改providername长度,字段长度根据实际需求去修改,alter table instances modify column providername VARCHAR(1024);
6、验证修改,decribe instances;

问题8:【iServer】docker导入的镜像镜像的名称和tag都是none是何原因

问题原因】这个包是通过 docker save 镜像ID方式去保存的
解决办法】通过指令"docker tag <镜像ID> <新镜像名称>“去修改镜像名称

问题9:【iManager】云套件的聚合的服务和被聚合的服务,是否都需要在同一个节点上

解决办法】不需要,如果在不同的节点就需要填写完整的原始服务提供者配置,同一个节点则可不用

问题10:【iManager】云套件里面如何添加自定义的wmts接口

解决办法】云套件添加自定义接口只能通过高级选项添加服务配置的方式去添加新接口,即修改配置的中的标签里面的内容

问题11:【iServer】新部署iServer包,web打印服务启动失败,日志报错:“Error creating bean with name 'custom-font-loader”

问题原因】缺少fontconfig库
解决办法】补充fontconfig库,然后重启iServer

问题12:【iServer】GPA大数据的“保存矢量数据“的工具中是否分区写入作用

解决办法】该参数值有两种:true,表示分块写数据,对于大数据,避免出现写出时内存不足;false,表示不进行分块写入。

问题13:【iManager】iManager机器做镜像然后部署到其他设备上可行不?

解决办法】不建议这样去做,因为k8s 的ip和机器名都是绑定的,新环境的网络不一定一样,可能会出现k8s起不来情况。建议新装一个环境,然后对云套件的数据进行还原

问题14:【iManager】使用指令去查看容器日志报错

“Error from server: Get "https: /x.x.x.x:10250/containerLogs/”

问题原因】该节点开启了防火墙且未开启端口
解决办法】关闭防火墙后iManager正常启动或者开启相应的端口

问题15:【iManager】云套件服务实例设置授权后,仍与匿名访问一样不用登录也能该服务实例

问题原因】云套件网关gateway关闭了“icloudnative_security_enable_security”
解决办法】开启“icloudnative_security_enable_security”,修改云套件网关(gateway)环境变量(env)“icloudnative_security_enable_security” = true

问题16:【iServer】java组件生成的工作空间能否在iServer上设置工作空间的字符集编码

解决办法】a,不行,需要在生成工作空间的时候设置
b,SuperMap Objects Java/.NET 6R版本,在创建和保存工作空间文件时均使用本地编码(操作系统)
c,SuperMap iObjects Java/.NET 11i版本提供了新的工作空间版本,既WorkspaceVersion.UGC70,该版本的工作空间文件使用UTF-8编码存储

问题17:【iServer】iServer的数据服务中的Geometry属性partTopo如何判断什么是岛什么是洞?

解决办法】a,partTopo:part的拓扑结构,目前只有GeometryType = REGION的Geometry包含此字段,1代表为岛,-1代表为洞
b,geometry对象中的partTopo属性来判断,只要是数组partToo的长度大于0,说这是一个复杂面,里面含有岛或者洞

问题18:【iServer】硬件锁插在windows机器上,如何在不拔锁的情况下让iserver不用该硬件锁许可而用文件型许可?

解决办法】a,在windows服务中,停止服务Sentinel LDK License Manager

问题19:【iServer】iServer发布三维切片缓存服务,预览报错503(s3mblock)

解决办法】a,影像切片(文件类型选S3M BLOCK)桌面能正常加载,并且能正常发布,但无法预览
b,iServer支持把block格式储存的二三维影像缓存数据(sci、sci3d)作为数据源和支持将以block格式储存的地形缓存(sct, sci)作为数据源,不支持影像

问题20:【iServer】iServer的gp算子,如何实现删除指定数据源中的所有数据集

解决办法】a,迭代数据集-删除数据集,其中“迭代数据集”的输出结果(数据集集合)作为“删除数据集”的参数传入

问题21:【iServer】制作地图设置了去除重复标签发布服务预览就会显示多个标签

问题原因】瓦片浏览机制导致会显示多个标签,而且存在重复标签
解决办法】对单个对象的图层生成标签专题图,再发布服务即可

问题22:【iManager for k8s】配置镜像拉取Secret时,如何在命名空间下创建与Secret同名资源

解决办法】配置镜像拉取Secret时,需在Kubernetes中GIS云套件所在命名空间创建与Secret同名的资源。如果开启metrics server服务,需在kube-system命名空间下创建Secret同名资源。请在Kubernetes Master机器中,输入如下命令创建Secret同名资源:kubectl create secret docker-registry --docker-server=<“172.16.17.11:5002”> --docker-username= --docker-password= -n 输入的内容中,带有尖括号”<>“的需根据您的实际环境替换(替换后去掉尖括号): 为您的Secret名称; <“172.16.17.11:5002”>为您的镜像仓库地址; 为镜像仓库用户名; 为镜像仓库密码; 为GIS云套件所在命名空间(在kube-system下创建Secret同名资源时,替换为“kube-system”)

问题23:【iManager for k8s】更换许可以后,服务节点无法正常启动无日志输出,并且文件管理中的temp目录无法进入一直转圈

解决办法】找到文件管理挂载的出物理目录,并将temp中tomcat中的文件删除掉即可

问题24:【iManager】无法正常进入iManager页面并且PageAuthorization?page=0响应返回报错404,查看iManager日志又无法异常输出?

解决办法】经排查请求返回响应中包含X-Content-Type-Options: nosniff限制项,这个本身iManager响应头中是不带限制项的,经过排查客户那边过了一层代理导致的,处理后解决

问题25:【iManager】docker目录通过拷贝迁移以后,iManager无法正常启动,并且数据库相关的服务日志中都显示权限导致读写不正确问题

解决办法】在拷贝目录的时候需要使用cp -rp 方式同时拷贝文件和权限

问题26:【iServer】我们isever的最佳路径分析底层用的什么算法呢

解决办法】普通的网络分析用的是Dijkstra算法,如果是使用了SSC分析模型那么底层分析算法是Contraction Hierarchies(简称CH)算法

问题27:【iServer】同一台机器启动两个iServer,已经把启动端口和关闭端口都更改了为什么还是报错端口被占用呢?

解决办法】还需要更改gp的相关端口,可在\webapps\iserver\WEB-INF中的iserver-geoprocessing.xml中进行修改,如果不需要gp功能也可以设置enabled节点参数值为false将其关闭。

问题28:【iServer】想要更改预览出图的地图范围有什么办法吗?

解决办法】需要在桌面打开地图,在地图属性中调整地图范围至您想要的范围后并保存发布服务即可

问题29:【iManager for k8s】站点创建桌面服务想要使用域名访问这个桌面服务需要怎么做呢?

解决办法】需要用ingress将idesktopx的svc代理成域名方可访问,或者是让域名指向这个 ip+端口

问题30:【iManager for k8s】请问一下,有办法直接修改云套件的访问端口吗

解决办法】1: 修改configmap中的entrance-config中的entrance.url以及keycloak.url和口keycloak-config中的keycloak.url
2:修改Services 下iserver-gateway的addressRegflnodePort
3:重新部署keycloakispeco-dashboard-api
4: 修改keycloak中的Clients-Valid Redirect URIs参数,依次修改并保存gateway、iportal.
iportal uiispeco-api ispeco-uigValid Redirect URIs值

问题31:【iPortal】通过管理-站点定制在资源中心下面添加了一个二级栏目,点击资源中心,侧边栏没有添加的二级目录

解决办法】通过管理-站点定制添加的二级目录只针对顶部导航栏有效,侧边栏是写死的无法更改

问题32:【iServer】根据帮助文档下载的docker镜像只能是10i版本的,怎么下载11i版本的iServer

解决办法】docker pull registry.cn-beijing.aliyuncs.com/supermap/iserver:11.1.1 进行11i版本的下载,其他的版本就去修改tag地址即可

问题33:【iServer】矢量瓦片切图,标签专题图未设置换行,标签自动换行

解决办法】更改瓦片文件/styles/style.json中的"layout"中添加"text-max-width"参数为合适大小的值即可,该值还由字体本身大小决定所以建议设置相对大些

问题34:【iServer】官网漏洞修复的补丁包如何使用呢?

解决办法
Windows 系统:
1)SuperMap iServer 11i(2023) PatchSet的解压缩包(以.zip为扩展名)无需安装,解压即可
2)在 %SuperMap iServer PatchSet_HOME% 目录,执行 patchset_install.bat install 命令,按照提示输入 SuperMap iServer 11i(2023) 产品安装目录即可安装补丁包
Linux 系统:
1)解压unzip [SuperMap iServer 11i(2023) PatchSet].zip
2)在 %SuperMap iServer PatchSet_HOME% 目录,执行 chmod +x patchset_install.sh && ./patchset_install.sh install,按照提示输入 SuperMap iServer 11i(2023) 产品安装目录即可安装补丁包

问题35:【iServer】【11.1.1】 请问 iServer 对栅格数据进行分布式切图,切图瓦片可以存储到达梦数据库吗?

解决办法】 不行的,达梦数据库可以直接存储栅格数据集,目前直接往数据库存储瓦片的话只能支持MongoDB,其他类型都是文件系统存储。

问题36:【iServer】【11.1.1】 请问 iServer 如何通过 rest 接口删除发布的数据集中的指定数据?

解决办法】 可以通过 features 的接口,通过 Post 请求删除对于的数据要素。
image135_7.png

问题37:【iServer】【11.1.1】 请问通过 iDesktopX 更新 iServer 发布的数据源后,iServer 显示没有及时更新如何解决?

解决办法】 iServer 提供了刷新工作空间的接口,刷新后及时更新,无延迟。
image141_7.png

问题38:【iServer】【11.1.1】 请问在 iDesktopX 倾斜入库的缓存,发布到 iServer 后预览存在偏移是什么原因呢?

问题原因】 iDesktopX 11.1.1 倾斜入库默认是 S3M 3.0,默认是椭球,而 iServer 默认使用圆球预览,所以会存在偏移。
解决办法】 有2种解决方案:
1、将前端的场景圆球改为椭球参数;
2、在 iDesktopX 重新执行倾斜入库,入库成 S3M 1.0/2.0 版本,选择圆球。

问题39:【iDesktopX】如何查询面对象包含的线数据?

解决办法
1.在地图上选择面对象,空间分析选项卡 > 查询->空间查询;
2.待查询图层选择线图层,空间查询模式:相交_面线;
3.查询图层选择面图层,只针对被选中对象进行空间查询。

问题40:【iServer】iServer发布的WFS服务,怎么一次性获取所有的属性信息,地址格式是什么样的?

解决办法】例如http://localhost:8090/iserver/services/data-world/wfs100?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=World:Capitals,这里返回的是 World:Capitals 数据集中的所有要素。

问题41:【iServer】iServer开启分布式分析,一启动,内置spark被占满,如何修改spark的核数和大小?

解决办法】可以修改spark节点的每个executor的核数和内存数:在"\support\spark\conf\spark-defaults.conf"文件夹中
spark.executor.memory 8g
spark.executor.cores 4

问题42:【iServer】使用iServer 11.2.0Beta发布服务时,点击“预览”,看到的文件为空

解决办法】iServer 11.2.0Beta 设置了根目录,默认为【iServer安装目录】\workDir,需要将要发布的数据移动到根目录,或者是在“全局变量”—“”中修改根目录,重启后,就可以指向其他路径

问题43:【iServer】有一份geopackage数据,导入iDesktopX后可以看到数据集,但是在iServer上发布地图服务后无法正常预览

解决办法】将geopackage发布为rest-数据服务后可以正常看到数据集。或者是导入桌面重新生成地图,然后将工作空间发布到iServer;前端加载geopackage发布的地图服务和其他rest-map服务一样,参考前端示例:https://iclient.supermap.io/examples/mapboxgl/examples.html#iServer

三、SuperMap GIS基础产品三维GIS-FAQ集锦

问题1:【WebGL】专题图设置颜色的时候,怎么能让其不重新加载?

解决办法】提前下载属性字段即可,例如在初始化的时候就下载。
_layers[j].queryFieldNames = [‘Floors’, ‘LandUse’];//指定仅下载需要的属性字段,提升性能;桌面缓存生成时,‘属性存属类型’需要选择ATTRIBUTE才支持

问题2:【WebGL】场景内的地球突然没了?

【解决方法】
代码中请求了BingMap,由于使用的Key为官方示例的Key,此Key受网络影响,当场景出现黑球时可至官网(https://www.bingmapsportal.com/)重新申请Key。

问题3:【WebGL】为什么我发布的三维管线场景(生成缓存,发布文件夹数据,选择缓存工作空间,管线是符号化成三维的),在网页展示时,放大才是三维管线,缩小一点就是线 ?

解决办法】此显示效果是由于生成缓存时设置了LOD层级及简化率,iDesktop/iDesktopX桌面端默认LOD缩放比例为1。如想要在放大缩小操作下均显示三维管线效果,参考以下两种方法:
(1)对于桌面端场景内的缓存图层,图层属性参数面板调大LOD缩放比例(倍),该参数为模型LOD的不同层级之间切换距离的缩放倍数,调整值按需设置,调整后保存场景与工作空间重新发布服务;
(2)在前端通过代码设置:S3MTilesLayer. lodRangeScale可获取或设置图层的LOD层级切换距离缩放系数。参考代码如下所示:

var layer = scene.layers.find('管线@building');
layer.lodRangeScale= 100;
问题4:【iDesktopX】栅格数据集生成Tin缓存如何修改开始层级

问题原因】场景生成缓存开放的参数较少,底层使用默认参数
解决办法】使用数据集右键【生成三维瓦片】,即可设置切片开始层级

问题5:【iDesktopX】使用模型瓦片更新功能,更新模型内部构件,更新结果不正确

问题原因】用于更新的模型数据集不正确,需要最终成果的整体数据集,客户选择的是更新部分
解决办法】将原始数据集添加到场景,使用批量选择功能,选择并删除要更新的数据,再使用【追加行】功能,将更新的数据追加到原始数据集中,使用这个数据集作为更新数据集即可

问题6:【iClient for Cesium】加载iServer返回的面数据,在面内部出现了很多横线,是什么原因

问题原因】返回的数据为复合面对象,需要进行拆分
解决办法】控制台打印查看返回对象,如下截图:
1、其中partTopo属性表示子对象是否为岛、洞,1表示岛,0表示洞;
2、parts表示每个子对象所包含的节点个数
3、points表示所有节点坐标
正确加载办法,先根据partTopo判断出一共有多少个对象,哪些为岛哪些为洞,之后再根据parts中各个子对象的节点个数,从points坐标数组中依次裁剪坐标,之后按照岛洞多边形添加
image65_7.png

问题7:【iClient for WebGL】相机绕着模型旋转,旋转一周就自动停止了,如何循环旋转和停止

解决办法】参考代码:

scene.camera.speedRatio = 0.6; //相机绕点旋转速度
scene.camera.flyCircleLoop = true; // 设置绕点旋转是否循环
scene.camera.stopFlyCircle(); //停止绕点飞行
问题8:【iClient for WebGL】如何通过前端给白模贴纹理

解决办法】使用HypsometricSetting()分层设色类,对缓存图层设置纹理图片,参考范例:http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#emissionTexture

问题9:【iClient for WebGL】加载GeoJson文件获取其字段属性为乱码

问题原因】字符集编码格式不正确
解决办法】确认文件编码格式,然后将GeoJson导入到桌面,再导出文件,选择字符集UTF-8

问题10:【iDesktopX】如何获取省级行政区划中,内部的市边界线?

解决办法】将市级行政区划线数据集添加到地图,开启可编辑状态,使用【对象操作】-【打断】功能,将市边界与省边界重合部分进行打断并删除,即可得到省内的各市边线

问题11:【WebGL】添加的billboard如何设置不被地形遮挡

【解决方法】创建billboard的时候添加一个不被地形遮挡的参数disableDepthTestDistance:Number.POSITIVE_INFINITY

问题12:【WebGL】前端请求地图瓦片超过5秒后请求自动取消,如何设置不取消

解决办法】设置参数Cesium.RequestScheduler.TIMEOUT = 需要的值(默认是5000),注意这个值的单位是毫秒.

问题13:【WebGL】前端展示管线的时候一定要放到很大才能显示样式,缩小变成一条线

解决办法】桌面切缓存的时候将过滤阈值设为0。

问题14:【WebGL】桌面加载缓存没有问题但是在前端WebGL加载的时候会出现模型透明的情况

解决办法】前端通过设置 layer.orderIndependentTranslucency  = false 关闭透明排序即可

问题15:【WebGL】如何设置绘制的标绘图标随图缩放

解决办法】通过以下代码设置plottingLayer._geoGraphicObjects[0].sizeInMeters = true

问题16:【WebGL】WebGL中如何关闭选中实体的选中效果

解决办法】初始化viewer的时候设置 selectionIndicator: false

问题17:【WebGL】加载地形数据时一样的代码加载SuerMap iServer的地形数据正常加载 cesiumLab的加载失败怎么回事儿

解决办法】 cesiumLab的地形服务不是来自于SuerMap iServer,加载地形的时候需要在参数添加isSct : false, // 地形服务源自SuperMap iServer发布时需设置isSct为true,否则设置为false

问题18:【WebGL】for Cesium 如何替换默认的地球影像图片

解决办法】将文件夹(for Cesium包所在路径\Build\Cesium\Assets\Textures\NaturalEarthII)路径下的图片替换为自己想要的图片即可

问题19:【WebGL】如何设置标绘贴地显示

解决办法】设置plottingLayer.geoGraphicObjects[0].isClampToGround为true即可

问题20:【WebGL】在前端如何把三维图层整体左右移动

解决办法】使用如下代码即可:

var layer = scene.layers.find('Config');                
layer.lat += 0.001                
layer.lon += 0.001                
layer.refresh()
问题21:【WebGL】SuperMap iClient3D for WebGL如何给影像设置最小可见高度?

解决办法】通过监听当前相机高度来实现:

viewer.camera.changed.addEventListener(()=>{
  // 当前高度
  let height= viewer.camera.positionCartographic.height;
  // 下面可以写其他的代码了
  if(height<1000){
    layer.show = false
  }else{
    layer.show = true
  }
});
问题22:【WebGL】SuperMap iClient3D for WebGL在选中模型对象的时候如何设置选中颜色且将模型原本颜色覆盖掉?

解决办法】设置选中颜色:layer.selectedColor = SuperMap3D.Color.RED;
设置颜色替换模式:layer.selectColorType = SuperMap3D.SelectColorType.REPLACE

问题23:【WebGL】SuperMap iClient3D for WebGL如何将地形裁剪抽出显示?

解决办法

viewer.scene.globe.addExtractRegion({
  name: 'extract', //名称
  position: positions, //开挖区域
  height: 200, //开挖深度,单位米
  transparent: false, //封边是否透明
  extractHeight: 1000, //抽出高度,单位米
  granularity: 1 //精度
});
问题24:【WebGL】SuperMap iClient3D for WebGL如何自定义裁剪影像?

解决办法

viewer.scene.globe.addImageryClipRegions({
  position: positions,//裁剪区域
  layers: [layer],//需要参加裁剪的影像图层
  name: "test"
})
问题25:【WebGL】使用Cesium如何以空间索引的方式加载倾斜等S3M数据呢?

解决办法】需要结合数据使用,SuperMap iDesktop 11i及以后缓存的数据可直接使用空间索引,SuperMap iDesktop 11i之前缓存的数据,需要用新版本桌面对缓存图层右键【创建空间索引】
开启代码S3MTilesLayer.LoadingPriority = Cesium.LoadingPriorityMode.UsePagedLodInfo //空间索引加载模式

问题26:【iDesktopX】使用revit插件的时候,同一个模型数据在revit中的属性信息与UDB中模型的大部分属性信息一致,还有一部分模型的属性信息会变成revit模型的名称信息,这个是什么原因?

问题原因】所使用的Revit插件版本太老导致
解决办法】下载使用官网最新的Revit插件导出即可,或下载11.2版本iDesktopX,使用其导入Rvt功能直接导入Revit模型数据即可

问题27:【Unity】Unity插件如何判断是10版本还是11版本的

解决办法】2023年及以后产品包里面加了version,里面记录版本号,路径为\My project\Assets\StreamingAssets\BIN_SuperMap Scene SDKs_Unity_x64下的VERSION。
在2023年之前就需要看下当时包了。官网下载的,压缩包上有版本名;临时发的,就要看时间结合产品发布时间来确定了。

问题28:【WebGL】s3m图层使用destroy()会报cesium.js的错误,如何解决?

解决办法S3MTilesLayer.destroy();此接口不建议使用,官方已更新文档,S3MTilesLayer.destroy()函数已删除。
请使用 viewer.scene.layers.remove("Building@CBD", true) 实现既删除图层也释放资源的需求。

四、SuperMap GIS基础产品组件GIS-FAQ集锦

问题1:【iObject .NET】为什么设置了专题图高度模式theme3DCustom.AltitudeModeExpression或者图层高度模式后,刷新后不起作用?

解决办法】以上两种办法都需要通过 layer3D.UpdateData()调用该方法才能正确渲染更新后的数据。

问题2:【iObject .NET】recordset.addnew失败。怎么回事?

问题原因】在新增记录的时候,不能对记录集进行锁定并编辑(Edit),否则调用该方法会失败;
解决办法】检查是否有开启编辑recordset.edit(),将其删除或注释即可。

问题3:【iObject .NET】布局中的地图怎么全幅显示?

解决办法】首先锁定地图,然后将地图全幅显示。参考代码如下:

//锁定地图
mapLayoutControl1.ActiveGeoMapID = 1; 
//对地图全幅显示
m_mapLayoutControl.ActiveMap.ViewEntire();
//解锁地图
mapLayoutControl1.ActiveGeoMapID = 1;
问题4:【iObject .NET】怎么根据道路中心线生成两条车道平行线?

解决办法】需要使用Geometrist.ComputeParallel (GeoLine, Double),距离参数一个设置为正,一个设置为负即可。
例如:

Geometrist.ComputeParallel(geometry as GeoLine, -10)
Geometrist.ComputeParallel(geometry as GeoLine, 10)
问题5:【iObject .NET】试用许可过期,更换为在线云试用许可后显示未将对象引用设置到对象的实例以及组件报错?

问题原因】拖拽SuperMap控件的时候要验证许可, MapControl、MapLayout等控件绑定了Workspace,内部会初始化,new Workspace时就会验证许可,此种情况下需要离线文件型试用许可。如果是离线文件型试用许可过期,更换为在线(云)试用许可,原来拖拽的控件验证许可失败会产生此类报错。
解决办法】(1)使用离线文件型试用许可,离线文件型试用许可于SuperMap Online(https://www.supermapol.com/)申请,一个机器只能申请一次,试用时长为1个月,后续需要离线文件型试用许可可以联系对接的销售进行申请;
(2)使用在线(云)试用许可,不拖拽控件,通过代码创建控件,例如:

String mail = "";  // 需要替换为自己的SuperMap Online登录账号
String password = "";// 需要替换为自己的SuperMap Online登录密码
bool login = SuperMap.Data.CloudLicense.Login(mail, password);

InitializeComponent();
workspace = new Workspace();

mapControl = new MapControl();
mapControl.Dock = DockStyle.Fill;
//将指定的mapControl控件添加到panel1控件集合中
panel1.Controls.Add(mapControl);
问题6:【iObject .NET】如何修改指定模型数据集选中模型颜色?

【解决方法】
参考代码:

GeoStyle3D style = new GeoStyle3D();
style.FillForeColor = Color.Red;
Layer3D layer3D = sceneControl.Scene.Layers["Building@OlympicGreen"];
layer3D.Selection.Style = style;
layer3D.Selection.UpdateData();
问题7:【iObject .NET】如何删除指定数据集中的一条记录集?

【解决方法】
参考代码:

Datasource datasource = workspace.Datasources[0];
DatasetVector objDt = datasource.Datasets["NewRegion3D"] as DatasetVector;
Recordset recordset = objDt.Query(attributeFilter: "SmID=1", CursorType.Dynamic);
recordset.Delete();
recordset.Update();
问题8:【iObject .NET】如何修改现成布局内的地图比例尺?

【解决方法】MapLayout.Elements属性获取布局对象中的布局元素集合,LayoutElements.GetGeometry获取当前布局元素几何对象,GeoMap.MapScale设置地图几何对象中地图的比例尺。

问题9:【iObject .NET】本地有.Net组件试用许可为什么Revit插件导出模型会报许可相关的错?

问题原因】组件Bin包为11i版本,客户通用许可为10i版本;
【解决方法】更换10i版本组件Bin包或者申请11i .Net组件许可。

问题10:【iObject JAVA】 用组件开发过程中,在开启捕捉的情况下,通过哪个方法可以获取到鼠标点击时,捕捉到的坐标值。

解决办法】添加监听器,获取实际绘制的坐标,实现代码如下:

m_mapControl.addTrackingListener (new TrackingListener(){
    public void tracking(TrackingEvent trackingEvent) {
       System.out.println(trackingEvent);
    }
});
问题11:【Hi-Fi 3D for Unity】向工程里面添加数据源,并指定数据集制作标签和图标专题图,专题图只显示在UI界面上,而不是三维地球中

问题原因】没有注意功能使用的前提条件
解决办法】运行场景之后,再使用该功能

问题12:【Hi-Fi 3D for Unity】加载矢量面缓存,在图层风格中无法修改缓存前景色

问题原因】缓存的制作方法不正确
解决办法】将数据集添加到球面场景,在【风格设置】中设置绝对高度模式,并把数据的填充前景色、边线颜色都设置为白色,之后保存场景,对场景生成瓦片

问题13:【Hi-Fi 3D for Unity】加载矢量面缓存,无法选择查询属性

问题原因】数据是由空间数据库创建的,属性中不包含SMID字段
解决办法】使用iDesktop X打开空间数据库,将目标数据集重新复制一份,查看新数据集属性表即有SMID字段,使用该数据集切片即可

问题14:【iObjects Java】叠加分析结果面积不正确

问题原因】没有设置好叠加分析参数的容限
解决办法】用OverlayAnalystParameter. setTolerance(0)设置分析精度无偏差

问题15:【iObjects Java】txt怎么生成点云缓存

解决办法】使用PointCloudCacheBuilder生成点云缓存,在PointCloudFileInfo点云信息类中设置点云文件路径、坐标系、单位、分隔符等参数

问题16:【UE】影像数据不受光照影响

问题原因】影像数据渲染使用的材质球为 Global,默认为“无光照”模式。
解决办法】设置为默认光照,已遮罩,再断开自发光,连接到基础颜色既是受光照影响。

问题17:【UE】城市精细模型中个别模型出现黑色,光照效果与周边模型不同。

解决办法】模型法线问题,可以通过 SuperMap iDesktopX 移除法线、重新计算法线处理后,再生成切片。

问题18:【UE】场景中加载白模数据时,无论如何调整光照,模型都没有明暗效果

解决办法】模型法线问题,可以通过 SuperMap iDesktopX 移除法线、重新计算法线处理后,再生成切片。

问题19:【UE】支持的数据类型都有哪些?

解决办法】支持向场景中添加三维缓存数据。
其中,三维缓存数据包括:三维影像缓存文件(.sci3d)、三维地形缓存文件(.sct)、三维模型切片缓存(*.scp)。数据集包括:模型数据集、点线面数据集。

问题20:【UE】编辑状态下,拖放对象到场景,对象的轴方向不对

解决办法】打开编辑模式之后,需要设置地理原点,之后再拖放对象到场景,保证对象朝向着正确。

问题21:【iObjects Java】【11.1.1】 请问 iObjects Java 组件在三维场景中绘制矢量数据出现偏移,绘制的节点位置和鼠标点击位置不一致怎么办?

问题原因】 由于当前三维场景中添加了倾斜摄影等其他模型数据的原因,默认开启了节点捕捉功能,会根据鼠标点击位置附近的模型计算合适的节点位置,所以最终计算的绘制节点位置与鼠标点击位置不一致。
解决办法】 SceneControl 默认开启了 SnapMode 属性,绘制的点会与当前场景中加载的模型顶点进行计算,计算出一个更偏向模型顶点的三维点,根据客户的需求建议关闭 SnapMode 属性,这样计算出的三维点就是客户鼠标点击的位置。

问题22:【iObjects Java】【11.1.1】 请问 iObjects Java 组件中指定图层全幅浏览是哪个接口呢?

解决办法】 iObjects Java 组件的 Map 对象提供了 ensureVisible(Layer) 接口用于全幅浏览指定图层。

问题23:【iObjects Java】【10.2.1】 请问 iObjects Java 组件的倾斜入库 ObliquePhotogrammetryBuilder 设置目标坐标系后没有生效如何解决呢?

解决办法】 需要同时设置 目标坐标系(setTargetPrjCoordSys)、目标坐标系转换方法(setTargetCoordSysCoordSysTransMethod)、目前坐标系转换参数(setTargetCoordSysTransParameter) 才会生效。

问题24:【iObjects .NET】【10.2.1】 请问基于 iObjects .NET 组件开发的程序,许可更新后无法正常启动是什么原因?

问题原因】 应用程序是基于 iObjects .NET 10i 组件开发的,而更新的许可是 11i 版本,许可版本不匹配,所以无法正常启动。
解决办法】 重新申请 10i 许可。

问题25:【iObjects Java】申请了许可放在docker环境中,Java组件运行没有读到许可

解决办法】在组件Bin路径下执行java -jar com.supermap.licensemanager.jar -debuglic 65400,报错显示5006,是许可计算机名与当前机器名不一致,可以参数博客中2.3部分重新申请,https://blog.csdn.net/supermapsupport/article/details/88966868

问题26:【iObjects Java】超图的栅格数据集可以像ArcGIS那样使用“自然断点分段方式”吗

解决办法】在11.2.0 Beta的Java组件中,栅格分段专题图的分段方式增加了自然间断分段方式,使用方式:

ThemeGridRange themeGridRange = ThemeGridRange.makeDefault(datasetGrid,RangeMode.NATURALBREAKS, 5, ColorGradientType.BLUEWHITE);
问题27:【iObjects Java】使用Java组件获取数据源成功,但是获取数据集数量为0

解决办法】客户制作工作空间和组件打开工作空间不在同一台机器上,存在ip无法访问数据库的问题,需要先关闭数据源,使用能ping通的ip再打开数据源,再去获取数据集的信息

五、SuperMap GIS基础产品WebGIS-FAQ集锦

问题1:【iClient】iclient怎么转换不常用坐标系的点数据的坐标,比如把4538坐标系转换为4326的?

解决办法】可以通过以下代码进行转换:

proj4.defs("EPSG:4538","+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs +type=crs");
var epsg4538 = proj4.defs("EPSG:4538");
console.log("EPSG:4538 坐标系定义信息:", epsg4538);
// 待转换的 EPSG:4538 坐标
var epsg4538Coordinate = [118.6,352.6];
var epsg4326Coordinate = proj4('EPSG:4538', 'EPSG:4326', epsg4538Coordinate);
console.log("EPSG:4538 坐标转换为 EPSG:4326 坐标:", epsg4326Coordinate);

其中坐标系定义可以通过 https://epsg.io/ 查询

问题2:【iClient】如何在前端通过鼠标移动在tips中显示多个影像数据集的像元值

解决办法

  1. 将所需的影像数据集添加到一个数据源中,保持工作空间。
  2. 将工作空间发布到iServer,
  3. 按照前端示例栅格查询,去发起多个 “getGridCellInfos”的请求,每个请求datasetName参数填写对应的栅格数据集(影像数据集)的名称,就能拿到变量值了。 剩下的就是前端将所以结果显示到tip里面。
    https://iclient.supermap.io/examples/mapboxgl/editor.html#02_getGridCellInfos
问题3:【iClient for Javascript】ol 加载瓦片数据后再加矢量地图,矢量地图就显示不到最大层级

问题原因】initMap回去获取设置底图的的zoom范围作为map的zoom层级范围
解决办法】手动去设置map和layer的最大和最小zoom层级

问题4:【iClient for Javascript】为什么前端请求地图获取图层layer,和在桌面修改了图层名和请求返回的name不一样?

解决办法】a,桌面修改的是图层标题,不是图层名称(图层名称无法修改)
b,iServer上获取图层信息返回的结果,name对应图层名称,caption对应图层标题
c,前端需要拿到iDesktopX修改的图层标题,应该使用caption

问题5:【iClient】如何实现前端框选一定范围对某个数据集进行叠加分析?

解决办法】a,接口为datasetOverlayResults
b,请求地址选择哪个数据集,请求体里面填面数据
c,帮助文档位置为:Home > API 参考 > REST API > services > root > spatialAnalyst > datasets > dataset > datasetOverlayResults

问题6:【iClient for Javascript】OpenLayer在加载地图的时候如何缩小地图区域范围,不显示无图区域的白边

解决办法】a, 在ol.view中设置extent进行限制,根据地图范围进行填写
b, view: new ol.View({center: [113.29, 24.12],zoom: 5, projection: Projection4490,extent: [111.86, 22.54, 114.72, 25.7] })

问题7:【iClient for Javascript】前端Leaflet加载如何实现请求19级的数据(本身19级无瓦片) ,用18级的瓦片放大显示出来

解决办法】a,Leaflet原生参数有设置minNativeZoom / maxNativeZoom
b,L.tileLayer(url, { minZoom: 0, minNativeZoom: 7, maxZoom: 18, maxNativeZoom: 12 });
c,超出NativeZoom的不再请求,而是放大原有的,minNativeZoom反之

问题8:【iClient for Javascript】进行几何对象缓冲区分析时,是否可以更改缓冲区半径的单位为米

解决办法】可以,在BufferSetting缓冲区分析通用设置类中设置radiusUnit参数值为 BufferRadiusUnit.METER

问题9:【iClient for Javascript】uniapp框架中使用iClinet for Leaflet接口报错Uncaught RangeError: Maximum call stack size exceeded

问题原因】在renderjs模块中同时引入了iclient-leaflet.js跟iclient-leaflet.min.js导致的
解决办法】在renderjs模块中只引入iclient-leaflet.min.js后,可正常使用iClient的接口

问题10:【iClient for Javascript】基于iClient for Mapboxgl开发,加载矢量瓦片图层点击要素查看属性信息,返回结果不包含smid等系统属性信息是因为什么呢?

问题原因】矢量瓦片请求资源的tile模板不同导致的,使用ViewBounds的tile模板方式加载的瓦片能获取到数据的系统字段;使用ZXY方式的tile模板方式加载的瓦片不能获取到数据的系统字段
解决办法】请求iServer矢量瓦片的vectoestyle资源时加上tileURLTemplate=ViewBounds设置用ViewBounds模板方式出图即可

问题11:【iClient for Javascript】openlayers查询到的矢量数据,渲染到地图不显示怎么办?

问题原因】查询结果的要素渲染后在当前zoom下太小了看不到
解决办法】可以在渲染之后加个缩放定位的代码即可

var features = vectorSource.getFeatures()
var extent = ol.extent.createEmpty()
features.forEach(function (feature) {
  ol.extent.extend(extent, feature.getGeometry().getExtent())
})
map.getView().fit(extent, { padding: [20, 20, 20, 20], maxZoom: 18 })
问题12:【iClient】做web端的几何查询,请求的数据geometry是个多图斑的数据,可以传入多个Geometry?

解决办法】iServer的几何查询不支持Geometry数组,可以将多个Geometry合并为一个,将简单几何对象处理成复合几何对象,如图
image164_7.png

问题13:【iClient】在iClient for Classic中,Vector图层的label 能设置背景颜色吗

解决办法】可以设置标签对应的vector的填充颜色,例如:https://iclient.supermap.io/examples/classic/editor.html#overlay_labelVectorLayerData。

其次,vector图层可以设置的style参数包括:https://iclient.supermap.io/web/libs/iclient8c/apidoc/files/SuperMap/Feature/Vector-js.html#SuperMap.Feature.Vector.SuperMap.Feature.Vector.style

六、SuperMap GIS基础产品移动GIS-FAQ集锦

问题1:【iMobile】怎么把同一份场景打开多次

问题原因】想要将同一份场景多次打开,为了在场景中看到不同模型对象
解决办法】只用同一份场景即可,需要查看目标对象时,切换场景相机显示,使用scene.setCamera,用目标对象的位置信息构造Camera即可

问题2:【iMobile】获取数据集报错.DatasetImage cannot be cast to DatasetVector

问题原因】类型转换错误,影像数据集不能转换为矢量数据集
解决办法】根据提示使用datasetImage接收影像数据集对象

问题3:【iMobile】imobile是否支持三维模型的刨切功能

解决办法】使用Layer3D.setCustomClipCross方法,可以实现corss裁剪分析,根据中心点,裁剪区域宽高,裁剪面绕X轴旋转角度,裁剪面绕Y轴旋转角度,裁剪面绕Z轴旋转角度,裁剪区域中心点的拉伸距离进行裁剪

问题4:【iMobile】地图服务查询提示提示Geomety非法 不能为空

问题原因】空间查询需要设置查询几何对象为georegion,且设置查询对应的模式
解决办法】查询案例代码如下:

String url_qd_outnet = "https://iserver.qdjtcx.cn:8443/iserver";
QueryService service = new QueryService(url_qd_outnet);
ServiceQueryParameter parameter = new ServiceQueryParameter();
parameter.setQueryServiceName("map-5321shujuji/rest");
parameter.setQueryMapName("5321centerMap");
parameter.setQueryLayerName("zhongxinxian@5321centerRoad");
Point2Ds point2Ds = new Point2Ds();
Point2D p1 = new Point2D(119.3 , 34.79);
Point2D p2 = new Point2D(121.32 , 37.15);
Point2D p3 = new Point2D(119.3 , 37.15);
point2Ds.add(p1);
point2Ds.add(p2);
point2Ds.add(p3);
point2Ds.add(p1);
GeoRegion geoRegion = new GeoRegion(point2Ds);
//		m_mapControl.getMap().getTrackingLayer().add(geoRegion,"test");
parameter.setQueryGeomety(geoRegion);
parameter.setExpectRecordCount(1000);
parameter.setQueryRecordStart(0);
parameter.setQueryOption(QueryOption.ATTRIBUTEANDGEOMETRY);
parameter.setSpatialQueryMode(SpatialQueryMode.INTERSECT);
service.query(parameter,QueryMode.SpatialQuery);
问题5:【iMobile】天地图怎么添加注记

解决办法】需要添加注记图层,使用天地图注记图层url再打开天地图的web数据源,在叠加天地图图层在影像或者矢量图层上面

问题6:【iMobile】怎么查询iserver数据服务

问题原因】iMobile暂时没有查询数据服务的接口
解决办法

  1. HttpUtils类向iserver发送post请求查询数据服务,此时返回结果列表地址;
  2. 再用get请求获取之前post查询请求的返回的结果列表地址,返回查询结果地址;
  3. 在查询结果地址后加上[.geojson]后缀,并用get请求获取该地址,返回目标要素的json格式的数据;

七、SuperMap GIS基础产品其他-FAQ集锦

问题1:【Yukon】【11.1.1】 请问 Yukon 数据库支持在 Windows 操作系统上安装吗?

解决办法】 目前 Yukon 数据库多个版本中目前仅有 Yukon with AgensGraph 图数据库支持在 Windows 操作系统上安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值