當我們想要對地質資料在三維空間中進行空間分析,最終在web端進行展示的時候,應該怎麼做呢?本文即從**形式的鑽孔資料出發,在arcgis三維中構建地質體以及地質體剖面,最終結合cityengine 2012完成在web端資料展示。
現有的鑽孔資料為2d的點要素,它包括了一張內容豐富的屬性表,其中就有高程值欄位,此外還有所屬岩層名稱等。如果不用做三維展示,那就可以直接進入步驟2進行tin構建了。若我們要將其進行三維展示,就需要用到乙個「依據屬性實現要素轉3d」工具,就可以根據自帶的高程屬性值,將2d資料輕鬆轉為3d資料了。
首先需要將不同岩層的鑽孔點篩選出來,這裡用到的就是屬性表中自帶的「按屬性選擇」功能,篩選過後,將點要素儲存成為獨立的圖層。
效果如下圖:
之後,即可以對不同的鑽孔圖層構建
tin模型了。使用
3d分析中的「建立
tin」工具,逐層生成各地質層:
接下來要生成各地質層之間的地質體,生成地質體的方法是對各地質層的tin資料按照高度進行拉伸,拉伸的物件就是各地質層的平面覆蓋範圍。因此我們要先計算出地質層的覆蓋範圍。方法是使用3d分析工具中的「tin範圍」即「tin domain」工具。
有了地質層的範圍之後,使用「在兩個面之間拉伸」工具,建立兩個地質層之間的地質體。在使用該工具的時候需要注意輸入的鄰接
tin和
tin範圍的選取。
將所有地質體都載入到同乙個資料中,形成乙個完整的地質體資料:
地質體剖面是由切面片和地質體相交計算而得來的,因此,需要先繪製切面。繪製切面的方法是先繪製二維視角的切面,然後通過拉伸,將切面拉伸成三維形式的切面,最後轉化為三維格式的切面片,具體步驟如下。
建立帶有z值的polygon要素,開始編輯之後繪製面要素。
繪製完成後在圖層屬性中,選擇按照一定高度拉伸,形成切面片:
然後使用「
3d圖層轉要素類」即「
3d layer to feature class
」工具將二維資料轉換為
multipatch
格式。對切面片和地質體應用相交計算,使用「3d相交工具」,即可得出相交的剖面體。
cityengine
中可以讀取
arcgis
資料庫,因此,只要以上生成的資料存在
gdb中,即可匯入到
cityengine
中,並進行
web三維展示。
3.1. 資料匯入cityengine
在cityengine
中新建乙個場景,選擇與資料相同的座標系。開啟新的場景之後,選擇匯入
file gdb
資料,cityengine
將會自動讀取
file gdb
中的資料並將資料新增到場景中:
新增進來的資料預設是沒有進行顏色渲染的,因此我們需要在規則中按照地質層的類別給不同的地質層賦予顏色。cityengine中支援直接從資料的屬性中讀取地質型別,因此完成這一過程很簡單,我們只要寫好賦予不同地質層的顏色即可。具體規則:
attrtype = "0"
multi-->
casetype=="2":
color("#4cb300")
casetype=="3":
color("#8400a8")
casetype=="4":
color("#a80000")
casetype=="5":
color("#ffff00")
casetype=="6":
color("#00c5ff")
casetype=="7":
color("#ffaa00")
casetype=="8":
color("#ff0000")
else:nil
選中要發布到
web端的地質體和地質剖面體,選擇
export models
,在彈出視窗中選擇匯出的型別為
cityengine web scene
,然後指定匯出路徑
:匯出完成之後,在所指定的路徑中就多了
3ws檔案及日誌檔案,如下圖:
右鍵點選
3ws檔案,選擇
open with -> 3d web scene viewer
。整個場景將自動在瀏覽器中開啟。此處要注意
cityengine
的web 3d
是基於opengl
的,所以必須使用支援
opengl
的瀏覽器開啟。下圖是在
chrome
中瀏覽地質剖面體的示例
:以上即完成了從**資料到二維地質空間資料的展現、三維地質體及地質體的剖面分析、三維地質體及剖面的web端展示。
下面是一些截圖效果,如果需要將成果與其他人分享,請閱讀cityengine web scene如何在iis下部署。
1.查詢
2.光照分析
npm包從構建到發布流程
使用npm init初始化專案目錄 檢視npm源位址 如果不是如圖所示的官方源位址,需要使用如下命令設定為官方源位址 npm config set registry然後登入你在npm官網註冊的賬戶,沒有註冊的直接前往npm官網註冊,註冊完使用如下命令進行登入,輸入賬號密碼以及乙個用於接收郵件的郵箱即...
C語言從入門到構建大型專案 目錄
c語言從入門到構建大型專案 目錄 本專欄從實戰的角度,從c語言基礎語法講起,每一節都有例項 鼓勵大家邊學習,邊動手學,如果只是學學理論的話,我覺得隨便找一本教材都比我的專欄寫的好。動手練習後看到自己的成果,也會更有動力繼續學習下去。為什麼很多學生在學校裡面學完c語言之後,覺得沒什麼用,最後放棄,原因...
重讀《從菜鳥到測試架構師》 構建測試
上一章節中,小艾已經掌握了構建測試的基本知識,其實,構建測試也稱為構建可接受性測試 build acceptance test 一般是在每乙個測試產品生成之後,構建測試團隊執行一組最基本的測試用例,來確定做成的測試產品的質量是否達到可以交到各個測試組來進行更全面 更深入的各項測試的要求。構建測試用例...