• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      AutoCAD數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)的方法研究

      2016-01-26 01:23:07譚仁春
      測(cè)繪通報(bào) 2015年12期
      關(guān)鍵詞:瓦片空間數(shù)據(jù)文件夾

      洪 濤,譚仁春,李 寧

      (昆明市測(cè)繪研究院,云南 昆明 650051)

      Study on the Creating Tile Caches of ArcGIS Based on the Geo-spatial

      Data from AutoCAD

      HONG Tao,TAN Renchun,LI Ning

      ?

      AutoCAD數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)的方法研究

      洪濤,譚仁春,李寧

      (昆明市測(cè)繪研究院,云南 昆明 650051)

      Study on the Creating Tile Caches of ArcGIS Based on the Geo-spatial

      Data from AutoCAD

      HONG Tao,TAN Renchun,LI Ning

      摘要:隨著AutoCAD在各行各業(yè)應(yīng)用的普及及WebGIS應(yīng)用需求的不斷擴(kuò)大,將DWG等格式的地理空間數(shù)據(jù)處理成WebGIS常用的ArcGIS“地圖瓦片”服務(wù)已成為GIS開發(fā)及數(shù)據(jù)處理人員經(jīng)常遇到的一項(xiàng)任務(wù)。傳統(tǒng)的處理方式不僅過(guò)程復(fù)雜,需要花費(fèi)大量的人力和物力,而且常常存在符號(hào)丟失等問(wèn)題。本文根據(jù)ArcGIS“地圖瓦片”創(chuàng)建與文件存儲(chǔ)組織規(guī)則,通過(guò)AutoCAD二次開發(fā)語(yǔ)言O(shè)bjectARX進(jìn)行了二次開發(fā),直接在AutoCAD下實(shí)現(xiàn)了“地圖瓦片”的創(chuàng)建,極大提高了AutoCAD格式的地理空間數(shù)據(jù)創(chuàng)建“地圖瓦片”服務(wù)的效率,節(jié)省了人力和物力。應(yīng)用實(shí)踐表明,本文中的方法具有很高的應(yīng)用價(jià)值。

      關(guān)鍵詞:地圖瓦片;地圖緩存;ArcGIS;DWG數(shù)據(jù)

      一、引言

      隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、GIS技術(shù)的快速發(fā)展,WebGIS已經(jīng)成為目前GIS系統(tǒng)的主要形式。傳統(tǒng)的WebGIS對(duì)于客戶端提交的請(qǐng)求,通常利用實(shí)時(shí)計(jì)算模式向客戶端反饋數(shù)據(jù),如在ArcIMS地圖發(fā)布平臺(tái)下,由客戶端提交地圖請(qǐng)求,通過(guò)ArcXML與服務(wù)器端通信,服務(wù)器端接收客戶端提交的各項(xiàng)參數(shù),實(shí)時(shí)計(jì)算生成客戶端用戶請(qǐng)求的圖形,再通過(guò)ArcXML反饋給客戶端[1]。但由于GIS中需要訪問(wèn)或處理的地理空間數(shù)據(jù)通常是海量的,即使是采用目前的高速寬帶網(wǎng)絡(luò),上述數(shù)據(jù)處理與傳輸方式也常常需要客戶每次對(duì)自己的“地圖平移”“地圖縮放”等操作請(qǐng)求等待較長(zhǎng)甚至難以忍受的響應(yīng)時(shí)間。數(shù)據(jù)傳輸與瀏覽速度較慢曾一度成了WebGIS推廣應(yīng)用的重要瓶頸。

      為了解決網(wǎng)絡(luò)環(huán)境下WebGIS訪問(wèn)海量地理空間數(shù)據(jù)速度十分緩慢的問(wèn)題,地圖緩存技術(shù)應(yīng)運(yùn)而生。地圖緩存技術(shù)(通俗的說(shuō)法為“瓦片”技術(shù)),就是按照一定的數(shù)學(xué)規(guī)則,把地圖切成一定規(guī)格的小圖片集保存到服務(wù)器上。當(dāng)用戶通過(guò)客戶端瀏覽器訪問(wèn)地圖服務(wù)時(shí),不是由服務(wù)器實(shí)時(shí)創(chuàng)建一幅圖片來(lái)送到客戶端,而是服務(wù)器直接返回當(dāng)前地圖坐標(biāo)區(qū)域所對(duì)應(yīng)的小“瓦片”后在客戶端拼接成地圖,這樣就可以通過(guò)降低服務(wù)器負(fù)擔(dān)來(lái)極大提升地圖瀏覽的速度[2-3]。目前,越來(lái)越多的地圖服務(wù)網(wǎng)站(如Google Maps、Microsoft Live Map、Mapbar、SogouMap、MapABC 等)都采用了這種技術(shù)來(lái)提高地圖訪問(wèn)的速度。ArcGIS“地圖瓦片”服務(wù)就是采用地圖緩存技術(shù)的一種空間數(shù)據(jù)服務(wù)方式,其支持的服務(wù)標(biāo)準(zhǔn)有WMS、WCS等。目前,它已成為WebGIS中最為常用的一種地圖服務(wù)形式。

      AutoCAD以其功能強(qiáng)大、操作簡(jiǎn)便等特點(diǎn),早已成為國(guó)內(nèi)外各設(shè)計(jì)領(lǐng)域采用最為廣泛的一種圖形設(shè)計(jì)軟件。這也使得目前大量需要在WebGIS下發(fā)布共享的地理空間數(shù)據(jù)(如城市總規(guī)、控規(guī)、詳規(guī)、專項(xiàng)規(guī)劃等數(shù)據(jù))是以AutoCAD的DWG文件的形式存在。由于數(shù)據(jù)格式與符號(hào)化的差異,為了保證信息不丟失,目前,由DWG數(shù)據(jù)創(chuàng)建地圖服務(wù)需要進(jìn)行復(fù)雜的數(shù)據(jù)格式轉(zhuǎn)換與符號(hào)化處理等工作,即需要先將DWG數(shù)據(jù)按圖層進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,轉(zhuǎn)換成ArcGIS的標(biāo)準(zhǔn)數(shù)據(jù)格式,然后再對(duì)各個(gè)數(shù)據(jù)圖層進(jìn)行符號(hào)化。當(dāng)DWG數(shù)據(jù)量較大時(shí),這種處理方式效率極低,而且還有可能存在信息丟失的可能。

      為了解決AutoCAD形式的地理空間數(shù)據(jù)生成ArcGIS“地圖瓦片”服務(wù)所面臨的轉(zhuǎn)換處理較復(fù)雜的問(wèn)題,本文基于AutoCAD二次開發(fā)語(yǔ)言O(shè)bjectARX進(jìn)行二次開發(fā),實(shí)現(xiàn)AutoCAD下由地理空間數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)。實(shí)踐表明,本文中的方法無(wú)須進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)規(guī)范化處理與復(fù)雜的符號(hào)化過(guò)程,可以由AutoCAD數(shù)據(jù)一步自動(dòng)完成ArcGIS“地圖瓦片”服務(wù)的創(chuàng)建。

      二、ArcGIS“地圖瓦片”創(chuàng)建與文件存儲(chǔ)組織規(guī)則

      ArcGIS地圖“瓦片”創(chuàng)建與文件存儲(chǔ)組織規(guī)則為:無(wú)論哪一級(jí)ArcGIS地圖“瓦片”切片,每張小圖片都是長(zhǎng)寬相同,且大小為2N像素的正方形網(wǎng)格;每一級(jí)切片都有一個(gè)相同的切片起始點(diǎn)(該起始點(diǎn)被簡(jiǎn)稱TSO,即為圖1中的A點(diǎn));由于每一級(jí)切圖比例尺不同,因此不同級(jí)別的瓦片對(duì)應(yīng)的實(shí)地大小范圍不同;每一級(jí)切片都以TSO為起點(diǎn),按照該級(jí)圖片對(duì)應(yīng)的實(shí)地長(zhǎng)寬進(jìn)行行列編號(hào),但地圖實(shí)際切片范圍為空間數(shù)據(jù)的最大范圍(切片原理如圖1所示);所有的切片文件都以文件的方式存儲(chǔ),一個(gè)切片服務(wù)對(duì)應(yīng)一個(gè)文件夾(簡(jiǎn)稱“服務(wù)總文件夾”),文件夾以地圖服務(wù)名命名;“服務(wù)總文件夾”下存放一個(gè)子文件夾(簡(jiǎn)稱“地圖文檔框架文件夾”),該文件夾命名與地圖服務(wù)對(duì)應(yīng)的地圖文檔框架名一致;“地圖文檔框架文件夾”下存放一個(gè)命名為“_allayers” 的子文件夾和一個(gè)名為conf.xml的配置文件;conf.xml文件記錄該切片服務(wù)的切片信息,主要包括:切圖的起始點(diǎn)坐標(biāo)、各級(jí)切片的比例尺、瓦片的圖片格式、瓦片大像素大小、地圖數(shù)據(jù)的空間參考系,如地圖投影、坐標(biāo)系等[4-5]。

      圖1 ArcGIS瓦片切片原理

      “_allayers”文件夾下存放一系列子文件夾,每個(gè)子文件夾對(duì)應(yīng)一級(jí)切片,每個(gè)子文件夾的命名為“LXX”,第1級(jí)切片對(duì)應(yīng)的子文件夾為L(zhǎng)00,第2級(jí)切片對(duì)應(yīng)的子文件夾為L(zhǎng)01,依次類推;每個(gè)LXX文件夾下還包含一系列子文件夾,每個(gè)子文件夾對(duì)應(yīng)一行的切片,文件夾命名以“R”開頭,后面加上一個(gè)8位長(zhǎng)度的數(shù)字字符串。該8位長(zhǎng)的字符串是對(duì)應(yīng)的瓦片行號(hào)的16進(jìn)制數(shù)值。如果不足8位,左邊加0補(bǔ)齊,如第29行對(duì)應(yīng)的子文件夾命名為R0000001d。每個(gè)R文件夾下存放該行切片的瓦片文件。每個(gè)瓦片文件以字母C開頭,后面加上一個(gè)8位長(zhǎng)度的數(shù)字字符串。該8位長(zhǎng)的字符串是對(duì)應(yīng)的瓦片列號(hào)的16進(jìn)制數(shù)值。如果不足8位,左邊加0補(bǔ)齊。如第26行第29列瓦片為“...R0000001aC0000001d.png”。地圖瓦片的數(shù)據(jù)組織與命名方式如圖2所示。

      圖2 ArcGIS瓦片文件組織與命名方式

      三、AutoCAD下自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)的方法

      1. 主要實(shí)現(xiàn)原理與思路

      本文提出的AutoCAD下地理空間數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)的方法主要基于AutoCAD二次開發(fā)語(yǔ)言O(shè)bjectARX進(jìn)行二次開發(fā)來(lái)實(shí)現(xiàn)。其主要思路是:用戶首先指定創(chuàng)建地圖瓦片服務(wù)的坐標(biāo)原點(diǎn)TSO(x0,y0)、切圖級(jí)數(shù)N及每一級(jí)的切圖比例尺(1∶M0)、圖片的大小L0×L0(單位為像素)、圖片的屏幕分辨率d0(單位DPI);然后基于ArcGIS“地圖瓦片”存儲(chǔ)組織規(guī)則,在AutoCAD下按照切圖比例尺從小到大的順序自動(dòng)為每個(gè)級(jí)別建立一個(gè)瓦片文件夾,第1級(jí)文件夾命名L00,第2級(jí)文件夾命名L01,依次類推。計(jì)算每一個(gè)切圖級(jí)別下所有圖片的左下角坐標(biāo)點(diǎn)Pl與右上角坐標(biāo)點(diǎn)Pr,采用AutoCAD的圖片打印輸出功能,將(Pl,Pr)對(duì)應(yīng)的矩形框范圍打印成小圖片,按照?qǐng)D片所在的行列號(hào)及ArcGIS瓦片文件組織與命名方式進(jìn)行命名。最后將生成的小圖片保存到其對(duì)應(yīng)級(jí)別的緩存文件夾中即可。

      如果切圖比例尺為1∶M0、每個(gè)圖片的大小L0×L0(單位為像素)、圖片的屏幕分辨率d0(單位DPI),則該切圖比例尺下,每個(gè)圖片對(duì)應(yīng)的實(shí)地大小為L(zhǎng)1×L1,L1(單位為m)為

      L1=(0.025 4 M0·L0)/d0

      則第i行第j(行列號(hào)從0開始編號(hào))圖片的左下角點(diǎn)的坐標(biāo)P1(X1,Y1)與右上角點(diǎn)的坐標(biāo)P2(X2,Y2)分別為

      式中,(x0,y0)為創(chuàng)建地圖瓦片服務(wù)的起始坐標(biāo)原點(diǎn)TS0,如圖1的左上角點(diǎn)A。

      2. 主要實(shí)現(xiàn)代碼

      (1) 判斷當(dāng)前待打印圖片范圍內(nèi)有無(wú)圖形要素

      由于程序創(chuàng)建地圖瓦片是從點(diǎn)TS0開始的,為了提高地圖瓦片生成的效率,并減少空白圖片。當(dāng)生成每個(gè)小瓦片時(shí),需要判斷該瓦片范圍內(nèi)有無(wú)要素,如果沒(méi)有,就不生成,否則就生成。部分代碼如下:

      ads_point pt1,pt2;

      ads_name ssnamefilter;

      long length;

      pt1[X] = X1;pt1[Y] = Y1;

      pt2[X] = X2;pt2[Y] = Y2;

      acedSSGet(_T("C"),pt1,pt2,NULL,ssnamefilter);

      acedSSLength(ssnamefilter,&length);

      (2) 設(shè)置打印窗口

      如果當(dāng)前范圍內(nèi)有要素,則設(shè)置打印窗口,打印生成對(duì)應(yīng)的小瓦片。

      AcDbObjectId layoutId;

      layoutId=pBTR->getLayoutId();

      AcDbLayout*pLayout=NULL;

      acdbOpenObject(pLayout,layoutId,AcDb::kForRead);

      AcDbPlotSettingsValidator*pPSV;

      pPSV=(AcDbPlotSettingsValidator*)acdbHostApplicationServices()->plotSettingsValidator();

      AcDbPlotSettings *pPlotSettings;

      pPlotSettings=newAcDbPlotSettings(pLayout->modelType());

      pPlotSettings->copyFrom(pLayout);

      ……

      pPSV->setPlotWindowArea(pPlotSettings,X1, Y1, X2, Y2);

      pPSV->setPlotType(pPlotSettings,PlotType::kWindow);

      pPSV->setPlotOrigin(pPlotSettings,X1, Y1);

      (3) 驅(qū)動(dòng)打印,生成小瓦片

      AcPlPlotEngine*pEngine=NULL;

      ……

      const TCHAR*szDocName=acDocManager->curDocument()->fileName();

      pEngine->beginDocument(plotInfo, szDocName, NULL, 1, true, goalFile);

      ……

      pEngine->beginPage(pageInfo, plotInfo, true);

      pEngine->beginGenerateGraphics();

      pEngine->endGenerateGraphics();

      (4) 小瓦片命名保存

      根據(jù)當(dāng)前小瓦片所在的行列號(hào),以及ArcGIS瓦片文件組織與命名方式對(duì)當(dāng)前小瓦片進(jìn)行命名。最后將生成的小瓦片保存到其對(duì)應(yīng)級(jí)別的緩存文件夾中。

      當(dāng)所有級(jí)別的瓦片全部生成完畢后,就可以通過(guò)ArcGIS創(chuàng)建一個(gè)空的“地圖瓦片”服務(wù),最后將AutoCAD下生成的地圖瓦片文件拷貝到ArcGIS Server緩存目錄下替換這個(gè)空的“地圖瓦片”緩存文件夾,這樣就實(shí)現(xiàn)了AutoCAD格式的地理空間數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)。

      四、結(jié)束語(yǔ)

      目前,在GIS開發(fā)及數(shù)據(jù)處理過(guò)程中,經(jīng)常需要將AutoCAD格式的地理空間數(shù)據(jù)處理成ArcGIS“地圖瓦片”服務(wù)。本文針對(duì)這一需求及傳統(tǒng)處理方式存在的問(wèn)題,同時(shí)結(jié)合ArcGIS“地圖瓦片”創(chuàng)建與文件存儲(chǔ)組織規(guī)則,提出了在AutoCAD中直接由AutoCAD格式的地理空間數(shù)據(jù)創(chuàng)建“地圖瓦片”服務(wù)的方法。應(yīng)用實(shí)踐表明,本文方法極大提高了AutoCAD格式的地理空間數(shù)據(jù)創(chuàng)建“地圖瓦片”服務(wù)的效率,節(jié)省了人力和物力,值得大力推廣。

      參考文獻(xiàn):

      [1]李海亭,費(fèi)立凡,彭清山,等.預(yù)生成思想在地理信息服務(wù)中的應(yīng)用研究[J]. 測(cè)繪信息與工程,2009,34(1):31-32.

      [2]王強(qiáng).分布式WebGIS地圖緩存策略的應(yīng)用研究[J].軟件導(dǎo)刊,2008(5):16-18.

      [3]馬維峰,王曉蕊,高松峰,等.基于服務(wù)器動(dòng)態(tài)緩存和Ajax技術(shù)的WebGIS開發(fā)[J].測(cè)繪科學(xué),2008,33(5):204-205.

      [4]郭明武,彭清山,李黎.ArcGIS Server中地圖瓦片實(shí)時(shí)在線局部更新方法研究[J]. 測(cè)繪通報(bào),2012(2):35-38.

      [5]ArcGIS Server大數(shù)據(jù)量地圖服務(wù)影像緩存建立方法初探[EB/OL].[2015-01-28].http:∥www.cnblogs.com/lovekitty/archive/2009/03/27/1423279.html.

      [6]周婷婷.電子地圖局部更新方法研究[J]. 地理空間信息,2014,12(4):162-163.

      [7]孫偉,李志慶,焦孟凱,等. 瓦片地圖動(dòng)態(tài)緩存中間件的優(yōu)化設(shè)計(jì)及實(shí)現(xiàn)[J]. 測(cè)繪通報(bào), 2014(1): 37-40.

      [8]周沛.智能交通系統(tǒng)中的瓦片地圖技術(shù)研究與應(yīng)用[D].上海:同濟(jì)大學(xué), 2008.引文格式: 胡應(yīng)龍,陳杰. NoSQL空間數(shù)據(jù)管理在省級(jí)水利數(shù)據(jù)共享服務(wù)平臺(tái)中的應(yīng)用[J].測(cè)繪通報(bào),2015(12):88-92.DOI:10.13474/j.cnki.11-2246.2015.387

      作者簡(jiǎn)介:洪濤(1971—),女,高級(jí)工程師,研究方向?yàn)榈乩硇畔⑾到y(tǒng)。E-mail: 940857079@qq.com

      收稿日期:2015-01-28

      中圖分類號(hào):P208

      文獻(xiàn)標(biāo)識(shí)碼:B

      文章編號(hào):0494-0911(2015)12-0085-03

      引文格式: 洪濤,譚仁春,李寧. AutoCAD數(shù)據(jù)自動(dòng)創(chuàng)建ArcGIS“地圖瓦片”服務(wù)的方法研究[J].測(cè)繪通報(bào),2015(12):85-87.DOI:10.13474/j.cnki.11-2246.2015.386

      猜你喜歡
      瓦片空間數(shù)據(jù)文件夾
      磁力文件夾
      一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
      慣性
      調(diào)動(dòng)右鍵 解決文件夾管理三大難題
      元數(shù)據(jù)驅(qū)動(dòng)的多中心空間數(shù)據(jù)同步方法研究
      TC一鍵直達(dá)常用文件夾
      電腦迷(2015年1期)2015-04-29 21:24:13
      基于NoSQL數(shù)據(jù)庫(kù)的瓦片地圖服務(wù)
      基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
      客戶端空間數(shù)據(jù)緩存策略
      多源空間數(shù)據(jù)同名實(shí)體幾何匹配方法研究
      昭苏县| 太康县| 钟山县| 密山市| 白山市| 汪清县| 阳信县| 临武县| 揭阳市| 江孜县| 康乐县| 尤溪县| 武平县| 澄江县| 丘北县| 娄底市| 郑州市| 辉县市| 威信县| 仁布县| 安岳县| 项城市| 博客| 宁南县| 冷水江市| 抚宁县| 叙永县| 无为县| 炎陵县| 灌阳县| 陆良县| 全南县| 东安县| 滕州市| 鲁山县| 和静县| 无为县| 远安县| 盐城市| 金沙县| 合水县|