首页 / 浏览问题 / 三维GIS / 问题详情
实现倾斜摄影下, 多边形划区域淹没分析
12EXP 2023年06月09日
倾斜摄影是第三方服务,加载的就是普通的tileset.json服务, 我参照超图官网三维地形多边形淹没分析例子, 想做倾斜摄影 的淹没分析,但没有效果,也不报错. 普通的tileset.json的倾斜摄影是可以做淹没分析的吗?有可能是哪里的问题?

1个回答

您好,

淹没分析实际上是对图层做了一个分层设色。

示例中分别对三维缓存图层和地形缓存图层做了分层设色。

如果您是按照示例来,请保证您要做的分层设色的图层,是三维服务或者地形服务。
4,151EXP 2023年06月12日
是三维服务,但不是用超图supermap idesktop发的, 是第三方常规的b3dm的倾斜摄影服务, 倾斜摄影能加载出来

我是加载了倾斜摄影后, 模仿了三维地形淹没分析那个,  可以获取polygon,然后HypsometricSetting加到了this.viewer.scene.globe上,  

this.viewer.scene.globe.HypsometricSetting = {
  hypsometricSetting: this.hypFlood,
  analysisMode: Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_REGION
};

超图官网缓存图层那个 ,是加到了获取的layer上, 

const layer = this.scene.layers.find("sci_park");
layer.hypsometricSetting = {
  hypsometricSetting : hyp,
  analysisMode : Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL
};

并且我用scene.layers输出看不到图层名, 请问怎么看到图层名称来获取图层,  以来查看图层的最低和最高的高程信息
(超图官网的例子中,倾斜摄影很小一块, 我这里这是整个区的, 很大,所以想着用三维地形区域中,Polygon的方式来选择部分区域的)
PS: 加载的倾斜摄影 是下面这种方式, 加载后Layers看不到,primitives能看到

this.cityObliqueTiles = this.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
  // show:false,
  url: 'http://xxx.xxx.xxx.xxx:port/tileset/tileset.json'
}));
如果要获得某个图层的名称,可以通过点击layers.getSelectedLayer()

或者图层顺序的idlayers.indByIndex(index)
...