□李強(qiáng)(山西省地圖集編纂委員會(huì)辦公室,山西太原030002)
傳統(tǒng)村落與Mic ros oft Virtua l Ea rth集成
□李強(qiáng)
(山西省地圖集編纂委員會(huì)辦公室,山西太原030002)
主要論述了如何通過(guò)利用SQL Server 2008對(duì)地理空間的支持,將山西省傳統(tǒng)村落的位置等信息集成到Microsoft Virtual Earth上,讓人們對(duì)山西的傳統(tǒng)村落有一定的了解。
傳統(tǒng)村落;microsoft virtual earth集成
傳統(tǒng)村落是指聚居年代久遠(yuǎn),擁有豐富的物質(zhì)和非物質(zhì)形態(tài)文化遺產(chǎn)資源,并具有歷史、文化、科學(xué)、藝術(shù)、社會(huì)和經(jīng)濟(jì)價(jià)值的村落。近年來(lái),在城鎮(zhèn)化的進(jìn)程中,大量的歷史文化遺跡已經(jīng)蕩然無(wú)存,古村落作為一個(gè)保護(hù)相對(duì)完整的歷史載體,是難能可貴的寶貴資源。
山西省是一個(gè)歷史悠久,傳統(tǒng)村落保存現(xiàn)狀比較好的省份,通過(guò)在互聯(lián)網(wǎng)上將山西省的傳統(tǒng)村落以文字、圖片、視頻等形式展現(xiàn)給全世界的人們,讓大家對(duì)山西省的傳統(tǒng)村落文化有更進(jìn)一步的了解的同時(shí),對(duì)山西省傳統(tǒng)村落的保護(hù)也起到一定的積極作用。下面僅就傳統(tǒng)村落的位置及相關(guān)信息與Microsoft Virtual Earth集成進(jìn)行程序?qū)崿F(xiàn)。
地理空間支持是對(duì) Microsoft SQL Server 2008中核心數(shù)據(jù)庫(kù)引擎的一個(gè)強(qiáng)大擴(kuò)展,允許使用新的geometry和geography數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ)和管理形狀、大小和位置,并具有計(jì)算面積、距離和交點(diǎn)等功能。通過(guò)利用SQL Server 2008中的這一新支持將山西省傳統(tǒng)村落的相關(guān)信息整合到數(shù)據(jù)庫(kù)應(yīng)用程序中,在Microsoft Virtual Earth中展示山西省傳統(tǒng)村落的相關(guān)信息。
SQL Server 2008中的地理空間支持是專(zhuān)門(mén)設(shè)計(jì)用來(lái)支持在數(shù)據(jù)庫(kù)中快速開(kāi)發(fā)空間功能,引
入了兩種新的數(shù)據(jù)類(lèi)型來(lái)處理空間數(shù)據(jù),geometry數(shù)據(jù)類(lèi)型用來(lái)存儲(chǔ)和處理采用平面模型的空間數(shù)據(jù),geography數(shù)據(jù)類(lèi)型用來(lái)存儲(chǔ)和處理大地測(cè)量模型。在傳統(tǒng)村落與Microsoft Virtual Earth集成的過(guò)程中,使用geography類(lèi)型存儲(chǔ)山西省傳統(tǒng)村落的位置,通過(guò)選擇傳統(tǒng)村落及其位置,然后提取每個(gè)位置的經(jīng)、緯度值,構(gòu)建一個(gè)Microsoft Virtual Earth mash-up。具體流程如圖所示。
首先創(chuàng)建一個(gè)名為MyDB的空間數(shù)據(jù)庫(kù),然后創(chuàng)建一個(gè)帶有g(shù)eography列的CTcunluo表和相關(guān)的存儲(chǔ)過(guò)程,用于存儲(chǔ)傳統(tǒng)村落的位置、名稱(chēng)、圖片、文字、視頻等信息和傳統(tǒng)村落信息的入庫(kù)及提取。
在ArcGIS中,根據(jù)相關(guān)的資料,將山西省傳統(tǒng)村落的位置信息坐標(biāo)轉(zhuǎn)換成Microsoft Virtual Earth的經(jīng)緯度坐標(biāo),通過(guò)Create Feature to X,Y命令得到傳統(tǒng)村落的地理坐標(biāo)數(shù)據(jù),用insert into命令將村落的地理坐標(biāo)及相關(guān)信息填充到CTcunluo表中。
創(chuàng)建一個(gè)存儲(chǔ)過(guò)程來(lái)獲取所有的傳統(tǒng)村落的位置及相關(guān)信息
創(chuàng)建了數(shù)據(jù)庫(kù)后,就可以創(chuàng)建 Virtual Earth mash-up。啟動(dòng)Visual Studio 2010,創(chuàng)建名為CTVirtualEarth的Visual C#“ASP.NET Web應(yīng)用程序”項(xiàng)目,將山西省傳統(tǒng)村落的坐標(biāo)放置在Virtual Earth地圖的頂部,將數(shù)據(jù)庫(kù)中傳統(tǒng)村落的位置顯示為地圖上的圖標(biāo)。
在Default.aspx中,用地理數(shù)據(jù)創(chuàng)建Virtual Earth mash-up
在這個(gè)網(wǎng)頁(yè)使用“異步JavaScript和XML”(AJAX)呈現(xiàn)Virtual Earth地圖,在地圖上標(biāo)繪
了每個(gè)傳統(tǒng)村落的圖標(biāo)。所有服務(wù)調(diào)用都由客戶(hù)端瀏覽器直接發(fā)出。關(guān)于ScriptManager元素,所有支持AJAX的網(wǎng)頁(yè)都需要ScriptManager元素,在ScriptManager元素的內(nèi)部,該網(wǎng)頁(yè)聲明了兩個(gè)服務(wù)引用:第一個(gè)指向CTcunluoQueryService. asmx,即將創(chuàng)建的Web服務(wù),用來(lái)調(diào)用存儲(chǔ)過(guò)程以獲取傳統(tǒng)村落的位置及相關(guān)信息;第二個(gè)引用指向Microsoft Virtual Earth Web服務(wù),引用一個(gè)應(yīng)用程序接口(API),在任意網(wǎng)頁(yè)上呈現(xiàn)交互式地圖。
在解決方案資源管理器中的項(xiàng)目CTVirtualEarth下添加一個(gè)“Web服務(wù)”,用來(lái)連接數(shù)據(jù)庫(kù)及從數(shù)據(jù)庫(kù)中提取傳統(tǒng)村落的相關(guān)信息,命名為CTcunluoQueryService.asmx。
在集成的過(guò)程中,需要將數(shù)據(jù)庫(kù)中g(shù)eography數(shù)據(jù)類(lèi)型的經(jīng)緯度坐標(biāo)轉(zhuǎn)換到開(kāi)發(fā)環(huán)境所能認(rèn)識(shí)的信息,因此,創(chuàng)建一個(gè)指向Microsoft.Sqlserver.Type的程序集的引用,通過(guò)GetCTcunluo方法從geography類(lèi)型的cunluo列中提取經(jīng)緯度,使用Microsoft.Sqlserver.Type命名空間中定義的類(lèi)SqlGeography來(lái)處理SQL Server中的geography數(shù)據(jù)類(lèi)型。
在創(chuàng)建CTcunluoQueryService.asmx Web服務(wù)的同時(shí)需創(chuàng)建CTcunluos類(lèi),用來(lái)保存?zhèn)鹘y(tǒng)村落的相關(guān)信息。
在打開(kāi)了與數(shù)據(jù)庫(kù)的連接后,GetCTcunluo方法方法準(zhǔn)備了SqlCommand對(duì)象,以調(diào)用數(shù)據(jù)庫(kù)中的GetCTcunluo存儲(chǔ)過(guò)程,然后調(diào)用ExecuteReader方法,以獲得返回結(jié)果SqlDataReader對(duì)象,循環(huán)遍歷此存儲(chǔ)過(guò)程返回的讀取器中的所有數(shù)據(jù)行,將CTcunluos對(duì)象添加到被返回給調(diào)用程序的泛型List〈CTcunluos〉對(duì)象,將傳統(tǒng)村落的信息在客戶(hù)端瀏覽的時(shí)候顯示出來(lái)。
將山西省傳統(tǒng)村落及其相關(guān)信息或者其他類(lèi)型的專(zhuān)題內(nèi)容集成到某些大型網(wǎng)站W(wǎng)eb地圖上,利用現(xiàn)有Web地圖的地理數(shù)據(jù)和其豐富強(qiáng)大的操作功能,根據(jù)自己的實(shí)際需要將專(zhuān)題內(nèi)容集成上去,將Web地圖服務(wù)和專(zhuān)題內(nèi)容服務(wù)分開(kāi)進(jìn)行調(diào)用,既可以提高瀏覽的速度,又可以根據(jù)實(shí)際需要隨時(shí)更新專(zhuān)題內(nèi)容數(shù)據(jù)庫(kù),提供最新的形式多樣的專(zhuān)題內(nèi)容服務(wù)。將傳統(tǒng)村落與Microsoft Virtual Earth集成這一方法不僅為更多的人了解山西省傳統(tǒng)村落信息提供一條新的途徑,而且為我們?cè)诟?、使用?zhuān)題數(shù)據(jù)庫(kù)方面提出了新的思考。
【1】賈洪峰.SQL Server 2008程序設(shè)計(jì)[M].北京∶清華大學(xué)出版社,2010.
【2】馬振晗.任鴻,高宇輝.SQL Server 2008寶典[M].北京∶清華大學(xué)出版社,2011.
【3】郭玲.SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用[M].北京∶中國(guó)電力出版社,2011.
【4】張克權(quán).黃仁濤.專(zhuān)題地圖編制[M].北京∶測(cè)繪出版社,1982.
TP391 文獻(xiàn)識(shí)別碼 B
2095-7319(2015)03-0043-05
李強(qiáng)(1976—),男,本科,工程師,1999年畢業(yè)于武漢測(cè)繪科技大學(xué),主要從事地圖制圖,GIS開(kāi)發(fā),數(shù)據(jù)庫(kù)架構(gòu)建設(shè)、應(yīng)用開(kāi)發(fā)等工作。