基於ArcEngine+C#實現的模板化地圖文檔設計管理及製圖輸出系統

1.   概述

製圖模板管理系統用於對用戶利用本系統所建立的製圖模板的管理和維護。地圖製圖輸出是GIS中的一個常見的任務,如整體規劃圖等等。地圖製圖輸出除圖形數據的輸出外,還有大量的製圖元素,如圖廓、比例尺、指北針、比例尺文本、圖名、圖號、測繪機構、座標系統等,這些工做都須要把要輸出數據整理好後,按製圖要求進行圖廓整飾,按標準要求在頁面視圖中添加以上內容,而後打印輸出最終成果圖件。數據庫

    圖廓整飾對同一種類型圖件的輸出顯然都是基本相同的,顯然能夠按照不一樣的標準制做不一樣的地圖模板,而後在製圖輸出是按照具體圖件的要求套疊相應的製圖模板完成地圖製圖輸出的須要,這樣能夠大幅度提升地圖製圖輸出的速度。框架

    本圖件模板管理系統提供了按參數配置方式進行製圖模板的定製,定製好的模板能夠在具體應用到數據上後,按數據狀況調整相應信息。函數

 

1.1.  模板類型

系統模板分爲2種類型:工具

l         矩形模板:用於比例尺大於1:10000的地圖製圖輸出,它經過輸入圖幅範圍內任一點生成圖框。spa

l         梯形模板:用於1:10000及其如下比例尺的地圖製圖輸出。梯形模板輸出經過輸入圖幅號生成圖框。.net

 

1.2.  模板中元素類型

本系統支持以下10中模板元素類型設計

l         文本元素:用於設置地圖模板中文本元素類型。文本值能夠是固定文本(如測繪機關名稱),也能夠經過表達式計算出來的文本。在本系統中規定定義文本元素,設置其內容時帶有「=」的,在添加該元素時,將經過表達式計算工具計算其實際值。xml

   文本元素主要在頁面中顯示文字信息,結合製圖的具體需求,在本系統中定義了以下3類文本元素:中間件

固定文本元素:其模板中定義好的文本元素值是固定的,不會隨着地圖數據的變化而變化。對象

單行文本元素:其模板中定義的文本元素值是須要在使用該模板時須要讓用戶輸入或從其餘途徑獲取的數據,其值不是固定的,是一個單行文本。如圖名、圖號等,不一樣數據其名稱不一樣。

多行文本元素:其模板中定義的文本元素值是須要在使用該模板時須要讓用戶輸入或從其餘途徑獲取的數據,其值不是固定的,是一個多行文本,不一樣數據其名稱不一樣。

l         比例尺文本元素。

顯示當前輸出地圖的比例尺信息,採用的是AE中的ScaleText對象。

l         比例尺欄元素。

l         圖例元素:利用Legend對象提供的一中圖例元素

l         圖片元素:支持在地圖模板中插入圖片

l         OLE對象:支持地圖模板中添加OLE文檔,如word文檔等。

能夠在模板中添加OLE對象,如WordExcelPDF等各類類型的文檔,同時對wordExcel文檔能夠經過雙擊該OLE對象對其內容進行編輯操做。

l         指北針元素

l         接圖表元素。

    接圖表在地圖中主要用於顯示其四周的圖名信息,以便於查找其四周相鄰的地圖。在系統中接圖表元素按組合元素方式建立生成,並自動定義其四周8個單變量文本元素,以便在套疊模板時讓用戶輸入相應的內容。

l         自定義圖例元素:用戶經過自定義方式建立的一種圖例元素。

顯示地圖圖例信息,該種圖例是按xml文件定義好的符號及其說明信息的描述動態建立的一種圖例。該自定義圖例主要用於顯示地圖中須要有一個固定的顯示全部符號的基本信息,它不隨圖層的加載而變化,不隨圖層符號化的變化而變化,是一組固定的表現方式。

l         表格元素:系統支持在模板中插入表格元素。表格原始按指定的行列、表格高寬生成。

另外,對於圖廓:包括內外圖框,圖框中座標註記、圖框中格網線等。這些信息經過圖廓模板參數設定,當加載模板後將自動生成圖廓。當若是在圖廓設計時,使用了MapGrid,則改MapGirid是在模板設計好後建立出來並保存到模板中,加載具體數據時MapGrid的座標註記、格網線等會自動根據數據狀況動態調整。圖廓是其餘圖形元素定位的關鍵,本系統中其餘元素(除基本的圖形元素外)都是以圖廓進行位置肯定,其採用的是相對定位方式。以圖廓爲基準來動態計算其餘元素在頁面中的位置。

1.3.  地圖模板製做流程

1.3.1模板建立流程

1.3.2圖件元素添加流程

1.3.3地圖數據套疊圖件模板流程

 

2.   模板管理系統功能說明

2.1.  系統總體運行界面

窗體左邊是模板樹窗體,窗體中列出了數據庫中所定製好的各類模板。在本系統中,地圖模板按不一樣應用類別進行分組管理。全部對模板的管理維護操做均是經過在模板樹中的右鍵菜單進行的。

2.2.  功能操做說明

2.2.1.   新建模板類別

在定製模板前,必需要在地圖模板節點下建立一個模板類別後,才能在指定的模板類別下面建立具體的模板。

操做流程以下:

1、在地圖模板節點上點擊右鍵,彈出以下菜單:

選擇新建後,在彈出窗體中輸入相關信息,肯定後建立一個模板類別

2.2.2.   模板管理

包括新建、屬性和刪除三個菜單項。屬性菜單項能夠查看和編輯該模板類的屬性,刪除菜單項則能夠刪除該模板類下面的全部模板,這2個菜單項功能比較簡單,在此不在贅述。

2.2.3.   新建地圖模板

在本系統中,地圖模板的建立採樣嚮導方式引導用戶完成模板的建立。在模板類別上點擊鼠標右鍵,點擊新建按鈕,能夠啓動地圖模板建立嚮導。

第一步,要求用戶選擇模板類型,模板採樣矩形分幅仍是梯形分幅。

第二步設置模板的基本屬性。下面分別對以上窗體中的內容進行說明。

l         名稱:輸入要建立模板的名稱,根據製做模板的用途肯定模板名稱。

l         頁面尺寸:定義了輸出數據所佔的頁面區域大小,以釐米爲單位。當出圖的數據範圍不是該尺寸時,系統將自動調整頁面視圖大小,使其符號設置要求。注意,對應梯形分幅生成的地圖,頁面尺寸對它沒有實際意義,它根據輸入圖幅號計算出所須要的頁面尺寸大小。

l         座標軸間隔:定義了模板中劃分的格網間距,該距離是以頁面爲參考輸入,而不是實際的地理中距離單位爲準。

l         外框設置:外框設置主要是設置圖廓外框參數,主要包括以下幾組參數:

n         內外框間距:定義內外框之間的間距,在本系統中四周內外框之間的間距能夠不相同。在對話框中根據模板具體要求進行合理設置。內外框間距以輸出頁面爲參考,單位爲釐米。

n         外框寬:定義外框寬度。

n         外框符號:定義外框繪製所用的符號,符號能夠是面符號或線符號。

l         比例尺:定義出圖的比例尺大小。注意,對應梯形分幅生成的地圖,比例尺來源於輸入的圖號,該值僅作參考。

l         出圖數據範圍固定:該選項明確出圖數據範圍就是當前頁面視圖中顯示範圍。當在一個地圖模板中選擇該項時,地圖模板輸出將頁面尺寸、比例尺等參數將從當前頁面中獲取。在特定應用中,存在先劃定一塊區域,須要將該區域數據直接製圖輸出,這時候能夠在頁面視圖中調整好頁面大小和出圖比例尺,選擇一個製圖模板後,直接將設置好的區域套合上地圖模板。

 

最後一個設置格網繪製符號、註記符號等參數。

肯定後生成一個地圖模板。

2.2.4.   建立模板元素

以上步驟建立的地圖模板僅定義了圖廓生成的基本參數。實際上一個完整的地圖模板除了圖廓外,其上面還包含了各類模板元素,它們和圖廓一塊兒構成了一個完整的地圖模板。

模板元素的建立採用嚮導方式進行建立,其基本步驟以下:

在地圖模板上點擊右鍵,彈出以下菜單:

 

選擇新建按鈕,進行模板元素建立嚮導窗體。

第一步選擇要建立的模板元素的類型,根據建立元素選擇其所對應類型後,

第二步定義模板位置。

本系統中模板元素採樣相對座標進行定位,系統之外圖框爲定位參考。在本系統定義瞭如上圖9個位置關係,並能夠設置水平偏移和豎直偏移。

模板元素建立嚮導的後續步驟根據不一樣模板元素類型各不相同,下面分別針對具體的模板元素類型來講明其操做過程。

 

 

2.2.5.   建立文本元素

第三步設置文本元素符號

第四步設置文本元素值

文本元素值能夠直接在上面文本框中輸入。對於表達式文本元素則須要在輸入文本前添加「=」,此外在表達式中的常量字符串須要添加單引號(如:=’圖號’+ mapnumber,其中mapnumber對應模板中的一個參數。)。此外經過點擊「表達式」按鈕能夠啓動表達式構造窗體,窗體以下:

說明:

1、構建表達式要注意的就是,表達式中的字符串常量須要添加單引號,不然系統將沒法肯定其是否爲字符串或是其餘變量類型。

2、若是構建表達式是字符串運算表達式,則只能其中的+運算符號可使用。對其餘字符運算符及其相關函數,在本系統中尚未提供支持。

2.2.6.   建立比例尺文本元素

第三步定義比例尺文本符號。

2.2.7.   建立比例尺元素

第三步定義比例尺符號

2.2.8.   建立圖例

第三步設置圖例標題

第四步設置圖例中圖例項的大小、間距等屬性

2.2.9.   建立圖片元素

第三步設置圖片信息窗體

2.2.10.           建立OLE元素

建立OLE元素在第二步設置好元素位置時,肯定後就直接彈出插入對象設置對話框:

選擇由文件建立,並設置好對應的OLE文檔對象後,就完成OLE元素類型建立。

2.2.11.           指標針元素

第三步設置指北針符號

2.2.12.           接圖表元素

接圖表元素在第二步設置好位置後,肯定後就在地圖上生成接圖表。

2.2.13.           自定義圖例

第三步設置自定義圖例的參數

主要包含以下內容:

l         圖例顯示標題

l         圖例的列數

l         圖例行間距和列間距

l         圖例中圖例的信息設置

2.2.14.           表格元素

第三部定義表格基本參數,如表格高寬、表格行列數。

第四步設置每一個單元格文本符號的內容。

2.2.15.           擴展組合元素

系統所提供的擴展組合元素類型,能夠知足複雜表格元素的製做應用,好比國土的土地利用規劃審查圖件、規劃調整圖件所須要的製圖模板。具體使用說明以下:模板管理系統增長擴展組合元素類型,用於實現將相關的文本線條等組合成到一塊兒,以便於造成複雜的表格結構模板,知足實際製圖應用的須要。如下說明如何製做規劃審查圖中下面所包含的表格結構的定義:模板屬性定義

按審查圖要求設置相關參數,如比例尺、內外框間距。

因爲有表格放置在底部內外框之間,爲了保證最終出圖效果,所以須要選中「底部間距和頁面寬度成比例」,主要在任意繪製矩形區域生成圖件時,模板的底部間距將根據內框的寬度進行自動調整,這樣才能確保輸出的表格有較好的顯示效果。

 

2、表格繪製:表格繪製可採樣繪製線條工具繪製表格線,在繪製線條是,按下shift鍵,繪製水平線,按下ctrl鍵繪製豎直線。繪製後的效果以下:

線條長可經過線條屬性窗體進行設置,如下分別爲水平線和豎直線的位置和長度設置的窗體,在這裏能夠設置較精確的數據。(對水平線和豎直線,因爲AE底層庫問題,自己無法提供鼠標調整其長度的支持,只能經過該屬性窗體調整)

  

 

對線條位置長度進行精確調整後,而後就分別定義每一個格里面的相關的文本項,設置後的效果以下:

而後選擇全部要造成表格的線條和文本元素,以下圖

而後點擊工具欄上的組合元素,將選中這部分元素生成組合元素項,最後效果以下:

而後調整該元素位置和大小使其放置在須要的位置,最後以下:

最終制做的審查圖以下:

說明對組合生成的元素可使用工具欄上的取消組合工具打散元素,而後從新對元素進行編輯修改後,在按上面的說明從新組合生成擴展組合元素。

 

疊加數據後的效果以下:

3.   模板製圖輸出工具說明

模板製圖輸出工具用於利用上面定義好的模板進行地圖數據的製圖輸出。總體運行界面以下:

在這裏簡單介紹一下鼠標點擊製圖的功能,其餘功能不在此進行說明。

3.1.  模板製做工具

3.1.1.   選擇工具

選擇工具用於選擇圖面的各類圖形元素,選擇工具除進行圖形選擇外,在選擇工具激活狀態下,還能夠進行以下一些操做:

⊃2;        點擊delete按鈕能夠刪除圖面上選中的圖形元素。

⊃2;        雙擊選中的圖形元素能夠啓動圖形元素屬性編輯功能。

⊃2;        進行圖形元素位置的調整和移動。

3.1.2.   對齊工具

包括左對齊、右對齊、頂部對齊、底部對齊等,它以第1個選中的元素爲基準,使其餘元素的左(或右或頂部或底部)與其對齊。

3.1.3.   頁面視圖控制工具欄

提供頁面視圖的縮放平移等操做

3.1.4.   圖形元素工具欄

包含元素選擇、對齊、各類圖形元素建立等操做。

3.1.5.   模板管理樹視圖

模板管理樹視圖採用樹進行製圖模板的管理和維護,在模板樹視圖上能夠進行模板的建立、模板元素的建立、模板刪除、模板屬性編輯、元素屬性編輯等操做。

3.1.6.   模板複製拷貝

模板複製拷貝工具能夠快速完成製圖模板的從新定義以及模板局部調整修改定義,經過該工具完成圖件模板元素信息的總體拷貝,這樣對於指定圖件模板進行局部修改調整後就能夠完成新的地圖圖件的製做工做。

3.2.  套疊製圖模板

在套疊製圖模板前,首先把數據添加到頁面視圖中,並按地圖輸出須要設置地圖符號化方案後在套疊製圖模板,完成製圖所須要的圖廓及其相關製圖元素的添加。套和了製圖模板後,能夠根據在對圖件進行最終完善後,可打印輸出或保存爲mxd文檔。

 

第一步選擇所用模板

第二步設置模板參數

選擇模板後,系統從地圖模板中讀取所須要的參數信息,並添加的列表框中,要輸入的參數有以下幾種:

⊃2;        接圖表:若是模板中包含接圖表元素,則圖中的接圖表文本框能夠輸入。

⊃2;        單行文本:在單行文本參數列表中列出全部模板中的單行文本參數名,用戶輸入具體值便可

⊃2;        多行文本:在多行文本參數列表中列出模板中全部的多行文本參數名,用戶選擇一個多行文本後點擊修改值便可輸入多行文本。

 

第三步設置圖幅內任一點座標[肯定輸出圖幅]

最後肯定輸出圖幅,這裏經過輸出圖幅內任意一點或圖幅左下角座標,系統根據模板的比例尺信息、頁面尺寸大小計算輸出圖幅範圍。

完成後即獲得對數據套用模板後的效果圖。

 

 

聯繫電話:13982071140,黃,http://www.linjon.cn,能夠在線下載試用
成都領君科技基於ArcEngine+C#實現的模板化地圖文檔設計管理及製圖輸出系統可帶框架源碼方式購買,可免費下載試用! 

在線聯繫  QQ:26326507 ,E-mail:hy2001al@163.com

http://www.ljlk.net/,成都領君科技有限公司,基於ASP.NET的superflow工做流平臺免費下載試用! 

http://www.ljjlk.com/,成都領君科技有限公司,基於ArcGIS的JLKEngine中間件平臺免費下載試用! 

相關文章
相關標籤/搜索