supermap cesium 加载倾斜摄影

如果我们要在web端加载我们自身的数据,超图和cesium都有方法,cesium方法比较简单,可以用到cesiumlab这个比较方便的工具。其中有倾斜数据(osgb)处理方法。其中只要数据正确,他会自动读取倾斜摄影中的坐标。切出来的数据通过添加3dtiles的方法就能够正确的添加到web端的网页中。(新版本的cesium好像要添加token才能够添加底图,可以去申请ion。清楚原因的小伙伴可以科普一下为啥)

var viewer = new Cesium.Viewer('cesiumContainer', {
        selectionIndicator : false,animation : false,//是否创建动画小器件,左下角仪表
        baseLayerPicker : false,//是否显示图层选择器
        fullscreenButton : false,//是否显示全屏按钮
        geocoder : false,//是否显示geocoder小器件,右上角查询按钮
        homeButton : false,//是否显示Home按钮
        infoBox : false,//是否显示信息框
        sceneModePicker : false,//是否显示3D/2D选择器
        selectionIndicator : false,//是否显示选取指示器组件
        timeline : false,//是否显示时间轴
        navigationHelpButton : false,//是否显示右上角的帮助按钮
        scene3DOnly : true,
        automaticallyTrackDataSourceClocks : false,//自动追踪最近添加的数据源的时钟设置
        sceneMode : Cesium.SceneMode.SCENE3D,//初始场景模式
    });

    var tilesetbuilding = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: , //自己切片的地址,应用到切片的tileset.json
    }));
    tilesetbuilding.readyPromise.then(function () {

        var boundingSphere = tilesetbuilding.boundingSphere;

        viewer.camera.viewBoundingSphere(boundingSphere, new Cesium.HeadingPitchRange(0.0, -0.5, boundingSphere.radius));

        viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);

    }).otherwise(function (error) {
        throw (error);
    });

    //设置操作习惯,更换中键和右键

    viewer.scene.screenSpaceCameraController.tiltEventTypes = [

        Cesium.CameraEventType.RIGHT_DRAG, Cesium.CameraEventType.PINCH,

        { eventType: Cesium.CameraEventType.LEFT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL },

        { eventType: Cesium.CameraEventType.RIGHT_DRAG, modifier: Cesium.KeyboardEventModifier.CTRL }

    ];
    viewer.scene.screenSpaceCameraController.zoomEventTypes = [Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.PINCH];

这样就能够展示我们的倾斜摄影了下面说下supermap方法。首先要生成supermap读的懂得倾斜摄影缓存。打开supermap,在菜单栏选项卡中选择
supermap cesium 加载倾斜摄影_第1张图片
选择倾斜摄影选项卡
supermap cesium 加载倾斜摄影_第2张图片
设置倾斜摄影数据

若果不设置中心点坐标的,生成的数据可能会生成达到大西洋上(0,0),所以我们要获取倾斜摄影的中心点坐标。smart 3d导出的倾斜摄影会有这个文件metadata.xml.打开该文件



    
    EPSG:4549
    
    525138.5,3502954,0
    
        Visible
    

其中包含了它的投影以及中心点坐标。可以通过在线网址:http://epsg.io/去转换投影点击Transform coordinates按钮进入坐标转换界面。在输入经纬度转成上述文件的坐标系,然后输入中心点坐标。输出栏选择我们需要的经纬度坐标系。点击转换救获得了我们需要的坐标系。然后生成scp文件。注意虽然新版本的超图iserver已经支持osgb格式的三维文件,但是为了稳定性以及效率。需要将其转换成s3m的文件,

转换s3m文件
转换完之后就可以生成场景缓存并发布了,详细步骤可以参考 https://www.jianshu.com/p/b18d27dbdc36。

你可能感兴趣的:(supermap cesium 加载倾斜摄影)