一、SuperMap GIS基础产品云GIS-FAQ集锦
问题1:【iServer】发布文件型工作空间后,预览三维场景未发现三维缓存图层。三维服务中“三维数据集列表”为空
【问题原因】iServer10.2.0 在CentOS操作系统下,缓存文件存放层级错误。
【解决办法】缓存文件夹需“缩进”一级目录,即在将缓存文件放于文件夹中,缓存文件夹与工作空间文件在同一文件夹中。参考示例图片中“调整后”的结构
问题2:【iServer】Linux下动态标绘中的图片不显示
【解决办法】使用2024M6-2及以后的双周版本,下载地址:https://pan.baidu.com/s/1xmte5XZNuhOXI1CUpo2b6Q?pwd=cqjo#list/path=%2Fsharelink1001783785-343456808307335%2FiServer%2F11.1.1%2F2024M6-2(%E6%9C%80%E6%96%B0)&parentPath=%2Fsharelink1001783785-343456808307335
问题3:【iServer】欧拉系统使用iServer的https服务时,启动报错:初始化组件[Connector[org.apache.coyote.http11.Http11AprProtocol-8443]]失败。
【问题原因】缺少相关依赖
【解决办法】通过命令yum install apr apr-util tomcat-native
依次安装以下包:apr-1.7.0,apr-util-1.6.1,tomcat-native-1.2.31
问题4:【iServer】对GPA运行过程的明细数据需要做导出shp或者入库的一个操作,但不能影响原有模型的执行,需要怎么做
【解决办法】GPA运行过程中产生的明细数据可以多次消费,因此可以在明细数据后新增导出shp算子,同时为了防止后续运行过程对数据的影响,需要把导出数据作为执行下一步流程的前提条件来保证同步。
问题5:【iServer】发布含有postgresql数据源的工作空间,地图服务可正常显示,而访问数据服务的datasources页面报”ugcValue:0 Enum值错误“?
【问题原因】数据库型数据源未设置坐标系
【解决办法】对数据源设置任一坐标系即可。
问题6:【iServer】之前配置了云许可,现在机器无网络环境了,如何切换许可?
【解决办法】删除iServer目录/weapps/iserver/WEB-INF/下面的iserver-system.xml里面的,重新启动进行配置。
问题7:【iServer】临时资源包含哪些内容?
【解决办法】查看http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/mergedProjects/SuperMapiServerRESTAPI/tempResourcesLife.htm
下的”临时资源列表“
问题8:【iPortal】为什么所注册的服务显示状态为未检测,如图?
【解决办法】这是因为注册的服务类型时其他,并且注册的时候关闭了”服务在线检测“
问题9:【iPortal】如何提高iPortal服务代理后的地图服务的出图性能?
【解决办法】出图默认使用的encache,默认设置的很小可以根据机器的内存适当调整下。具体位置在iPortal目录/weapps/iportal/WEB-INF/下面的iportal-ehcache.xml,具体参数参考截图
问题10:【iServer】是否可以动态调整wms地图服务的样式?
【解决办法】WMS支持通过SLD修改服务风格:https://blog.csdn.net/supermapsupport/article/details/103598340
http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/API/WMS/WMS111/Using_SLD.htm
问题11:【iServer】spark.executor.cores在哪里设置?效果是什么?
【解决办法】在Spark环境设置里配置,效果就是限制Spark集群的总核心数,比如两台机器共有200个逻辑处理器,spark.executor.cores最大可以填200。
问题12:【iServer】请问iserver某个服务自启动要在哪个配置文件里修改呢?
【解决办法】可以设置iServer的iserver-services.xml文件中的“disabledInterfaceNames”参数,它用于设置停止了的服务接口名称列表,以逗号分隔。例如:disabledInterfaceNames=“rest”
问题13:【iServer】iServer发布WMTS服务能像REST服务那样在页面上显示地图吗?
【解决办法】不能,WMTS服务的地图名称只能在能力文档中进行查看。
问题14:【iServer】有工具能实现:模型分析输出的结果中能自动增加一个字段记录输出的当前日期吗?
【解决办法】使用“数据库端SQL操作”算子,从数据库中查询时间并更新到列中。
问题15:【iServer】项目服务器的iSever被扫描出有host头注入风险,如何解决?
【解决办法】打开iServer目录/conf/server.xml,配置Host的name属性为iServer所在服务器IP即可。
问题16:【iServer】请问iServer配置云许可,报错“machine’s macAddr parameter is required”如何解决?
【解决办法】删除iserver-system.xml中的许可配置,重新启动iServer后,Online许可正常读取。
问题17:【iManager】云原生环境下需要将哪些端口设为集群防火墙白名单,以确保服务可用?
【解决办法】1、iManager端口:https://help.supermap.com/iManager_K8S/1111/zh/tutorial/iManagerPort/
2、K8S集群端口:https://zhuanlan.zhihu.com/p/590652259
问题18:【iServer】想使用空间分析服务,这个在基础许可中带了吗?
【解决办法】不包含,空间分析模块为扩展模块,需要单独购买并搭配高级版或专业版iServer进行使用。
问题19:【iServer】10i版本的iserver,在哪里可以看到iserver的普通用户信息及密码?
【解决办法】账户信息可以【安全-用户管理】查看,密码无法查看,可以使用管理员账户去重置普通用户密码。
问题20:【iServer】请问iServer服务器ip变更后,报错数据源连接不上,启动不起来需要怎么解决咧?
【问题原因】服务器IP发生变更后,使用到的数据源连接信息未作修改,iServer无法连接到数据源。
【解决办法】使用iDesktop逐一对工作空间内的数据源连接信息做更新,然后重启iServer。
问题21:【iServer】iServer web打印服务是否支持wmts服务?
【解决办法】iServer支持打印WMTS服务地图,实现方式请参考:
http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/iS/use_iserver/usewebprinting/printing_content.htm
http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iPortal/iP/Appendix/WebMap/WMTSLayer.htm
问题22:【iServer】war包部署的iServer如何恢复管理员密码?
【解决办法】
1.复制其他iserver包里面的passwordreset.bat/passwordreset.sh;
2.修改passwordreset.bat/passwordreset.sh里面的相对路径;
3.停止 SuperMap iServer 服务,即执行 【SuperMap iServer_HOME】in 目录下的 shutdown.bat /shutdown.sh 文件;
4.执行 passwordreset.bat/passwordreset.sh 文件;
5.重启 SuperMap iServer 服务,即执行 【SuperMap iServer_HOME】in 目录下的 startup.bat/startup.sh 文件。服务启动后访问 iServer 首页时,系统会自动跳转到创建管理员账户界面,此时只需重新创建管理员账户即可。
问题23:【iManager】云套件的服务节点删除重建后一直启不启来,且日志为空
【问题原因】temp临时文件(夹)过多导致
【解决办法】找到“pvc-gisapplication-data-*”对应的持久化目录,进入tmp目录下删除所有的Tomcat开头的文件夹
问题24:【iManager】经典版iManager的许可中心如何访问
【解决办法】许可中心的后端端口也是9183,前端页面可以直接在iManager的许可中心查看和更新许可
问题25:【iServer】iServer多机集群,如果在master节点iServer上发布了服务,其他工作节点要不要单独发布?
【解决办法】受控集群的话,子节点会同步master节点的服务,可以不用单独发布,但是受控子节点不能进行单独操作。如果是普通集群,根据服务情况去判断是否要在子节点上去发布服务来对服务进行均衡。
问题26:【iManager】云套件iPortal的iportal-encache.xml是在哪个路径下,我们想后期可能会修改下里面的参数
【解决办法】该文件没有做持久化处理,要对容器内部“/etc/icloud/SuperMapiPortal/webapps/iportal/WEB-IN”进行持久化或者对该目录下的iportal-ehcache.xml进行单文件持久化
问题27:【iManager】k8s master节点挂了,会影响iManager服务么
【解决办法】对于高可用的k8s集群来说,没啥影响;对于非高可用的k8s集群来说,当前正在运行的容器服务没有影响,会影响新的调度请求、节点管理和集群状态更新将无法进行。
问题28:【iManager】iDesktopX站点的VNC桌面中iDesktopX打不开,一直在启动页面
【问题原因】机器资源不够了
【解决办法】删除不用的iManager站点资源后,iDesktopX流畅运行
问题29:【iManager】云套件如何使用外部postgressql库
【解决办法】删除keycloak编排中的initcontainers,且外部postgressql库需要创建一个名为keycloak的数据库
问题30:【iManager】云套件的定时任务“ update-keycloak-redirct-uri”报错拉取阿里云镜像失败
【问题原因】k8s环境问题,使用其node04可以正常拉取在线的镜像,node1~3均拉不到;
【解决办法】将node04上下载的该镜像推送到本地的镜像仓库中,然后修改“Cron Jobs”中“
update-keycloak-redirct-uri”编排的镜像为私有仓库的镜像地址
问题31:【iManager】云套件使用外部pg库,keycloak启动报错“ Unbound data source [java:jboss/datasources/KeycloakDS]”
【问题原因】keycloak编排中的环境变量“DB_PORT“未被values中的外部端口覆盖
【解决办法】kubectl edit statefulsets/keycloak -n 修改keycloak编排,将env中的“DB_PORT“修改成外部的pg端口
问题32:【iServer】iServer 如何设置token过期?
【解决办法】方式一:申请token的时候设置有效期,;
方式二:在iserver【安全】【安全设置】【token设置】里面去修改"共享密钥",该方式会使得之前申请token均失效
问题33:【iManager】云套件如何替换gisapp(容器)中的相关**.jar
【解决办法】a,使用dokcer exec 命令进入到指定容器,找到需要替换的jar以及路径
b,docker cp /path/**.jar 容器id:/path;其第一个path为宿主机的jar路径,第二个为需要拷贝到容器中的路径
问题34:【iManager】11.2 的GIS云套件站点为什么从文件管理上传工作空间发布地图服务,能预览,但是重启pod后地图服务就无法使用了
【解决办法】默认的…/workDir和挂载出来的数据目录不一样,需要修改挂载目录或者直接关闭文件管理
问题35:【iServer】iServer 的 featureResults 资源的 SQL 查询如何实现过滤重复数据
【解决办法】a,与SQL语句中使用 groupby 分组实现过滤重复数据相同
b,请求体参考:{‘datasetNames’:[“World:Countries”],‘getFeatureMode’:“SQL”,‘queryParameter’:{‘name’:“Countries@World”,‘attributeFilter’:“SMID = 234”,‘groupBy’:“SMID”},‘hasGeometry’:true}
问题36:【iServer】GP算子(导入.SHP数据)如何根据导入的shp名称来规定导入后结果数据集名称
【解决办法】a,输入%查看可进行匹配的参数,选择好后输入#点出该参数的可选项
b,例如:%importshp.importResult#name%
问题37:【iServer】iServer 的数据服务对 feature 实现 delete 请求,请求体如何填写(IDS和SQL)
【解决办法】a,IDS: var data = '[5]: ';
b,SQL: var data = JSON.stringify({
“attributeFilter”: “SmID = 3”
});
问题38:【iServer】使用 APR 配置https,crt 格式证书怎么获取?
【解决办法】将官方 CA 颁发的 .pfx 格式证书转换为 .crt 格式证书,可自行选择CA认证机构,然后再去认定。CA机构名单如下:https://wap.miit.gov.cn/cms_files/filemanager/1226211233/attach/20228/82a5f16114024635b75fbaf4497278b6.pdf
问题39:【iServer】rest地图中sql查询时,如何按照groupby分组?
【解决办法】地图服务sql查询与数据服务查询参数不一致,地图服务sql查询如下:
{
queryMode: "SqlQuery",
queryParameters: {
"queryParams": [
{
"name": "NewLine@DataSource",
"fields": ["SmUserID"],
"attributeFilter ": ["SmID >0"],
"groupBy": "class"
}
]
}
}
问题40:【iServer】请问iServer能够对.cdi文件发布的地图服务做聚合吗
【解决办法】可以的,参考帮助文档进行发布和管理 http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/Subject_introduce/Aggregation/AggDistribute.htm
问题41:【iManager】Imanager和iserver装在同一台服务器上会有影响吗?
【解决办法】iManager和添加的GIS服务器在同一个Linux机器上可能会出现监控异常的情况 可以使用以下方法解决1.执行以下命令获取zabbix-server容器IP
docker ps | grep zabbix-server | awk ‘{print $1}’ | xargs docker inspect --format ‘{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’
2.执行以下命令编辑zabbix-agent配置文件,将该文件中的Server变量值改为上步中找到的zabbix-server容器IP vi /etc/zabbix-agents/linux/zabbix-agent/conf/zabbix_agentd.conf
问题42:【iManager】云套件gateway服务报错 MISCONF Redis is xxx but it is currently not able to persist on disk
【问题原因】nfs挂载盘空间不足
【解决办法】清理磁盘,或者扩容
问题43:【iManager】iManager是否可以使用lic9d后缀格式的正式文件许可?
【解决办法】是可以使用的,1.需要固定imanager容器的mac地址为出许可的mac地址,2.将imanager容器中的/opt/SuperMap/License映射到宿主机上的放正式许可的目录位置。可参考博客https://blog.csdn.net/supermapsupport/article/details/122296606
问题44:【iManager】如何开启iManager的zabbix服务管理界面呢?
【解决办法】编辑docker-compose.yml,找到zabbix-web-nginx-mysql服务,增加
ports:
- “88:80” 这个88可以自定义为宿主机的映射端口,然后重启iManager,重启以后直接用ip+88端口访问即可,用户名和密码可以在iManager帮助文档中确定
问题45:【iManager】监控iserver,但平均响应时间,实时访问统计等无法正常显示,并且zabbix界面jxm报错No route to host (Host unreachable)
【问题原因】没有开放18390端口
【解决办法】使用jmx需要开放18390端口
问题46:【iServer】请问下iserver发布的服务列表里没有重名工作空间,但发布后默认-2了,这种情况怎么处理
【解决办法】iserver-service.xml中已含有需要发布的工作空间服务提供者,将其删除后,重启iserver重新发布即可
问题47:【iServer】启动iServer的镜像时报错The requested image’s platform (linux/amd64) does not match xxx
【问题原因】客户在arm的机器上运行x86平台构建的iServer镜像
【解决办法】重新拉取arm版本的iServer运行即可
问题48:【iServer】iServer如何自定义缓存目录
【解决办法】打开系统配置文件 iserver-system.xml(位于【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF 下),修改下的子节点的值
问题49:【iServer】自动化处理模型怎么使用client模式的spark集群
【解决方法】填写spark环境配置中master为‘spark://masterIP:7077’、settings填写spark.driver.host为master节点ip,如图
二、SuperMap GIS基础产品桌面GIS-FAQ集锦
问题1:【iDesktopX】如何在一个范围内,随机自定义生成N多个点位数据?
【解决办法】空间分析选项卡->矢量分析->数据研究->下拉菜单中选择数据集创建随机点功能可创建指定数量的随机点要素。可以在指定的点要素上、线要素沿线和面要素内生成随机点。生成条件可根据参数面板信息按需设置。
问题2:【iDesktopX】如何对一组栅格如何判断每个像元的最小值,结果是位置输出栅格?
【解决办法】使用数据选项卡-数据处理组-代数运算功能,利用 CON 函数进行代数运算,Con(x, y, z):条件判断函数。x 为条件表达式(或值),y、z 为提取值。如果函数满足条件 x,则提取 y 值,否则提取 z 值。例如有三份栅格数据A、B、C,A和B进行像元大小的判断,当A小于B时,输出1,否则为2,得出位置像元;当A小于B时,输出A的值,否则输出B的值,得出AB结果栅格,再用AB结果栅格和C栅格去进行判断,当AB结果小于C时,得出位置像元的值,否则为3也就是C(第三个像元)。
问题3:【iDesktopX】如何对多边形进行参数化修改?
【解决办法】(1)开启图层可编辑状态,在对象操作选项卡的"对象编辑"中,单击编辑节点按钮,选中的几何对象将显示出所有的节点,可自行移动节点;
(2)开启图层可编辑状态,选中面对象右键属性,在属性面板中直接修改节点坐标信息。
问题4:【iDeskotpX】如何快速获取建筑单体模型最高点的高程?
【解决办法】“三维数据”选项卡中“模型”组中"模型工具"下拉按钮,在弹出的下拉菜单中选择“模型操作”板块下的“属性提取”功能提取顶部高程。
问题5:【iDesktopX】标签专题图如何实现分式标签效果?
【解决办法】在标签表达式右侧的下拉列表中选择“表达式…”,进入“SQL表达式”对话框定制标注的显示内容。若想同时显示多个字段,可以使用“字段表达式1[/]字段表达式2[/]字段表达式3[/]“来设置,各字段间以分数的形式显示,其中,这里的[/]作为一个整体符号,用于同时显示多个字段,[]符号不可去掉。
问题6:【iDesktopX】如何找出不同年间的变化图斑?
【解决办法】(1)对数据进行拓扑检查,选择拓扑规则为“面边界被边覆盖”,以历史数据作为参考数据,就可以得到不重合的图斑数据;
(2)使用上一步结果进行SQL关联查询,就可以从新数据中找出变化图斑;
(3)最后将查询出来的结果添加到地图中,修改图层风格,就可以清晰看出形状发生变化的图斑。
问题7:【iDesktopX】桌面端如何生成符合北斗网格标准的数据?
【解决办法】工具箱中北斗二维网络编码和北斗三维网络编码功能可对数据集中的每个几何对象,生成对应的北斗二维/三维网格位置码。
问题8:【iDesktopX】如何批量按地图对象的范围导出成不同图片?
【解决办法】新建布局-加入地图-对象操作选项卡下的地图系列设置-打印地图册功能可对地图中的不同对象的固定范围进行一个系列输出。
问题9:【iDesktopX】开发gpa的扩展工具的jar包 ,放入idesktopx的lib下重启后扩展开发的工具找不到
【解决办法】清除缓存,具体做法是删除idesktopx目录下的 configuration\cache,jar包放置在bundles/plugin_bundles目录下
问题10:【iDesktopX】11.2加载web数据源的墨卡托天地图失败,出现白图
【解决办法】1,清除桌面的地图缓存,对应目录为iDesktopx根目录\bin\Cache\WebCache\WMTS
2,重新打开天地图,服务器地址后面加上&TOPLEFTCORNEREXCHANGE=1
问题11:【iDesktopX】复制数据集时,提示成功,但部分字段在复制过程中丢失
【问题原因】可能字段名称使用了数据库的保留关键字
【解决办法】重命名相关字段,然后重新复制即可,数据集保留关键字可以参考http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iObjectsJava/index.html
问题12:【iDesktopX】请问如何把栅格数据按照重分级的结果导出多个tif数据呢?
【解决办法】1、对栅格数据重分级;
2、对栅格数据矢量化;
3、使用重分级的value值对矢量数据进行拆分;
4、对拆分结果进行矢量栅格化,并导出tif结果。
问题13:【iDesktopX】桌面把火星坐标系的数据投影转换为4326坐标系数据如何才能没有偏移呢?
【解决办法】可以使用iDesktopX提供的“电子地图坐标转换”插件实现对火星坐标系数据的纠偏。
问题14:【iDesktopX】iDesktopX如何打开iServer发布的数据服务,想查看里面的数据集。
【解决办法】需要使用WFS服务,在桌面直接打开OGC的Web型数据源即可。
问题15:【iDesktopX】火星、百度坐标与常规坐标系之间怎么进行转换?
【解决办法】点击【视图】选项卡下面的【插件管理】,在插件管理中找到"电子地图坐标转换",点击“一键安装”。 然后即可在新增加的【插件】选项卡下面找到对应的功能按钮【电子地图坐标转换】,即可实现火星、百度坐标与常规坐标系之间的转换。
问题16:【iDekstopX】怎么把多个数据集合并为一个?
【解决办法】有以下两种方法:
1、如果是矢量数据集,可以使用【合并数据集】功能,支持将多个同类型的矢量数据集合并为一个数据集。支持点、线、面、文本、CAD 数据集类型。功能入口:数据 选项卡 -> 数据处理 组 -> 矢量 -> 合并数据集
2、可以通过【追加行】功能将多个数据集进行合并到一个数据集中。适用数据集:点/线/面/文本/CAD/模型 数据集,属性表数据集。暂不支持网络/路由数据集的追加。功能入口:数据选项卡->数据处理->矢量->追加行,弹出追加行对话框。
问题17:【iDesktopX】栅格统计怎么提取到各个栅格值的个数并输出成表?
【解决办法】数据集右键可以统计栅格值,结果输出为属性表数据。目前只支持像素格式为整型的数据,暂不支持其他格式
问题18:【iDesktopX】mxd 迁移,提示:“ArcGIS 许可加载失败,请检查许可状态”
【解决办法】解版用户,建议选择 Default。Default 的许可情况如下:
若计算机使用的 ArcGIS 版本为 10.4、10.6、10.7、10.8,则 Default 选项会使用 ArcServer 的许可进行验证;
若计算机使用的 ArcGIS 版本为 10.2、10.3、10.5,则 Default 选项会使用 Advanced 的许可进行验证。
问题19:【iDesktopX】无法成功创建达梦数据库数据源
【解决办法】将 【DM 数据库安装路径】/bin 目录下的部分 dll 文件(dmcalc.dll、dmcfg.dll、dmclientlex.dll、dmcomm.dll、dmcpr.dll、dmcvt.dll、dmcyt.dll、dmdcr.dll、dmdpi.dll、dmdta.dll、dmelog.dll、dmmem.dll、dmmout.dll、dmoci.dll、dmos.dll、dmstrt.dll、dmutl.dll)复制到 【iDesktop 安装路径】/bin 目录下以及【iServer 安装路径】/support/objectsjava/bin 目录下
三、SuperMap GIS基础产品三维GIS-FAQ集锦
问题1:【Cesium】使用最新版Cesium_41085在Chrome77版本测试运行范例S3MTiles_suofeiya.html报错,请问怎样在低版本Chrome浏览器中兼容高版本Cesium?
【问题原因】之前有项目提出不兼容低版本的需求,底层做了修改。现在又有兼容低版本的需求,产品团队决定不往主版本合了,需要客户自行修改3个js文件。
【解决办法】
需要修改Cesium包中3个js文件里的??,在低版本Chrome加载起作用了,可正常加载三维服务。
具体如下:
修改when-92c6cf3c.js和Cesium.js里的return e??t为:
return e===undefined || e===null ? t : e
共4处
修改Cesium-es6.js里的return r??n为:
return r===undefined || r===null ? n : r
共1处
问题2:【UE】设置面图层的图层风格的填充色,但实际显示的却不是所设置的颜色?
【问题原因】图层风格的填充颜色的显示是与三维瓦片本身的颜色混合的颜色,并非替换
【解决办法】在iDesktop切三维缓存时,设置前景色为白色
问题3:【WebGL】Cesium使用scene.addS3MTilesLayerByScp()接口添加S3M图层,如何使用多子域?
【解决办法】需设置subdomainConfig,示例代码如下:
var config = {
subdomainConfig: {
urlScheme: " http://{s}/iserver/services/3D-CBD/rest/realspace",
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
},
name: "building"
};
var promise = viewer.scene.addS3MTilesLayerByScp('http://localhost:8090/iserver/services/3D-CBD/rest/realspace/datas/building/config', config);
Cesium.when(promise, function (layer) {
viewer.flyTo(promise);
})
问题4:【WebGL】大屏下倾斜数据不切换精细层
【解决办法】调整分辨率+抗锯齿:
var viewer = new Cesium.Viewer('cesiumContainer',{
contextOptions:{
maxDrawingBufferWidth:2560*0.8,
maxDrawingBufferHeight:1600*0.8
}
});
// 是否支持图像渲染像素化处理
if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) {
viewer.resolutionScale = window.devicePixelRatio
}
// 开启抗锯齿
viewer.scene.postProcessStages.fxaa.enabled = true;
问题5:【WebGL】标绘符号如何设置贴地
【解决办法】获取当前标绘图层的标绘对象来设置,比如对第一个标绘符号设置贴地:
plottingLayer.geoGraphicObjects[0].isClampToGround = true;
问题6:【WebGL】标绘面板中标绘符号的图片全部都不显示
【解决办法】.plot文件要和图片文件同级目录。
问题7:【WebGL】工作空间中多个场景,for Cesium加载只显示一个场景
【解决办法】默认加载第一个场景,加载多个场景需要指定场景名称。
问题8:【WebGL】加载天空盒后没有效果,怎么处理?
【解决办法】在加载天空盒前需要先关闭环绕地球边缘的蓝天和光晕效果:viewer.scene.skyAtmosphere.show = false;
示例代码如下:
viewer.scene.skyAtmosphere.show = false;//关闭环绕地球边缘的蓝天和光晕效果
//创建天空盒
let hdrSkyBox = new SuperMap3D.SkyBox({
imageUrl: './images/SkyBox/panorama/HDR_night_4K.hdr'
})
hdrSkyBox.WSpeed = 5;
hdrSkyBox.show = true;
scene.skyBox = hdrSkyBox;
问题9:【WebGL】三维可视域闭合体的接口,需要传入一个point3DsList数组,这个是什么?
【解决办法】前端可视域分析后返回的点,viewshed3D.getViewshedParameter().point3DList。可参考博客https://blog.csdn.net/supermapsupport/article/details/97393681
问题10:【WebGL】影像图层如何调整顺序?
【解决办法】通过ImageryLayerCollection.raise上移图层或者lower下移图层调整即可。
问题11:【iDesktopX】倾斜入库后的数据怎么合并?
【解决办法】使用倾斜入库中的合并图层+重建顶层:(适用于所有图层根节点和大于10的倾斜缓存)
1、修改中心点,生成一个图层,插入点为填入的中心点
2、不修改中心点,生成一个图层,插入点为最后加入原始数据插入点
合并的时候需要注意以下几点:
1).S3M版本、存储类型、几何压缩方式、纹理压缩方式目标坐标系需与原本倾斜入库时保持一致。
2).如果待合并的S3MB格式的倾斜数据是地理坐标系,中心点坐标单位需选择度。否则中心点坐标单位需选择米。
3).需要勾选合并图层复选框。
问题12:【WebGL】两个面重叠了,发生了闪烁,有没有接口可以调整?
【解决办法】可以设置图层的多边形偏移,代码如下:
scene.logarithmicDepthBuffer = false;//对数深度
S3MTilesLayer.setPolygonoffset(factor, units);//多边形偏移
多边形偏移参数
偏移常量:获取或设置多边形偏移常量。当值为正值时,表示多边形朝屏幕外偏移;为负值时,表示多边形朝屏幕内偏移。
缩放因子:多边形偏移常量和多边形偏移深度斜率因子共同决定了多边形对象在屏幕深度方向的偏移量,设置多边形偏移常量和多边形偏移深度斜率因子,可用于解决多边形重叠时闪烁的问题。
多边形偏移常量和缩放因子共同决定了多边形对象在屏幕深度方向的偏移量,有如下公式:
深度偏移量=m缩放因子+r偏移常量
其中,m为多边形的最大缩放因子;r为确保场景坐标深度值能够被区分的最小值,它是随OpenGL渲染而异的常量。
四、SuperMap GIS基础产品WebGIS-FAQ集锦
问题1:【iClient】iClient for Leaflet中,getFeaturesByGeometry方法如何捕获请求异常?
【解决办法】getFeaturesByGeometry返回的是一个Promise对象,可试用catch进行捕获异常。
问题2:【iClient】iClient Classic,加载REST地图服务时,跨域的情况下,会调取地图服务的jsonp,如何设置其请求json?
【解决办法】在的第4个参数里面设置isInTheSameDomain为true,示例代码如下:
new SuperMap.Layer.TiledDynamicREsTLayer("world", url, null, {maxResolution: "auto",isInThesameDomain:true});
问题3:【iClient】微信小程序能否使用iClient?
【问题原因】微信小程序没有DOM的概率,不支持DIV,因此不能直接引入iClient库进行使用
【解决办法】可通web-view,嵌入使用iClient开发的网页
问题4:【iClient】前端请求参数中的origin是什么含义的,iServer的地图服务中的origin是如何规定的?
【解决办法】a,origin 切片原点,切片的起始参考点,默认为地图范围的左上角
问题5:【iClient】前端如何获取图层信息?例如Leaflet
【解决办法】a,使用Leaflet获取图层信息接口为layerinfoService,参考如下代码:
new LayerInfoService(url).getLayersInfo(function(result){let layers = result.result.subLayers.layers;}
b,对指定地图通过GET请求获取,请求格式:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/layers.rjson
其中sublayers中的datasetinfo中的DataSourcename(数据源名称)和name(数据集名称)
问题6:【iClient】如何通过wms服务获取图层信息
【解决办法】a,参考下方代码:
var url = 'http://172.16.12.110:9090/iserver/services/map-china400/wms111/China?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities';
$.ajax({
url: url,
type : 'GET',
success: function(res){ }
});
问题7:【iClient】Leaflet如何对指定图层根据某一字段进行过滤显示?
【解决办法】a,创建临时图层,根据字段进行过滤显示,参考下方代码
createTempLayer();
function createTempLayer() {
let layerStatusParameters = new L.supermap.SetLayerStatusParameters();
layerStatusParameters = getLayerStatusList(layerStatusParameters);
new L.supermap.LayerInfoService(url).setLayerStatus(layerStatusParameters,function (createTempLayerEventArgs){
tempLayerID = createTempLayerEventArgs.result.newResourceID;
console.log(tempLayerID);
Layer = new L.supermap.TiledMapLayer(url, {
noWrap: true,
layersID: tempLayerID
}).addTo(map);
});
};
function getLayerStatusList(parameters) {
var layerStatus = new L.supermap.LayerStatus();
layerStatus.layerName = "市级行政驻点@dj";
layerStatus.isVisible = true;
layerStatus.displayFilter = "smid in (1,2,3,4)";
parameters.layerStatusList.push(layerStatus);
parameters.holdTime = 10;//设置资源在服务端保存的时间,单位为分钟,默认为10
return parameters;
}
问题8:【iClient】多次使用相同的数据集进行配图(大比例尺下该数据集显示一部分,小比例尺下该数据集显示另外的部分),前端在对图层进行查询的时候,如何确定图层name填写?
【解决办法】a,不能使用"数据集名称@数据源名称"指定具体图层,图层定义name的时候会以括号中类似方式出现(Capitals@World#3、Capitals@World#2、Capitals@World#1),"数据集名称@数据源名称"的方式将无法确定具体的图层,需要根据LayerInfoService接口返回的信息,具体确定到图层的name
问题9:【iClient】用leaflet的mapgl插件加载矢量瓦片地图的时候如何实现点选查询呢?
【解决办法】利用queryRenderedFeatures方法可以实现需求,使用方式参考:https://docs.mapbox.com/mapbox-gl-js/example/queryrenderedfeatures/
五、SuperMap GIS基础产品移动GIS-FAQ集锦
问题1:【iMobile】使用ServiceQueryParameter 进行距离查询时 如何设置中心点
【解决办法】要设置查询中心点,可以通过1.ServiceQueryParameter.setQueryDistance(double distance) 设置查询的距离,再用目标点构造一个geocircle,再用geocircle.convertToRegion(int segmentCount) 将圆几何对象转换为面几何对象,参数为圆弧段数,再设置查询几何对象;
2.也可以根据点信息构造范围Rectangl2D再用范围查询
问题2:【iMobile】打开天地图地图数据源,创建数据集失败
【问题原因】创建数据集需要在独占打开的文件型数据源中创建,天地图数据源是只读的,如果用天地图数据源或者用只读打开的文件型数据源,不可创建数据集,需要用独占打开的文件型数据源创建数据集,或者创建数据源再创建数据集
【解决办法】先用数据源管理类创建数据源或者独占打开文件型数据源,再用以下代码创建数据源或者数据集
workspace.getDatasources().create根据指定的连接信息创建数据源
Datasets.create根据指定的矢量数据集信息来创建矢量数据集
问题3:【iMobile】图斑 DynamicPolygon 有计算面积的方法或是属性吗
【解决方法】可以用DynamicPolygon.getGeoPoints获得图斑的点串,用点串构造GeoRegion再计算面积
问题4:【iMobile】有没有跳转到图斑DynamicPolygon的方法
【解决方法】使用DynamicPolygon.getBoubds获取范围,再用map.setViewBounds设置视口范围即可
问题5:【iMobile】地图中图层名称怎么修改
【解决方法】图层名称作为唯一标识符不可修改,只能修改图层的别名,修改别名后要根据别名获取图层可以用Layers.getByCaption根据别名获取指定图层对象
问题6:【iMobile】请问绘制图层有没有不改变地图显示范围的设置,map.setViewBounds效果不好
【解决方法】使用map.setLockrdViewBounds方法锁定地图视角,这样地图只能在锁定的范围中被预览
问题7:【iMobile】运行app在执行代码初始化时崩溃报错空指针异常
【问题原因】app运行配置没有加上ndk的abi声明
【解决方法】build.gradle配置文件中Android标签中加上ndk配置声明,ndk:{‘armeabi-v7a’
’arm64-v8a’}
六、SuperMap GIS基础产品组件GIS-FAQ集锦
问题1:【iObjects .NET】如何连接web许可?
【解决办法】参考帮助文档BSLicense类,
bool login = SuperMap.Data.BSLicense.Login(“ip地址”, 9183);
int test = SuperMap.Data.BSLicense.ConnectAllLicenses();
问题2:【UE】如何使用蓝图根据模型id设置颜色
【解决办法】使用SetObjectsColor函数来实现,其中Str Name设置图层名,Ids连接数组,需要将color提升为变量,设置xyzw,对应的rgba。需要注意一点,a通道的范围是[0-200],其他通道是[0-255]。具体的关卡蓝图参考截图。
问题3:【UE】如何使用蓝图根据模型id设置控制显隐
【解决办法】使用SetObjectsVisible函数来实现,其中Layer Name设置图层名,NIds连接id数组,Visible设置可不可见。具体的关卡蓝图参考截图。
问题4:【iObjects Java】10i版本组件根据名称获取网络数据集节点数据集失败,11i版本获取成功
【问题原因】11i版本在10i版本组件基础上进行了修改,可以通过名称获取网络节点数据集
【解决方法】10i版本组件使用Dataset.getChildDataset()方法获取网络节点数据集
问题5:【iObjects java】运行项目崩溃错误提示native方法找不到
【问题原因】没有对项目运行环境配置组件路径
【解决方法】在运行配置中设置环境添加path=组件bin目录
七、SuperMap GIS基础产品其他-FAQ集锦
问题1:【其他】申请许可时提供的运行报告,上一次的还可以用吗,还是要再重新生成一次?
【解决办法】如果系统环境未发生改变,可以使用之前的运行报告。
问题2:【其他】许可工具检测许可文件的计算机名与实际的计算机名不一致,这个是有长度限制吗?
【解决办法】这个是Windows对于设备名称的限制,最长为15个字符。当设备名称超过15个字符时,可以使用前15个字符用于申请试用许可。
问题3:【其他】硬件锁1947页面存在未授权访问的漏洞,如何解决?
【解决办法】开启许可驱动管理器安全防护即可规避,开启方式参考:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/Install_Uninstall/license_safety.htm