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

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

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

一、引言

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

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

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

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

  1.AutoCAD 二次開發(fā)

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

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

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

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

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

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

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

四、結(jié)束語

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

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