Quantied mesh 1 0 地形格式

2021-08-18 20:40:21 字數 2601 閱讀 7724

乙個地形瓦片在quantied-mesh-1.0格式是簡單的根據瓦片地圖伺服器(

tile map service (tms)

)和全球大資料的多解析度四叉樹。所有的瓦片都有延伸地形,所以,瓦片的url是:

然後在這些url種找到金智塔的兩個根檔案:

(-180 deg, -90 deg) - (0 deg, 90 deg) - /0/0/0.terrain

(0 deg, -90 deg) - (180 deg, 90 deg) - /0/1/0.terrain

(-180 deg, -90 deg) - (-90 deg, 0 deg) - /1/0/0.terrain

(-90 deg, -90 deg) - (0 deg, 0 deg) - /1/1/0.terrain

(0 deg, -90 deg) - (90 deg, 0 deg) - /1/2/0.terrain

(90 deg, -90 deg) - (180 deg, 0 deg) - /1/3/0.terrain

(-180 deg, 0 deg) - (-90 deg, 90 deg) - /1/0/1.terrain

(-90 deg, 0 deg) - (0 deg, 90 deg) - /1/1/1.terrain

(0 deg, 0 deg) - (90 deg, 90 deg) - /1/2/1.terrain

(90 deg, 0 deg) - (180 deg, 90 deg) - /1/3/1.terrain

在請求瓦片時,輕確保在親貴中包含以下http頭:

否則,一些伺服器可能返回乙個不同的瓦片表示,而不少這裡描述的。

每個瓦片的網片邊緣重疊的頂點是特別編碼三角網格的。換句話說,實際上,在西邊瓦片中最東邊的頂點和東邊瓦片最西邊的頂點在同乙個經度上。

地形瓦片是壓縮儲存的。一旦提取,瓦片是 little-endian,二進位制資料。檔案的第一部分後具有一些格式的標題。

doubles

的是ieee 754,64

為浮點數,和

floats

是ieee 754 32

位浮點數。

struct

quantizedmeshheader

;在標頭檔案後面是定點資料。unsigned interesting是

32位無符號整數和

unsgned short

是乙個16

位無符號整型。

struct

vertexdata

;這個vertexcount在這個三個陣列中使用。這三個陣列包含先前得到的

delta

,然後用

zig-zag

編碼來生成小整數,不管它們的符號是什麼都是使用少量的

bit。

解碼這個值也是很簡單的:

varu =0

;varv =

0;varheight =0

;function

zigzagdecode

(value)

for(i =0

; i

<

vertexcount;

++i)

一旦解碼,每個陣列的值的含義如下:

名稱

意義

u在瓦片中頂點的水平座標。當u值是0,頂點是瓦片的西邊緣。當值是32767,頂點是在瓦片東邊。是其他的值時,頂點的經度是瓦片東邊和西邊經度的線性插值。

v這個是頂點的垂直座標。當這個v值是0時,頂點在瓦片的南邊,當這個值是32767,頂點在瓦片的北邊。其他值時,頂點的緯度是瓦片你南邊和北邊緯度的線性插值。

height

在瓦片頂點的高度值。當高度值是0,頂點高度相當於瓦片的最小高度,正如在瓦片標題中指定的。當值是32767,頂點高度相當於瓦片最大高度值。如果是其他值,頂點的高度值是最大和最小的高度值的線性插值。

緊跟著頂點資料是索引資料。索引指定頂點如何連線成三角形。當瓦片有多餘65536個頂點,瓦片使用

indexdata32

結構來編碼索引。否則,使用

indexdata16

結構。執行適當的位元組對齊,在indexdata之前新增填充物,以確保

indexdata16的2

個位元組和

indexdata32的4

個位元組對齊。

struct

indexdata16

struct

indexdata32

索引使用來自webgl-loader的高水平標記編碼,索引北解碼如下:

varhighest =0

;for

(vari =

0; i

<

indices.

length

; ++

i) }

每乙個索引值構成乙個三角形,使用逆時針繞序。下面的三角形索引是四個指標列表:

struct

edgeindices16

struct

edgeindices32

這些索引列表列舉了瓦片邊緣的頂點。指定哪些頂點在邊緣很有幫助的,這樣就可以在相鄰的細節層之間新增裙子來隱藏裂縫。

iOS 10本地推送

ios 10本地推送 end ios 10 使用以下方法註冊,才能得到授權 center requestauthorizationwithoptions unauthorizationoptionalert unauthorizationoptionsound completionhandler b...

Fedora 10本地新增 刪除軟體

fedora 10本地新增 刪除軟體 1。將光碟或iso檔案掛載到檔案系統 mount t iso9660 dev cdrom mnt cdrom 或mount o loop fedora 10 i386.iso mnt cdrom 2。修改yum的倉庫檔案位置 fedora的 add remove...

WIN10本地搭建APACHE PHP執行環境

微軟全新作業系統windows10在190個國家和地區正式同步上市,正版windows7 windows8.1使用者均可在一年內免費公升級。介紹一下在公升級後的windwos10系統上安裝及配置apache及php步驟 感覺和windows7 8沒有差別 2 開啟apache24 conf下http...