網頁

2009年6月2日 星期二

地面地形建立實務 - 快速建模技術

地面物件對 Civil 3D 而言是相當重要的一個基本物件,軟體環境也提供了許多工具協助地面模型的建立。在黃金戰士培訓的"基本學習範例資料" 中,雖然也提供了一個用以建立 現況地面 EG 的enz檔,甚至還有特徵線的提供,看來似乎很容易。(讀者可自連結下載 http://www.caile.tw/BBS/ShowPost.asp?ThreadID=5710)

然而在實務中,許多基本圖資並非如此"理想",不見得能用單一標準程序處理完成。而有時測量點位資料可能又是相當的稀疏,這樣是否就必須重測地形,無法先行建立仍然符合地形特性、誤差仍控制在一定程度的地面物件,甚至拿來作土方計算基礎都尚無大礙呢?

將近一年前曾於 lab.niu.edu.tw 官方部落格發佈一個主題"一個現況地面的建模實務問題,與大家分享及研究" (http://lab.niu.edu.tw/modules/newbb/viewtopic.php?topic_id=67&forum=5),並貼附相關的實務資料(座標原點己搬移修改),並蒙茂紜兄與裕勝兄的討論應用於其它案例。而後續幾經公司其它案子的應用,顯示那是一個有效的處理方式。

先將問題再概述一次。專案基地的土地現況是位居養殖漁塭區,而從測量公司取得的成果資料如右圖,綠色聚合線為路堤堤緣線、粉紫色聚合線為崁底線,測點高程資料只存在於路面或漁塭底部的代表點,圖面中各聚合線均不含高程資料(即均為 z = 0.0 的2d聚合線)。若沿青色剖面觀之,則代表的地形剖面特性如右圖下方的黑色剖面線所示。

顯然地,第一個步驟是以圖面的各測點資料建立現況地面物件 EG。完成後立即會發現所呈現的 TIN網格過疏,尚無法代表地形的起伏特性。

接續的處理程序則相當關鍵,不同的程序所需的時間差異可達數十倍的幅度。

一般的想法(作法),可能會接著著手去處理那些不具高程資料的聚合線,會試著將其轉換為地勢線(feature line)或3d聚合線,再以高程編輯工具編修沿線的高程起伏走勢。過程中,需要適時的加入坡度轉折點,並參考鄰近測點資料後以人工判斷地勢坡向後"輸入"高程值。

不過,筆者以其它的程序去處理。先將圖面的測點資料分群歸類於不同的圖層,以範例資料而言則僅分為"頂面"及"底面"二群。也就是測點位於路面上的歸一群、測點位於漁塭底面的歸一群,再分別建立"頂面"、"底面"地面物件。這其中的道理,直接看右側的示意應該可以意會吧!此時 C3D 的地面物件共有三個:"EG"、"頂面"、"底面"。

接著是處理聚合線資料,給予地面高程資料。使用的工具是整地功能的"從物件建立地勢線",高程則自地面高程指定,且不勾選"加入中間坡度比轉折點"。這兒要留意,轉換綠色的路緣聚合線的地面物件目標要選取為頂面、轉換崁底聚合線的地面物件目標要選取為底面。(另外一個作法,是將各聚合線轉換為3d聚合線,再以"地勢線"工具列的"取自地面高程"功能指定聚合線的高程資料,需留意處則如前述。) 處理後各線型資料即具備高程資料,如最後圖示。

最後,將前一步驟處理完成的各線型以加入特徵線的方式加入至 EG 地面物件。結果如何?各位不妨動手自己連連看最後一個附圖中的"測點"(橘色交叉)、"特徵線"(綠色及粉紫色圓圈),是否比原先的 EG 為佳。

從這個個例可以令吾省思:所完成的 TIN 地面物件的品質要求,實務上不太適合以"正確"或"準確"去定義,而是以可用性、誤差容許控制等"定性"性質去作相關要求會較合理。若反過來要求各位操作者,所完成的 EG 示意剖面與現況的高程誤差要在 0.5 cm以下,那麼所要補充的測點資料量、聚合線資料必然暴增,軟體運作速度可能拖慢以及頻頻發生程式跳開關閉的困擾,另外也會攸關後續資料的使用效益。因此,找尋一個兼具品質-效益-可用性的合理程序,是使用 C3D必須注意的要事。
以上所言即為一年前所構思的問題處理基本概要,就稱為 "處理程序 v1.0"。該程序中並未處理路面洩水坡度的小問題。
目前公司內的該問題處理程序已進化為 "處理程序 v2.0 / v2.1 /v2.2"。
** 2011/02/15 補充:
原 lab.niu.edu.tw 的論壇已關閉,www.caile.tw/BBS 也已無預警關站,唯一尚可找得到的討論線索只餘 茂紜兄的部落格文章,有興趣的朋友就連結前往看看吧!

1 則留言:

茂紜 提到...

創意思考邏輯真是令人佩服,冠宏兄的功力已達真正在駕馭著軟體活用廣度,而不是被軟體制式功能所駕馭、限制著。厲害~