cesium 判断primitive与经纬度坐标相交
时间: 2023-09-30 09:03:33 浏览: 162
在Cesium中,可以使用Entity API中的`computePolygonGroundIntersection`方法来判断一个primitive与经纬度坐标是否相交。以下是一个示例代码:
```javascript
var viewer = new Cesium.Viewer('cesiumContainer');
// 创建一个 primitive,例如矩形
var rectangle = new Cesium.RectanglePrimitive({
rectangle: Cesium.Rectangle.fromDegrees(-100.0, 30.0, -90.0, 40.0),
material: Cesium.Material.fromType(Cesium.Material.ColorType)
});
viewer.scene.primitives.add(rectangle);
// 经纬度坐标
var position = Cesium.Cartographic.fromDegrees(-95.0, 35.0);
// 判断 primitive 是否与经纬度坐标相交
var intersection = Cesium.PolygonGeometryLibrary.computePolygonGroundIntersection(rectangle.rectangle, position);
if (intersection) {
console.log("相交");
} else {
console.log("不相交");
}
```
在上述代码中,我们首先创建了一个矩形的primitive,并将其添加到场景中。然后,我们定义了一个经纬度坐标,并使用`computePolygonGroundIntersection`方法判断primitive与该坐标是否相交。最后,根据判断结果输出相应的信息。
请注意,这个方法只适用于计算与地表相交的情况,如果要判断与其他类型的primitive相交,可能需要使用其他的方法。
阅读全文