在AutoCAD中瀏覽Google衛(wèi)星地圖的方法研究

2014-11-29 徐昌榮 江西理工大學建筑與測繪工程學院

  研究在AutoCAD 中瀏覽Google 衛(wèi)星地圖的方法,并通過編程予以實現(xiàn)。

一、引言

  AutoCAD 是一款由Autodesk 公司開發(fā)的自動計算機輔助設計軟件,由于其具有功能強大、實用性強、易二次開發(fā)的特點,被廣泛應用于建筑、規(guī)劃、制造業(yè)等諸多行業(yè)。用戶可以通過AutoCAD 的二次開發(fā)接口開發(fā)出適用于本行業(yè)的專業(yè)軟件,如測繪行業(yè)中廣泛使用的南方CASS 軟件,以及建筑行業(yè)中使用的天正軟件均是AutoCAD 二次開發(fā)的產物。相比于從底層開發(fā)一個CAD 軟件,利用AutoCAD提供的接口進行二次開發(fā)所耗費的人力物力都更少,加之AutoCAD 強大的功能支撐,這些二次開發(fā)軟件在各自行業(yè)都發(fā)揮著巨大的作用。

  Google 衛(wèi)星地圖是Google 公司提供的一種網(wǎng)絡地圖服務,這些衛(wèi)星地圖覆蓋全球的各個角落,在世界諸多城市都可以達到1 m 以內的精度,且用戶可以在Google Map 或Google Earth 中瀏覽這些衛(wèi)星地圖。同時,Google 允許用戶使用它的網(wǎng)絡地圖服務,用戶可以通過其提供的API 在自己的網(wǎng)頁或應用程序中嵌入Google Map,當每天的請求次數(shù)少于50 000 次時,這種服務是免費的。這能夠滿足大部分用戶的一般性需求。

  在進行城市規(guī)劃或道路設計等方面的工作時,一般需要事先了解該區(qū)域的道路、植被、地形等現(xiàn)狀情況,而Google 衛(wèi)星地圖平均每半年更新一次,具有較好的現(xiàn)勢性,可完成這部分工作。將Google 衛(wèi)星地圖等網(wǎng)絡地圖集成于桌面軟件中的研究已有很多,楊帆等人將Google Map 集成于桌面軟件,用于對敏感目標的追蹤; 李木梓等以Google Map 為例實現(xiàn)了將網(wǎng)絡地圖作為自定義圖層的形式集成到GIS 桌面系統(tǒng)。而AutoCAD 軟件是城市規(guī)劃或道路設計廣泛應用的設計軟件,若能在AutoCAD 中實現(xiàn)Google 衛(wèi)星地圖的瀏覽,設計人員勢必能快速地了解設計區(qū)域,提高工作效率。基于此,本文對在AutoCAD 中瀏覽Google 衛(wèi)星地圖的方法進行了研究,并通過AutoCAD 二次開發(fā)與Google Map 二次開發(fā)技術實現(xiàn)了這一功能。

二、AutoCAD 二次開發(fā)與Google Map二次開發(fā)

  1.AutoCAD 二次開發(fā)

  AutoCAD 為開發(fā)者提供了多種應用程序接口,其中. NET API 因其開發(fā)簡單及效率高的優(yōu)勢而被廣泛使用。AutoCAD 從2006 年開始增加了. NET API,該API 提供了一系列的托管外包類,是AutoCAD 較為理想的二次開發(fā)方式。開發(fā)人員可在. NET 框架下使用. NET 支持的任何編程語言進行開發(fā),本文采用C#語言進行AutoCAD 的二次開發(fā)。

  開發(fā)人員可以通過兩種方式進行AutoCAD.

  NET 的二次開發(fā): 一種是通過Visual Studio 2010 的AutoCAD 2011 Plug-in 模板建立解決方案進行開發(fā),這種方式不需要開發(fā)人員手動引用AutoCAD 組件庫; 另一種是在Visual Studio 2010 中建立一個解決方案,手動添加需要在開發(fā)中用到的組件庫,如Ac-DbMgd. dll、AcMgd. dll 等,并將AutoCAD 的執(zhí)行文件添加到解決方案中且設置為啟動項,可實現(xiàn)調試。

  2.Google Map 二次開發(fā)

  Google 為開發(fā)者提供了各種類型的API 來實現(xiàn)對Google Map 的二次開發(fā),這些API 處于不斷更新中,Google Maps JavaScript API V3 目前是JavaScriptAPI 的最新版本。對于之前的版本,開發(fā)者需要申請API Key 才能獲得Google Map 的使用權限,而該版本的API 用戶無需申請API Key 即可使用。用戶在網(wǎng)頁中嵌入以下代碼便能使用Google Maps JavaScript API V3 開發(fā)自己的應用程序

  < script type = " text /javascript" src = " http: / /maps. google. com/maps /api /js? sensor =false&language = zh-CN" > < /script >

  Google 衛(wèi)星地圖提供0 ~ 17 共18 個縮放級別的衛(wèi)星地圖,用戶在初始化地圖時通過設置地圖選項( Map Options) 來設置初始縮放級別、初始位置及其他內容。而對地圖的其他設置可參照GoogleMaps JavaScript API V3 的參考文檔,里面提供了各個對象的屬性、方法和事件等內容,可幫助用戶開發(fā)自己的應用程序。另外,用戶除了使用API 中提供的控件外還可以使用自定義控件。

四、結束語

  本文實現(xiàn)了在AutoCAD 中瀏覽Google 衛(wèi)星地圖的功能,該程序界面整潔、功能實用,可作為規(guī)劃設計人員的輔助工具。設計人員通過對規(guī)劃區(qū)域Google 衛(wèi)星地圖的瀏覽,可以充分考慮土地的合理利用與節(jié)約等因素,通過對周圍環(huán)境的查看可以較為方便地分析規(guī)劃部分與整體環(huán)境的協(xié)調性。該程序已應用于筆者所在學校城市規(guī)劃專業(yè)的城市規(guī)劃課程設計,獲得了較好的評價。

  本文通過AutoCAD 二次開發(fā)與Google Map 二次開發(fā)技術實現(xiàn)了在AutoCAD 中瀏覽Google 衛(wèi)星地圖的功能,但仍然存在需要改進的地方。如何在AutoCAD 與Google 地圖之間實現(xiàn)更多的交互和更多實用的功能,如何實現(xiàn)與數(shù)據(jù)庫的交互等,都是今后研究的重點。