在AutoCAD中瀏覽Google衛(wèi)星地圖的方法研究
研究在AutoCAD 中瀏覽Google 衛(wèi)星地圖的方法,并通過(guò)編程予以實(shí)現(xiàn)。
一、引言
AutoCAD 是一款由Autodesk 公司開(kāi)發(fā)的自動(dòng)計(jì)算機(jī)輔助設(shè)計(jì)軟件,由于其具有功能強(qiáng)大、實(shí)用性強(qiáng)、易二次開(kāi)發(fā)的特點(diǎn),被廣泛應(yīng)用于建筑、規(guī)劃、制造業(yè)等諸多行業(yè)。用戶可以通過(guò)AutoCAD 的二次開(kāi)發(fā)接口開(kāi)發(fā)出適用于本行業(yè)的專業(yè)軟件,如測(cè)繪行業(yè)中廣泛使用的南方CASS 軟件,以及建筑行業(yè)中使用的天正軟件均是AutoCAD 二次開(kāi)發(fā)的產(chǎn)物。相比于從底層開(kāi)發(fā)一個(gè)CAD 軟件,利用AutoCAD提供的接口進(jìn)行二次開(kāi)發(fā)所耗費(fèi)的人力物力都更少,加之AutoCAD 強(qiáng)大的功能支撐,這些二次開(kāi)發(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ù),用戶可以通過(guò)其提供的API 在自己的網(wǎng)頁(yè)或應(yīng)用程序中嵌入Google Map,當(dāng)每天的請(qǐng)求次數(shù)少于50 000 次時(shí),這種服務(wù)是免費(fèi)的。這能夠滿足大部分用戶的一般性需求。
在進(jìn)行城市規(guī)劃或道路設(shè)計(jì)等方面的工作時(shí),一般需要事先了解該區(qū)域的道路、植被、地形等現(xiàn)狀情況,而Google 衛(wèi)星地圖平均每半年更新一次,具有較好的現(xiàn)勢(shì)性,可完成這部分工作。將Google 衛(wèi)星地圖等網(wǎng)絡(luò)地圖集成于桌面軟件中的研究已有很多,楊帆等人將Google Map 集成于桌面軟件,用于對(duì)敏感目標(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ì)必能快速地了解設(shè)計(jì)區(qū)域,提高工作效率;诖耍疚膶(duì)在AutoCAD 中瀏覽Google 衛(wèi)星地圖的方法進(jìn)行了研究,并通過(guò)AutoCAD 二次開(kāi)發(fā)與Google Map 二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn)了這一功能。
二、AutoCAD 二次開(kāi)發(fā)與Google Map二次開(kāi)發(fā)
1.AutoCAD 二次開(kāi)發(fā)
AutoCAD 為開(kāi)發(fā)者提供了多種應(yīng)用程序接口,其中. NET API 因其開(kāi)發(fā)簡(jiǎn)單及效率高的優(yōu)勢(shì)而被廣泛使用。AutoCAD 從2006 年開(kāi)始增加了. NET API,該API 提供了一系列的托管外包類,是AutoCAD 較為理想的二次開(kāi)發(fā)方式。開(kāi)發(fā)人員可在. NET 框架下使用. NET 支持的任何編程語(yǔ)言進(jìn)行開(kāi)發(fā),本文采用C#語(yǔ)言進(jìn)行AutoCAD 的二次開(kāi)發(fā)。
開(kāi)發(fā)人員可以通過(guò)兩種方式進(jìn)行AutoCAD.
NET 的二次開(kāi)發(fā): 一種是通過(guò)Visual Studio 2010 的AutoCAD 2011 Plug-in 模板建立解決方案進(jìn)行開(kāi)發(fā),這種方式不需要開(kāi)發(fā)人員手動(dòng)引用AutoCAD 組件庫(kù); 另一種是在Visual Studio 2010 中建立一個(gè)解決方案,手動(dòng)添加需要在開(kāi)發(fā)中用到的組件庫(kù),如Ac-DbMgd. dll、AcMgd. dll 等,并將AutoCAD 的執(zhí)行文件添加到解決方案中且設(shè)置為啟動(dòng)項(xiàng),可實(shí)現(xiàn)調(diào)試。
2.Google Map 二次開(kāi)發(fā)
Google 為開(kāi)發(fā)者提供了各種類型的API 來(lái)實(shí)現(xiàn)對(duì)Google Map 的二次開(kāi)發(fā),這些API 處于不斷更新中,Google Maps JavaScript API V3 目前是JavaScriptAPI 的最新版本。對(duì)于之前的版本,開(kāi)發(fā)者需要申請(qǐng)API Key 才能獲得Google Map 的使用權(quán)限,而該版本的API 用戶無(wú)需申請(qǐng)API Key 即可使用。用戶在網(wǎng)頁(yè)中嵌入以下代碼便能使用Google Maps JavaScript API V3 開(kāi)發(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è)縮放級(jí)別的衛(wèi)星地圖,用戶在初始化地圖時(shí)通過(guò)設(shè)置地圖選項(xiàng)( Map Options) 來(lái)設(shè)置初始縮放級(jí)別、初始位置及其他內(nèi)容。而對(duì)地圖的其他設(shè)置可參照GoogleMaps JavaScript API V3 的參考文檔,里面提供了各個(gè)對(duì)象的屬性、方法和事件等內(nèi)容,可幫助用戶開(kāi)發(fā)自己的應(yīng)用程序。另外,用戶除了使用API 中提供的控件外還可以使用自定義控件。
四、結(jié)束語(yǔ)
本文實(shí)現(xiàn)了在AutoCAD 中瀏覽Google 衛(wèi)星地圖的功能,該程序界面整潔、功能實(shí)用,可作為規(guī)劃設(shè)計(jì)人員的輔助工具。設(shè)計(jì)人員通過(guò)對(duì)規(guī)劃區(qū)域Google 衛(wèi)星地圖的瀏覽,可以充分考慮土地的合理利用與節(jié)約等因素,通過(guò)對(duì)周圍環(huán)境的查看可以較為方便地分析規(guī)劃部分與整體環(huán)境的協(xié)調(diào)性。該程序已應(yīng)用于筆者所在學(xué)校城市規(guī)劃專業(yè)的城市規(guī)劃課程設(shè)計(jì),獲得了較好的評(píng)價(jià)。
本文通過(guò)AutoCAD 二次開(kāi)發(fā)與Google Map 二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn)了在AutoCAD 中瀏覽Google 衛(wèi)星地圖的功能,但仍然存在需要改進(jìn)的地方。如何在AutoCAD 與Google 地圖之間實(shí)現(xiàn)更多的交互和更多實(shí)用的功能,如何實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互等,都是今后研究的重點(diǎn)。