999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MongoDB的地名信息管理

2014-08-05 05:32:45段麗娟亢曉琛
測繪通報 2014年10期
關鍵詞:信息

劉 亞,段麗娟,亢曉琛,孫 鎮(zhèn),趙 捷

(1.北京中誠盛源技術發(fā)展有限公司,北京 100020;2.武漢大學,湖北武漢 430079;3.中國測繪科學研究院,北京 100830;4.國家組織機構代碼管理中心,北京 100026)

基于MongoDB的地名信息管理

劉 亞1,段麗娟1,亢曉琛2,3,孫 鎮(zhèn)4,趙 捷4

(1.北京中誠盛源技術發(fā)展有限公司,北京 100020;2.武漢大學,湖北武漢 430079;3.中國測繪科學研究院,北京 100830;4.國家組織機構代碼管理中心,北京 100026)

一、引 言

地名是人們對具有特定方位、地理范圍的地理實體賦予的專有名稱,其本質(zhì)屬性包括兩個方面:指位性與社會性。指位性指地名所代表的地理實體在地球表面上具有一定的空間位置;社會性是指地名的命名、更名、發(fā)展、演變始終受到社會因素制約。地名信息系統(tǒng)(geographic names information system,GNIS)是由美國地質(zhì)勘察局(U.S.Geological Survey)聯(lián)合地名委員會(U.S.Board on Geographic Names)建立的自然與文化中包含了地理位置與名稱的數(shù)據(jù)庫,其目的在于促進地名信息的標準化[1]。在地理信息系統(tǒng)中,實體的定位依據(jù)是實體所在的地理位置[2]。地理位置是一個抽象的概念,難以進行操作,因此在城市地名庫的建立過程中,地名成為人與計算機或者手持設備進行溝通的紐帶。Excite是全球領先的個性化門戶網(wǎng)站,提供頂級搜索功能、門戶網(wǎng)站,郵件服務,即時通信等服務,根據(jù)該網(wǎng)站統(tǒng)計,與地理位置相關的查詢約占所有查詢的1/5,而出現(xiàn)頻率最高的關鍵字是地名[3]。在二維空間與三維空間應用中,地名數(shù)據(jù)可用于各類名稱檢索、空間范圍查詢,用于輔助空間信息可視化。在基于Web方式的地名標注應用中,不同的地物點往往對應不同類型、不同個數(shù)的字段。這種特殊的需求對傳統(tǒng)的模式化關系數(shù)據(jù)庫提出了極大的挑戰(zhàn)。在城市快速發(fā)展的背景下,城市地名表現(xiàn)出數(shù)量多、密度大、使用率極高等一系列特點[4]。因此,需要良好的數(shù)據(jù)組織模型與數(shù)據(jù)庫解決方案來支持地名的快速查詢。

MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,能夠為Web應用提供可擴展的高性能數(shù)據(jù)存儲解決方案,具有模式自由、支持二維地理空間索引、可存儲二進制數(shù)據(jù)對象、支持查詢和網(wǎng)絡訪問等一系列優(yōu)點[5]。MongoDB將關系型數(shù)據(jù)庫中“行”的概念轉(zhuǎn)換為“文檔”,支持文檔數(shù)據(jù)的內(nèi)嵌。由于無模式限制,MongoDB可為不同的地名提供多樣化的字段定義,而無須大量遷移數(shù)據(jù),從而使得數(shù)據(jù)模型具備靈活變更的能力。此外,MongoDB默認的存儲引擎中使用了內(nèi)存映射文件,將內(nèi)存管理交付操作系統(tǒng),其傳輸協(xié)議采用預分配策略,用空間換取性能穩(wěn)定,優(yōu)越的性能使其具備存儲管理大規(guī)模地名數(shù)據(jù)、應對多樣化存儲需求的能力。

本文所設計的地名信息管理系統(tǒng)以MongoDB為底層存儲解決方案。在此基礎上,設計了基于K-means聚類算法的地名層次組織模型,并用文檔字段來表征不同地名之間的級別關系。為便于地名應用訪問地名庫,設計與實現(xiàn)一系列地名文檔信息操作接口,用于支持地名入庫、建立空間索引、地名修改、地名查詢(范圍查詢、鄰近查詢及名稱查詢)等。

二、地名數(shù)據(jù)組織模型

地名數(shù)據(jù)組織模型描述了整個地名信息庫的層次組織結構,而這種層次關系需要通過單個地名文檔的結構字段來表達。具體定位一個位置時,還需要空間索引來輔助操作以提高地名檢索的效率。

1.基于K-means聚類算法的地名數(shù)據(jù)樹模型

在二維或三維可視化應用中,為了確保顯示效率與地圖要素不過于擁擠,單次顯示地名不能過于密集。在城市地區(qū),即使很小的地理范圍,對應的地名數(shù)據(jù)可能較眾多。而在農(nóng)村偏遠地區(qū),地名分布則可能較為稀疏。此外,地名具有行政歸屬,即不同地名節(jié)點之間可能具有從屬關系(如海淀區(qū)節(jié)點屬于北京市節(jié)點)。因此,必須采用分級的策略,同時兼顧地名密度。

K-means算法是經(jīng)典的基于劃分的聚類算法,其基本思想是:以空間中的k個點為中心進行聚類,對靠近他們的對象進行歸類。通過迭代方法,逐次更新聚類中心的值,直至得到理想的聚類結果。

為了同時兼顧地名行政歸屬與地名分布密度,首先將主要的地名按行政級別劃分為4個級別:0級(國家級)、1級(省、自治區(qū)、直轄市級)、2級(省會城市及地級市)、3級(區(qū)、縣、縣級市)。然后對從屬于3級的大量的低級地名進行聚類劃分,使得4級地名(聚類中心)與5級地名(村、鎮(zhèn))均保持有相對平衡的節(jié)點數(shù)目。地名的層次結構如圖1所示。

圖1 地名層次結構圖

2.地名結構描述

為了在數(shù)據(jù)庫中表達以上的層次關系,所有地名節(jié)點必須需具備最基本的一系列字段,用于反映上下級地名之間的關系。通過基本字段描述,整個地名數(shù)據(jù)庫的邏輯結構可得到有效表達。其他可選字段則是可根據(jù)需求動態(tài)進行添加、刪除、編輯。地名節(jié)點的字段列舉如下:

1)地名標識(必選):唯一值,不允許重復,用于標識唯一一個節(jié)點。

2)地名名稱(必選):描述該節(jié)點的地理名稱。

3)地名位置(必選):以經(jīng)緯度方式表達的獨立坐標位置。

4)地名級別(必選):取0~5中的一個值。

5)子節(jié)點個數(shù)(必選):從屬于當前節(jié)點的子節(jié)點個數(shù)。

6)父節(jié)點標識(必選):所屬節(jié)點標識。

7)標注信息1(可選):如文字信息。

8)標注信息2(可選):如圖片信息。

9)標注信息3(可選):如視頻信息。

10)……

對于任意一個地名(假設標識為N,父節(jié)點標識為M,級別位L),可以獲取它的父節(jié)點及子節(jié)點列表。由于每個地名記錄存儲了父節(jié)點標識,根據(jù)標識M可直接訪問父節(jié)點的地名信息。由于子節(jié)的地名與父節(jié)點地名的級別差為1,聯(lián)合查詢級別與父節(jié)點標識兩項字段即可返回當前地名的下級地名信息,即查詢級別為L-1,且父節(jié)點為N的所有地名文檔。為了加速索引過程,需要對標識、父節(jié)點標識及地名級別建立索引。

在MongoDB數(shù)據(jù)庫中,采用了JSON(javascript object notation)格式來表述。單個地名的文本表達方式如下(以最低級的村莊地名文檔為例):

3.索 引

在進行空間檢索之前,需對空間范圍內(nèi)的地理要素構建空間索引,以便于按范圍訪問。由于地名數(shù)據(jù)位置信息為空間點位置,對應的空間索引也針對點集進行構建。Mongodb將整個地理范圍劃分為坐標網(wǎng)格,并采用geohash方式對網(wǎng)格進行編碼,然后計算各個坐標位置對應的geohash值。計算geohash需要將二維空間范圍迭代劃分為4個象限,然后為對每個象限進行雙位編碼。如圖2所示,一個4象限可以表達為4個兩位數(shù)字(如00,10,01,11)。每個兩位數(shù)對應一個象限與所有位于對應象限內(nèi)的坐標位置。這樣,所有位于左下角的點,均對應的geohash值均為00,以此類推,左上為01,右下為10,右上為11。要提高檢索精度,可對每個象限作進一步劃分。這樣,每個坐標位置將對應更長的檢索位。

圖2 空間劃分與空間索引

在將地名信息導入到數(shù)據(jù)庫后,選擇標識地理位置的字段(如經(jīng)度、緯度)創(chuàng)建空間索引。MongoDB已經(jīng)提供了空間范圍的默認劃分方式,并提供了對球面計算與平面幾何計算的支持,只需要調(diào)用相關命令創(chuàng)建即可。

三、地名庫接口設計與實現(xiàn)

地名數(shù)據(jù)管理系統(tǒng)需要實現(xiàn)基本的數(shù)據(jù)錄入、數(shù)據(jù)修改,空間索引建立、各種空間查詢接口,以便于外部應用訪問。

數(shù)據(jù)錄入接口提供了按行讀取文本方式,字段的定義在首行。通過對首行文本的分析,可得到所有字段名稱及類型。其格式定義如下:

Field1(Type)Field2(Type)Field3(Type)……

讀取首行信息后,可得到基本的地名結構描述定義,從而錄入各個字段。數(shù)據(jù)錄入接口的定義較為簡單,只需要提供文件路徑即可,其定義如下:

void ImportFromTxt(const char?filepathname)

空間索引是進行空間查詢的基礎,必須在查詢之前進行構建。構建空間索引時,需要指定坐標對的具體字段。本系統(tǒng)支持二維空間坐標索引,需提供標識橫坐標與縱坐標的兩個字段。接口定義如下:

數(shù)據(jù)修改針對某個具體記錄進行,需提供對應的記錄標識。為了快速定位修改對象,需要對所有記錄預先按照標識字段構建索引。其接口定義如下:

空間查詢包括了按照范圍、空間臨近及按字段名稱查詢。其定義為:

其中,f定義了被查詢的字段,value定義了被查詢值。

地名管理引擎的實現(xiàn)基于MongoDB所提供的C++driver完成。通過封裝成動態(tài)鏈接庫或可執(zhí)行文件,以方便在二維與三維應用中調(diào)用。在應用中,往往需要組合調(diào)用多個接口來實現(xiàn)特定的數(shù)據(jù)更新需求。一般流程為:①選擇所需的查詢接口來定位需要更新的地名文檔;②根據(jù)定名標識逐個更新地名。

四、應 用

本系統(tǒng)已成功應用于基于Web方式的地名標注地理信息系統(tǒng)與三維地名可視化系統(tǒng)平臺。在地名標注地理信息系統(tǒng)中,用戶可在地圖背景下動態(tài)添加點或線類型的地名標注。對于不同的標注項,用戶可以個性化地增加標注內(nèi)容,如文字,圖片及上傳的其他相關文件。不同標注項對標注內(nèi)容的個數(shù)沒有限制。Web端所標注的信息可動態(tài)插入到對應地名文檔中,各地名文檔均不受模式約束。

在三維應用中,地名數(shù)據(jù)以獨立的顯示圖層加載到三維引擎中。為確保地名渲染速度及解決圖面地名擁擠問題,地名的展示應依尺度進行變化,即隨著可視化尺度的變化,地名數(shù)據(jù)可動態(tài)顯示或隱藏,以確保顯示調(diào)度的效率。圖3與圖4為同一地區(qū)兩個不同尺度的地名顯示狀態(tài)。在圖3對應的尺度下,僅顯示了地級市級別的地名(如長沙市、南昌市)。在此基礎上,經(jīng)過地圖放大,縣級市的地名則全部顯示出來(如圖4所示)。通過地名層次組織結構,不同的層次細節(jié)信息得到調(diào)度顯示。

圖3 三維地名可視化―――尺度1

圖4 三維地名可視化―――尺度2

五、結束語

基于MongoDB的地名數(shù)據(jù)管理可支持大量地名信息存儲,查詢方式及自定義方式更新等需求。傳統(tǒng)關系型數(shù)據(jù)的模式化限制得到有效解決,從而支持多樣化地名標注。內(nèi)置的空間索引功能,使得基于關系數(shù)據(jù)庫開發(fā)地名信息系統(tǒng)的復雜度得到有效降低。通過在地名標注地理信息系統(tǒng)與三維地名可視化應用中發(fā)現(xiàn),基于MongoDB的地名信息管理是可行的技術方案。

[1]HILL L L,F(xiàn)REW J,ZHENG Q.Geographic Name[J]. D-Lib Magazine,1999,5(1):17.

[2]江春發(fā).城市地名庫的建立[J].測繪通報,2000 (9):23-24.

[3]SANDERSON M,KOHLER J.Analyzing Geographic Queries[C]∥SIGIR Workshop on Geographic Information Retrieval.[S.l.]:[s.n.],2004,2.

[4]傅立憲.上海市地名管理信息系統(tǒng)設計思想[J].中國地名,1997(2):29-30.

[5]MEMBREY P,PLUGGE E,HAWKINS T.The Definitive Guide to MongoDB:the noSQL Database for Cloud and Desktop Computing[M].[S.l.]:Apress,2010.

Geographic Names Management Based on MongoDB

LIU Ya,DUAN Lijuan,KANG Xiaochen,SUN Zhen,ZHAO Jie

地名數(shù)據(jù)具有數(shù)據(jù)量大、數(shù)據(jù)結構復雜、查詢方式多樣等一系列特征。傳統(tǒng)的關系型數(shù)據(jù)庫在存儲地名信息數(shù)據(jù)時,往往需要預先定義數(shù)據(jù)表結構,難以實現(xiàn)動態(tài)增加多樣化地名屬性信息的功能。此外,復雜的地理查詢需求也難以得到滿足。本文提出一種基于非關系型數(shù)據(jù)庫MongoDB的地名數(shù)據(jù)存儲管理方式,可滿足地名存儲的各種需求。同時,屬性查詢、空間鄰近查詢、空間范圍查詢均能得到有效支持。

MongoDB;地名數(shù)據(jù);地名存儲;地名查詢

P208

B

0494-0911(2014)10-0117-04

2013-10-08

國家科技支撐計劃(2012BAH24B 02;2013BAK07B03)

劉 亞(1977―),男,重慶巫山人,工程師,主要研究方向為信息系統(tǒng)架構、商業(yè)智能及數(shù)據(jù)挖掘。

劉亞,段麗娟,亢曉琛.基于MongoDB的地名信息管理[J].測繪通報,2014(10):117-120.

10.13474/j.cnki.11-2246.2014.0346

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
展會信息
展會信息
展會信息
展會信息
展會信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 美女免费精品高清毛片在线视| 国产91成人| 欧美日韩一区二区在线免费观看 | 国产欧美日韩另类| 欧美亚洲一二三区| 国产91高跟丝袜| 国产第一福利影院| 国产欧美另类| 国产第一页第二页| 欧美精品三级在线| 亚洲AⅤ无码日韩AV无码网站| 日韩黄色精品| 18禁不卡免费网站| 国产91熟女高潮一区二区| 91精品啪在线观看国产60岁| 91极品美女高潮叫床在线观看| 沈阳少妇高潮在线| 久久伊人久久亚洲综合| 国产一区二区人大臿蕉香蕉| 国产真实乱了在线播放| 国产精品青青| 亚洲国产精品美女| 伊人激情综合网| 五月婷婷丁香色| 国产福利微拍精品一区二区| 综合五月天网| 99久久精品国产自免费| 日韩无码精品人妻| 特级欧美视频aaaaaa| 精品视频免费在线| 日本午夜网站| 久久九九热视频| 午夜一区二区三区| 精品成人一区二区| 激情国产精品一区| 国产性爱网站| 亚洲无限乱码| 国产综合亚洲欧洲区精品无码| 乱人伦中文视频在线观看免费| 天堂va亚洲va欧美va国产| 国产成人无码播放| 伦精品一区二区三区视频| 91视频日本| 亚洲AⅤ无码国产精品| 三级毛片在线播放| 国产精品30p| 国产一线在线| 一级毛片视频免费| 国产资源站| 午夜a视频| 99热这里只有精品2| 国产欧美精品一区二区| 国产成人精彩在线视频50| 狠狠操夜夜爽| 免费看a级毛片| 免费一级毛片在线观看| 中国精品自拍| 午夜国产大片免费观看| 国产无码高清视频不卡| 亚洲国产成人无码AV在线影院L | 亚洲无码37.| 深爱婷婷激情网| 国产尹人香蕉综合在线电影| 亚洲国产黄色| 日本一本在线视频| 国产网站免费| 超碰91免费人妻| 天天摸夜夜操| 亚洲精品另类| YW尤物AV无码国产在线观看| 在线精品自拍| 亚洲日韩每日更新| 亚洲天堂久久久| 巨熟乳波霸若妻中文观看免费 | 亚洲欧美成aⅴ人在线观看| 国产男人的天堂| 欧美97色| 视频国产精品丝袜第一页| 一级爆乳无码av| 国产激情在线视频| 高清免费毛片| 亚洲制服中文字幕一区二区|