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

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

【iObjects for Spark】读取GDB参数该如何填写?
【解决办法】可参考以下示例: val GDB_params = new util.HashMapString, java.io.Serializable GDB_params.put(FeatureRDDProviderParams.InputFile.key, “F:\test.gdb”) GDB_params.put(FeatureRDDProviderParams.ProviderType.key, “GDB”)

【iObjects.Net】代码设置点符号库中编号303的符号,应该怎么设置呢?
【解决办法】关键接口是MarkerSymbolID,具体代码如下:

 // 实例化一个点几何对象,并对其进行风格设置
    GeoStyle geoStyle_P = new GeoStyle();
    geoStyle_P.MarkerAngle = 14.0;
    geoStyle_P.MarkerSize = new Size2D(10, 10);
    geoStyle_P.MarkerSymbolID = 303;
    GeoPoint geoPoint = new GeoPoint();
    geoPoint.X = 100.0;
    geoPoint.Y = 100.0;
    geoPoint.Style = geoStyle_P;

【iObjects Java】【11.0.1】 请问 iObjects Java 组件基本几何运算类 Geometrist 的对象求交接口 intersect 传入仅存在 2 个相交点的线对象时,返回结果为 null 是怎么回事?
【问题原因】 Geometrist.intersect 接口在设计上只支持返回的几何对象类型与输入的是一样的。

【iObjects C++】【10.2.1】【11.0.0】【11.0.1】 请问使用 iObjects C++ 编码打开天地图 web 型数据源失败,返回的数据源指向空指针 nullptr 是什么原因呢?
【问题原因】 基于 iObjects C++ 组件打开天地图服务数据源失败可能有以下 2 个原因,建议逐一排查:
1.检查是否使用的是 UGEngineType::MapWorldMaps 类型,该类型已经弃用;
2. iObjects C++ 项目是否依赖 \bin\bind_x64 目录,\bin\bind_x64 目录中缺少部分必要的依赖库文件。
【解决办法】 针对上述 2 个问题原因,建议分别做以下改动:
1.将 UGEngineType::MapWorldMaps 类型改为 UGEngineType::WEB 数据源引擎类型;
2. 将依赖的 \bin\bind_x64 目录改为 \bin\bin_x64 目录。

【iObjects Java】【10.2.1】 请问 iObjects Java 组件如何生成 .terrainz 格式的地形缓存?
【解决方案】 使用 CacheBuilderTIN 类,设置存储类型为原始类型(setStoreType(StorageType.Original))并设置启用压缩(setCompressed(true))即可生成 .terrainz 格式的地形缓存。

【UE】在Editor下,这个SuperMapEdMode编辑模式怎么用?
【问题原因】编辑模式下浏览数据,SuperMapEdMode模式可以进行GIS操作
【解决办法】插件支持在 UE 编辑模式下,使用 GIS 相机操作。找到工具栏的模式图标,点击展开,可以看到下面有 SuperMapEdMode 选项,对其勾选。回到场景,便可以使用鼠标旋转、平 移和缩放场景等操作了。

【UE】UE加载的缓存图层里的构件带有类别属性,想直接根据属性替换,把一个类别的构件替换为一个材质,该怎么实现呢?
【问题原因】UE中有两种方法可以批量替换已知材质为UE材质,一种是保存图层直接修改LayerInfo里面的材质关联关系;一种是在UE插件场景中替换材质功能来进行替换。
【解决办法】
1.保存图层,打开工程路径\Content\LayerInfo\map\LayerInfo.json,复制引用UE中的材质粘贴到关联材质的位置,位置关系如图
2.开启碰撞检测,图层右键,弹出属性面板,找到“数据美化-替换材质”通过鼠标单击模型对象,选择一个需要的材质,右键“复制引用”,.将复制的结果,粘贴到替换路径下面进行替换。

【iObject .net】设置 mapControl.Action = Action.CreateLine不生效是为什么?
【解决办法】在更改地图操作状态为绘制前,需要先设置MapControl.TrackMode

【iObjects java】在iObjects java 中如何获取模型中心点坐标?
【解决办法】获取到模型对象geomodel以后,通过geomodel.getBoundingBox获取到包围盒。然后通过BoundingBox.getCenter获取到中心三维点Point3D。

【iObjects java】在Java组件中如何查看数据集的某个字段的类型?
【解决方案】可以通过dataset.recordset.getFieldInfos().get(“字段名”).getType()返回字段类型

【iObjects Java】在Java组件中如何对几何对象进行平移和旋转?
【解决方案】Geometry.offset(double dx, double dy) 平移几何对象;Geometry.rotate(Point2D basePoint, double angle) 旋转几何对象,其中平移和旋转效果如贴图

【iObject JAVA】【10.2.1】连接DM数据库报错,Disconnected from the target VM, address: ‘127.0.0.1:XXX ', transport:'socket '.
【问题原因】2023版本的dll本身出现了问题。组件版本是11.0.1
【解决方法】V8-2023版本的DM报错,换用V8-2020版本的DM的dll就可以正常使用的。

【iObjects Python】Machine Learning Resources包中,目标检测示例模型存放在哪里?
【解决方案】存放在resources_ml\model\obj_det_plane_car_ship_cascade目录中,obj_det_plane_car_ship_cascade.sdm文件

【iObjects for Spark】命令行工具如何使用外部集群?
【解决方案】使用 --master 指定执行任务的集群,使用 --conf 指定任务执行使用的其他spark配置,如: --master spark://master:7077 --conf spark.driver.host=192.168.12.34 --conf spark.executor.memory=16g

【iObjects for Spark】DSFFeatureRDD中要素是如何存储的?
【解决方案】通过建立格网索引或四叉树索引,将落在相同索引内的对象进行重新划分分区,分区中的要素是重复存储的,如果一个要素跨越多个分区,则每个分区中都有一个要素对象的副本,这样,空间上在同一范围内的对象都会在同一个结点上

【iObjects Java】MapcacheBuilder中,build失败,切图参数均已设置,此方法报错均为false并未说明具体哪个参数报错,可能是什么原因导致的?
【问题原因】切图时,要求以只读方式打开数据源。
【解决方法】datasourceInfo.setReadOnly(true);如果以只读方式打开数据源为 true,否则为 false。详见联机帮助文档中如图部分 贴图img

【iObjects Java】换了个机器之后项目运行时出现这个问题:java.lang.UnsatisfiedLinkError: com.supermap.data.EnvironmentNative.jni_InitEnvironment()V…是什么原因导致的?
【问题原因】环境变量导致的报错。
【解决方法】检查一下环境变量是否正确并放置在path最前端,如果是IDEA开发,需要在Run configuration 中Environment variables 中设置path的Java路径

【iObjects Java】如何新建一个内存型数据源,并在里面新建一个数据集?
【问题原因】临时数据源,和普通的文件型UDB数据源的存储方法是一样的,只是存储位置不一样,临时数据源存储位置是到内存中的。
【解决方法】新建内存型数据源,具体代码如下:

DatasourceConnectionInfo info = new DatasourceConnectionInfo();
		// 设置数据源存储位置为内存中,类型为UDB
		// Set the location of the datasource to the memory, in the type of UDB.
		info.setServer(":memory:");
		info.setEngineType(EngineType.UDB);

可参考下安装完整包中的范例程序MemoryDatasource,如图安装包内位置所示 贴图

img

【iObject.NET】如何实现线段将多边形分割为多个多边形?
【解决办法】可以使用叠加分析中的裁剪算子来实现OverlayAnalyst.Clip

【iObjects Java】【10.2.1】 请问 iObjects Java 组件生成 TIN 地形缓存设置开始层和结束层后发现生成过程中依然会生成全部层级的 TIN 地形缓存是什么原因呢?
【问题原因】 生成 TIN 地形缓存过程中是从最精细层开始生成三角网,依次往上层简化。最终 TIN 地形缓存生成完成后,会保留设置的开始层到结束层范围的 TIN 缓存数据,其他层级的 TIN 地形缓存数据会删除。

【iObjects C++】【11.0.1】 请问 iObjects C++ 组件如何导入导出 KML 数据文件,应该使用哪个接口呢?
【解决方案】 iObjects C++ 组件中提供了 UGC::UGDataExchange 类对 KML 数据进行导入导出操作,通过 Import (const UGImportParams &importParams) 和 Export (const UGExportParams &exportParams) 接口实现。

【iObjects .NET】【10.2.1】【11.0.1】 请问如何在 iObjects .NET 组件三维场景的追踪图层(TrackingLayer)上对三维矢量面(GeoRegion3D)对象设置贴对象模式显示?
【问题原因】 追踪图层(TrackingLayer)无法通过图层风格设置高度模式(AltitudeMode)为贴对象(ClampToObject)。
【解决办法】 直接对添加到追踪图层(TrackingLayer)上的三维矢量面(GeoRegin3D)要素对象的三维风格样式(GeoStyle3D)设置高度模式(AltitudeMode)为贴对象(ClampToObject)模式。

【iObjects .NET】请问iObjects .NET组件里可以加载百度在线服务吗?
【解决办法】可以。关键代码如下:

datasourceConnetionInfo.Server = "https://map.baidu.com/";
datasourceConnetionInfo.EngineType = EngineType.BaiduMaps;
datasourceConnetionInfo.Alias = "baidu";
workspace.Datasources.Open(datasourceConnetionInfo);

【iObjects .NET】请问iObjects .NET组件里可以加载高德在线服务吗?
【解决办法】可以。关键代码如下:

datasourceConnetionInfo.Server = "https://amap.com/";
datasourceConnetionInfo.EngineType = EngineType.GaoDeMaps;
datasourceConnetionInfo.Alias = "gaode";
workspace.Datasources.Open(datasourceConnetionInfo);

【iObjects .NET】三维数据->模型工具->属性提取,提取顶点数量接口在哪里?
【解决办法】Model.GetInfo 方法 (int lod,ref ValueType vertexCount,ref ValueType triangleCount)
参数:
lod (Type: System.Int32):指定的LOD层级,如果模型的LOD层为0时,该值应为-1.
vertexCount (Type: System.ValueType ):指定顶点数量。
triangleCount (Type: System.ValueType ):指定三角形数量。 model通过以下方式获得:

GeoModel3D geoModel3D = recordset.GetGeometry() as GeoModel3D;
Model model = geoModel3D.Model;

【iObjects .NET】模型拆分用的什么接口
【解决办法】对模型的骨架进行拆分 :

ModelBuilder3D.SplitSkeleton(Model modelSrc,Model modelResult,bool bVertexPositionConsidered)

参数 :
modelSrc(Type: SuperMap.Data.Model):待拆分的源模型对象
modelResult(Type: SuperMap.Data.Model):结果模型
bVertexPositionConsidered(Type: System.Boolean):拆分时是否考虑顶点位置
返回值:骨架拆分成功返回true,骨架拆分失败返回false。

【iObjects.NET】MapControl中地图坐标系与屏幕坐标系有什么区别?
【解决办法】地图坐标系的坐标原点为左下角,X值在往右的方向增加,Y值在往上的方向增加;屏幕坐标系的坐标原点在左上角,X值在往右的方向增加,Y值在往下的方向增加。

【iObjects.NET】设置 MapControl.Action 属性为 Create**常量,进行点、线、面对象编辑时。为什么有时会失败,可能是什么原因?
【解决办法】
1、出现失败时,首先请查看地图是否有可编辑图层,当没有可编辑图层时会导致设置失败。
2、如果不想绘制到普通图层,需要绘制临时对象,请在设置Action之前,设置 MapControl 的 TrackMode 属性。
3、如果当前可编辑图层的类型和绘制对象类型不同,也可能会存在失败。两者注意需要保持一致

【iObjects Java】倾斜入库的结果看不到
【问题原因】投影参数没有设置导致投影转换失败,得到的结果不是4326坐标系的在球上就看不到了
【解决办法】实例化一个CoordSysTransParameter对象,该投影转换参照系转换参数不需要设置任何参数,之后再用ObliquePhotogrammetryBuilder.setTargetCoordSysTransParameter(CoordSysTransParameter)设置投影转换参数,其他步骤模拟桌面倾斜入库参数即可

【iObjects Java】连接oracle数据源失败是什么原因?
【问题原因】没有设置oracle客户端的环境变量
【解决办法】在iDea的Environment variables里面添加oracle客户端的安装路径

【UE】 像素流送前端如何动态添加在UE中已渲染好的数据(管线、精模等)?
【解决办法】需要把匹配关系的layerinfo.json文件一起拷贝到打包文件夹相同路径下,然后再次运行时候,加载美化的数据。也可以打包前加载好,避免每次运行exe加数据;

【UE】关卡运行之后不能进行鼠标操作
【解决办法】

  1. 查看是否设置了游戏模式为 PlaneGameMode。
  2. 查看项目设置中,是否导入了输入的映射关系。
  3. 查看 SuperMap Main Actor 的属性参数是否选择了数值,应改为禁用。

【iObjects for Spark】缓冲区分析如何使用?
【解决方案】参考以下代码:

import com.supermap.bdt.analyst.vector.cpp._
val rdd = readFromUdbx("Buffer","line_3")
val bufferParam = new BufferParam(20,20,LinearUnit.Meter,BufferEnd.Round,false,10)
val result = BufferAnalyst(rdd,bufferParam)

【iObjects for Spark】如何计算要素集中几何对象的面积?
【解决方案】可参考以下代码:

import com.supermap.bdt.analyst.vector.cpp.CalculateArea
//设置结果数据中用于保存面积的字段名
val fieldname="Area"
val featurerdd1 = CalculateArea.apply(featurerdd,fieldname)

【iObjects for Spark】如何对tif做直方图统计?
【解决方案】可参考以下代码:

val Path = "/jw/JingjinTerrain.tif"
val rasterRDD = RasterRDDProvider.readGeoTiff(sc, Path, TileSize.T512)
//对栅格数据进行直方图统计,参数分别为:栅格RDD、直方图分组数,待统计的波段索引
val res1 = Histogram(rasterRDD,40,0)

【UE】添加数据服务图层后,加载本地数据不显示
【问题原因】加载数据服务时,产生的本地缓存有误,导致数据不显示
【解决办法】方法:清理本地缓存之后,重新加载数据。
清理方式:在文件浏览器的地址栏输入“%temp%”,并回车;然后,选择 Local 文件夹,
找到 SuperMap 文件夹,删除 Cache 下面的缓存文件。

【UE】做云渲染功能时,报错目标框中指定的名称’-AudioMixer‘无效
【解决办法】参数设置:
1.额外启动参数:" -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888";
2.右击快捷方式,打开其属性,在快捷方式的“目标”后面添加如上参数(需要注意的是需要在.exe后面添加)。见贴图:img

【iObjects Java】有一个点的坐标和一个面的数据集 ,应该如何判断点是否在数据集中任何一个面的里面?
【问题原因】基本几何运算类,支持的操作有:裁剪,相交,擦除,合并,对称差,更新和同一。canContain可以判断搜索几何对象是否包含被搜索几何对象。
【解决方法】Geometrist类中用canContain判断搜索几何对象geometrySearch 是否包含被搜索几何对象geometryTarget,如果包含则返回true.例如:

System.out.println(Geometrist.canContain(geometrySearch, geometryTarget));

【iObjects Java】一条需要50个节点的多段线,经过平滑之后只需要5个节点,是否有这种可以平滑路径的方法呢?
【解决方法】resample重采样方法,对几何对象重采样是按照一定规则剔除一些节点,以达到对数据进行简化的目的,其结果可能由于使用不同的重采样方法而不同。SuperMap 提供两种方法对几何对象进行重采样,分别为光栏法和道格拉斯-普克法。

【iObjects Java】工作空间中存在地形数据,获取海拔高度为什么一直是0值呢?
【问题原因】需要场景可视的前提,如果有地形数据的情况下,返回地面上某点的海拔高度,否则没有地形数据时,返回0.0。不管地形拉伸倍数如何,返回的地形高度永远是实际的地形高度。
【解决方法】设置场景添加地形数据获取高度,具体代码如下

public void TestSceneGetAltitude(Scene sceneObject) {
       // 进行三维场景的设置,添加地形数据设置可见
       sceneObject.getAtmosphere().setVisible(true);     
       TerrainLayers terrainLayers = sceneObject.getTerrainLayers();
       TerrainLayer terrainLayer =terrainLayers.add("./GlobalTerrain.sct", true);
       terrainLayer.setVisible(true);

       // 返回地面上某点的海拔高度
       double altitudeValue = sceneObject.getAltitude(120, 40);
       System.out.println("某点海拔高度为:" + altitudeValue);
}

【iObjects.NET】iDesktop中对场景中进行“多边形查询”,对应的组件是如何实现的?
【解决办法】主要实现思路有以下几个关键步骤:
1、在场景的跟踪图层中绘制面对想;
2、在跟踪图层绘制介绍事件中,拿到面对象,然后将面对象进行线性拉伸;
3、将得到的模型体和图层记录进行相交查询,范围包含对象的smid集合; 具体可以参考下面截图:

img

【iObjects.NET】如何对单个几何对象进行投影转换?
【解决办法】关键接口:CoordSysTranslator.Convert,该方法中,有多个回调方法,其中支持对集合对象进行投影转换:

Convert(Geometry, PrjCoordSys, PrjCoordSys, CoordSysTransParameter,CoordSysTransMethod) 

根据源投影坐标系与目标投影坐标系对几何对象进行投影转换,结果将直接改变源几何对象。

【iObjects C++】【11.0.1】 请问使用 iObjects C++ 组件打开工作空间插入数据源后,直接调用工作空间保存接口保存失败,会输出工作空间文件已经存在的异常信息是如何解决呢?
【问题原因】 在打开工作空间连接信息的时候,没有设置 m_bFailIfExists 字段值。针对文件型工作空间有效,如果文件已经存在是否返回失败,默认是 true。
【解决办法】 在打开工作空间连接信息的时候,设置 m_bFailIfExists 字段值为 false,保存工作空间的时候即可执行成功。

【iObjects C++】【11.0.1】 请问 iObjects C++ 组件追踪图层(UGC::UGTrackingLayer)提供了 SetSelectable 接口用于设置是否可选择,但是设置后仍然无法选中追踪图层上的要素是什么原因?如何实现在追踪图层上选中几何要素呢?
【问题原因】 追踪图层(UGC::UGTrackingLayer)提供的 SetSelectable 接口已经弃用,目前 iObjects C++ 组件不支持在追踪图层上选中几何要素。
【解决办法】 若需要在追踪图层(UGC::UGTrackingLayer)上实现几何要素选中效果,建议可以参考以下流程:
(1)将追踪图层中的几何要素添加到临时数据集中;
(2)在地图上点击选择几何要素时,根据鼠标点击的位置构建点要素;
(3)从临时数据集和构建的点要素进行空间查询,查询出来的结果即为选中要素;
(4)修改追踪图层上选中要素的样式即可实现选中高亮状态。

【iObjects Java】桌面可以导入excel表格,组件导入是乱码,是什么原因?
【问题原因】iObjects Java组件导入Excel格式的数据需要Office的三方库授权,桌面是购买了授权的所以可以导入
【解决办法】如果需要使用组件实现功能,建议先转换成csv格式后再导入。

【iObjects Java】SuperMap iObjects java中怎样不通过SceneControl获取工作空间中的Scene?
【解决方法】先Scene scene = new Scene(workspace);然后获取工作空间中某个已有场景的内容,可用String xml = workspace.getScenes().getSceneXML();最后将内容赋给定义的scene中:scene.fromXML(xml)。

【iObjects Java】Java组件中如何使用Web型许可?
【解决方法】在Java组件中使用BSLicense类在应用程序入口处将Web许可登录的代码段嵌入,登录web许可即可。

// 以下测试需要在本机没有其他正式许可的情况下进行。
	public static void main(String[] args) {
		int[] loginFeatures = new int[] { 10002, 10003 };
		// 登录Web许可
		BSLicense.login("192.168.17.32", 9183, loginFeatures);
		// 连接Web许可中的许可模块,验证Web许可获取是否成功,成功返回0。
		License lic = new License();
		int code = lic.connect(10002);
		System.out.println("code = " + code);
		// 登出Web许可
		BSLicense.logout();
		// 再次连接许可模块,验证Web许可是否已经无效,返回值应该为非0值。
		code = lic.connect(10002);
		System.out.println("code = " + code);
		System.out.println("end");
	}

【iObject.NET】tin地形缓存如何获取指定点的高度?
【解决办法】
方法一:使用数据提取,对TIN缓存本身进行高度获取:CacheProcessor3D.GeometryMatchTIN()
方法二:使用场景渲染,将地形数据添加到场景中,使用:Scene.GetAltitude()或Scene.GetHeight() 注意使用方法二,需要将场景在可视化窗口中显示出来。

【iObject JAVA】如何实现桌面端类型转换里的简单数据集到CAD数据集的转换,有对应的方法吗?
【解决办法】该功能是一个业务功能,不是直接接口的使用。 具体是通过操作对象实现的,遍历取出CAD数据集的每一个对象,判定Geometry的几何类型,根据具体的几何类型,创建新的矢量数据集,将对象按类型分门别类存放进去。

【iObjects Java】组件开发,想要对面数据集做投影转换,但是投影坐标系的参数特别多,应该怎么填写?
【解决办法】 投影坐标系的对象内容确实比较多,有参考椭球体、投影坐标系类型、中央经线、偏移量等等。如果某个值设置不对,可能导致整个投影坐标系对象内容不对,导致投影转换失败。 简便实用方式,通过epsg值构造一个投影坐标系对象:

 PrjCoordSys prj=new PrjCoordSys(); 
 prj.fromEPSGCode(4547); 

注意不是调用setEPSGCode接口。

【iObjects for Spark】栅格数据集投影转换目前支持哪些坐标系?
【解决方案】目前支持三种目标坐标系:WGS84 (epsg: 4326), China2000 (epsg: 4490), WebMercator (epsg: 3857)

【iObjects for Spark】栅格数据集投影转换方法该如何调用?
【解决方案】可参考以下代码:

val udbPath = "/data/test3857.tif"
val rasterRDD = RasterRDDProvider.readGeoTiff(sc, udbPath, TileSize.T512 , 2)
//转投影为WGS84坐标系
val res = Reproject.apply(rasterRDD,4326)

【iObjects JAVA】excel表格批量导入为数据集,怎么实现把第二行作为字段行?
【解决方法】用组件导入excel表格为数据集且第二行作为字段行,需要解决两个问题:
1.excel的导入是需要office的第三方依赖的,这个需要office给予权限,否则就需要绕行,先转换为csv文件,再进行导入(桌面之所以可以导入excel,是因为桌面有第三方依赖)
2.目前已有的接口和功能以及excel本身的功能,都是没有删除第一行的办法的,所以只能写一个JAVA程序来执行,具体如下:

public class DeleteFirstRow {
    public static void main(String[] args) throws IOException {
        String folderPath = "C:/ExcelFiles"; // Excel文件所在的文件夹路径
        File folder = new File(folderPath);
        File[] files = folder.listFiles();
        for (File file : files) {
            if (file.isFile() && file.getName().endsWith(".xlsx")) { // 只处理.xlsx文件
                deleteFirstRow(file);
            }
        }
    }
    private static void deleteFirstRow(File file) throws IOException {
        FileInputStream inputStream = new FileInputStream(file);
        Workbook workbook = WorkbookFactory.create(inputStream);
        Sheet sheet = workbook.getSheetAt(0);
        sheet.shiftRows(1, sheet.getLastRowNum(), -1); // 删除第一行
        FileOutputStream outputStream = new FileOutputStream(file);
        workbook.write(outputStream);
        workbook.close();
        outputStream.close();
        inputStream.close();
        System.out.println("Deleted first row in " + file.getName());
    }
}

这个程序首先指定Excel文件所在的文件夹路径,然后遍历该文件夹中的所有.xlsx文件,对每个文件都调用deleteFirstRow方法。该方法使用Apache POI库来读取Excel文件,删除第一行,然后将修改后的文件保存回原文件。最后,程序输出指示已删除哪个文件的第一行。

【Java】SuperMap iObjects Java中如何修改模型的位置?
【解决办法】Geometry3D.setPosition(Point3D point3D)可以修改模型的位置。

【Java】SuperMap iObjects Java中如何将模型对象导出为s3m模型?
【解决办法】可以使用ModelConvertor.toFile(Model model, ModelFileSetting setting)将模型导出为指定格式。

【Java】在Java组件中如何获取栅格数据集的行数和列数?
【解决办法】使用DatasetGrid.getWidth()获取行数;使用DatasetGrid.getHeight()获取列数

【iObject .net】如何实现同桌面一样,在切换场景的时候图层管理器也显示为当前场景的图层?
【解决办法】在场景控件/场景切换的事件中,设置

layersControl.Layer3DsTree.Scene = sceneControl.Scene;

【iObjects Java】【10.0.1】 请问使用 iObjects Java 10.0.1 版本组件通过 DatasetVector.append 接口向矢量数据集中追加记录集(Recordset)的时候,udbx 数据源可以正常追加成功,但是使用 PostgreSQL 数据源一直追加失败如何解决呢?
【解决办法】 升级项目依赖的 iObjects Java 组件版本到 10.2.1 即可正常向 PostgreSQL 数据源追加记录集。

【iObjects Java】【11.0.1】 请问 iObjects Java 组件导入 GeoJSON 数据后,会在数据集名称后默认追加 _R 等后缀是什么原因呢?
【问题原因】 GeoJSON 数据里面可能会包含点、线、面等类型数据,然后导入进来以后拆开了,为了避免不同类型的数据集名称重复产生冲突,所以默认追加了类型后缀。

【UE】运行范例Map,出现崩溃现象,报‘EXCEPTION_ACCESS_VIOLATION reading address 0x000000003f800010’的错
【解决办法】需设置下UE工程所在目录的文件权限,将Users当前用户的权限设置为完全控制

【UE】在第一次加载数据、或者是运行是打开 Materials 文件夹出现崩溃
【问题原因】在第一次加载数据时,在运行界面时候的左上角会编译着色器进行编译;或者运行后,打开 SuperMap 内容下的 Materials 文件夹,会出现出现崩溃,是编译着色器没有编译完导致的。
【解决办法】要运行前,将Materials 文件中所有材质球打开,让其编译,之后点击保存并关闭,完成后再次运行就不会出现上述两个问题。

【iObjects .NET】计算几何属性中的范围坐标怎么获取?中心点坐标怎么获取?
【解决办法】
1、通过Geometry.Bounds获取最小外接矩形。其左边界坐标值、下边界坐标值、右边界坐标值、上边界坐标值即为边界范围
2、获取到外接矩形以后,通过Rectangle2D.Center获取到中心点坐标系

【iObjects . NET】快速放大缩小地图以后报错,该怎么解决?
【解决办法】尝试把这一行代码放下App.config下面的runtime标签下,可以解决快速放大缩小地图报错的问题:

  <runtime>
    <useLegacyJit enabled="1" />
  </runtime>

猜你喜欢

转载自blog.csdn.net/supermapsupport/article/details/130524572
今日推荐