李志國(guó),王庶懋,劉 欽
(1.中國(guó)電力工程顧問(wèn)集團(tuán)華東電力設(shè)計(jì)院有限公司,200063,上海;2.中國(guó)地震臺(tái)網(wǎng)中心,100036,北京)
鉆探是各類勘察工程的主要手段之一[1]。各種類型的工程勘察柱狀圖是日??辈旃ぷ髦挟a(chǎn)出的最基本,也是使用數(shù)量最多的鉆探成果圖件。應(yīng)用于工程勘察的柱狀圖包括單孔鉆孔柱狀圖、動(dòng)力觸探試驗(yàn)成果圖、靜力觸探試驗(yàn)成果圖等多種類型的圖件。這類圖件如采用傳統(tǒng)的手工繪制方式,往往效率低,容易出錯(cuò)而且不易修改,不能滿足實(shí)際工作的需要。隨著計(jì)算機(jī)技術(shù)的應(yīng)用,國(guó)內(nèi)外開(kāi)發(fā)了一系列專業(yè)軟件實(shí)現(xiàn)鉆孔柱狀圖的繪制,但是這些軟件往往是半自動(dòng)成圖,修改起來(lái)也不方便,而且不能根據(jù)專業(yè)特點(diǎn)添加填充圖樣[2]。為了能夠更好地完成鉆孔柱狀圖的繪制,現(xiàn)代繪制技術(shù)主要分為兩類:一類采用AutoCAD、CorelDRAW等計(jì)算機(jī)輔助制圖軟件進(jìn)行鉆孔柱狀圖的自動(dòng)或半自動(dòng)生成;另一類采用ArcGIS、MapInfo等組件式GIS平臺(tái)進(jìn)行二次開(kāi)發(fā)生成鉆孔柱狀圖[3]。這2種方式往往均存在通用性、靈活性和擴(kuò)展性不強(qiáng)等問(wèn)題,無(wú)法對(duì)產(chǎn)出模板進(jìn)行靈活的定義。
針對(duì)以上問(wèn)題,本文提出基于Jinja2模板引擎,通過(guò)Excel排版實(shí)現(xiàn)鉆孔柱狀圖模板格式配置的靈活定義和表達(dá)。基于ArcGIS平臺(tái),利用空間數(shù)據(jù)和屬性數(shù)據(jù)管理功能,實(shí)現(xiàn)鉆孔數(shù)據(jù)在模板引擎上的渲染,以及鉆孔柱狀圖的自動(dòng)繪制和輸出功能。
從各類圖件的表現(xiàn)形式中可以看出,鉆孔柱狀圖是一種表格式的圖件。表格中地層厚度、試驗(yàn)曲線、取樣位置等單元格比較特殊,其高度需要按比例符合實(shí)際的精確度,而地層描述等單元格則需要根據(jù)描述內(nèi)容文字的高度,通過(guò)緩沖線標(biāo)識(shí)相對(duì)位置,以便達(dá)到整體美觀、協(xié)調(diào)的目的。
鉆孔柱狀圖的繪制內(nèi)容由文字、花紋、符號(hào)和曲線等要素構(gòu)成。文字為表格中的各種數(shù)據(jù)和描述文字,花紋為柱狀圖中表示地層巖性的各種填充花紋,符號(hào)為柱狀圖中標(biāo)識(shí)地下水位、標(biāo)貫點(diǎn)和取樣類型等位置的點(diǎn)狀符號(hào),曲線為靜力觸探、動(dòng)力觸探等各類物理性質(zhì)試驗(yàn)曲線。所有內(nèi)容的繪制和表達(dá)均需要符合國(guó)家、部門或行業(yè)的標(biāo)準(zhǔn)。
鉆孔數(shù)據(jù)由工程信息、鉆孔信息、地層信息、取樣信息、標(biāo)貫信息、靜探信息、動(dòng)探信息等一系列的表組成,每個(gè)與鉆孔相關(guān)的信息通過(guò)鉆孔編號(hào)相關(guān)聯(lián)。這些信息的錄入可以通過(guò)Excel導(dǎo)入的功能,按對(duì)應(yīng)的項(xiàng)目導(dǎo)入到系統(tǒng)的數(shù)據(jù)庫(kù)中,也可直接讀取Excel中的數(shù)據(jù)進(jìn)行柱狀圖的繪制。
根據(jù)不同行業(yè)的工程情況,可以將工程信息表、勘探點(diǎn)信息表、勘探點(diǎn)地層表、鉆孔取樣信息表、標(biāo)貫試驗(yàn)成果表、靜探試驗(yàn)成果表、動(dòng)探試驗(yàn)成果表等信息建立數(shù)據(jù)模型。通過(guò)數(shù)據(jù)的導(dǎo)入,將成果信息轉(zhuǎn)換為JSON格式便于后續(xù)處理。
圖2 數(shù)據(jù)模型ER圖
本文提出的自動(dòng)成圖工具利用ArcToolbox的開(kāi)發(fā)接口,使用ArcPy實(shí)現(xiàn)用戶自定義工具,從而便捷快速地進(jìn)行鉆孔柱狀圖的處理和產(chǎn)出。
ArcGIS Desktop軟件是ESRI公司開(kāi)發(fā)的專業(yè)地理信息處理軟件,軟件的ArcToolbox工具箱提供了一套處理地理數(shù)據(jù)任務(wù)的工具集。ArcToolbox包含了ArcGIS地理處理的大部分分析工具和數(shù)據(jù)管理工具[4],這些工具可以單獨(dú)使用,也可以通過(guò)ModelBuilder工具把它們的處理流程連接起來(lái),建立空間分析工作流模型,還可以通過(guò)代碼把這些工具引用到定制腳本中來(lái)創(chuàng)建自己的工具和工具箱,用來(lái)擴(kuò)展ArcGIS的功能。本文采用ArcPy定制一系列的工具箱和工具的方式,來(lái)實(shí)現(xiàn)靈活的鉆孔柱狀圖產(chǎn)出功能。
自定義工具的整體結(jié)構(gòu)包括定義參數(shù)、驗(yàn)證參數(shù)和處理工作流3個(gè)部分。分別定義輸入的參數(shù),驗(yàn)證參數(shù)合法性和執(zhí)行產(chǎn)出處理過(guò)程。
輸入數(shù)據(jù)可以選擇存放工程信息的數(shù)據(jù)庫(kù)或Excel文件,定義了數(shù)據(jù)輸出所需要的各類信息,默認(rèn)輸出工程內(nèi)的所有鉆孔信息,也可以通過(guò)可選參數(shù),指定要輸出的鉆孔編號(hào),來(lái)限定產(chǎn)出范圍。
圖3 自定義工具界面
為了實(shí)現(xiàn)鉆孔柱狀圖的靈活定義,出圖模板由兩部分組成,一個(gè)是基于Excel文件的鉆孔柱狀圖表格結(jié)構(gòu)的數(shù)據(jù)模板,定義了鉆孔柱狀圖表格結(jié)構(gòu)、變量位置等柱狀圖結(jié)構(gòu)信息;一個(gè)是基于ArcGIS文件頁(yè)面布局的版面模板,定義了符號(hào)表達(dá)、標(biāo)注位置、頁(yè)面布局等渲染出圖信息。
通過(guò)模板定義的表達(dá)信息實(shí)現(xiàn)出圖的表格結(jié)構(gòu)和頁(yè)面框架,使用實(shí)際工程數(shù)據(jù),將模板中的動(dòng)態(tài)內(nèi)容進(jìn)行渲染,即可產(chǎn)出一套完整的鉆孔柱狀圖圖冊(cè)。
Jinja2是一個(gè)基于Python語(yǔ)言的模板引擎(Template Engine)。它定義了一套簡(jiǎn)單易用的模板語(yǔ)言(Template Language),可以用來(lái)引用Json形式的數(shù)據(jù)對(duì)象,實(shí)現(xiàn)內(nèi)容的動(dòng)態(tài)產(chǎn)出。當(dāng)Jinja2應(yīng)用于動(dòng)態(tài)內(nèi)容產(chǎn)出的場(chǎng)景時(shí),負(fù)責(zé)產(chǎn)出產(chǎn)品頁(yè)面的設(shè)計(jì)人員可以和負(fù)責(zé)數(shù)據(jù)產(chǎn)出的程序開(kāi)發(fā)人員在約定好數(shù)據(jù)的結(jié)構(gòu)后,就可以分別獨(dú)立同步進(jìn)行各自的工作,程序開(kāi)發(fā)人員可以只關(guān)注業(yè)務(wù)邏輯代碼的編寫,頁(yè)面設(shè)計(jì)人員可以只關(guān)注頁(yè)面的表現(xiàn)形式,并可以根據(jù)業(yè)務(wù)情況隨時(shí)靈活地修改頁(yè)面的結(jié)構(gòu)信息,而不需要重新編寫代碼。利用模板引擎技術(shù)將數(shù)據(jù)資源從頁(yè)面表現(xiàn)中分離出來(lái),為軟件的長(zhǎng)期維護(hù)提供了便利。
采用Jinja2模板引擎技術(shù),將數(shù)據(jù)與表格結(jié)構(gòu)分離,構(gòu)建了基于模板引擎技術(shù)的表格內(nèi)容結(jié)構(gòu)定義系統(tǒng),利用Excel表格定義結(jié)構(gòu)信息,實(shí)現(xiàn)了表格結(jié)構(gòu)和展示內(nèi)容的靈活智能化定義。利用模板引擎,可以將變量使用雙花括號(hào)“{{變量名稱}}”標(biāo)記,當(dāng)Jinja2解釋器讀取到該內(nèi)容后,會(huì)自動(dòng)將該變量替換為真正的指,從而實(shí)現(xiàn)基于數(shù)據(jù)的模板渲染。也可使用類似“{%...%}”格式的條件語(yǔ)句,針對(duì)不同的條件進(jìn)行判斷和有針對(duì)性地輸出相關(guān)內(nèi)容。
文本擴(kuò)展該項(xiàng)技術(shù),將應(yīng)用范圍擴(kuò)大到Excel表格結(jié)構(gòu)中。首先,將Excel的表格格式轉(zhuǎn)為Json格式;然后,利用Jinja2模板引擎渲染替換動(dòng)態(tài)內(nèi)容,形成針對(duì)工程的表格Json數(shù)據(jù);最后,利用ArcGIS將該數(shù)據(jù)定義轉(zhuǎn)換為點(diǎn)、線、面和標(biāo)記形式的數(shù)據(jù),在并擴(kuò)展定義“{| S...| S}”形式的矢量標(biāo)注標(biāo)簽,從而將數(shù)據(jù)輸出到ArcGIS格式。
利用ArcGIS的StyleManager構(gòu)建各類巖性花紋是一種解決方案[5],但是有2個(gè)問(wèn)題,一是不同版本ArcGIS符號(hào)庫(kù)的兼容性問(wèn)題會(huì)導(dǎo)致系統(tǒng)在不同的版本之間無(wú)法遷移,無(wú)法滿足靈活性的需要;二是無(wú)法進(jìn)行復(fù)合花紋樣式的表達(dá),由于地質(zhì)的復(fù)雜性,當(dāng)遇到某一巖層出現(xiàn)多種巖性的情況時(shí),需要將每種巖性對(duì)應(yīng)的花紋樣式進(jìn)行復(fù)合填充到同一區(qū)域。因此,本文使用AutoDESK公司的填充圖案為規(guī)則,將不同巖性的圖案通過(guò)算法寫入矢量文件中進(jìn)行表達(dá)。
填充圖案在一個(gè)或多個(gè)文件擴(kuò)展名為.pat的定義文件中定義。由標(biāo)題行和描述行組成,下面是文件的基本格式。
*pattern-name[, description]
angle, x-origin,y-origin, delta-x,delta-y,dash-1,dash-2, …
第1行是標(biāo)題行,以星號(hào)開(kāi)頭;pattern-name定義了圖案名稱,方括號(hào)為可選的說(shuō)明內(nèi)容。
第2行是圖案的描述行,可以有一行或多行;每條陣列線都被視為直線族的第1個(gè)成員,通過(guò)在2個(gè)方向上應(yīng)用增量偏移來(lái)生成無(wú)限的平行線族而創(chuàng)建直線族,符號(hào)代表的含義如下。
angle代表繪制直線的角度;
x-origin,y-origin代表填充直線族中第一條直線所經(jīng)過(guò)點(diǎn)的X、Y軸坐標(biāo);
delta-x代表直線族成員之間在直線方向上的位移,它僅用于表達(dá)虛線;
delta-y代表直線族成員之間的間距,也就是多個(gè)直線間的垂直距離;
dash-n代表一條直線的長(zhǎng)度,可取正、負(fù)值或?yàn)榱悖≌当硎驹撻L(zhǎng)度為實(shí)線,取負(fù)值表示該線段留空,取零則畫(huà)點(diǎn)。若不含dash-n,則為實(shí)線。
根據(jù)該算法,即可將多條線段組合成為需要的巖性填充符號(hào),并填充在指定的區(qū)域內(nèi)。
對(duì)于復(fù)合巖性花紋,系統(tǒng)則自動(dòng)識(shí)別其中的多個(gè)巖性,并在巖性花紋庫(kù)中進(jìn)行查找比對(duì),將多個(gè)巖性花紋在同一區(qū)域內(nèi)繪制,從而實(shí)現(xiàn)復(fù)合巖性花紋的表達(dá)。
在模板文件中,使用“{| SHTC={{hatch_name}}| S}”標(biāo)簽動(dòng)態(tài)定義要表達(dá)的巖性花紋符號(hào),在系統(tǒng)渲染后,進(jìn)行矢量?jī)?nèi)容輸出時(shí),會(huì)根據(jù)該標(biāo)簽,在填充圖案庫(kù)中查找對(duì)應(yīng)的填充圖案,對(duì)于符合地層,將識(shí)別該地層包含的所有巖性符號(hào)并疊加繪制。
當(dāng)鉆孔柱狀圖的某一個(gè)地層巖性描述文字較多,而地層劃分又比較薄,其所在巖性高度無(wú)法容納下全部的巖性文字時(shí),需要通過(guò)繪制緩沖線的方式,向上面的地層或下面的地層借出一定的空間,從而達(dá)到巖性描述文字能夠美觀地顯示出來(lái)的目的。在進(jìn)行繪制緩沖線時(shí),往往會(huì)遇到一些比較復(fù)雜的情況,需要設(shè)計(jì)合理的算法計(jì)算來(lái)繪制出比較合適的線。本文采用動(dòng)態(tài)修正技術(shù)實(shí)現(xiàn)緩沖線的繪制。在繪制巖性描述線時(shí),該矢量線由起點(diǎn)、緩沖點(diǎn)、終點(diǎn)組成,默認(rèn)情況下這幾個(gè)點(diǎn)是一條直線,即不向上層或下層借位。
當(dāng)文字占用高度高于巖層厚度時(shí),則需要最低限度原則,向上層和下層借出需要的最小繪制高度,具體過(guò)程如下。
1)當(dāng)繪制一個(gè)地層時(shí),如果該層的巖性描述文字所占總高度大于該層厚度,首先修改上一層的巖性描述線,提高上一層緩沖點(diǎn)和終點(diǎn)的位置,根據(jù)上一層的巖性描述文字高度和剩余空間的計(jì)算,向上一層借出所需的最大高度。
2)如果該層的巖性描述文字所占總高度不大于該層厚度(包括向上層借出的高度),則以巖層底部繪制巖性描述線。
3)如果向上一層借出高度仍然不夠,則繪制該巖層緩沖線時(shí),將緩沖點(diǎn)和終點(diǎn)的位置下調(diào),向下層預(yù)借出所需的高度。
經(jīng)過(guò)上面的步驟,即可完成巖性描述緩沖線的繪制,同時(shí)巖性描述文字關(guān)聯(lián)到線的屬性中,后續(xù)只需在ArcGIS配圖文件中,設(shè)置文字標(biāo)注顯示在線上即可實(shí)現(xiàn)巖性描述的貼線顯示。
在模板定義時(shí),使用“{| Svm| S}{| SELR=line-width| S}”定義緩沖線區(qū)域,其中“{| Svm| S}”標(biāo)簽表示對(duì)于多條記錄,進(jìn)行單元格的合并。line-width定義巖性描述文字每行的字?jǐn)?shù),在實(shí)現(xiàn)時(shí),會(huì)識(shí)別中文和英文的寬度,使得每行內(nèi)容長(zhǎng)度保持一致。
首先,根據(jù)Excel形式的模板定義要生成面狀的表格框架及內(nèi)容,每個(gè)單元格對(duì)應(yīng)一個(gè)面狀要素。針對(duì)單元格內(nèi)容填充動(dòng)態(tài)的矢量?jī)?nèi)容。
針對(duì)數(shù)據(jù)屬性,進(jìn)行動(dòng)態(tài)矢量?jī)?nèi)容的生成。動(dòng)態(tài)矢量?jī)?nèi)容包括文字標(biāo)注、點(diǎn)符號(hào)、線符號(hào)3種類型。
文字標(biāo)注:直接將面要素的文字內(nèi)容以點(diǎn)要素的形式生成到單元格框架內(nèi)的合適位置。
點(diǎn)符號(hào):包括巖性填充花紋中標(biāo)記取樣類型、穩(wěn)定水位、標(biāo)貫點(diǎn)等位置的符號(hào)。
線符號(hào):包括巖性填充花紋、緩沖線、穩(wěn)定水位、標(biāo)貫點(diǎn)位置、數(shù)據(jù)曲線及標(biāo)頭等內(nèi)容。
在模板定義時(shí),使用以下特殊的符號(hào)定義矢量?jī)?nèi)容:
{| Svm| S}:垂直合并單元格,將多個(gè)地層的單元格合并作為整體進(jìn)行渲染。
{| Srh={{layer.thickness}}| S}:定義地層單元格的高度,在渲染時(shí),會(huì)根據(jù)比例尺及實(shí)際地層厚度,計(jì)算每個(gè)單元格的高度。
{| SHTC={{layer.name}}| S}:定義巖性花紋的填充,如果渲染內(nèi)容有取樣數(shù)據(jù)、標(biāo)貫數(shù)據(jù)和水位數(shù)據(jù),會(huì)在巖性花紋對(duì)應(yīng)深度標(biāo)注這些數(shù)據(jù)的位置和符號(hào)。
{| SELR=line-width | S}:定義巖性描述的緩沖線及每行文字的寬度。
{| SSLT| S}:定義取樣數(shù)據(jù)的位置,并標(biāo)注取樣編號(hào)和深度。
{| SSPT| S}:定義標(biāo)貫數(shù)據(jù)的位置,并標(biāo)注標(biāo)貫擊數(shù)和深度。
{| SDW| S}:定義水位數(shù)據(jù)的位置,并標(biāo)注深度和測(cè)量日期。
{| SCPT.head.res| S}:定義靜探數(shù)據(jù)錐尖阻力和側(cè)壁摩阻力的表頭內(nèi)容,包括比例尺、圖例。
{| SCPT.res| S}:定義靜探數(shù)據(jù)錐尖阻力和側(cè)壁摩阻力的數(shù)據(jù)曲線。
{| SCPT.head.frr| S}:定義靜探數(shù)據(jù)摩阻比的表頭內(nèi)容,包括比例尺及標(biāo)題。
{| SCPT.frr| S}:定義靜探數(shù)據(jù)摩阻比的數(shù)據(jù)曲線。
通過(guò)數(shù)據(jù)驅(qū)動(dòng)制圖,可基于單個(gè)地圖文檔創(chuàng)建統(tǒng)一的幅面與排版布局,將同一個(gè)工程下的多個(gè)鉆孔的內(nèi)容輸出到一個(gè)PDF文件中,從而形成圖冊(cè)資料進(jìn)行歸檔,實(shí)現(xiàn)鉆孔柱狀圖的批量生產(chǎn)。
要使用數(shù)據(jù)驅(qū)動(dòng)制圖,通過(guò)設(shè)定的幅面大小,預(yù)先生成鉆孔柱狀圖的索引要素,系統(tǒng)根據(jù)索引要素的大小,按比例根據(jù)模板布局自動(dòng)渲染繪制鉆孔柱狀圖。在輸出時(shí),基于索引要素將數(shù)據(jù)分割為多個(gè)部分,并為每個(gè)索引要素生成一個(gè)相應(yīng)的頁(yè)面。每一個(gè)頁(yè)面對(duì)應(yīng)著一個(gè)鉆孔柱狀圖數(shù)據(jù),同時(shí)可關(guān)聯(lián)顯示頁(yè)面名稱和頁(yè)碼等動(dòng)態(tài)文本內(nèi)容。從而實(shí)現(xiàn)圖庫(kù)一體的自動(dòng)化制圖技術(shù)。
具體實(shí)現(xiàn)為,系統(tǒng)首先根據(jù)要輸出的鉆孔編號(hào),輸出頁(yè)面范圍,然后利用模板引擎技術(shù),為每個(gè)頁(yè)面生成矢量?jī)?nèi)容,最后,利用數(shù)據(jù)驅(qū)動(dòng)制度,將每一頁(yè)的數(shù)據(jù)內(nèi)容,按照預(yù)定義的模板標(biāo)注格式,渲染成一本pdf形式的圖冊(cè)產(chǎn)出。
由于每個(gè)單位都有自己的柱狀圖格式,而且各個(gè)格式也不盡相同,為了很好地解決這個(gè)問(wèn)題,采用模板引擎技術(shù),實(shí)現(xiàn)利用Excel表格直觀的設(shè)計(jì)模板的格式。
可按照期望的格式和內(nèi)容,在Excel中填充各類信息。其中“{{…}}”定義了動(dòng)態(tài)變量信息,“{%...%}”定義了條件語(yǔ)句和循環(huán)語(yǔ)句,可用來(lái)循環(huán)輸出地層信息,“{| S...| S}”定義了矢量?jī)?nèi)容信息,可在渲染時(shí),根據(jù)該內(nèi)容輸出相應(yīng)的矢量數(shù)據(jù)。
圖4 柱狀圖模板結(jié)構(gòu)定義
利用ArcGIS將最終的成果渲染呈現(xiàn),可在軟件中定義各標(biāo)注位置與符號(hào)、顏色等表達(dá)方式,以及圖名、圖簽等內(nèi)容,其中圖簽包括編錄、制圖、審核、制圖日期、圖號(hào)、順序號(hào)等內(nèi)容。
利用文中的動(dòng)態(tài)渲染技術(shù),可將輸出的點(diǎn)、線、面等數(shù)據(jù)根據(jù)內(nèi)容和格式進(jìn)行靈活地定義,使用符號(hào)和標(biāo)注將內(nèi)容進(jìn)行合理展示,并添加標(biāo)題、頁(yè)碼、頁(yè)簽等動(dòng)態(tài)內(nèi)容和頁(yè)面整飾內(nèi)容,從而使得輸出的圖件符合實(shí)際工程需求。
圖5 版面內(nèi)容定義
圖6 柱狀圖的圖冊(cè)批量輸出
利用ArcGIS的數(shù)據(jù)驅(qū)動(dòng)制圖頁(yè)面將整個(gè)工程的所有圖件導(dǎo)出為多頁(yè)面的PDF文檔。PDF格式的特點(diǎn)為兼容性很好,并且轉(zhuǎn)碼后排版不變,可以在不同的平臺(tái)查看和打印,并保證格式始終如一。是分發(fā)文檔和建立檔案的理想格式。通過(guò)ArcMap產(chǎn)出的PDF文件是矢量格式輸出,可以在多種圖形應(yīng)用程序中編輯,同時(shí)會(huì)保留 ArcMap 內(nèi)容列表中的標(biāo)注、注記和屬性數(shù)據(jù)等內(nèi)容。由于PDF文件支持嵌入字體,因此即使文檔分發(fā)的對(duì)象未安裝 ArcGIS中使用的字體,也可以正確地打開(kāi)并顯示符號(hào)。
經(jīng)過(guò)系統(tǒng)化的分析,介紹了基于ArcGIS的通用鉆孔柱狀圖的自動(dòng)繪制方法,并在實(shí)際工作中發(fā)揮了重要作用,具有靈活的適應(yīng)性和廣闊的應(yīng)用前景。
通過(guò)使用模板引擎技術(shù)來(lái)擴(kuò)展定義柱狀圖布局模板,使得調(diào)整柱狀圖的表現(xiàn)方式變得非常簡(jiǎn)單,只需要簡(jiǎn)單地修改Excel模板中的表格布局和變量位置,即可靈活地定制鉆孔柱狀圖的結(jié)構(gòu)。通過(guò)修改ArcGIS模板的頁(yè)面布局,可以為數(shù)據(jù)輸出增加很多適合實(shí)際生產(chǎn)需求動(dòng)態(tài)內(nèi)容。對(duì)于不同專業(yè)的柱狀圖,除了鉆孔深度,采樣間隔等技術(shù)不同以外,對(duì)同種地層或巖性的表達(dá)方式也可能不同。對(duì)于本系統(tǒng)的設(shè)計(jì),只需要將其他專業(yè)的巖性符號(hào)文件進(jìn)行簡(jiǎn)單替換即可,從而真正實(shí)現(xiàn)多專業(yè)通用繪制,使得本系統(tǒng)有著良好的移植性和擴(kuò)展性。