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