国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
MapX開發(fā)概述:MapX開發(fā)基礎(chǔ)教程(1)

MapX開發(fā)概述:MapX開發(fā)基礎(chǔ)教程(1)

時間:2010-08-30 23:58來源:未知 作者:格格 點擊:165次
MapX開發(fā)基礎(chǔ)教程(1): MapX開發(fā)概述。

MapX開發(fā)基礎(chǔ)教程(1): MapX開發(fā)概述

1、MapX簡介
MapX是MapInfo公司提供的GIS組件,通過對MapX的編程可以實現(xiàn)大多數(shù)MapInfo Professional的功能。
MapX為開發(fā)人員提供了一個快速、易用、功能強(qiáng)大的地圖化組件。在VC++、VB、Delphi等可視化開發(fā)環(huán)境中,只需將 MapX組件引入程序結(jié)合簡單的程序設(shè)計,對其進(jìn)行屬性、方法調(diào)用或相應(yīng)事件的設(shè)置,就能實現(xiàn)地圖數(shù)據(jù)顯示、地理查詢、地理空間分析、專題地圖制作與輸出等各種地理信息系統(tǒng)功能。
 

2、基于組件開發(fā)GIS應(yīng)用程序的體系結(jié)構(gòu)
客戶(用戶界面)---GIS組件---數(shù)據(jù)
第一層:提供應(yīng)用的界面,根據(jù)用戶的操作來調(diào)用相應(yīng)的應(yīng)用邏輯。在開發(fā)中,調(diào)用MapX的屬性和方法對數(shù)字地圖進(jìn)行管理,這一層也是開發(fā)的重點。
第二層:主要實現(xiàn)業(yè)務(wù)邏輯。這一層的主要功能都封裝在組件中。這些組件通過接口的形式把它所封裝的功能提供給開發(fā)者。
第三層:數(shù)據(jù)層,主要以文件或數(shù)據(jù)庫的形式為應(yīng)用程序提供數(shù)據(jù)支持。在GIS應(yīng)用的開發(fā)中,主要有兩類:一類是地圖數(shù)據(jù);另一類是專題數(shù)據(jù),這主要取決于GIS應(yīng)用。
三層軟件體系結(jié)構(gòu)是典型的客戶/服務(wù)器體系結(jié)構(gòu)的應(yīng)用程序。其優(yōu)點:應(yīng)用程序體積小、易于維護(hù)和安裝、開發(fā)周期短而且效率高。
 

3、數(shù)據(jù)準(zhǔn)備
在MapX組件中所管理的數(shù)據(jù)就是MapInfo的數(shù)據(jù)。
工作空間---圖層---圖元---點\線\面\文本
Geoset Manager
Geoset Manager是MapX一個重要的應(yīng)用程序,其功能在于為MapX提供數(shù)據(jù)來源。
通過該程序?qū)㈤_發(fā)中要使用的圖層路徑及相關(guān)的設(shè)置保存為一個文本格式的文件(*.gst)。
例子:西安市公交查詢系統(tǒng)gst文件的建立

4、MapX的內(nèi)部結(jié)構(gòu)

MapX封裝了對地圖數(shù)據(jù)的定義、組織、管理和操作,它的內(nèi)部有嚴(yán)格的層次結(jié)構(gòu)。
Map 屬性、方法
Layers 屬性、方法
Layer 屬性、方法
Features 屬性、方法
Feature 屬性、方法
(1)地圖對象
地圖對象代表一個完整的數(shù)字地圖,它的屬性就是整個地圖的屬性。
Geoset屬性:設(shè)置地圖對象所用的數(shù)據(jù)。
設(shè)置方式:
A 通過屬性頁或者屬性對話框
B 通過程序代碼進(jìn)行設(shè)置
Map1.Geoset = "d:\xa.gst"
(2)圖層集合
地圖實際上是由許多獨(dú)立的圖層組成的集合,這個集合在MapX中由Layers對象來管理。
?怎樣訪問圖層集合對象呢?
A 聲明一個Layers類的變量(指針)
B 給其賦值為地圖對象的圖層集合屬性。
例子:
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count
(3)圖層
具有相同主題內(nèi)容地理特征(或?qū)ο螅┐娣庞谝粋€圖層。在MapX中有Layer對象管理。
?怎樣訪問圖層對象呢?
A 聲明一個Layer類的變量(指針)
B 給其賦值為地圖對象的圖層集合對象的某一項。
Gets a specific Layer object from the collection. Item takes either an index (Integer value starting at 1), or a layer name, to specify which Layer object to get.
例子:
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name
(4)特征集合
圖層中的所有地理特征(或?qū)ο螅┑募稀T贛apX中有Features對象管理。
怎樣訪問特征集合對象呢?
A 聲明一個Features類的變量(指針)
B 給其賦值為某一圖層對象的AllFeatures屬性。
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name

Dim fss As Features
Set fss = lyr.AllFeatures
MsgBox fss.Count
(4)特征
圖層中的一個地理對象對應(yīng)于一個特征。在MapX中有Feature對象管理。
怎樣訪問特征對象呢?
A 聲明一個Feature類的變量(指針)
B 給其賦值為某一圖層的特征集合的某一項。
Dim lyrs As Layers
Set lyrs = Map1.Layers
MsgBox lyrs.Count

Dim lyr As Layer
Set lyr = lyrs.Item(1)
MsgBox lyr.Name

Dim fss As Features
Set fss = lyr.AllFeatures
MsgBox fss.Count

Dim fs As Feature
Set fs = fss.Item(1)
MsgBox fs.Name
 

思考題
1 怎樣通過一條語句得到地圖對象的某一圖層對象?
2 地圖對象的Geoset屬性最好設(shè)置為相對路徑,為什么?怎樣進(jìn)行設(shè)置?
 

 本文由GIS教程網(wǎng)參考科學(xué)出版社《GIS設(shè)計與開發(fā)》整理的讀書筆記,希望對學(xué)習(xí)用Mapinfo 的MapX做開發(fā)的朋友有用。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用MapX開發(fā)實現(xiàn)若干小功能
dim,msgbox
積木編程,事半功倍
基于MapX的GIS動態(tài)操作與實現(xiàn)
如何實現(xiàn)點擊MAPINFO地圖就打開與該地圖有關(guān)的數(shù)據(jù)表
編寫高效Excel VBA代碼的最佳實踐
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服