• 
    

    
    

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

      基于Lucene和PostGIS的地圖搜索研究

      2014-06-27 05:47:30明,羅榮,胡
      測繪通報 2014年11期
      關(guān)鍵詞:全文檢索矢量檢索

      梁 明,羅 榮,胡 最

      (1.南京師范大學(xué)虛擬地理環(huán)境教育部重點實驗室,江蘇 南京 210023;2.華中師范大學(xué)城市與環(huán)境科學(xué)學(xué)院,湖北 武漢 430079)

      基于Lucene和PostGIS的地圖搜索研究

      梁 明1,羅 榮2,胡 最1

      (1.南京師范大學(xué)虛擬地理環(huán)境教育部重點實驗室,江蘇 南京 210023;2.華中師范大學(xué)城市與環(huán)境科學(xué)學(xué)院,湖北 武漢 430079)

      基于網(wǎng)絡(luò)的地圖搜索是空間信息共享和互操作的基礎(chǔ),隨著移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)地圖搜索更成為人們獲取空間信息的重要手段和網(wǎng)絡(luò)入口。本文分析了當前主流的客戶端/數(shù)據(jù)庫模式的WebGIS地圖搜索的不足與瓶頸,構(gòu)建了客戶端/ Lucene/數(shù)據(jù)庫的三元模式的地圖搜索架構(gòu);探討實現(xiàn)了PostGIS中地理對象到Lucene索引的映射機制,并針對Web客戶端對檢索結(jié)果矢量要素傳輸和渲染能力的不足,提出基于拓撲操作的矢量要素動態(tài)加載機制。本文提高了用戶檢索的靈活性和檢索結(jié)果的針對性、有效性,為智慧城市建設(shè)和WebGIS的應(yīng)用提供了更好的支持。

      地圖搜索;WebGIS;全文檢索;PostGIS;Lucene

      一、引 言

      隨著萬維網(wǎng)和移動互聯(lián)技術(shù)的發(fā)展,網(wǎng)絡(luò)已經(jīng)成為人們獲取信息的重要手段。面對浩如煙海的網(wǎng)絡(luò)信息,如何及時準確地獲取人們最為關(guān)心、最有價值的資訊,成為對“搜索引擎”這一網(wǎng)絡(luò)第一入口的核心要求。眾所周知,地球上80%左右的信息都與空間位置有關(guān),自從Google Maps誕生以來,基于WebGIS和移動GIS的地圖搜索就成為人們獲取空間位置信息及日常出行交通咨詢的重要手段[1-2]。因此國內(nèi)外學(xué)者對WebGIS的理論與方法進行了深入而廣泛的研究。從基于SVG/GML的客戶端表達與渲染到基于金字塔結(jié)構(gòu)的服務(wù)端瓦片式WMS服務(wù)發(fā)布,從WFS-T的在線編輯到WPS的地理信息服務(wù)標準,一系列的研究與實踐極大地促進了Web-GIS的發(fā)展。然而,盡管WebGIS的發(fā)展取得了長足的進步,仍然不能夠滿足人們對地圖搜索的需求。究其原因主要在于WebGIS的地圖搜索主要集中在對地理對象幾何特征的研究與優(yōu)化,如基于Markov模型的切片動態(tài)預(yù)加載[3]、POI的服務(wù)端優(yōu)化等[4],卻較少對地圖搜索中地理對象的語義特征進行詳細深入的研究。目前的WebGIS地圖搜索仍然是基于關(guān)鍵字匹配的方式,即在不同字段間查找符合輸入關(guān)鍵字匹配要求的地理對象,無法支持復(fù)雜語義的查詢。盡管D.Mark與M.Egenhofer[5]、杜沖[6]、徐愛萍[6]等對地理對象及其空間關(guān)系的語義特征進行了相關(guān)研究,然而仍停留在理論探索階段,而針對基于WebGIS地圖搜索具體實現(xiàn)方法和手段的研究卻缺乏,難以支撐日益迫切的地圖搜索需求。

      本文針對地圖搜索的需求,在分析傳統(tǒng)地圖搜索存在問題與不足的基礎(chǔ)上,基于開源框架搭建了WebGIS地圖搜索系統(tǒng);并引入Lucene全文搜索引擎,探討了Lucene索引與PostGIS空間數(shù)據(jù)庫的映射機制,增強了地圖搜索引擎構(gòu)建復(fù)雜、靈活查詢的能力,改善了用戶體驗,提高了人們獲取有效信息的效率。

      二、理論與方法

      1.當前地圖搜索的瓶頸與不足

      傳統(tǒng)的地圖搜索基本遵循以下步驟:首先,提供UI界面,接收用戶輸入搜索關(guān)鍵詞;其次,將用戶輸入的關(guān)鍵詞構(gòu)造為查詢字符串,如利用“l(fā)ike”“?”“?”等通配符對關(guān)鍵詞進行簡單的擴展;再次,基于Ajax發(fā)起檢索請求,由服務(wù)端到數(shù)據(jù)庫的特定字段去查詢與擴展后的關(guān)鍵詞相匹配的對象,并返回搜索結(jié)果[1,7]。這樣做有3個明顯的缺陷:一是由通配符簡單擴展的關(guān)鍵詞需要遍歷數(shù)據(jù)庫中的每個字段,并逐一比較,整個搜索結(jié)果非常耗時,特別是對于非結(jié)構(gòu)化的長文本字段,耗時更為嚴重;二是由于缺乏必要的分詞方法,對于用戶復(fù)雜的查詢欠缺支持,如無法實現(xiàn)類似“航天橋的收費停車場”“酒店折扣”等的復(fù)雜語義查詢;三是由于搜索關(guān)鍵詞直接映射到特定的數(shù)據(jù)庫字段,系統(tǒng)耦合緊密,系統(tǒng)擴展、更新等缺乏靈活性。

      2.基于Lucene的全文檢索

      全文檢索是指計算機索引程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置,當用戶查詢時,檢索程序就根據(jù)事先建立的索引進行查找,并將查找的結(jié)果反饋給用戶的檢索方式[8-9]。Lucene是著名的全文檢索工具包,具有開源、高效、易擴展等諸多優(yōu)異特性。不同于基于數(shù)據(jù)庫的關(guān)鍵字檢索方式,Lucene除了提供“通配符搜索”以外,還支持“布爾搜索”“范圍搜索”“前綴搜索”“短語搜索”和“模糊搜索”等豐富的搜索方式,不但顯著提高了用戶的搜索體驗,而且能夠為用戶提供個性化的搜索結(jié)果。此外,Lucene還提供多域搜索功能,克服了針對數(shù)據(jù)庫單一字段搜索或構(gòu)造復(fù)雜的SQL表達式的局限,顯著提高了搜索效率。

      圖1清晰地表達了傳統(tǒng)基于WebGIS的地圖搜索與基于Lucene的地圖搜索流程的不同。基于瀏覽器/數(shù)據(jù)庫兩層架構(gòu)的傳統(tǒng)地圖搜索方式(如圖1(a)所示),直接將用戶查詢的搜索請求以Ajax方式發(fā)送到服務(wù)端,并經(jīng)由服務(wù)組件解析直接映射為數(shù)據(jù)庫查詢的SQL語句。因此,其查詢可以抽象為“Select?from theme1_layer where field1 like關(guān)鍵詞”的模式,查詢的構(gòu)造和查詢效率完全依賴于數(shù)據(jù)庫的SQL語句支持,難以構(gòu)造復(fù)雜、靈活的查詢。而基于“瀏覽器/Lucene/數(shù)據(jù)庫”的3層架構(gòu)的地圖搜索(如圖1(b)所示),則首先通過Hibernate、iBatis等ORM中間層或直接利用JDBC的方式,將數(shù)據(jù)庫中地理對象的語義文本映射為Lucene的Document,并在此基礎(chǔ)上構(gòu)造基于倒排序方法的索引[9]。隨后,用戶發(fā)起的查詢請求經(jīng)過Lucene的分詞、優(yōu)化,再到索引中去進行匹配,并依據(jù)匹配度排序返回相應(yīng)的結(jié)果。Lucene基于倒排序的反向索引機制不但保證了優(yōu)異的檢索效率,同時提供了靈活多樣的查詢檢索方法,從而可以讓用戶輸入更加精確的語義描述文本,提供查詢結(jié)果的命中率和有效性。Lucene在提供以上高效靈活的搜索功能的同時,通過設(shè)計簡潔的API接口為用戶屏蔽了復(fù)雜的索引構(gòu)造和技術(shù)實現(xiàn)細節(jié),提高了將Lucene嵌入現(xiàn)有地圖搜索的便捷性。

      3.PostGIS與地圖搜索

      PostGIS是知名的開源“對象—關(guān)系”數(shù)據(jù)庫PostgreSQL的空間擴展,它采用面向?qū)ο蟮姆绞綌U展存儲空間數(shù)據(jù),全面支持OGC的Geometry空間數(shù)據(jù)模型。同時,除了對SQL89和SQL92的支持外,PostGIS還提供豐富的空間數(shù)據(jù)操作函數(shù),以支持對空間數(shù)據(jù)的維護、檢索及空間運算。由于Post-GIS性能優(yōu)異,在其基礎(chǔ)上衍生出了更多的擴展,如基于Dijkstra算法實現(xiàn)的pgrouting擴展模塊[10]、用于實現(xiàn)基于SQL的最短路徑查找功能。PostGIS支持WKT、GML、KML、GeoJSON等多種空間數(shù)據(jù)格式的存儲與輸出,為構(gòu)建WebGIS提供了很好的支持。由于對GML和GeoJSON的完美支持,利用WFS向PostGIS存取空間數(shù)據(jù)變得異常方便。對于地理對象,可以將其屬性字段(描述了相應(yīng)的語義信息)和幾何信息存儲在同一條記錄內(nèi),這種“屬性—幾何”的一體化存儲方式,為基于文本的全文檢索提供了遍歷;通過倒排序索引檢索到語義文本對應(yīng)的記錄后,可以直接提取相應(yīng)的幾何信息,并顯示在地圖上。

      圖1 搜索流程對比

      三、模型架構(gòu)與關(guān)鍵問題

      1.模型架構(gòu)

      基于Lucene的3層架構(gòu)的WebGIS地圖搜索在傳統(tǒng)WebGIS的架構(gòu)基礎(chǔ)上,增加了Lucene全文搜索引擎作為中間層,從而形成了客戶端(至少包括搜索結(jié)果列表和地圖兩部分)、Lucene(負責索引的構(gòu)造與查詢的解析)、服務(wù)端(Tomcat支持下的一系列Servlet和JavaBean負責的WMS、WFS等地圖服務(wù),以及PostGIS空間數(shù)據(jù)庫支持的空間數(shù)據(jù)管理) 3層架構(gòu)體系,如圖2所示。首先,將PostGIS中存儲的地理對象的屬性字段映射為Lucene中Field的一條記錄的所有字段,共同構(gòu)成一個Document;然后,利用Lucene自帶的索引創(chuàng)建功能,構(gòu)造基于<關(guān)鍵字,文檔>的倒排序結(jié)構(gòu)的索引,客戶端發(fā)起檢索時,先由Lucene.Analyzer進行分詞和分析優(yōu)化,再用Query發(fā)起對Index索引的檢索和匹配;最后按照匹配度反饋檢索結(jié)果到用戶前端。用戶點擊相應(yīng)的鏈接,發(fā)起WFS請求,從PostGIS中獲取GML和地理對象的詳細信息。可見,基于Lucene的3層架構(gòu)將用戶查詢的分詞、全文檢索都交由Lucene中間層來完成,既提高了查詢的靈活性,更將查詢和數(shù)據(jù)庫的二元模式進行了解耦,實現(xiàn)了系統(tǒng)的松耦合,易于維護和擴展。

      圖2 基于Lucene和PostIGIS的地圖搜索系統(tǒng)架構(gòu)

      2.關(guān)鍵問題

      Lucene是優(yōu)秀的全文檢索引擎工具包,基于Lucene的文本搜索可以完成地圖搜索的絕大部分功能。然而其中有兩個關(guān)鍵問題是基于PostGIS的地圖搜索所需要特別關(guān)注的:一是空間數(shù)據(jù)庫向Lucene索引的映射;二是查詢結(jié)果的表達,特別是矢量要素的獲取與表達。

      Hibernate與iBatis都是優(yōu)秀的持久層框架,是實現(xiàn)數(shù)據(jù)庫向Lucene映射的重要手段。PostGIS提供了眾多實用的空間數(shù)據(jù)操作函數(shù),因此充分利用PostGIS的空間操作函數(shù)對于WebGIS搜索引擎至關(guān)重要。由于Hibernate、Apache OJB等ORM框架對數(shù)據(jù)庫結(jié)構(gòu)的封裝過于完備,因此雖然大大降低了常規(guī)數(shù)據(jù)庫開發(fā)的工作量,卻也損失了靈活性[11]。iBatis是“半自動”的持久層框架,其重要的特點就是能夠手動編輯SQL語句,這為充分利用PostGIS自定義的空間數(shù)據(jù)操作函數(shù)提供了可能,成為基于PostGIS的WebGIS持久層的可靠選擇。以下語句說明了SQL語句的自定義的方法:

      Lucene實現(xiàn)了按詞頻和關(guān)鍵詞在文本中出現(xiàn)的位次對查詢與文本進行匹配和排序的機制,為用戶提供在語義上最接近用戶意愿的查詢結(jié)果。用戶根據(jù)輸出的結(jié)果,點擊相應(yīng)的鏈接即可定位到對應(yīng)的地理對象。在給出文本結(jié)果列表的同時,也可以給出基于SVG的地理對象的矢量表達(類似Google Maps上的POI點的展示)。而當?shù)乩韺ο蟊容^復(fù)雜、矢量數(shù)據(jù)量較大時,一次性全部記載會增加網(wǎng)絡(luò)傳輸壓力和瀏覽器的渲染壓力,嚴重影響用戶體驗,因此需要研究優(yōu)化機制。本文提出了基于視圖范圍的動態(tài)矢量加載機制,即根據(jù)當前視圖范圍外包矩形與所有檢索結(jié)果集進行拓撲“交”運算,獲取當前視圖范圍內(nèi)的要素,以WFS的方式傳輸?shù)角岸?,并以SVG的方式進行矢量渲染(如圖3所示)。這種動態(tài)加載機制保證了在當前視圖內(nèi)只需要渲染有限少量的矢量要素,提高了要素傳輸和渲染效率。當用戶點擊文本鏈接時,用與該鏈接綁定的要素FID,構(gòu)造WFS請求,單獨獲取該要素的GML數(shù)據(jù)定位到其Feature.Extent,加載顯示。

      圖3 基于WFS的矢量要素動態(tài)加載

      四、試驗驗證

      本研究確立了通過引入Lucene全文搜索中間件,擴展基于PostGIS的地圖搜索功能的目標。首先,利用Tomcat和Geoserver搭建服務(wù)端,將基于iBatis的PostGIS作為持久化存儲層;再通過JavaBean連接服務(wù)端與Lucene的分詞、優(yōu)化和索引服務(wù);最后在前端基于JavaScript和Ajax機制實現(xiàn)地圖的全文搜索和圖形的瀏覽、定位與查詢。試驗以北京市某WebGIS管理系統(tǒng)為例,通過引入Lucene支持的全文檢索機制,有效提高了查詢的靈活性,可以構(gòu)造類似“飯店收費停車”這種跨字段的查詢請求(如圖4所示)。通過Lucene可以有效解決關(guān)鍵詞次序不確定性和跨字段查詢(通過Lucene的多域查詢機制)的問題。系統(tǒng)以酒店、停車場、道路等多個圖層數(shù)據(jù)為檢索對象,在實現(xiàn)文本檢索的同時,優(yōu)化了對大數(shù)據(jù)量的矢量顯示和動態(tài)加載,有效改善了用戶體驗。

      五、結(jié)論與討論

      本文分析了基于客戶端/數(shù)據(jù)庫二元結(jié)構(gòu)的WebGIS地圖搜索的不足與原因,引入Lucene全文搜索引擎,通過構(gòu)造PostGIS數(shù)據(jù)庫到Lucene索引的有效映射機制,實現(xiàn)了地圖信息的全文搜索。該方法能夠支持靈活、復(fù)雜的查詢語句構(gòu)造,便于用戶快速檢索到更加符合自身需求的地理空間信息;同時,通過設(shè)計矢量要素的動態(tài)加載機制,有效改進了檢索要素的加載和渲染效率,改善了用戶體驗。隨著移動互聯(lián)網(wǎng)和LBS的發(fā)展,對地理信息搜索的要求會進一步提高,引入全文檢索機制后能夠促進WebGIS和地理信息技術(shù)的發(fā)展;特別是由于長文本字段的檢索,基于Lucene全文檢索機制的檢索效率提高尤為突出。同時,對于類似Google Earth上用戶自身添加和標注的半結(jié)構(gòu)化、非結(jié)果化信息的檢索,以及地理事件監(jiān)控、基于Web的空間信息挖掘等,本文提出的方法和實踐可以作為此類研究與應(yīng)用的重要基礎(chǔ)。

      圖4 基于Lucene的全文檢索WebGIS前端界面

      本文的研究實現(xiàn)了地圖搜索功能的增強,但僅僅通過對空間數(shù)據(jù)庫中的地理對象屬性字段建立基于倒排序的全文索引,并未真正引入語義解析模塊。如搜索“車庫”與“停車場”,搜索引擎并不能理解二者在語義上的相似性[12],僅能從文本匹配的角度去匹配搜索。下一步的研究需要引入語義解析模塊[12],進一步提高搜索結(jié)果的查全率。此外,基于自然語言的空間關(guān)系推理越來越受到重視,類似“校園東邊的籃球場”等描述空間關(guān)系的語義搜索,也需要進一步深入探討。這樣才能真正回答T.S.Eliot的追問“知識中我們丟失的智慧該到哪里去找”,從而不斷提高地圖搜索的智能化水平。

      [1] 白玉琪,楊崇俊,劉冬林,等.基于OpenGIS WMS的空間信息搜索引擎系統(tǒng)原型[J].中國圖象圖形學(xué)報,2004,9(1):105-111.

      [2] 艾菊梅,周書民,彭健.基于MMS和WebGIS的移動搜索[J].計算機工程,2008,34(22):256-257.

      [3] 李云錦,鐘耳順,王爾琪,等.馬爾可夫模型在空間數(shù)據(jù)預(yù)取中的應(yīng)用[J].測繪通報,2010(7):1-4.

      [4] 虞昌彬,胡喬,任福,等.利用B/S架構(gòu)的POI信息組織方法及可視化策略研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2012,37(2):233-236.

      [5] MARK D M,EGENHOFER M J.Modeling Spatial Relations between Lines and Regions:Combining Formal Mathematical Models and Human Subjects Testing[J]. Cartography and Geographic Information Systems,1994,21(4):195-212.

      [6] 杜沖,司望利,許珺.基于地理語義的空間關(guān)系查詢和推理[J].地球信息科學(xué),2010,12(1):48-55.

      [7] 周文生.基于SVG的WebGIS研究[J].中國圖象圖形學(xué)報,2002,7(7):693-698.

      [8] 李永春,丁華福.Lucene的全文檢索的研究與應(yīng)用[J].計算機技術(shù)與發(fā)展,2010,20(2):12-15.

      [9] 鄭榕增,林世平.基于Lucene的中文倒排索引技術(shù)的研究[J].計算機技術(shù)與發(fā)展,2010,20(3):80-83.

      [10] 張玢.基于PostGIS的海岸保護與利用規(guī)劃空間數(shù)據(jù)庫設(shè)計與實現(xiàn)[D].沈陽:遼寧師范大學(xué),2009.

      [11] 陽奇,林鎮(zhèn)燦,黃帆,等.基于Hibernate搜索的數(shù)據(jù)庫全文檢索系統(tǒng)[J].計算機工程,2010,36(4):74-76.

      [12] LUACES M R,PARAMá J R,PEDREIRA O,et al. An Ontology-based Index to Retrieve Documents with Geographic Information[C]∥Scientific and Statistical Database Management.[S.l.]:Springer,2008:384-400.

      Map Search Based on Lucene and PostGIS

      LIANG Ming,LUO Rong,HU Zui

      P289

      B

      0494-0911(2014)11-0042-04

      2013-12-11

      國家自然科學(xué)基金(41201398);教育部人文社科課題(12YJCZH073);湖南省“傳統(tǒng)聚落數(shù)字化保護技術(shù)”工程實驗室開放基金(CT14K09)

      梁 明(1984—),男,安徽六安人,博士生,研究方向為空間數(shù)據(jù)庫與數(shù)據(jù)挖掘、3DGIS。

      羅 榮

      梁明,羅榮,胡最.基于Lucene和PostGIS的地圖搜索研究[J].測繪通報,2014(11):42-45.

      10.13474/j.cnki.11-2246.2014.0359

      猜你喜歡
      全文檢索矢量檢索
      矢量三角形法的應(yīng)用
      2019年第4-6期便捷檢索目錄
      Oracle數(shù)據(jù)庫全文檢索性能研究
      基于矢量最優(yōu)估計的穩(wěn)健測向方法
      專利檢索中“語義”的表現(xiàn)
      專利代理(2016年1期)2016-05-17 06:14:36
      三角形法則在動態(tài)平衡問題中的應(yīng)用
      基于KySou的全文檢索系統(tǒng)的分析與優(yōu)化
      特色數(shù)據(jù)庫全文檢索系統(tǒng)的設(shè)計
      色料減色混合色矢量計算
      出版與印刷(2013年3期)2013-01-31 03:26:11
      國際標準檢索
      东兴市| 比如县| 涪陵区| 长兴县| 金山区| 延庆县| 射洪县| 禄丰县| 昌都县| 靖州| 丰顺县| 都匀市| 商都县| 长沙市| 凭祥市| 成安县| 迁西县| 肥东县| 唐河县| 扬中市| 海城市| 东乌珠穆沁旗| 东方市| 萝北县| 冷水江市| 息烽县| 阿勒泰市| 宁强县| 洪雅县| 华池县| 屏东县| 固原市| 寿光市| 阜阳市| 高雄市| 明溪县| 金昌市| 嘉定区| 大化| 茌平县| 当涂县|