亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vb+mapgis.txt

?? 下面的例子演示了如何使用MAPGIS組件(控件)進行GIS應用軟件的開發
?? TXT
字號:
基于MAPGIS組件的二次開發

 

0、吹牛先

MAPGIS是武漢中地信息工程有限公司研制的具有自主版權的大型基礎地理信息系統平臺。它是一個集當代最先進的圖形、圖像、地質、地理、遙感、測繪、人工智能、計算機科學于一體的大型智能軟件系統,是集數字制圖、數據庫管理及空間分析為一體的空間信息系統,是進行現代化管理和決策的先進工具。

     這里簡短介紹一下MapGIS組件開發平臺的組成和功能劃分,和使用MapGIS組件進行GIS應用軟件二次開發的一般方法和步驟,以及在VB中使用MapGIS組件對象的基本步驟.并以VB為開發環境,結合MapGIS數據管理組件、圖形顯示組件、圖形編輯控件、屬性編輯控件等,給出了一個具有圖形顯示、地理屬性數據編輯等功能的實例程序,演示了如何使用MapGIS組件進行GIS應用軟件的二次開發.

 地理信息系統(Geographic Information System, 簡稱GIS)是在計算機軟硬件支持下,以采集、存儲、管理、檢索、分析和描述空間物體的地理分布數據及與之相關的屬性,并回答用戶問題等為主要任務的技術系統。組件式GIS(Component GIS)指基于組件對象平臺,以組件的形式提供基本功能的GIS,是GIS與組件技術相結合的新一代地理信息系統組件式GIS充分利用了組件的可重用特性,使用GIS組件可以很大程度地提高GIS應用軟件的開發效率和質量.MapGIS地理信息系統是國產的GIS基礎軟件平臺,它提供了豐富的二次開發手段,包括API函數庫、C++類和組件開發庫.

 

一、MapGIS組件開發平臺

MapGIS組件開發平臺以一系列COM組件和ActiveX控件的形式提供了GIS基本功能:包括數據管理組件、圖形顯示組件、圖層管理組件、地圖管理組件、圖例管理組件、圖像處理組件、圖庫管理組件、圖形編輯控件、工程管理控件、屬性編輯控件、屬性結構編輯控件等.這些組件(控件)對象關系如圖1所示.

 

 

 

圖形顯示組件
 
數據管理組件
 
圖層管理組件
 
地圖管理組件
 
=圖庫管理組件
 
圖像管理組件
 
屬性結構編輯控件
 
屬性編輯控件
 
工程管理控件
 
圖形編輯控件
 
圖例管理組件
 
 

 

 

 

 

 

 

 




                  MapGIS組件(控件)對象關系

 

數據管理組件是整個系統的基礎和核心,主要進行空間數據和屬性數據的存取和管理,并提供基本的數據交互功能.數據管理組件定義了MapGIS的基本數據類型和數據結構,封裝了對點、線、區、網、表格等工作區的基本操作.GIS通用功能組件(控件)集合提供了MapGIS平臺的通用處理功能.通用功能組件基于數據管理組件構造而成,它們具有面向通用GIS功能:

(1)圖形顯示對象MapGIS DC封裝了MapGIS的基本顯示操作;

(2)圖層對象Layer封裝了點、線、區、網文件的數據管理功能;

(3)地圖對象Map封裝了對MapGIS基本圖形的編輯/輸出操作和對多個圖層的管理功能;

(4)圖例對象Legend封裝了點、線、區圖例元素的管理和操作功能,并提供了管理圖例文件存儲和圖例元素的功能;

(5)MSI對象封裝了對圖像工作區的操作和顯示,并提供了矢量數據和柵格數據的相互轉換功能;

(6)DBS對象封裝了操作和顯示圖庫工作區的方法.

 

同時, MapGIS組件開發平臺還提供了幾個可視化控件:

(1)EditView控件對象包括點編輯、線編輯、區編輯、數字化、矢量化及其他操作功能;

(2)MapTreeCtrl控件對象封裝了與Map對象的交互操作功能;

(3)GISAtteditt控件對象主要用來瀏覽和編輯MapGIS屬性數據;

(4)AttStruEdit控件對象主要用來瀏覽和編輯MapGIS屬性結構.

 

MapGIS組件包含在一系列Windows動態連接庫文件里,Active控件則包含在一系列OCX文件中.表1是Windows文件與MapGIS組件的對應關系.

 

表1 Windows文件與MapGIS組件對應關系

Windows文件
 MapGIS組件(控件)
 
MapGISBasCom1.dll
 數據管理組件
 
MapGISDspCom.dll
 圖形顯示組件
 
MapGISLayerCom.dll
 圖層管理組件
 
MapGISMapCom.dll
 地圖管理組件、圖例管理組件
 
MapGISDbsCom.dll
 圖庫管理組件
 
MapGISRasterCom.dll
 圖像分析管理組件
 
EditView.ocx
 圖形編輯控件
 
MapTree.ocx
 工程管理控件
 
GisAttEdit.ocx
 屬性編輯控件
 
AttStruEdit.ocx
 屬性結構編輯控件
 


 

 

二、基于MapGIS組件的二次開發

MapGIS組件不依賴于某一種開發語言,它可以直接嵌入到通用的開發環境(如VB、VC或Delphi)中實現GIS功能.通過調用MapGIS組件的基本功能,并結合其他專業模型和專業模型分析控件,可以快速地開發GIS應用程序,這就大大降低了GIS應用系統的開發難度與開發成本.利用MapGIS組件開發平臺進行GIS應用程序的開發分以下幾個步驟進行:

(1)            選擇應用系統的開發工具,如VB;

(2)            將使用到的MapGIS組件引用到應用程序中;

(3)          調用MapGIS組件的屬性和方法完成GIS基本功能;

(4)          開發應用系統專用的功能.

基于MapGIS組件開發平臺的GIS應用程序結構如圖2所示.

MapGIS應用程序
 
MapGIS通用功能組件
 
MapGIS數據管理組件
 
MapGIS數據文件
 
 

 

 

 

 

 

 

 




             圖2 MapGIS應用程序層次結構

 

三、VB開發示例

MapGIS組件的使用方法與一般組件的使用方法完全相同,在使用MapGIS組件之前,必須先注冊.安裝完MapGIS的SDK開發包后,自動安裝并注冊了MapGIS組件.

在VB中使用MapGIS組件對象的步驟是:

(1)嵌入MapGIS對象類型庫;

(2)建立MapGIS對象;

(3)調用MapGIS對象和其他VB對象的方法和屬性完成GIS應用軟件功能;

(4)釋放MAPGIS對象.

 

下面的例子演示了如何使用MAPGIS組件(控件)進行GIS應用軟件的開發.

(1)新建一個VB工程(標準EXE類型),“引用”程序中用到的組件和控件.為了使VB能夠訪問MAPGIS組件對象,需要在VB項目中嵌入MAPGIS對象類型庫.執行下列步驟:從Project (工程)菜單中選擇References(引用), References對話框出現后,選中所需的類型庫:MapGISBasCom11.o Type Library和MapGISDspCom1.0 Type Library。(如下圖)


再從Project (工程)菜單中選擇Components (組件), Components對話框出現后,選中所需的控件,EditView ActiveX Control module是圖形編輯控件。(如下圖)


 

(2)添加EditView控件到Form上,命名為EditView

  將區文件、線區文件或點區文件加載到EditView有兩中方法,一是將區文件直接用Load方法,然后調用 Set EditView.RegArea = objRArea,二是用工程Map的形式加載,此處用方法二。

定義一個全局的Map

Public g_objPrjMap As MAPGISMAPCOMLib.Map

在Form Load的時候,將 g_objPrjMap 賦給 EditView.Map

Set EditView.Map = g_objPrjMap

 

接下去就是把區文件綁定到Map上,見下面函數:(此處以區為例)

Public Function AddLyrToMap(strLyrPath As String, strLyrName As String)

    Dim objAddWArea As MAPGISBASCOM1Lib.WorkArea

    Dim objRArea As New MAPGISBASCOM1Lib.RegArea

    Dim objMapLyr As MAPGISLAYERCOMLib.MapLayer

    

    If Not objRArea.Load(strLyrPath) Then

        MsgBox "加載" & strLyrPath & "目錄下的圖層出錯!", vbInformation, "系統提示"

        Exit Function

    End If

    

    objRArea.Name = strLyrName

    Set objAddWArea = objRArea

    

    Set objMapLyr = New RegLayer

    g_objPrjMap.AddLayer objMapLyr

    g_objPrjMap.Layer(g_objPrjMap.MapLayerCount-1).Attach objAddWArea

    

    Set objAddWArea = Nothing

    Set objRArea = Nothing

    Set objMapLyr = Nothing

End Function

 

AddLyrToMap函數可以這樣調用:

Call AddLyrToMap(App.Path & "\Data\ST_XZQ.WP", "行政區")   '添加行政區圖層

 

加載完地圖后,要將地圖復位:

'將Map全部顯示

Public Sub RestoreEditView()

    Dim objTempLyr As MAPGISLAYERCOMLib.MapLayer

    Dim objRC      As MAPGISBASCOM1Lib.D_Rect

    Dim i          As Integer

    

    Set objTempLyr = g_objPrjMap.FindFirst(gisFINDTYPE_ALL)

    If objTempLyr Is Nothing Then Exit Sub

    

    Set objRC = objTempLyr.rect

    

    For i = 0 To g_objPrjMap.MapLayerCount - 1

        If (Not objTempLyr.WorkArea.Empty) And (objTempLyr.WorkArea.logCount > 0) Then

            If (objRC.xmin > objTempLyr.rect.xmin) Then

                objRC.xmin = objTempLyr.rect.xmin

            End If

            If (objRC.xmax < objTempLyr.rect.xmax) Then

                objRC.xmax = objTempLyr.rect.xmax

            End If

            If (objRC.ymin > objTempLyr.rect.ymin) Then

                objRC.ymin = objTempLyr.rect.ymin

            End If

            If (objRC.ymax < objTempLyr.rect.ymax) Then

                objRC.ymax = objTempLyr.rect.ymax

            End If

        End If

        

        Set objTempLyr = Nothing

        Set objTempLyr = g_objPrjMap.FindNext()

    Next

 

    frmMapWin.EditView.SetWinMapRange objRC.xmin, objRC.ymin, objRC.xmax, objRC.ymax

    frmMapWin.EditView.RestoreWindow

    

    Set objTempLyr = Nothing

    Set objRC = Nothing

End Sub

 

(3)得到統計區的屬性值、面積等

 由于區文件是以工程Map的形式綁定上來的,所以要取得區的屬性,就要先得到工程Map 里的MapLayer,然后在得到RegArea,具體見下面函數:

Private Sub Command1_Click()

    

    Dim i As Integer

    Dim dblArea As Double    '統計面積

    

    Dim objMapLay As MAPGISLAYERCOMLib.MapLayer

    Dim objRArea  As New MAPGISBASCOM1Lib.RegArea

    Dim objRecd   As MAPGISBASCOM1Lib.Record

    

    

    Set objMapLay = New MAPGISLAYERCOMLib.RegLayer

    Set objMapLay = g_objPrjMap.FindLayerByName("行政區")

    Set objRArea = objMapLay.WorkArea

    

    For i = 0 To objRArea.Count - 1

        If (objRArea.RegAtt.Get(i, objRecd)) > 0 Then

      

            Debug.Print objRecd.Item("XZQ_DM").Value

            Debug.Print objRecd.Item("XZQ_DM").Value

            

            dblArea = dblArea + objRecd.Item("Area").Value

        End If

    Next

    

    Debug.Print dblArea

    

End Sub

 

(4)最后要釋放MAPGIS對象

   Set g_objPrjMap = Nothing 

這個就是一個最基本的MapGIS程序了,可以把它稱為“MapGIS的基石”,因為以后的程序都是在這個程序的基礎上“縫縫補補”而來的。

 

四、后話:鼎圖MapGIS版規劃編制項目情況

 

空間數據庫

1           Oracle 8i 


 
邏輯層
 
表現層
 
空間數據引擎
 
 

數據模型

 
 
 

數據分析

 

 

 
 
GIS平臺

 

GIS組件
 
查詢統計分析
 
規劃方案編制
 
ADO
 
 

屬性數據庫

2           Oracle 8i 
 

文檔數據庫
 
規劃成果管理與輸出
 


GIS平臺 : MapGIS/MapX

 

 

圖1 系統構架圖

規劃方案編制
 
規劃圖件編制
 
基礎數據資料與指標管理 
 
規劃實施評價
 
專題研究分析
 
土地利用結構調整方案擬定
 
供選方案的擬定與比較分析 
 
查詢分析 
 
一般編輯 
 
土地利用分區 
 
地圖操作 
 
規劃成果表和說明表匯總生成
 
規劃文本生成
 
數據校驗 
 
要素屬性信息的建立 
 
風格設置 
 
生成成果圖件 
 
編輯成果圖件 
 
成果管理與輸出
 
系統維護配置
 
上傳空間數據 
 
圖形數據下載 
 
圖形數據交互 
 
圖庫管理
 
數據備份/恢復 
 
轉入SQL Server 
 
圖形布局打印 
 
數據柵格輸出 
 
文本輸出 
 
系統參數管理 
 
代碼庫管理 
 
行政代碼設置 
 
線型庫 
 
符號庫 
 
用戶權限設置 
 

圖  系統功能結構圖


 










 

參照:

1 規劃輔助編制信息系統   --  南京鼎圖

2 MapGIS二次開發庫的設計與實現簡介

 

 


開發工具 : VB + ADO + Access

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产高清影视| 成人免费高清视频| 国模娜娜一区二区三区| 男女男精品视频网| 国产成人免费xxxxxxxx| 91久久一区二区| 欧美一区二区三区视频免费播放| 欧美精品一区二区三区很污很色的 | 日韩一区二区精品葵司在线| 欧美三级视频在线观看| 欧美mv和日韩mv国产网站| 国产精品女主播av| 日本欧美一区二区在线观看| 国产成人精品www牛牛影视| 在线视频一区二区免费| 久久色在线视频| 亚洲国产你懂的| 精品一区二区三区免费观看| 色婷婷av一区二区三区软件| 欧美tickling挠脚心丨vk| 亚洲人成网站色在线观看| 免费人成精品欧美精品| 91在线丨porny丨国产| 精品国产免费久久| 亚洲国产成人av| 成人一级片在线观看| 欧美一级久久久| 亚洲网友自拍偷拍| 91在线观看污| 国产视频亚洲色图| 天堂影院一区二区| 一本到不卡免费一区二区| 久久精品夜夜夜夜久久| 日韩国产一区二| 91黄色激情网站| 麻豆久久一区二区| 在线精品国精品国产尤物884a| 国产欧美精品区一区二区三区| 日韩高清一区在线| 91精彩视频在线| 国产亚洲一区字幕| 狠狠色丁香婷婷综合久久片| 欧美人xxxx| 亚洲va韩国va欧美va| 91麻豆蜜桃一区二区三区| 国产精品久久久久一区二区三区| 国产美女在线观看一区| 精品国产一区二区在线观看| 亚洲成人av福利| 一本久久a久久精品亚洲| 国产精品进线69影院| 成人网男人的天堂| 国产精品丝袜一区| 国产成人精品一区二| 国产日产欧美一区| 国产黄色91视频| 国产精品亲子乱子伦xxxx裸| 国产一区二区中文字幕| 国产情人综合久久777777| 国产福利一区在线观看| 欧美激情一区二区三区不卡| 成人性生交大片免费看视频在线| 欧美激情一区二区三区在线| 成人午夜视频在线观看| 亚洲视频资源在线| 色就色 综合激情| 亚洲成人综合网站| 日韩一区二区三区在线视频| 加勒比av一区二区| 久久综合九色综合97_久久久| 精品制服美女丁香| 中文字幕av一区二区三区免费看| av成人免费在线观看| 国产伦精品一区二区三区在线观看 | 亚洲欧洲精品一区二区三区| 97久久超碰精品国产| 中日韩av电影| 91久久一区二区| 日本不卡123| 国产亚洲精品超碰| 色婷婷亚洲综合| 日韩高清不卡一区二区三区| 精品国产伦理网| 99精品一区二区三区| 夜夜操天天操亚洲| 精品久久久久久久人人人人传媒 | 亚洲欧洲色图综合| 欧美酷刑日本凌虐凌虐| 国产一区二区三区不卡在线观看| 中文字幕久久午夜不卡| 欧美日韩三级一区| 国产盗摄一区二区| 五月婷婷综合网| 中文字幕免费观看一区| 欧美日韩视频一区二区| 国产精品一区二区久激情瑜伽| 国产精品女同一区二区三区| 欧美日韩一本到| 国产成人av一区二区三区在线观看| 一区二区三区在线观看国产| 日韩精品一区二区三区老鸭窝| 99久久精品国产导航| 亚洲成人午夜电影| 国产精品视频麻豆| 欧美tickle裸体挠脚心vk| 色呦呦一区二区三区| 欧美午夜精品免费| 国产精品一级片| 视频在线在亚洲| 一区二区三区四区视频精品免费 | 精品国产一区二区三区四区四| 色久优优欧美色久优优| 国产成人精品一区二| 免费三级欧美电影| 一区二区三区国产精品| 国产精品网站导航| 精品久久人人做人人爽| 欧美久久一二三四区| 91网址在线看| 国产成人精品三级麻豆| 久久精品国产精品青草| 日韩不卡免费视频| 麻豆精品在线视频| 激情成人午夜视频| 国产精品77777| 成人黄色免费短视频| 白白色 亚洲乱淫| 91久久香蕉国产日韩欧美9色| 在线观看亚洲精品| 欧美日韩mp4| 日韩欧美一二区| 精品99久久久久久| 中文字幕高清一区| 亚洲特黄一级片| 亚洲成人午夜影院| 久久99精品国产91久久来源| 国产精品99久久久久久似苏梦涵| 从欧美一区二区三区| 色综合中文综合网| 97se亚洲国产综合自在线观| 91久久精品一区二区| 欧美酷刑日本凌虐凌虐| 精品国产亚洲一区二区三区在线观看 | 日本高清成人免费播放| 欧美精品xxxxbbbb| 久久精品一区四区| 亚洲狼人国产精品| 免费在线观看成人| 成人福利视频在线| 欧美麻豆精品久久久久久| 久久尤物电影视频在线观看| 亚洲欧美另类久久久精品2019| 亚洲va欧美va国产va天堂影院| 久草热8精品视频在线观看| 波多野结衣中文字幕一区| 欧美日韩一区中文字幕| 久久精品一区二区| 亚瑟在线精品视频| 国产一区二区三区在线观看免费视频| 91在线高清观看| 精品欧美久久久| 亚洲图片你懂的| 激情五月激情综合网| 色女孩综合影院| 久久蜜桃一区二区| 亚洲1区2区3区视频| 国产福利精品一区| 在线视频欧美精品| 国产日产欧美一区二区三区| 日本欧美一区二区| 色综合久久久久综合99| 久久久国产午夜精品| 日韩专区欧美专区| 色综合天天综合色综合av| 久久婷婷国产综合国色天香| 亚洲国产精品久久久久秋霞影院| 国产成人av一区| 亚洲精品一区在线观看| 亚洲h精品动漫在线观看| 99视频超级精品| 国产午夜精品一区二区三区嫩草| 日韩精品一卡二卡三卡四卡无卡| 91同城在线观看| 中文字幕欧美国产| 国产在线精品一区二区夜色 | 久久影视一区二区| 亚洲一级在线观看| 色香色香欲天天天影视综合网| 国产亚洲精品aa午夜观看| 紧缚奴在线一区二区三区| 日韩视频在线一区二区| 日韩电影免费一区| 欧美日韩国产一级| 亚洲高清免费观看高清完整版在线观看 | 美女视频黄a大片欧美| 欧美精品乱人伦久久久久久| 亚洲一区二区高清| 欧美日韩激情在线| 午夜电影网一区| 精品视频色一区|