国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Cesium】vue項目加載3DTileset(.b3dm 格式)

這篇具有很好參考價值的文章主要介紹了【Cesium】vue項目加載3DTileset(.b3dm 格式)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

安裝vue-cli-plugin-cesium
專門為腳手架vue-cli3.0和2.0打造的針對Cesium的VueCli擴展插件,自動化包括:

? ? ? ? 1.自動擴展 VueCLI 中 Cesium 相關(guān)的 webpack 配置

? ? ? ?2. 添加一個 cesium 別名,以便我們在項目中輕松的引入 Cesium 文件資源
????????使 Cesium 對象實例可在每個 Vue 模塊中使用而無須 import 引入
????????使 webpack 可正常打包 Cesium
????????允許 webpack 友好地在 Cesium 中使用 require,解決 require 引入警告
????????開發(fā)環(huán)境生成 sourcemap,生產(chǎn)環(huán)境取消 sourcemap
????????生產(chǎn)環(huán)境抽取公共模塊執(zhí)行壓縮
????????生產(chǎn)環(huán)境 loader 切換到優(yōu)化模式

? ? ? ? 3.自動在全局 main.js 中引入Widgets.css,可選

? ? ? ? 4.自動在 components/ 文件夾下生成示例文件,可選
?

首先安裝 vue-cli-plugin-cesium 插件,推薦使用 yarn 安裝,因為它更簡潔
// npm
npm install --save-dev vue-cli-plugin-cesium
// yarn
yarn add vue-cli-plugin-cesium
<template>
  <div id="cesiumContainer">
   
  </div>
</template>

<script >
var Cesium =require("cesium/Cesium")
 
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  mounted(){
	Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(80, 22, 130, 55)  //默認(rèn)視角定位中國上空
    var viewer = new Cesium.Viewer("cesiumContainer",{
		animation: false, //是否顯示動畫控件
		shouldAnimate: true,
		homeButton: false, //是否顯示Home按鈕
		fullscreenButton: false, //是否顯示全屏按鈕
		baseLayerPicker: true, //是否顯示圖層選擇控件
		geocoder: true, //是否顯示地名查找控件
		timeline: false, //是否顯示時間線控件
		sceneModePicker: true, //是否顯示投影方式控件
		navigationHelpButton: true, //是否顯示幫助信息控件
		infoBox: true, //是否顯示點擊要素之后顯示的信息
		requestRenderMode: true, //啟用請求渲染模式
		// scene3DOnly: false, //每個幾何實例將只能以3D渲染以節(jié)省GPU內(nèi)存
		sceneMode: 3, //初始場景模式 1 2D模式 2 2D循環(huán)模式 3 3D模式  Cesium.SceneMode
		fullscreenElement: document.body, //全屏?xí)r渲染的HTML元素 暫時沒發(fā)現(xiàn)用處	
		 // 地形 
      	terrainProvider:new Cesium.createWorldTerrain({
			requestVertexNormals:true,
			requestWaterMask:true
		}) 
	 })
	 viewer.scene.globe.enableLighting = true;
	 viewer._cesiumWidget._creditContainer.style.display = "none"; //去除版權(quán)樣式
//調(diào)用天地圖瓦片
	 viewer.imageryProvider = new Cesium.WebMapTileServiceImageryProvider({
          url:
            "http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=你申請的token",
          layer: "tdtBasicLayer",
          style: "default",
          format: "image/jpeg",
          tileMatrixSetID: "GoogleMapsCompatible",
          show: false,
          mininumLevel: 0,
          maximumLevel: 16
        })   
 
//調(diào)用影響中文注記服務(wù)
	viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({ 
        url: 'http://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=9378d15741c526a104927f17e9438ab6', 
        layer: "tdtImg_c",
        style: "default",
        format: "tiles",
        tileMatrixSetID: "c",
        subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
        tilingScheme: new Cesium.GeographicTilingScheme(),
        tileMatrixLabels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"],
        maximumLevel: 50,
        show: false
    }))
//加載3DTiles 
	function tilesetload(){
		console.log("11111111111111111111111111");
		var tileset =  new Cesium.Cesium3DTileset({       
			url: 'http://localhost:8085/tileset.json',
//我這里使用的本地iis代理的數(shù)據(jù)  后期會出iis如何代理瓦片數(shù)據(jù)的
			// url: 'http://localhost:8086/tileset.json',
          //控制切片視角顯示的數(shù)量,可調(diào)整性能
            // maximumScreenSpaceError: 2,
            //     maximumNumberOfLoadedTiles: 100000,
			show:true,
			skipLevelOfDetail : true,
	     	baseScreenSpaceError : 1024,
      		skipScreenSpaceErrorFactor : 16,
	      	skipLevels : 1,
	     	immediatelyLoadDesiredLevelOfDetail : false,
	     	loadSiblings : false,
      		cullWithChildrenBounds : true
      })
 	    viewer.scene.primitives.add(tileset);
//定位到模型的位置
	    (async () => {
            try {
              await tileset.readyPromise;
              await viewer.zoomTo(tileset);
		    // Apply the default style if it exists
		    var extras = tileset.asset.extras;
			    if (
			    Cesium.defined(extras) &&
			    Cesium.defined(extras.ion) &&
			    Cesium.defined(extras.ion.defaultStyle)
			    ) {
			    tileset.style = new Cesium.Cesium3DTileStyle(extras.ion.defaultStyle);
			    }
		    } catch (error) {
			    console.log(error);
		    }
	    })(); 
		  
	}
 	tilesetload()
  }, 
 
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
::deep .cesium-viewer-bottom {
	display: none;

}
</style>

?這是設(shè)置模型的高程

tileset.readyPromise.then(function(tileset) {
            viewer.scene.primitives.add(tileset);
            var heightOffset = 11.0;  //高度
            var boundingSphere = tileset.boundingSphere; 
            var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
            var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
            var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
            var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
            tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
            viewer.zoomTo(tileset, new Cesium.HeadingPitchRange(0.5, -0.2, tileset.boundingSphere.radius * 1.0));
        });

?【Cesium】vue項目加載3DTileset(.b3dm 格式)

?親測有效!?。?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-440050.html

研究了好久 頭發(fā)都掉了不少 總在一下 希望可以幫助到需要幫助的家人們! 有更好的想法 疑問 可以在線交流一番文章來源地址http://www.zghlxwxcb.cn/news/detail-440050.html

到了這里,關(guān)于【Cesium】vue項目加載3DTileset(.b3dm 格式)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue中加載使用cesium加載3dTileset以及三維模型移動(1.108版本)

    加載三維模型 視頻參考地址: https://www.bilibili.com/video/BV14g411s7DX/?spm_id_from=333.1007.top_right_bar_window_history.content.clickvd_source=4716b12357fe8e4b33b293b4bbbbfcd8

    2024年01月23日
    瀏覽(92)
  • Cesium之3DTileset實例管理

    Cesium之3DTileset實例管理

    最近使用Cesium結(jié)合ts和react自己手動搭建了一個基本界面,加載3dTiles數(shù)據(jù)和geojson數(shù)據(jù),動態(tài)控制圖層的顯隱。本來以為是非常簡單的功能,但是實際操作中發(fā)現(xiàn)有一些地方值得注意。 搭建的效果就是這個樣子,經(jīng)典的頂部header+左側(cè)布局,主視窗顯示地圖: 加載geojson數(shù)據(jù)源的

    2024年02月08日
    瀏覽(23)
  • cesium 3DTileset的平移、旋轉(zhuǎn)、縮放

    加載模型 平移和修改高度 方法一:

    2024年02月12日
    瀏覽(19)
  • 5、加載3dtileset模型并定位到模型

    5、加載3dtileset模型并定位到模型

    ? ? ? 這一節(jié)使用CCesium加載3dtiles模型,3dtiles模型使用ceisum官網(wǎng)示例中的模型,加載3dtiles功能目前只能添加沒有壓縮的模型,draco或其他解壓縮功能沒有寫。 1、在上一個例子的基礎(chǔ)上,將鼠標(biāo)事件改成右鍵的鼠標(biāo)事件Cesium::ScreenSpaceEventType::RIGHT_CLICK 2、將ceisum的viewer賦值給

    2024年02月13日
    瀏覽(24)
  • CesiumForUnreal實現(xiàn)多邊形裁剪3dTileset效果

    CesiumForUnreal實現(xiàn)多邊形裁剪3dTileset效果

    基于CesiumForUnreal插件的 Cartographic Polygon Actor在 Runtime 運行時環(huán)境下實現(xiàn)對地形3DTileset的多邊形裁剪效果,GIF動圖如下: 在Editor中的具體操作過程可以參考CesiumForUnreal官方裁剪地形的教程,本文這里在Runtime環(huán)境下進行實現(xiàn)。數(shù)據(jù)依舊是使用CesiumForUnreal插件加載在線的地形和影

    2024年02月13日
    瀏覽(280)
  • CesiumForUnreal之3DTileset點選拾取屬性與單體高亮

    CesiumForUnreal之3DTileset點選拾取屬性與單體高亮

    在UE5中使用CesiumForUnreal插件加載本地的3dTiles建筑白模數(shù)據(jù),實現(xiàn)點擊拾取3DTileset單體要素的 屬性數(shù)據(jù) ,并對 高亮單體 進行展示,GIF動圖如下: 總體的實現(xiàn)過程分為 數(shù)據(jù)準(zhǔn)備 、 屬性拾取 和 單體高亮 三個大的部分,在本文中數(shù)據(jù)準(zhǔn)備部分簡要概述,拾取屬性和單體高亮?xí)?/p>

    2024年02月04日
    瀏覽(50)
  • 3DM/XYZ格式在線轉(zhuǎn)換

    3DM/XYZ格式在線轉(zhuǎn)換

    3D模型在線轉(zhuǎn)換(https://3dconvert.nsdt.cloud/)是一個可以進行3D模型格式轉(zhuǎn)換的在線工具,支持多種3D模型格式進行在線預(yù)覽和互相轉(zhuǎn)換。 3DM是一種常用的三維模型文件格式,具有多種幾何體和材質(zhì),文件大小較小,兼容性較好,適用于工業(yè)設(shè)計、建筑設(shè)計、產(chǎn)品設(shè)計、數(shù)字藝術(shù)

    2024年02月03日
    瀏覽(29)
  • 3DM/PLY格式在線轉(zhuǎn)換

    3DM/PLY格式在線轉(zhuǎn)換

    3D模型在線轉(zhuǎn)換(https://3dconvert.nsdt.cloud/)是一個可以進行3D模型格式轉(zhuǎn)換的在線工具,支持多種3D模型格式進行在線預(yù)覽和互相轉(zhuǎn)換。 3DM是一種常用的三維模型文件格式,具有多種幾何體和材質(zhì),文件大小較小,兼容性較好,適用于工業(yè)設(shè)計、建筑設(shè)計、產(chǎn)品設(shè)計、數(shù)字藝術(shù)

    2024年02月04日
    瀏覽(19)
  • 在vite創(chuàng)建的vue3項目中使用Cesium加載czml路徑信息和無人機模型

    在vite創(chuàng)建的vue3項目中使用Cesium加載czml路徑信息和無人機模型

    用到的區(qū)域文件、地圖標(biāo)記文件、路徑信息文件、模型文件 提取碼:99jq 使用vite創(chuàng)建vue3項目 cd到創(chuàng)建的項目文件夾中 安裝Cesium 配置 vite.config.js文件:添加Cesium并設(shè)置反向代理實現(xiàn)跨域。 style.css(可選):修改#app樣式 代碼 App.vue 解讀 加載token 創(chuàng)建查看器viewer,加載世界街道地

    2024年02月16日
    瀏覽(25)
  • 【衛(wèi)星三維重建】衛(wèi)星影像三維重建數(shù)據(jù)集-MVS3DM數(shù)據(jù)集介紹

    【衛(wèi)星三維重建】衛(wèi)星影像三維重建數(shù)據(jù)集-MVS3DM數(shù)據(jù)集介紹

    MVS3DM數(shù)據(jù)集是用于IARPA多視圖衛(wèi)星影像3D重建挑戰(zhàn)賽的標(biāo)準(zhǔn)數(shù)據(jù)集(IARPA Multi-View Stereo 3D Mapping Challenge),該數(shù)據(jù)集由Digital Globe WorldView-3衛(wèi)星影像以及機載激光雷達獲取的影像覆蓋范圍內(nèi)的點云數(shù)據(jù)作為算法真值數(shù)據(jù)組成。 衛(wèi)星影像數(shù)據(jù)類型和數(shù)量 :包含50張WorldView3全色影像(

    2024年03月12日
    瀏覽(310)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包