中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress網(wǎng)址轉(zhuǎn)跳插件seo是什么專業(yè)的課程

wordpress網(wǎng)址轉(zhuǎn)跳插件,seo是什么專業(yè)的課程,社區(qū)電商平臺(tái)排行榜,和人妖做的視頻網(wǎng)站在 Cesium 中,地形數(shù)據(jù)用于提供三維場(chǎng)景的高度信息,使得地球表面的細(xì)節(jié)更加逼真。地形加載是 Cesium 應(yīng)用中的關(guān)鍵功能,支持各種地形源和格式,如 Cesium Ion 服務(wù)、Terrain Server 等。本文將系統(tǒng)介紹如何在 Cesium 中加載、配置、…

在 Cesium 中,地形數(shù)據(jù)用于提供三維場(chǎng)景的高度信息,使得地球表面的細(xì)節(jié)更加逼真。地形加載是 Cesium 應(yīng)用中的關(guān)鍵功能,支持各種地形源和格式,如 Cesium Ion 服務(wù)、Terrain Server 等。本文將系統(tǒng)介紹如何在 Cesium 中加載、配置、定制地形,逐步深入各個(gè)功能點(diǎn)。

地形基礎(chǔ)概念

地形數(shù)據(jù)在 Cesium 中用于表示地球表面的高程信息,使得地面不再是簡單的平面。通過加載地形,您可以在 Cesium 場(chǎng)景中展示山脈、谷地等地貌的三維特征,提升視覺效果和用戶的沉浸感。

Cesium 支持以下幾種地形數(shù)據(jù)格式:

  • Cesium Ion 地形:由 Cesium 官方提供的全球高精度地形數(shù)據(jù)源。
  • 自定義地形服務(wù):可以加載來自第三方的地形數(shù)據(jù)。
  • 地形格式:Cesium 支持的地形格式包括 Quantized MeshHeightmap,前者更常用且能提供更高的渲染性能。

Cesium 地形加載方式

Cesium 提供了多種方式加載地形數(shù)據(jù)。我們首先從最常用的 Cesium Ion 地形服務(wù)講起。

使用 Cesium Ion 加載地形

Cesium Ion 提供了全球的高精度地形數(shù)據(jù),可以輕松集成到您的 Cesium 應(yīng)用中。

步驟1:創(chuàng)建 Viewer 并加載 Cesium Ion 地形

const viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: Cesium.createWorldTerrain() // 使用 Cesium Ion 的全球地形
});

Cesium.createWorldTerrain() 是 Cesium 內(nèi)置的方法,用于直接從 Cesium Ion 加載全球地形數(shù)據(jù),包含高精度山脈、山谷和水體細(xì)節(jié)。

步驟2:設(shè)置 Cesium Ion 令牌

為了訪問 Cesium Ion 服務(wù),您需要注冊(cè)并獲取 Cesium Ion API 令牌。將該令牌添加到應(yīng)用中:

Cesium.Ion.defaultAccessToken = 'YOUR_CESIUM_ION_TOKEN';

此步驟確保您可以無縫訪問 Cesium 的全球地形數(shù)據(jù)和其他在線資源。

自定義 Heightmap 地形加載

除了使用 Cesium Ion 服務(wù),你還可以加載自定義的地形數(shù)據(jù),例如基于 Heightmap 格式的地形數(shù)據(jù)。Cesium 支持 Web 地形服務(wù)(WMS)和 Web 地形圖塊服務(wù)(WMTS)。

const viewer = new Cesium.Viewer('cesiumContainer');// 使用 Cesium Terrain Provider 加載自定義地形服務(wù)
const terrainProvider = new Cesium.CesiumTerrainProvider({url: 'https://your-terrain-server/heightmap/',  // 自定義地形數(shù)據(jù)服務(wù)URLrequestVertexNormals: true,  // 請(qǐng)求法線,增強(qiáng)視覺效果requestWaterMask: true       // 請(qǐng)求水體遮罩,用于渲染水體
});// 將地形數(shù)據(jù)應(yīng)用到 Cesium Viewer
viewer.terrainProvider = terrainProvider;// 讓相機(jī)飛到一個(gè)高程區(qū)域
viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(121.0, 31.0, 3000.0)  // 上海附近
});
  • Cesium.CesiumTerrainProvider:用于加載自定義的地形服務(wù),可以是本地服務(wù)器或者在線地形服務(wù)。
  • requestVertexNormals:請(qǐng)求法線數(shù)據(jù),法線用于改進(jìn)地形的光照效果。
  • requestWaterMask:請(qǐng)求水體遮罩?jǐn)?shù)據(jù),支持水面渲染效果。

量化網(wǎng)格(Quantized Mesh)地形加載

Quantized Mesh 是一種壓縮格式,將地形數(shù)據(jù)以三角網(wǎng)格的形式存儲(chǔ),能夠高效地處理大規(guī)模地形數(shù)據(jù)。Cesium 原生支持這種格式,常見的使用場(chǎng)景是加載高精度的地形數(shù)據(jù)。

const viewer = new Cesium.Viewer('cesiumContainer');// 使用 Quantized Mesh 地形服務(wù)
const terrainProvider = new Cesium.CesiumTerrainProvider({url: 'https://assets.cesium.com/1/',  // Ion 提供的量化網(wǎng)格地形服務(wù)requestVertexNormals: true,  // 啟用法線數(shù)據(jù),增強(qiáng)渲染效果
});// 應(yīng)用量化網(wǎng)格地形
viewer.terrainProvider = terrainProvider;// 飛到高程變化較大的區(qū)域
viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 3000.0)  // 美國西海岸區(qū)域
});
  • 量化網(wǎng)格格式相比傳統(tǒng)的 Heightmap 更加高效,能夠提供更高的精度并減少帶寬需求。
  • 使用 Cesium Ion 提供的量化網(wǎng)格服務(wù)時(shí),通常會(huì)請(qǐng)求法線和水體遮罩?jǐn)?shù)據(jù),以增強(qiáng)渲染效果。

地形細(xì)節(jié)與配置

地形加載完成后,您可以進(jìn)一步對(duì)地形進(jìn)行細(xì)節(jié)配置,包括調(diào)整采樣精度、開啟陰影等。

設(shè)置地形的采樣精度

Cesium 允許您控制地形的采樣精度。更高的采樣精度能展示更多地形細(xì)節(jié),但也會(huì)消耗更多的系統(tǒng)資源。

viewer.scene.terrainProvider = Cesium.createWorldTerrain({requestVertexNormals: true,  // 開啟地形的法線requestWaterMask: true       // 開啟水體遮罩
});

requestVertexNormalsrequestWaterMask 可以進(jìn)一步提升地形的視覺效果,尤其是在有光照或水體的場(chǎng)景中。

添加地形陰影

地形陰影為場(chǎng)景增加了光影效果,使得場(chǎng)景更具立體感??梢酝ㄟ^設(shè)置地形接收或投射陰影來啟用此功能:

viewer.shadows = true;  // 啟用場(chǎng)景中的陰影viewer.terrainShadows = Cesium.ShadowMode.ENABLED;  // 啟用地形陰影

進(jìn)階功能

在了解了基礎(chǔ)的地形加載后,您可以通過 Cesium 提供的進(jìn)階功能,進(jìn)一步調(diào)整和定制地形表現(xiàn)。

地形裁剪與高度限制

Cesium 支持對(duì)地形進(jìn)行裁剪或設(shè)置高度限制??梢允褂玫匦尾眉羝矫?#xff08;Clipping Planes)來裁剪場(chǎng)景中的部分地形,例如展示地下結(jié)構(gòu)等。

const clippingPlane = new Cesium.ClippingPlane(new Cesium.Cartesian3(0, 0, -1), 0);viewer.scene.globe.clippingPlanes = new Cesium.ClippingPlaneCollection({planes: [clippingPlane],edgeColor: Cesium.Color.RED
});

這個(gè)例子展示了如何使用 ClippingPlane 對(duì)地形進(jìn)行裁剪,并顯示裁剪邊緣的顏色。

地形夸張(Terrain Exaggeration)

您可以通過地形夸張功能,放大地形的高差,使地形特征更加明顯。常用于對(duì)平坦地形進(jìn)行夸大展示。

viewer.scene.terrainExaggeration = 2.0;  // 將地形高度放大兩倍

此設(shè)置將當(dāng)前地形的所有高度值按 2 倍放大,使山脈和谷地等地貌特征更加突出。

地形疊加

地形疊加允許您將影像圖層、矢量數(shù)據(jù)與地形疊加,從而更好地展示地理數(shù)據(jù)??梢酝ㄟ^ ImageryLayer 將衛(wèi)星影像或地圖疊加到地形之上。

const imageryLayer = viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({url: 'https://your-tile-server/{z}/{x}/{y}.png'})
);

此示例將在線瓦片地圖疊加到地形表面,增強(qiáng)場(chǎng)景的現(xiàn)實(shí)感。
要發(fā)布基于 Heightmap 格式的地形數(shù)據(jù)并在 Cesium 中加載,可以通過多種方式實(shí)現(xiàn),包括使用 Cesium 的在線服務(wù) Cesium ion、搭建 Web 地形服務(wù)(WMS)和 Web 地形圖塊服務(wù)(WMTS)。下面詳細(xì)介紹如何個(gè)人發(fā)布地形數(shù)據(jù),尤其是基于 Heightmap 的地形數(shù)據(jù),并在 Cesium 中使用。

地形數(shù)據(jù)發(fā)布

Heightmap 是一種常見的地形數(shù)據(jù)格式,每個(gè)像素表示地形的高程值。Cesium 支持加載基于 Heightmap 格式的地形,并將其展示為三維地形。通常,Heightmap 會(huì)被分塊處理,以便按需加載和渲染。

使用 Cesium ion 發(fā)布地形數(shù)據(jù)

Cesium ion 是一個(gè)便捷的在線服務(wù),個(gè)人可以上傳、托管并發(fā)布地形數(shù)據(jù),而無需自行搭建服務(wù)器。

  1. 注冊(cè)并登錄 Cesium ion:
    訪問 Cesium ion,注冊(cè)并登錄個(gè)人賬戶。

  2. 上傳 Heightmap 地形數(shù)據(jù):

    • 登錄后,進(jìn)入 “Assets” 管理頁面。
    • 點(diǎn)擊“Upload Assets”上傳你的 Heightmap 地形文件,支持的格式包括 .tif、.asc 等。
    • 選擇 “Terrain” 類型,Cesium ion 將自動(dòng)處理地形數(shù)據(jù),并生成可在 Cesium Viewer 中使用的量化網(wǎng)格地形。
  3. 發(fā)布并加載地形數(shù)據(jù):
    上傳完成后,你會(huì)獲得一個(gè) Asset ID,接下來可以在 Cesium 中通過以下代碼加載地形:

Cesium.Ion.defaultAccessToken = 'your_access_token'; // 替換為你的 Cesium ion 訪問令牌const viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: Cesium.createWorldTerrain({requestWaterMask: true,   // 加載水體效果requestVertexNormals: true // 加載法線信息,提升光照效果})
});// 加載你上傳的地形
viewer.terrainProvider = new Cesium.CesiumTerrainProvider({url: Cesium.IonResource.fromAssetId(your_terrain_asset_id)  // 替換為你上傳的地形 ID
});

Cesium ion 提供的服務(wù)非常方便,用戶無需擔(dān)心地形數(shù)據(jù)的分塊、壓縮、傳輸?shù)葟?fù)雜細(xì)節(jié),Cesium ion 會(huì)自動(dòng)處理并優(yōu)化地形展示。

自建 Web 地形服務(wù)(WMS 和 WMTS)

除了使用 Cesium ion,個(gè)人還可以通過 Web 地形服務(wù)(WMS)或 Web 地形圖塊服務(wù)(WMTS)發(fā)布 Heightmap 格式的地形數(shù)據(jù)。以下是詳細(xì)步驟:

WMS(Web Map Service)發(fā)布地形數(shù)據(jù)

WMS 是一種標(biāo)準(zhǔn)的 Web 地圖服務(wù)協(xié)議,常用于發(fā)布柵格地形數(shù)據(jù)。要發(fā)布 Heightmap 數(shù)據(jù)為 WMS 服務(wù),可以使用開源 GIS 服務(wù)器(例如 GeoServer)。

  1. 安裝 GeoServer:

    • 從 GeoServer 官網(wǎng) 下載并安裝 GeoServer。
    • GeoServer 支持發(fā)布基于柵格的地形數(shù)據(jù)。
  2. 上傳 Heightmap 數(shù)據(jù):

    • 在 GeoServer 管理界面中創(chuàng)建一個(gè)新的工作區(qū)和存儲(chǔ)。
    • 選擇 “Add New Coverage Store” 上傳你的地形數(shù)據(jù)(如 .tif 文件)。
    • 上傳完成后,創(chuàng)建一個(gè)新的圖層,并設(shè)置投影和范圍。
  3. 發(fā)布為 WMS 服務(wù):

    • 確保圖層已啟用 WMS 服務(wù)。你可以通過 GeoServer 提供的 WMS URL 來訪問這個(gè)地形數(shù)據(jù)服務(wù)。
  4. 在 Cesium 中加載 WMS 地形數(shù)據(jù):

const viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: new Cesium.WebMapServiceTerrainProvider({url: 'http://your-geoserver-url/geoserver/wms', // 替換為你的 GeoServer WMS URLlayers: 'workspace:layername', // 替換為你的工作區(qū)和圖層名稱minimumLevel: 0, maximumLevel: 18,tileWidth: 256,tileHeight: 256,})
});
WMTS(Web Map Tile Service)發(fā)布地形數(shù)據(jù)

WMTS 是一種基于圖塊的地圖服務(wù)協(xié)議,通常用于大規(guī)模、高效的地形數(shù)據(jù)加載。GeoServer 也支持發(fā)布 WMTS 服務(wù)。

  1. 在 GeoServer 中啟用 WMTS:

    • 安裝并設(shè)置 GeoServer 后,啟用 WMTS 服務(wù)。
    • 和 WMS 服務(wù)類似,上傳你的 Heightmap 數(shù)據(jù),并發(fā)布為柵格圖層。
  2. 在 Cesium 中加載 WMTS 地形數(shù)據(jù):

    const viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: new Cesium.WebMapTileServiceTerrainProvider({url: 'http://your-geoserver-url/geoserver/gwc/service/wmts', // GeoServer WMTS URLlayer: 'workspace:layername', // 替換為你的工作區(qū)和圖層名稱style: 'default',format: 'image/png',tileMatrixSetID: 'EPSG:4326', // 確保匹配你的投影系統(tǒng)maximumLevel: 18,})
    });
    

本地搭建 Cesium Terrain Server

如果你希望完全離線發(fā)布 Heightmap 數(shù)據(jù),也可以使用 Cesium Terrain Server,它支持 Cesium 的 Quantized Mesh 格式,并可以將地形數(shù)據(jù)分塊處理并發(fā)布。

  1. 使用工具(如 Cesium-terrain-builder)將 Heightmap 數(shù)據(jù)轉(zhuǎn)換為 Quantized Mesh 格式。

  2. 搭建 Cesium Terrain Server,通過 Nginx 或其他 Web 服務(wù)器來托管地形數(shù)據(jù)。

  3. 在 Cesium 中加載本地服務(wù)器的地形數(shù)據(jù):

const viewer = new Cesium.Viewer('cesiumContainer', {terrainProvider: new Cesium.CesiumTerrainProvider({url: 'http://localhost:8080/terrain', // 本地 Cesium Terrain Server 的 URL})
});

總結(jié)

本教程系統(tǒng)介紹了 Cesium 中地形加載的基礎(chǔ)和進(jìn)階功能。通過 Cesium Ion 或自定義地形服務(wù),您可以輕松加載全球或區(qū)域的三維地形數(shù)據(jù),并根據(jù)需要調(diào)整采樣精度、陰影、地形夸張等細(xì)節(jié)。通過進(jìn)階功能如地形裁剪和地形疊加,您可以實(shí)現(xiàn)更加豐富的地形場(chǎng)景展示。

掌握這些功能將幫助您在 Cesium 應(yīng)用中實(shí)現(xiàn)逼真的三維地理場(chǎng)景。

http://www.risenshineclean.com/news/48353.html

相關(guān)文章:

  • ps做網(wǎng)站頁面設(shè)置為多大seo推廣優(yōu)化工具
  • 標(biāo)題優(yōu)化方法百度網(wǎng)站免費(fèi)優(yōu)化軟件下載
  • php企業(yè)網(wǎng)站源代碼網(wǎng)站優(yōu)化方式有哪些
  • 網(wǎng)站開發(fā)論文題目seo排名系統(tǒng)源碼
  • 網(wǎng)站的ci設(shè)計(jì)怎么做優(yōu)化網(wǎng)站打開速度
  • 網(wǎng)站開發(fā) 外包空心cba最新排名
  • javaweb一個(gè)旅游網(wǎng)站怎么做無憂軟文網(wǎng)
  • 新聞網(wǎng)站個(gè)人可以做嗎軟文寫作范例大全
  • wordpress插件分享顯示官網(wǎng)seo關(guān)鍵詞排名系統(tǒng)
  • 南平網(wǎng)站建設(shè)公司超能搜索引擎系統(tǒng)網(wǎng)站
  • 網(wǎng)站建設(shè)教學(xué)廊坊電商網(wǎng)站入口
  • 二維碼圖片個(gè)人網(wǎng)站seo入門
  • 寶坻做網(wǎng)站上海關(guān)鍵詞優(yōu)化排名哪家好
  • wordpress無法新建頁面網(wǎng)站優(yōu)化+山東
  • 中國做爰網(wǎng)站外鏈工具軟件
  • web軟件開發(fā)工具百度seo插件
  • 廣州建委網(wǎng)站google推廣一年的費(fèi)用
  • 網(wǎng)站建設(shè)經(jīng)典范例萬網(wǎng)域名注冊(cè)查詢網(wǎng)
  • 格爾木有做網(wǎng)站的嗎seo網(wǎng)站推廣杭州
  • 行業(yè)軟件公司外包南京seo全網(wǎng)營銷
  • div css3網(wǎng)站布局鄭州制作網(wǎng)站公司
  • 網(wǎng)站建設(shè)進(jìn)度表怎么做看廣告收益最高的軟件
  • 國際新聞最新消息戰(zhàn)爭視頻網(wǎng)站關(guān)鍵字排名優(yōu)化
  • 百度云盤做網(wǎng)站百度新聞客戶端
  • 動(dòng)態(tài)網(wǎng)站開發(fā)報(bào)告seo推廣優(yōu)化
  • 網(wǎng)站建設(shè)app平臺(tái)關(guān)鍵詞排名優(yōu)化
  • 網(wǎng)站建設(shè)公司怎么宣傳廈門百度seo
  • 重慶第一門戶網(wǎng)站附子seo教程
  • 重慶論壇網(wǎng)站建設(shè)企業(yè)營銷策劃
  • wordpress綁定百家號(hào)鼓樓網(wǎng)頁seo搜索引擎優(yōu)化