原創(chuàng)|使用教程|編輯:郝浩|2013-04-09 14:20:09.000|閱讀 362 次
概述:在上一篇移動(dòng)GIS控件Map Suite MVC使用教程中我們介紹了《GIS示例"Hello World"之如何顯示地圖》,本文中慧都小編將為你介紹GIS示例"Hello World"中需要用到的數(shù)據(jù)和重要對(duì)象。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上一篇移動(dòng)GIS控件Map Suite MVC使用教程中我們介紹了《GIS示例"Hello World"之如何顯示地圖》,本文中慧都小編將為你介紹GIS示例"Hello World"中需要用到的數(shù)據(jù)和重要對(duì)象。
Map Suite MVC Edition支持多種數(shù)據(jù)源,比如Shapefiles、TAB files、SQL Server 2008、PostgreSQL、Oracle等。下面我們簡(jiǎn)單介紹一下Shapefiles,在接下來的示例中我們將用到Shapefiles。
簡(jiǎn)單來說,在Map Suite中Shapefiles將為繪制地圖提供數(shù)據(jù)。Shapefiles中存儲(chǔ)的二進(jìn)制矢量坐標(biāo)會(huì)被使用到控件中。他們的擴(kuò)展名為.shp。Shapefiles還配備了兩個(gè)補(bǔ)充文件,他們可以幫助Map Suite處理數(shù)據(jù)。
第一個(gè)補(bǔ)充文件名為.shx文件,它的作用是為主Shapefile提供示例索引。它將告訴Map Suite控件什么時(shí)候應(yīng)該讀取二進(jìn)制數(shù)據(jù),什么時(shí)候應(yīng)該結(jié)束。就好像讀取二進(jìn)制數(shù)據(jù)的目錄,或者一個(gè)查找機(jī)制的排序。
第二個(gè)補(bǔ)充文件名為.dbf文件,它的作用是為主Shapefile提供表格相關(guān)的數(shù)據(jù)。例如,Shapefile要繪制的一條線,表示道路的坐標(biāo),.dbf文件將告訴你這條道路的名稱或者類型(如鄉(xiāng)道、國(guó)道、縣道等)信息。
上面的三個(gè)文件必須放在同一個(gè)目錄中,作為主要的Shapefile (.shp),Map Suite控件需要指定主要Shapefile的名稱和文件路徑。接下來,將繼續(xù)討論層,你將進(jìn)一步了解在Map Suite中如何使用形狀數(shù)據(jù)構(gòu)建地圖。
在地圖中ShapeFileFeatureLayer用于關(guān)聯(lián)到一個(gè)單一的Shapefile文件,比如道路網(wǎng)絡(luò)。你可以把層想象為現(xiàn)實(shí)世界中的實(shí)際地形。裸體地球是一個(gè)層,無論是物理定義的邊界(如軍事設(shè)施),還是法律上的界限(如一個(gè)國(guó)家的邊界)。在裸體地球上面的另一個(gè)層,可能建立在光禿禿的大地之上的道路。重要的是要明白這一點(diǎn),當(dāng)使用圖層時(shí),需要為它們添加邏輯順序,以便它們可以從上到下正確地可視化。換句話說,你肯定不希望在道路上面再蓋上土,因?yàn)檫@樣道路就看不見了,也不能被車輛使用。
我們?cè)鯓觿?chuàng)建和添加層?首先,你需要了解表示層有三種類型的風(fēng)格。正如上面所提到的,圖層的創(chuàng)建和添加基于的他們顯示的上下順序,所以第一步你可能很自然地畫一些多邊形,如一個(gè)國(guó)家和所有區(qū)域內(nèi)的輪廓。然后,你可能會(huì)畫一些線條代表河流和道路,再畫一些點(diǎn)代表城市或其他你感興趣的地方。最后,請(qǐng)記住邏輯將決定什么效果最好。
Map對(duì)象是最高級(jí)別的對(duì)象,包括層和一些其他的對(duì)象。 現(xiàn)在,你可以把一張地圖想象成一組圖層,它可以為你呈現(xiàn)基于執(zhí)行操作的一張地圖,比如放大和縮小,或者在表面上平移查看地圖的另一部分。
Shapefile文件只提供數(shù)據(jù),但一些樣式比如顏色你需要自己添加。你可以指定國(guó)家的顏色,道路的寬度,點(diǎn)的形狀(三角形、圓形、交叉等),以此類推。
Map Suite有許多內(nèi)置的預(yù)設(shè)樣式,這些預(yù)設(shè)樣式包括道路、河流、城市、國(guó)家等。這使得它更容易創(chuàng)建非常好看的地圖。
樣式定義了我們直觀地表示數(shù)據(jù)的方式,而ZoomLevels則定義了我們用什么形式顯示他們。為什么我們需要ZoomLevels?因?yàn)槲覀儺?dāng)我們放大一個(gè)國(guó)家時(shí)可能要顯示一個(gè)小鎮(zhèn),但當(dāng)我們縮小地圖瀏覽整個(gè)國(guó)家時(shí)我們又不希望顯示那個(gè)小鎮(zhèn),這些都需要通過ZoomLevels來實(shí)現(xiàn)。
我們提供了20個(gè)最常見的比例尺,從ZoomLevel01到ZoomLevel20,你可以根據(jù)需要改變你的數(shù)據(jù)顯示方式。比例尺是什么?比例尺表示給定區(qū)域的面積減少了多少。如果一條道路在現(xiàn)實(shí)世界中有10000英寸長(zhǎng),在地圖中將它描繪為1英寸長(zhǎng),那么我們說這個(gè)地圖的比例尺是1:10000。比如ZoomLevel02使用的比例尺為1:500和ZoomLevel03使用的比例尺為1:1200,這意味著地圖的當(dāng)前比例尺為1:1000,與ZoomLevel的ZoomLevel03比例尺比較接近。
PresetZoomLevels有一個(gè)非常有用的屬性名為ZoomLevel.ApplyUntilZoomLevel,它使你可以非常簡(jiǎn)單地?cái)U(kuò)展你的ZoomLevels。比方說你想一個(gè)特定的風(fēng)格,該風(fēng)格在ZoomLevel03到ZoomLevel10可見,實(shí)現(xiàn)的示例代碼如下:
worldLayer.ZoomLevelSet.ZoomLevel03.DefaultAreaStyle = AreaStyles.Country1; worldLayer.ZoomLevelSet.ZoomLevel03.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level10;
MVC GIS控件Map Suite MVC Edition v6.0 下載
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)