亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多源地圖服務(wù)的專題地圖生成算法

        2015-02-07 07:44:57
        地理空間信息 2015年4期
        關(guān)鍵詞:專題地圖圖例瓦片

        徐 亮

        (1. 福建省基礎(chǔ)地理信息中心,福建 福州350001)

        基于多源地圖服務(wù)的專題地圖生成算法

        徐 亮1

        (1. 福建省基礎(chǔ)地理信息中心,福建 福州350001)

        在B/S體系結(jié)構(gòu)下,實現(xiàn)基于地圖切片和ArcGIS Server地圖服務(wù)的專題地圖動態(tài)生成算法。分析了地圖切片的組織特點及其像素與坐標(biāo)的轉(zhuǎn)換方法,運用標(biāo)準(zhǔn)的REST訪問接口和GDI+技術(shù),設(shè)計并實現(xiàn)了多尺度、多源數(shù)據(jù)的裁剪、拼接以及在特定位置渲染地圖要素的算法。并以山東省測量標(biāo)志動態(tài)監(jiān)管信息系統(tǒng)為例,證明了該方法的可行性。

        地圖切片;專題地圖;多源;REST接口;GDI+

        數(shù)據(jù)是GIS研究的基石,分布式地圖服務(wù)是人們?yōu)榱藢崿F(xiàn)數(shù)據(jù)成果共享而采用的一種技術(shù)手段,當(dāng)前在線電子地圖幾乎都使用分布式切片技術(shù)來提供一種低成本、流暢的、數(shù)據(jù)豐富的在線服務(wù),并且將服務(wù)免費共享給其他用戶使用。隨著各種OGC地圖服務(wù)標(biāo)準(zhǔn)的制定,網(wǎng)絡(luò)上呈現(xiàn)出很多標(biāo)準(zhǔn)化的地圖服務(wù),這些不同來源的地圖數(shù)據(jù),使人們有了更多的選擇。然而,有時對地圖切片的簡單瀏覽并不能滿足用戶的特定需求,他們希望利用網(wǎng)絡(luò)地圖作為自己的基礎(chǔ)數(shù)據(jù),并結(jié)合自己的專題業(yè)務(wù)數(shù)據(jù),制作一幅專題地圖,以滿足特定的應(yīng)用需求。但是,這些服務(wù)是基于網(wǎng)絡(luò)形式發(fā)布的,即便提供了方便的訪問接口,也很難滿足用戶的特殊需求。對此問題,國內(nèi)的研究絕大多數(shù)局限于抓取切片和單數(shù)據(jù)源切片拼接[1-3]。

        1 專題圖生成方法

        專題圖在服務(wù)器端生成,客戶端向服務(wù)器發(fā)送請求,并附帶多源數(shù)據(jù)相關(guān)參數(shù)和輸出的專題圖參數(shù),服務(wù)器端程序?qū)φ埱筮M(jìn)行處理,根據(jù)參數(shù)進(jìn)行相關(guān)計算,并從遠(yuǎn)程地圖服務(wù)器提取地圖數(shù)據(jù),然后按一定的規(guī)則進(jìn)行拼接、異源數(shù)據(jù)疊加、裁剪等數(shù)據(jù)處理,最后繪制專題地圖輔助要素,并將處理好的結(jié)果輸出到客戶端(圖1)。

        圖1 專題數(shù)據(jù)處理流程

        1.1 GDI+技術(shù)

        GDI是Window操作系統(tǒng)的圖形設(shè)備接口,它的主要任務(wù)是負(fù)責(zé)系統(tǒng)與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。GDI+是GDI的改進(jìn)版本,是面向?qū)ο缶幊痰膱D形框架,相對于GDI具有更高的編程效率、更快的繪圖速度、更穩(wěn)定的內(nèi)存資源管理。

        GDI處理圖像是在Window坐標(biāo)空間進(jìn)行的,Window有3種坐標(biāo)空間,分別為邏輯坐標(biāo)、設(shè)備坐標(biāo)、物理坐標(biāo)。GDI+繪圖時,是在邏輯坐標(biāo)系下進(jìn)行的,它與地理坐標(biāo)系不同,它的位置可以由用戶自己設(shè)定,和具體的硬件設(shè)備無關(guān)[4]。它以像素點作為坐標(biāo)單位,坐標(biāo)原點可以用戶自行設(shè)定,一般在一個圖形畫布的左上角,X軸水平向右為正,Y軸豎直向下為正,與地理坐標(biāo)系的Y軸方向相反。

        目前電子地圖的開發(fā)多是基于MapObjects、Mapx等GIS控件或是直接利用高級語言從底層開發(fā),其本質(zhì)還是利用Windows提供的圖形繪制接口(GDI)編程實現(xiàn)圖形顯示[5]。

        1.2 地圖瓦片

        地圖瓦片(map tile,又稱“地圖緩存”)是按照一定的數(shù)學(xué)規(guī)則,在預(yù)先設(shè)定的不同比例尺下,把整個地圖切割成一定規(guī)格大小的圖片,并保存圖片副本拷貝到地圖服務(wù)器中。當(dāng)服務(wù)器收到客戶端對地圖服務(wù)的請求時,就會根據(jù)切割和存儲規(guī)則,找到圖片并發(fā)送到客戶端,從而有效地減輕GIS服務(wù)器的負(fù)荷,提升地圖瀏覽速度。

        瓦片的切割是基于金字塔模型進(jìn)行的,該模型是一種多分辨率層次模型,從金字塔的底層到頂層,地理范圍不變,但分辨率越來越低。如圖2所示,在切割金字塔瓦片的同時建立線性四叉樹編碼[6],然后發(fā)布成符合標(biāo)準(zhǔn)OGC WMTS服務(wù)規(guī)范的地圖服務(wù)。根據(jù)這個規(guī)范定義的標(biāo)準(zhǔn)接口,可以獲取任意位置的地圖瓦片。

        圖2 瓦片金字塔模型[6]

        1.3 瓦片索引轉(zhuǎn)換

        瓦片在空間上的組織方式表示為行列號,以左上角為編號原點,定義為(0,0),即行號為0,列號為0,然后行列坐標(biāo)軸分別向右和向下延伸。在標(biāo)準(zhǔn)OGC的WMTS服務(wù)規(guī)范中,提供了獲取瓦片的GetTile接口,它需要2個基本參數(shù),即行號和列號,可以根據(jù)地圖分辨率和瓦片像素大小計算特定地理范圍所對應(yīng)的瓦片行列號。首先,根據(jù)瓦片地圖服務(wù)元數(shù)據(jù)提供的當(dāng)前輸出比例尺的地圖分辨率,可以計算出一個切片像素大小 (切片像素大小一般為256×256) 所代表的地理范圍,然后通過地圖范圍和用戶選取的地理范圍,計算出對應(yīng)的切片坐標(biāo)范圍。計算公式如下:

        picHWDegree = Resolution * picHW

        左下點列號=(ExtentXMIN + FullExtentXMAX)/ picHWDegree-1

        右上點列號=(ExtentXMAX + FullExtentXMAX)/picHWDegree-1

        左下點行號=(FullExtentYMAX - ExtentYMIN)/ picHWDegree-1

        右上點行號=(FullExtentYMAX - ExtentYMAX)/picHWDegree-1

        其中,Resolution為地圖分辨率;picHW為切片像素長寬;picHWDegree為切片像素大小對應(yīng)的地理坐標(biāo) 范 圍;ExtentXMIN、ExtentXMAX、ExtentYMIN、ExtentYMAX為用戶選取范圍的最小x坐標(biāo)、最大x坐標(biāo)、最小y坐標(biāo)、最大y坐標(biāo);FullExtentXMAX、FullExtentXMAX、FullExtentYMAX、FullExtentYMAX為地圖范圍的最小x坐標(biāo)、最大x坐標(biāo)、最小y坐標(biāo)、最大y坐標(biāo)。

        1.4 疊加偏移

        考慮到算法的一般性原則,采取所有疊加圖和要素添加到專題圖后再進(jìn)行裁剪的方法。在將非底圖地圖服務(wù)數(shù)據(jù)添加到底圖上時,需要計算X和Y軸的偏移量。如果疊加的是WMS服務(wù)或MapServer服務(wù),那么可以輸出一張與用戶選取范圍相同的圖片,這樣只需要考慮左上角的偏移量。WMS或MapServer在ArcGIS Server中,默認(rèn)輸出最大像素大小為2 048×2 048的圖片,當(dāng)輸出范圍超過這個像素范圍時,這種情況與輸出的瓦片形式的疊加圖類似,需要先拼接選擇范圍內(nèi)的所有圖片再進(jìn)行疊加。左上角偏移像素的計算公式如下:

        offsetX =(ExtentXMIN/picHWDegree%1)*picHW

        offsetY =(1-( ExtentYMAX/picHWDegree%1))* picHW

        1.5 輔助要素的繪制

        圖例是地圖上表示地理事物的符號,它有助于用戶更方便地使用地圖、理解地圖內(nèi)容。圖例包含標(biāo)題、圖層名、地圖符號及其所代表的值、值范圍或意義,一般放置在一側(cè)或一角。圖例的布局按左對齊的方式進(jìn)行排版,放置在右下角,圖例繪制流程如下:

        1)根據(jù)圖例內(nèi)容、間距以及排列方式計算適應(yīng)的圖例畫布的高度和寬度。

        2)通過專題地圖的總長寬和圖例畫布,計算畫布距離左邊界和上邊界的間距,在地圖右下角繪制圖例的矩形畫布。

        3)圖例名稱水平居中繪制,因此需要根據(jù)名稱字體樣式和字符長度計算圖例名所占空間的高度和寬度,然后根據(jù)上一步計算的畫布寬度,得到水平居中的繪制起點。

        4) 按一定的行間距換行,左對齊繪制圖層名稱。

        5)按一定的行間距換行,繪制圖層符號以及符號注釋文本。

        6)按3)和4)的步驟循環(huán)繪制出所有圖層的圖例。

        PmGSTd1 cDNA全長為977 bp,ORF為720 bp,5′端非編碼區(qū) 166 bp,3′端非編碼區(qū) 78 bp(圖 1)。該基因編碼 240個氨基酸,N端 1-18號氨基酸(MKHSLALLAIAFLQTAIA)為信號肽(圖1雙劃線部分),可以推測其為 1個分泌蛋白;另外,3′端存在一個可能的AATAAA加尾信號(圖1下劃線部分)。PmGSTd1編碼氨基酸的理化性質(zhì)如表 1所示,PmGSTd1編碼240個氨基酸,分子質(zhì)量為27.28 kD;該蛋白呈弱疏水性,結(jié)構(gòu)穩(wěn)定;等電點為8.41,說明此蛋白在pH=8.41的溶液中最不穩(wěn)定,溶解度最小。

        1.6 拼接、裁剪、疊加的實現(xiàn)

        切片或矢量圖片的拼接、疊加、裁剪關(guān)鍵在于計算偏移像素,拼接的偏移是根據(jù)繪制的切片行列號計算得到的,疊加計算按§1.4中所述思路,裁剪的偏移是要計算左上角和右下角的偏移像素,并根據(jù)選取范圍和§1.4中的計算思路計算得到。本研究采用GDI+進(jìn)行實現(xiàn),使用到的關(guān)鍵類包括System.Drawing.Bitmap、System.Drawing.Image和 System.Drawing.Graphics,前者封裝了一個位圖,Image類保存切片或矢量圖片;后者封裝了一個繪圖圖面,它提供了繪圖的主要方法。以下是實現(xiàn)拼接的示例代碼:

        //創(chuàng)建位圖

        Bitmap bitmap = new Bitmap(width, height);

        //在位圖中創(chuàng)建繪圖圖面

        Graphics g = Graphics.FromImage(bitmap);

        //設(shè)置繪圖參數(shù)

        g.CompositingQuality = CompositingQuality. HighQuality;

        g.InterpolationMode= InterpolationMode. HighQualityBicubic;

        g.SmoothingMode = SmoothingMode.HighQuality;

        g.Clear(Color.White);

        //獲取一個切片,并根據(jù),偏移量和切片長度和寬度,繪制到位圖上

        //url服務(wù)地址,row,col,是請求的行列號

        Image tile = getImage(string.Format(url, row, col))

        g.DrawImage(tile,new Rectangle(tileOffsetX,tileOffse tY,picWidth, picWidth));

        其中,tileOffsetX=tileOffsetY=當(dāng)前拼接的切片所在畫布中的行列數(shù)×picWidth。Width和Height為畫布的長和寬,是將選取的地理范圍轉(zhuǎn)換成像素得到的,為一個切片像素大小的整數(shù)倍。

        2 應(yīng)用實例

        本示例調(diào)用了天地圖山東的WMTS服務(wù)和系統(tǒng)在ArcGIS Server中發(fā)布的Map Services服務(wù),通過多源數(shù)據(jù)疊加融合生成一幅標(biāo)志點專題地圖,各種數(shù)據(jù)源的資源訪問均使用Rest訪問接口實現(xiàn),它暴露的所有資源和操作都可以通過每個GIS服務(wù)的端點獲得[7]。WMTS的REST接口如下:

        string url =”http://www.sdmap.gov.cn/tileservice/{0}?

        SERVICE=WMTS&VERSION=1.0&username=test 123&password=test123&REQUEST=GetTile&LAYER=0 &STYLE=default&FORMAT=mage/png&TILEMATRIX SET=sss&TILEMATRIX={1}&TILEROW={2}&TILEC OL={3}";

        其中,{0}為地圖類型變量;{1}為比例尺;{2}和{3}分別為行列號變量。調(diào)用以下代碼獲取切片數(shù)據(jù):

        HttpWebRequest req=(HttpWebRequest)WebRequest. Create(url);

        HttpWebResponse resp = (HttpWebResponse)req. GetResponse();

        Stream stream = resp.GetResponseStream();

        return System.Drawing.Image.FromStream(stream);

        Map Services服務(wù)的REST接口與之類似,但是需要調(diào)用服務(wù)的Export操作接口,并調(diào)用以上代碼獲取圖片數(shù)據(jù)。圖3為本項目效果圖,可控制是否輸出圖例。

        圖3 生成的專題圖

        3 結(jié) 語

        以天地圖山東地圖服務(wù)為背景底圖,以項目的業(yè)務(wù)數(shù)據(jù)為專題數(shù)據(jù)進(jìn)行處理,可根據(jù)用戶需要,依據(jù)標(biāo)準(zhǔn)OGC服務(wù)接口,生成特定范圍和比例尺、用于特定使用場合的標(biāo)準(zhǔn)專題地圖。結(jié)果表明,本方法可以較合理地生成標(biāo)準(zhǔn)專題地圖。

        [1] 王曉東,劉慧平,喬瑜.利用Bing Maps地圖切片實現(xiàn)網(wǎng)絡(luò)地圖服務(wù)[J].國土資源遙感, 2010(2):122-127

        [2] 劉亞東,李青元,譚海,等.開源庫GDAL及其在影像拼接中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(2):88-89

        [3] 韋勝.ArcEngine環(huán)境下實現(xiàn)瓦片地圖的訪問與拼接[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2012(6):737-740

        [4] 王社偉,朱如鵬.Windows操作系統(tǒng)中的GDI坐標(biāo)系統(tǒng)[J].計算機與現(xiàn)代化,2003(4):13-15

        [5] 車森,劉海硯,劉輝,等.GDI+在電子地圖可視化中的應(yīng)用[J].測繪科學(xué),2008(1):226-228

        [6] 蘇旭明,譚建成. WebGIS中瓦片地圖關(guān)鍵技術(shù)研究[J].北京測繪,2012(2):9-12

        [7] 許卓明,栗明,董逸生.基于RPC和基于REST的Web服務(wù)交互模型比較分析[J].計算機工程,2003,29(20):6-8

        P208

        B

        1672-4623(2015)04-0168-03

        10.3969/j.issn.1672-4623.2015.04.060

        徐亮,碩士,工程師,研究方向為數(shù)據(jù)庫技術(shù)和GIS應(yīng)用。

        2015-01-22。

        項目來源:福建省測繪地理信息科技創(chuàng)新基金資助項目(201309)。

        猜你喜歡
        專題地圖圖例瓦片
        圖線、箭頭的含義和圖例
        天安門地區(qū)三維立體實景系統(tǒng)建設(shè)及專題地圖服務(wù)
        北京測繪(2021年8期)2021-10-20 05:09:58
        一種基于主題時空價值的服務(wù)器端瓦片緩存算法
        慣性
        揚子江(2019年1期)2019-03-08 02:52:34
        找拼圖
        犬狗的畫法(六)
        老年教育(2018年6期)2018-07-06 08:03:18
        基于CorelDRAW與MAPGIS的專題地圖制作技巧
        如何讓學(xué)生巧用圖例解決數(shù)學(xué)問題
        地震應(yīng)急專題地圖快速化產(chǎn)出研究
        山西地震(2014年3期)2014-09-11 02:09:12
        基于NoSQL數(shù)據(jù)庫的瓦片地圖服務(wù)
        免费男人下部进女人下部视频| 国产高颜值女主播在线| 熟妇熟女乱妇乱女网站| 亚洲精品久久久无码av片软件| 久热爱精品视频在线观看久爱| 看中文字幕一区二区三区| 久久综合噜噜激激的五月天| 激情偷乱人成视频在线观看| 亚洲AV无码一区二区二三区我| 久久最黄性生活又爽又黄特级片 | 邻居少妇张开腿让我爽了一夜| 欧美极品少妇无套实战| 久久精品—区二区三区无码伊人色 | 美艳善良的丝袜高跟美腿| 国产国语一级免费黄片| 国产内射视频在线免费观看| 亚洲人成网址在线播放| 国产福利酱国产一区二区| 97超碰国产一区二区三区| 精品国产品香蕉在线| 欧美丰满熟妇aaaaa片| 久久久久综合一本久道| 亚洲av午夜福利精品一区不卡| 在线看无码的免费网站| 久久aⅴ无码av免费一区| 精品人妻一区二区蜜臀av| 日本一二三区在线观看视频| 无码人妻久久一区二区三区不卡| 久久福利资源国产精品999| 羞涩色进入亚洲一区二区av| 少妇高潮惨叫久久久久电影69| 亚洲av片不卡无码久久| 国产高清黄色在线观看91| 邻居美少妇张开腿让我爽了一夜| 亚洲国产成人无码av在线影院| 久久久久久久妓女精品免费影院 | 亚洲中文字幕国产剧情| 综合五月激情二区视频| 日本黄页网站免费大全| 国产福利小视频在线观看| 成人性生交大片免费看激情玛丽莎 |