cesium--3d-tiles译文[官方]
前言
3d-tiles文件是cesium官方和開源社區發布的專用格式.要想深刻體會,還的看官方原文檔.借此機會翻譯,以便日后查用.
譯文
3d tiles 格式規范 2018年6月6日 版本1.0
目錄
Introduction#簡介
File extensions and MIME types#文件擴展和MIME類型
JSON encoding#json編碼
URIs#路徑
Units#模塊
Coordinate reference system (CRS)#坐標參考系
Concepts#概念理解
Declarative styling specification#聲明性樣式規范
Property reference#屬性引用
License#許可證
Introduction#簡介
3D tiles被設計用于流媒體和渲染大量3D地理空間內容,如攝影測量、3D建筑、BIM/CAD、實例特征和點云。它定義了一個層次數據結構和一組提供可渲染內容的平鋪格式。3D tiles沒有為內容的可視化定義明確的規則;客戶機可以可視化3D tiles數據使它看起來合適.在3d tiles中,圖塊集是一組圖塊,它們組織在一個空間數據結構(樹)中,tileset由至少一個包含tileset元數據的tileset json文件和一個tile對象樹描述,每個tileset對象樹可以引用以下格式之一的可渲染內容:
| Batched 3D Model(b3dm) | 異構三維模型。例如,紋理地形和表面、三維建筑外觀和內部、大型模型 |
| Instanced 3D Model (i3dm) | 三維模型實例。例如樹木、風車、螺栓 |
| Point Cloud (pnts) | 大量點云數據 |
| Composite (cmpt) | 將不同格式的圖塊連接到一個圖塊中 |
Tileset可以使用類似于光柵和矢量平鋪方案(如Web地圖平鋪服務(WMT)或XYZ方案)的二維空間平鋪方案,該方案在多個詳細級別(或縮放級別)上為預定義的平鋪提供服務。然而,由于tileset的內容通常是不均勻的,或者可能不容易組織為二維的,因此樹可以是任何具有空間相關性的空間數據結構,包括k-d樹、四叉樹、八叉樹和網格.或者,可以將三維平鋪樣式或樣式應用于平鋪集。樣式定義要計算的表達式,用于修改每個特征的顯示方式.
File extensions and MIME types#文件擴展和MIME類型
3d tiles 用以下文件擴展名和MIME消息類型,
tileset文件用.json的擴展文件和application/json的mime消息類型
tile內容文件使用特定于其平鋪格式規范的文件類型和MIME格式,
tileset樣式的文件使用.json擴展名和application/json mime類型,
顯式文件擴展名是可選的。有效的實現可以忽略它,
并通過其頭中的magic字段標識內容的格式
JSON encoding#json編碼
3D titles對JSON格式和編碼有以下限制。
JSON必須使用不帶BOM的UTF-8編碼。
此規范中定義的所有字符串(屬性名、枚舉)僅使用ASCII字符集,必須以純文本形式寫入。
JSON對象中的名稱(鍵)必須是唯一的,即不允許重復鍵
URIs#路徑
3D titles使用uri引用titles內容。這些URI可能指向相對外部引用(rfc3986),也可能是將資源嵌入JSON中的數據URI。嵌入式資源使用“數據”URI方案(RFC2397)。當URI是相對的時,它的基總是相對于引用的tileset json文件。客戶端實現需要支持相關的外部引用和嵌入資源。或者,客戶端實現可以支持其他方案(如http://)。所有URI必須有效且可解析
Units#模塊
所有直線距離的單位是米。
所有角度都是弧度
Coordinate reference system (CRS)#坐標參考系
3D titles使用右手笛卡爾坐標系;也就是說,x和y的叉積產生z。
titles將z軸定義為局部笛卡爾坐標系的向上軸。
Tileset的全球坐標系通常位于WGS 84地心固定(ECEF)參考框架(EPSG 4979)中,
但不必如此,例如,發電廠可以在其本地坐標系中完全定義,
以便與沒有地理空間背景的建模工具一起使用。
可以應用附加的titles轉換將titles的局部坐標系轉換為父圖塊的坐標系。
區域邊界體積使用地理坐標系(緯度、經度、高度)指定邊界,
特別是EPSG 4979
Concepts#概念理解
1) titles
tiles由元數據組成,用于確定是否呈現tile、對可渲染內容的引用以及任何子tile的數組
2) Geometric error
titles被構造成一個包含層次細節級別(chlod)的樹,這樣在運行時,
客戶機實現需要確定圖塊是否足夠詳細以進行渲染,以及
titles的內容是否應該由更高分辨率的子圖塊依次進行細化。
一個實現將考慮最大允許屏幕空間錯誤(SSE),即以像素度量的錯誤.
…后面就不翻譯了,太高端了,翻譯了也不懂
3) Refinement(優化)
Replacement(替換優化)
如果一個titles使用替換優化,則在進行優化時,它會使其子項取代自身
Additive(增加優化)
如果titles使用附加優化,則在優化后,它會同時呈現自身及其子項
Bounding volumes
邊界定義為了支持各種數據集(如規則分割的地形、與經緯線不對齊的城市或任意點云)
邊界體積類型包括定向邊界框、邊界球和由最小和最大緯度、經度和高度定義的地理區域
Region#區域
boundingvolume.region屬性是一個由六個數字組成的數組,這些數字用緯度、經度和高度坐標定義邊界地理區域,順序為[西、南、東、北、最小高度、最大高度]。緯度和經度在EPSG 4979中定義的WGS 84基準中,以弧度表示。高度以WGS 84橢球體以上(或以下)米為單位
“boundingVolume”: {
“region”: [
-1.3197004795898053,
0.6988582109,
-1.3196595204101946,
0.6988897891,
0,
20
]
}
Box#盒子
boundingvolume.box屬性是一個由12個數字組成的數組,該數組在z軸向上的右手三軸(x,y,z)笛卡爾坐標系中定義定向邊界框。前三個元素定義了框中心的x、y和z值。接下來的三個元素(帶有索引3、4和5)定義X軸方向和半長度。接下來的三個元素(索引6、7和8)定義Y軸方向和半長度。最后三個元素(索引9、10和11)定義Z軸方向和半長度
“boundingVolume”: {
“box”: [
0, 0, 10,
100, 0, 0,
0, 100, 0,
0, 0, 10
]
}
sphere#球
boundingvolume.sphere屬性是一個由四個數字組成的數組,用于定義邊界球。前三個元素定義了z軸向上的右手三軸(x,y,z)笛卡爾坐標系中球體中心的x,y和z值。最后一個元素(索引3)定義半徑(單位:米
“boundingVolume”: {
“sphere”: [
0,
0,
10,
141.4214
]
}
viewer的請求區域
title的視圖請求區域可以用于組合異類數據集,也可以與外部titles集組合。
下面的示例在B3DM圖塊中有一個建筑,在PNTS圖塊中有一個點云。點云塊的邊界體積是一個半徑為1.25的球體。它還有一個更大的球體,半徑為15,用于viewerRequestVolume。由于幾何誤差為零,當查看器位于由viewerRequestVolume定義的大球體內時,點云圖塊的內容總是呈現(并且最初是被請求的)
{
“children”: [{
“transform”: [
4.843178171884396, 1.2424271388626869, 0, 0,
-0.7993325488216595, 3.1159251367235608, 3.8278032889280675, 0,
0.9511533376784163, -3.7077466670407433, 3.2168186118075526, 0,
1215001.7612985559, -4736269.697480114, 4081650.708604793, 1
],
“boundingVolume”: {
“box”: [
0, 0, 6.701,
3.738, 0, 0,
0, 3.72, 0,
0, 0, 13.402
]
},
“geometricError”: 32,
“content”: {
“uri”: “building.b3dm”
}
}, {
“transform”: [
0.968635634376879, 0.24848542777253732, 0, 0,
-0.15986650990768783, 0.6231850279035362, 0.7655606573007809, 0,
0.19023066741520941, -0.7415493329385225, 0.6433637229384295, 0,
1215002.0371330238, -4736270.772726648, 4081651.6414821907, 1
],
“viewerRequestVolume”: {
“sphere”: [0, 0, 0, 15]
},
“boundingVolume”: {
“sphere”: [0, 0, 0, 1.25]
},
“geometricError”: 0,
“content”: {
“uri”: “points.pnts”
}
}]
}
License#許可證
Property reference#屬性引用
Declarative styling specification#聲明性樣式規范
總結
以上是生活随笔為你收集整理的cesium--3d-tiles译文[官方]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第03课:如何学习“机器学习”
- 下一篇: 渗透测试