?? mapx中文培訓教材 在線看 ← mapinfo ← 地理信息系統論壇社區.htm
字號:
開始復制文件屏出現。檢查現在設置的信息。如果正確無誤,選擇下一步安裝MapX。進度條會顯示安裝的狀態。如果要更改信息,選擇返回回到上一屏幕。 第四節
添加Map控件 安裝MapX之后,就可以按需要添加Map控件了。 Visual Basic用戶在Visual Basic工具箱上放置Map控件
。在一個打開的Visual Basic工程中執行如下操作:如果使用的是Visual Basic 5或更新的版本: 1. 右鍵單擊Visual
Basic工具箱,從快捷方式菜單中選擇部件。 2. 在部件對話框中,單擊控件選項卡,尋找列表中的“MapInfo MapX
V4”。如果該項未選中,請選中它。單擊確定。 Map控件出現在工具箱上。要在Visual
Basic窗體上放置地圖,請選擇Map控件并在窗體上繪制一個方框。如果保存工程,在下一次重新加載工程時,Map圖標將自動出現在工具箱中。第五節 Visual
Basic 入門 創建一個簡單的地圖 使用MapX,可以很容易把地圖添加到應用程序。事實上,不必寫一行代碼就可以向Visual Basic窗體添加工作地圖。
1. 從Visual Basic工具箱選擇Map控件 。 2. 在窗體中繪制一個方框,這表示將顯示地圖的區域。MapX顯示地圖的預覽。 3.
右鍵單擊Map控件,從快捷方式菜單中選擇屬性。MapInfo MapX屬性對話框出現。 1.
找到常規選項卡底部的當前工具選項。將當前工具設置為“1003-Zoom In”并單擊確定。 2.
運行程序以查看地圖。請注意只要指針位于地圖上,將變為帶加號的放大鏡 4.
單擊地圖。MapX在單擊的位置放大地圖。可以反復單擊,使得它放得越來越大。也可以繪制一個選取框以指定要放大的準確區域。當地圖放大到越來越近,將發現更多的地圖元素變為可見的。這是因為單獨的地圖圖層已經設置了縮放圖層(在預先縮放范圍內自動顯示地圖圖層的功能)。學習MapX的一個方法是研究示例應用程序。在下列文件夾中尋找示例應用程序:
\<PATH MapX to>\MapInfo MapX 4.0\Samples40 第六節 地圖化概念 組織數據和地圖:表概述 要使用
MapX,需要有您的記錄和MapInfo地圖文件。MapX 以 MapInfo 表的形式組織所有潛在信息。每個表都是一組用來在地圖中創建圖層的 MapInfo
文件。文件如何組成表 所有的 MapInfo 表都會擁有下列文件: Ÿ <文件名>.tab:描述 MapInfo
表的結構。它是描述包含數據的文件的格式的小文本文件。 Ÿ <文件名>.dat:(.mdb、.aid 或 .dbf):這些文件含有表格格式數據。 Ÿ
<文件名>.map:描述圖形對象(如果表沒有地圖對象則不存在該文件)。 Ÿ
<文件名>.id:是鏈接對象和數據的交叉引用文件(如果表沒有地圖對象則不存在該文件)。 Ÿ
<文件名>.ind:索引文件。索引文件允許使用 Find 對象來查找地圖對象。 MapInfo 表和 MapX 圖層 每個可用地圖表示的
MapInfo
表都能在地圖上作為圖層顯示。例如,您可以顯示客戶表、街道表以及縣邊界表。想象圖層是透明的,而每一層都包含了地圖的不同部分。這些圖層是一層層疊加,這樣您就可以看到整個地圖信息。
什么是 GeoSets? Geoset 保存了地圖圖層的集合以及一些對您來說簡單易用的設置。其名稱的由來是因為 Geosets 是由一些表示同一地理區域的以標準
MapInfo 格式出現的地圖文件(.tab)組成的數據集。當您希望將多個圖層作為示例地圖使用時,會發現單獨打開和顯示多個圖層是件多么費時的工作,Geoset
使您避免這樣的情況。Geoset 的擴展名是 .gst。.gst 文件是文本文件,它包含若干用來告訴 MapX 顯示什么表以及如何顯示的元數據鍵值。當打開
Geoset 時,它自動打開所有包括在 Geoset 中的文件并默認顯示。開發者可以更改“默認顯示”來迎合自己的需要。Geoset
設置包括投影、默認縮放值,對象的自動標注,縮放范圍以及打開的表是否可見。MapX 也可以打開開發者指定的任意單個(.tab)地圖文件。使用 Geoset
非常方便,無需 MapX 就能運行。MapX 將不會打開 MapInfo 工作空間(.wor 文件類型)。 地圖圖元 在 MapX 中通過 Feature
對象來訪問這些地圖對象。有四個基本的圖元樣式: Ÿ
區域對象:覆蓋給出地區的封閉對象。包括多邊形、橢圓形以及矩形。例如,國家的邊界、郵政編碼劃分區的邊界、銷售區域等等。 Ÿ
點對象:表示單個數據位置。例如,客戶位置、餐館、停車計價器等等。 Ÿ 線對象:覆蓋給定距離的開放對象。包括線、折線和弧線。示例是街道,河流,能源線路。 Ÿ
文本對象:描述地圖或其他對象的文本,例如標注和標題。在單獨圖層里使用同一類的對象(最普遍),也可以在同一圖層里把多個對象聯合起來。MapX
使您得以創建、編輯、自定義和顯示這些對象,從而使地圖符合您的需要。
<DIV style="CLEAR: both"></DIV></DIV>
<DIV class=postname>
<DIV class=pf>3樓 </DIV><B>tracking</B> 發表于:2004-11-22 9:56:00</DIV>
<DIV class=postbody>第二章 MapX 基礎<BR>概述<BR>本章是對應用程序中用來創建和操作MapX
地圖的主要組件的概述。在后面的各章中將對這些選出的主題做詳細討論。<BR>第一節 Map 對象<BR><BR>下列圖表是 MapX 對象體系的局部,您可以看到
Map 對象存在于最頂端。每個 MapX 的對象、屬性和方法都衍生于 Map 對象。每個在 Map 對象之下的屬性和方法都會對生成整個 Map
對象有所影響。主要是由 DataSets、Layers 和 Annotations 對象定義每一個 Map 對象。<BR>MapX
對象模型局部<BR>說明:這不是一個完整的 MapX 對象模型。<BR><BR>下表顯示了一些由數值表示的 Map
對象屬性。可以在“設計時”改變這些屬性,也可以在“運行時”使用以下代碼示例來更改。<BR><BR>屬性 描述 代碼示例<BR>Zoom
設置在地圖中顯示的英里(默認的距離單位)數。 Map1.Zoom = 500<BR>Rotation 對地圖旋轉指定的度數 Map1.Rotation =
179<BR>CenterX 設置 x 和 y 坐標,它們可能代表經緯度。這是由地圖的投影來決定的。 Map1.CenterX =
-79.4458<BR>CenterY 設置 x 和 y 坐標,它們可能代表經緯度。這是由地圖的投影來決定的。 Map1.CenterY =
44.9932<BR>用 Map 對象,可以通過操縱地圖的幾個方法和屬性來控制地圖如何來顯示。有一些屬性是由其他對象來表示的。例如,當您看到 MapX
地圖時,也就是看到單獨圖層的集合,它是由 Layers 集合來表示的。Layers 集合是 Map
對象的屬性。<BR>現在讓我們來看一看如何改變地圖的屬性。屬性頁允許我們操作 Map 對象的多個屬性。<BR><BR>第二節
屬性頁<BR><BR>當設計和測試應用程序時屬性頁對于修改地圖屬性非常有用。我們以Visual Basic
工程中訪問屬性頁為例,相應的步驟如下:<BR>方法一:如右圖<BR>1. 從屬性窗口中單擊自定義。<BR>2. 單擊
自定義行上的按鈕。<BR><BR><BR>方法二:在設計時可以通過右鍵單擊窗體內的 Map
對象并選擇屬性來訪問屬性頁,見下圖<BR><BR><BR>方法三:運行時查看屬性頁<BR>也可以在運行時查看屬性頁。為此,請把下列代碼添加到
Map.Mouse_Up 事件中去。<BR>If Button = 2 Then
Map1.PropertyPage<BR>這段代碼將檢測用戶是否在運行時單擊鼠標右鍵,然后顯示屬性頁。使用鼠標右鍵,是因為不會影響工具(左鍵)的正常使用。<BR>說明:您應該僅在設計和測試時使用這段代碼,因為它給用戶太多權限來控制整個地圖。然而,如果希望完成的產品要為最終用戶顯示對話框的話,可能就需要使用
Layers.LayersDlg 方法來代替 PropertyPage 方法,因為 LayersDlg
對話框對用戶更友好一些。此方法將在下一章中討論。<BR>第三節
圖層<BR><BR>如下圖所示,點圖層本身并不是非常有用,但當把這樣的由點類型構成的地圖覆蓋在線狀地圖和區域地圖上時,就得到了一幅非常有用的地圖。每一幅單獨的地圖是一個圖層,MapX
把地圖存儲為圖層的集合。<BR><BR><BR><BR><BR>在“設計時”通過
MapX屬性對話框或是在“運行時”通過編程可以對圖層進行改變。在上述部分,屬性對話框允許設計者通過簡單地更改設置來操作圖層。我們也可以在程序中隨時更改圖層屬性和方法的代碼。新建圖層,刪除圖層以及更改圖層的可見性和樣式都是一些能在圖層上完成的操作。<BR>圖層集合對象(Layers
Object)<BR>圖層集合(Layers)是由 0 到 n 個 Layer
對象組成的。圖層對象(Layer)是由特性集合(Features)組成的,且每一個特性(Feature)都有其自己的屬性和樣式。特性集合(Features)由
Feature 對象組成,它對應地圖中的圖元,例如點、線或區域。可以創建獨立的 Feature 對象,也可以取得 Feature 對象的集合。<BR>第四節
GeoSets<BR><BR>GeoSet 是地圖圖層及其設置的集合。可以在“設計時”指定GeoSet
。如果在“運行時”設置,則先要刪除所有已加載的圖層和數據集,然后加載新的 GeoSet。<BR>如前所述,在運行時指定要加載的其他
GeoSet、給地圖對象添加圖層,或是操作圖層的外觀等操作都可以通過屬性頁來實現,或者可以通過與 MapX 一起裝載的 MapX Geoset Manager
程序 來實現(此程序可以在 MapX
程序組中找到)。<BR><BR><BR>右圖為GeoSetManager的用戶界面,可以利用此管理工具更改圖層設置,當認為滿意時,就可以保存地圖。這將把
GeoSet 文件(*.GST)寫到驅動器中。當打開該 GeoSet 文件時,將返回所有的地圖圖層和設置。Geoset Manager
使您可以修改圖層、管理縮放等級、標注,以及其他屬性。<BR><BR><BR><BR><BR><BR>GeoDictionary<BR>利用MapXz作數據綁定或創建專題地圖時,可以用
GeoDictionary來匹配數據源與地圖圖層。GeoDictionary
是一個保存了關于哪個地圖圖層可以匹配、哪個字段可以用作匹配字段的信息文件(一般命名為 geodict.dct)。如果想運用自動匹配/自動綁定,則必須在
GeoDictionary 中注冊文件。例如,如果擁有按州劃分的銷售額的數據,那么 GeoDictionary
就可以確定此數據和“USA”地圖圖層相匹配。<BR>可以編程或者明確指定圖層中要匹配的列與數據文件/表中的哪些列匹配,也可以讓 MapX 參考
GeoDictionary 嘗試找到匹配。<BR>修改 GeoDictionary<BR><BR>如果在做數據綁定時要利用自動匹配,則在
GeoDictionary 里注冊 MapInfo表是必要的。在 MapX GeoSet Manager 的工具菜單下有執行GeoDictionary
程序的選項。MapX GeoDictionary 程序允許把新的MapInfo 表注冊到 GeoDictionary 中。同時,在 MapX
GeoDictionary 中,單擊注冊表……按鈕,然后選擇要注冊的表,設置表屬性并為其輸入描述。如果要想自動地把這張表加載到 GeoSet
中,請單擊添加按鈕然后選擇要把表添加進的 GeoSet 。<BR>GeoDictionary管理器的用戶界面如下圖所示:<BR><BR>第五節
DataSets<BR>DataSets使您可以將數據綁定到地圖。例如,如果您有一個按縣劃分的關于銷售額的 MS Access
數據庫和一幅縣地圖,您就可以把數據綁定在這幅縣地圖上,并可以發現這個按縣劃分的銷售額趨勢圖,而以表格數據的形式則不容易突出顯示該趨勢。如上所示,當 MapX
需要在數據和地圖之間指定某個匹配時,該匹配是通過稱為自動匹配/自動綁定的處理過程來確定的。如要利用自動匹配/自動綁定,首先必須在 GeoDictionary
中注冊地圖。一旦將數據和地圖綁定,就可以看到相關的地理化信息。數據的直觀表示使得專題地圖的創建變得可行。專題就是以顏色劃分的地圖,以該方式來表現數據的變化趨勢。我們將在以后章節中詳細的講解專題圖的制作。<BR>第六節
Annotations<BR>Annotations 集合是把文本和符號放在地圖上的簡單方法。注釋放在所有其他圖層的最頂端,并且不和任何數據鏈接。如果您熟悉
MapInfo,Annotations的概念在目的上與地圖的裝飾圖層比較相似。<BR>下表列出了 Annotations
集合對象的方法和屬性:<BR><BR>Annotations 集合方法 <BR><BR>方法 描述 代碼示例<BR>AddSymbol 向 Annotation
集合添加符號。使用默認樣式(由 Map.DefaultStyle 指定)。 Map1.Annotations.AddSymbol X, Y<BR>AddText
向 Annotation 集合添加文本。第四個參數表示文本在指定坐標系中的初始位置。 Map1.Annotations.AddText _“Developer
Services”, _79.44, 46.8889, _miPositionTL<BR>Remove 從集合中刪除指定的 Annotation。
Map1.Annotations.Remove 1<BR>RemoveAll 從集合中刪除所有的 Annotation。 Map1.
Annotations.RemoveAll<BR><BR>Annotation 集合屬性<BR><BR>屬性 描述 代碼示例<BR>Editable
指定注釋是否能夠編輯。 Map1.Annotations.Editable _= True<BR>Type 指定 Annotation 對象類型。 If
Map1.Annotations(2).Type_<BR>Graphic 包含了擁有 Annotation 屬性的 Graphic 對象。請參閱聯機幫助中的
Graphic 對象描述。
<BR>請注意在注釋對象中沒有關于位置、符號樣式或是注釋的屬性。注釋的圖形屬性包含了該信息的圖形對象。要修改注釋,可修改注釋的圖形對象。<BR>下列代碼在指定位置添加符號:<BR>'Add
a symbol at location<BR>Map1.Annotations.AddSymbol X1, Y1 <BR>第七節 創建對象<BR>在 MapX
對象模型中,可以使用下列對象類來創建獨立對象。<BR><BR>BindLayer ODBCQueryInfo<BR>BitmapSymbols
點集的集合<BR>Feature Point<BR>Fields Points<BR>NotesQueryInfo
Rectangle<BR>NotesViewInfo
Style<BR><BR>下列代碼顯示了如何創建獨立樣式對象,顯示樣式選擇對話框并使用新樣式設置圖層的替代樣式。請注意在 Delphi 和
PowerBuilder 中需要在對象名后指定 MapX 版本號(如“MapX.Style.4”)。這樣的安排使您在計算機中可同時安裝多個版本的
MapX。如果已開發了 MapX 版本 4 的應用程序,而后又在同一臺計算機上安裝了更新的版本,那么新版本的 MapX 將不會影響版本 4
的應用程序。<BR>Visual Basic 示例<BR>Dim s as new MapXLib.Style<BR>s.PickRegion<BR>set
Map1.Layers(1).Style = s<BR>C++ 示例<BR>CMapXStyle
style;<BR>style.CreateDispatch(style.GetClsid());<BR>// can also use
style.CreateDispatch("MapX.Style.4"), <BR>// but above is more portable between
versions of
MapX<BR>style.PickRegion();<BR>m_ctrlMapX.GetLayers().Item(1).SetStyle(style);<BR>Delphi
示例<BR>Var<BR>s : variant;<BR>begin<BR>s :=
CreateOleObject('MapX.Style.4');<BR>s.PickRegion;<BR>MapObject.Layers.Item(1).Style
:= s;<BR>End<BR><BR>PowerBuilder 示例<BR>OLEObject s<BR>long oleStatus<BR><BR>s =
CREATE OLEObject<BR><BR>oleStatus =
s.ConnectToNewObject("MapX.Style.4")<BR>ole_1.Object.Layers.Item(1).Style = s
<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>
<DIV style="CLEAR: both"></DIV></DIV>
<DIV class=postname>
<DIV class=pf>4樓 </DIV><B>tracking</B> 發表于:2004-11-22 9:58:00</DIV>
<DIV class=postbody>第三章
按圖層地圖化<BR>概述<BR>本章討論了表和地圖之間的關系,以及如何分層以創建所需的詳細程度的圖層。<BR>第一節
用圖層來組織地圖<BR><BR>經過前幾個章節的學習,我們已經明白作為多個圖層集合的計算機地圖的概念。在地圖窗口中,每個含有圖形對象的數據表都可以顯示為一個圖層。例如,您可以在顯示一個客戶表、街道表以及縣界表。<BR><BR><BR>設想這些圖層是透明的,每一圖層包含地圖的一個不同的部分。這些圖層疊加在一起,使您同時可以看到地圖的所有方面。例如,第一個圖層包含國家邊界,第二個圖層有代表首都的符號,第三個圖層包含高速公路。將這些透明的圖層疊加在一起就組織起一個完整的地圖。<BR><BR>第二節
Layers 集合的屬性<BR><BR>每個 Map 都有圖層的集合。Layers 集合由 Layer 對象組成。Layers 集合具有用來從集合添加和刪除
Layer 對象的方法和屬性。Layers 集合方法和屬性的完整列表請參見《 MapX
參考指南》和聯機幫助。<BR><BR>Count——獲得集合中的圖層數量<BR>所有集合都有Count
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -