首页 / 浏览问题 / 三维GIS / 问题详情
可视域分析失败
8EXP 2020年07月19日

您好,我想通过指定点做可视域分析,就使用getHorizontalFov这些方法进行设置viewed3D的参数,但是控制台显示setHorizontalFov()不是一个方法。然后我就改成viewedD.setHorizontaFov=90;这种形式,但是他就直接加载不出来报错了。想请教一下这是怎么回事呀,谢谢。下面是我的代码。


			viewer.entities.add({
					position: Cesium.Cartesian3.fromDegrees(116.45418475212115 ,39.92611016254123,8),
					point: {
						color: Cesium.Color.RED,
						pixelSize: 50,
					},
				});
		     // 创建可视域分析

			var viewshed3D= new Cesium.ViewShed3D(scene);
			viewshed3D.viewPosition = [116.45418475212115 ,39.92611016254123,8];



			// 设置可视域分析的前进方向(相机与正北方向的夹角)
            viewshed3D.setDirection(10);

			//设置可是距离
			viewshed3D.setDistance(100);
			
			//设置可视域分析的水平视角范围
			viewshed3D.setHorizontalFov9(90);
			
			//设置可视域分析的垂直视角范围
			viewshed3D.setVerticalFov(60);
			//执行分析
			viewshed3D.build();

1个回答

您好,您可以参考http://support.supermap.com.cn:8090/webgl/examples/editor.html#viewshed3D该示例代码,其中以

viewshed3D.distance = 100;这样的形式设置viewshed3D的参数。其他关于viewshed3D该API的详细用法请您参考http://support.supermap.com.cn:8090/webgl/Build/Documentation/ViewShed3D.html?classFilter=views该API文档。

1,545EXP 2020年07月20日

谢谢您的回答。按照您的建议修改后,加上viewshed3D.build()方法后就出现这种问题了是不是我哪里的代码错了,还请在指导一下。谢谢

 //添加点要素
				viewer.entities.add({
					position: Cesium.Cartesian3.fromDegrees(116.45418475212115 ,39.92611016254123,8),
					point: {
						color: Cesium.Color.RED,
						pixelSize: 50,
					},
				});
		     // 创建可视域分析

			var viewshed3D= new Cesium.ViewShed3D(scene);
			
			//视口位置
			viewshed3D.viewPosition = [116.45418495212115 ,39.92611016254123,8];
		

			viewshed3D.direction = parseFloat(125.23);
			viewshed3D.pitch = parseFloat(-10);
			viewshed3D.distance = parseFloat(243);
			viewshed3D.verticalFov = parseFloat(60);
			viewshed3D.horizontalFov = parseFloat(90);
			viewshed3D.visibleAreaColor =' RED';
			viewshed3D.hiddenAreaColor = 'GREEN';
			viewshed3D.build();

您好,我这里无法重现您遇到的问题,可不可以将您的完整代码私信发给我
嗯嗯 太感谢了
...