衡阳派盒市场营销有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>地理信息系統的嵌入式開發技術

地理信息系統的嵌入式開發技術

2017-10-29 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

地理信息系統(GIS)是近年來興起的一門新興技術,由于它能夠直觀有效地利用和表達地理信息數據,滿足了信息綜合管理和數據服務可視化的需要,因此在地質勘測、城市規劃、交通管理、遙控遙測等許多領域獲得了普遍應用。目前國內流行的基礎GIS軟件主要有MapInfo、ARC/INFO、MGE等幾種。為支持應用系統的開發,多數通用GIS系統都提供了專用的開發工具和編程語言,但與通用的編程工具如Visual C++、Visual Basic等相比,其功能十分有限且不夠靈活。如果在設計應用GIS系統時采用嵌入式技術,則既能夠發揮通用編程工具的強大程序開發能力,又能充分利用現有GIS系統的豐富功能,從而給開發工作帶來極大的方便。
  1 嵌入式開發技術簡介
  所謂嵌入式開發技術是指以在應用程序中嵌入由其他程序所提供的數據或對象的方式來獲得特定功能的程序設計方法。由于這種嵌入是通過窗口嵌套技術和程序進程間的數據通信技術來實現的,可以使兩個不同的程序完全“無縫”地集成到一起,因此所開發出的應用程序與普通程序看起來并沒有什么區別。使用嵌入式技術的GIS應用程序與為其提供支持的GIS系統之間是一種并行的同時運行的關系,在功能上不受任何限制,可以象正常程序一樣使用操作系統所提供的一切資源。絕大多數的GIS系統和通用編程工具都對嵌入式開發提供支持。本文將以目前流行的MapInfo地理信息系統和Visual Basic 5.0程序設計語言為例,系統地介紹利用嵌入式技術開發GIS應用軟件的方法。
  MapInfo是一個功能強大的通用地理信息和空間數據管理系統,能提供豐富的地理信息數據編輯轉換、分析處理、瀏覽顯示、查詢檢索等功能,是目前應用最為廣泛的GIS基礎平臺之一。為了支持二次開發,MapInfo提供了簡單易用的MapBasic語言,并在4.0以后的版本中全面支持嵌入式技術。在應用程序中嵌入MapInfo系統所使用的主要方法有OLE自動化、回應方法和動態數據交換三種。下面分別對這些方法作進一步的介紹。
  2 OLE自動化技術
  OLE自動化技術是在微軟公司的對象鏈接和嵌入(OLE)技術和組件對象模型技術(COM)基礎上發展起來的一種程序設計標準,它允許一個程序模塊控制其他程序模塊的執行。換句話說,支持自動化的程序模塊的行為是可以通過編程來控制的,這種控制通過應用程序對自動化支持程序所提供的對象的訪問來完成。OLE自動化實質上是兩個不同的應用程序之間以客戶機/服務器方式進行的動態信息交換過程,作為服務器一方的應用程序提供一組具有特定方法和屬性的對象模型,客戶程序則使用標準的通信接口對其進行訪問和控制。MapInfo所提供的OLE自動化對象模型如圖1所示。
  地理信息系統的嵌入式開發技術
  從圖1可以看出,MapInfo提供的OLE自動化對象體系具有很明顯的層次結構。最高層是Application對象即MapInfo系統本身的運行實例,其下是MapBasic應用程序對象集合MBApplications及其公共變量對象集合MBGlobals。所有的對象和對象集合都有相應的方法和屬性,應用程序可以調用這些方法和屬性來實現特定的功能。以VB5.0為例,要想在程序中嵌入MapInfo對象,首先要聲明一個ActiveX對象變量并用其創建MapInfo運行實例,方法如下:
  Public MapInfo As Object
  Set MapInfo = CreateObject(″MapInfo.Application″)
  上述代碼將使MapInfo系統啟動并自動在后臺運行。與獨立運行時相比,作為自動化對象的MapInfo系統沒有自己的啟動窗體和用戶界面(菜單、工具條等),其行為完全由調用它的應用程序控制。通過訪問Application對象的屬性和方法可以獲得MapInfo系統的絕大多數功能。常用的方法主要有三種:Do方法將一個代表MapBasic語句的字符串傳遞給MapInfo系統執行;Eval方法將一個代表MapBasic表達式的字符串傳遞給MapInfo系統并返回其值;RunMenuCommand方法通知MapInfo系統執行指定的菜單功能項。如果需要使用MapInfo的地圖顯示功能,可以把其地圖窗口嵌入到指定的窗體或圖形控件中。例如,下面的代碼可以使MapInfo的地圖窗口顯示在應用程序窗體2的Picture控件中:
  MapInfo.Do ″Set Application Window″ & Form2.Picture1.hwnd
  MapInfo.Do″Set Next Document Parent″ & Form2.Picture1.hwnd & ″Style 1″
  在地圖窗口嵌入后,應用程序還可以象對待正常窗口一樣對其進行放大、縮小和移動操作。同樣的方法也可以用來嵌入MapInfo系統所能提供的其他窗口,如圖例窗口、布局窗口、信息窗口和數據瀏覽窗口等。
  在進行一些比較復雜的地理信息操作時,僅僅使用Do方法一條條地發送MapBasic指令顯然是不方便的,應當采用編寫Mapbasic程序的方式處理,并把執行結果返回給應用程序。這樣能夠避免在應用程序和MapInfo系統之間過于頻繁的數據交換,從而節省了系統資源、提高了運行效率。調用MapBasic程序的代碼如下:
  MapBasic.Do ″Run Application″ & Mbfilename
  要實現對MapBasic程序的控制并從中獲取數據,可以使用MBApplications對象集合。把MBApplications稱作對象集合是因為它代表了當前所有在MapInfo系統中運行的MapBasic程序。與Application對象的使用方法相同,我們首先要創建MBApplications對象,然后再訪問其屬性和方法。如果要訪問一個具體的MapBasic程序對象,可以在集合對象后加上序號來指定。下面的代碼通過訪問MBApplication對象集合把當前正在運行的所有MapBasic程序名稱返回給數組Mbfilename
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐官网闲拉长龙| 百家乐官网公式论坛| 百家乐官网统计工具| 全讯网3344111| 凯旋门百家乐官网技巧| 百家乐现金网平台排行| 香港六合彩的开奖结果| 百家乐官网怎么押钱| 百家乐真人玩下载| 成安县| 百家乐真钱路怎么看| 789棋牌游戏| 广州百家乐官网娱乐场开户注册 | 澳门百家乐官网网上赌| 菲律宾百家乐排行| 高邮市| 百家乐平台信誉| 揭东县| 百家乐最好投注| bet365体育在线投注| 院子围墙砌18还是24| 皇家棋牌| 解析百家乐投注法| 大发888真钱游戏官方网站| 在线百家乐官网下注| 大发888娱乐城打发888打发8| 圆梦城百家乐官网娱乐城| 大发888 迅雷快传| 汇丰百家乐官网的玩法技巧和规则| 大发888娱乐平台 游戏| 四方百家乐官网的玩法技巧和规则| 大发888xp缺少casino| 包赢百家乐官网的玩法技巧和规则| 世界德州扑克大赛| 百家乐官网红桌布| 中西区| 葡京百家乐的玩法技巧和规则| 百家乐官网有多少种游戏| 宝龙百家乐的玩法技巧和规则| 百家乐官网单机版的| 六合彩官方网|