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