POI興趣點搜索 - 地理信息系統(6)

(2017-08-13 銀河統計)

POI(Point of Interest),中文能夠翻譯爲「興趣點」,興趣點(POI)是地理信息系統中的一個術語,泛指一切能夠抽象爲點的地理對象,尤爲是一些與人們生活密切相關的地理實體,如學校、銀行、餐館、加油站、醫院、超市等。每一個POI包含四方面信息,名稱、類別、經度、緯度。POI(興趣點)是有分類的,有一級類、二級類甚至更多類,每一個分類都有相應的行業的代碼和名稱對應。方便信息採集的記錄和區分。javascript

興趣點查詢是通用搜索引擎發展到必定階段後,隨着用戶的個性化服務需求而出現的,便是按照用戶的興趣選擇相應類別,查詢相關的POI信息。對於LBS(基於位置的服務)用戶而言,能夠經過輸入關鍵字進行屬性查詢,如查詢名爲「XXX」的酒店;也能夠按範圍和類別進行查詢,如查詢5km範圍內的加油站。興趣點查詢方法相似於Web搜索方法,可採用布爾邏輯模型、向量空間模型和機率模型等數學模型來創建查詢檢索模型。html

一、百度POI興趣點索引

一級興趣點   二級興趣點   三級興趣點 

注:百度興趣點爲三級分類,在後面各種興趣點搜索中,應參考興趣點索引關鍵字進行不一樣範圍搜索java

二、城市興趣點(或關鍵詞)搜索

興趣點或關鍵詞  &nbsp城市名稱   

注:輸入興趣點(參考POI興趣點索引)或關鍵詞(如家樂福、麥當勞等感興趣的詞);鼠標點擊要搜索的城市(北京等大城市須要等幾秒鐘以便回調得到興趣點信息);點擊「轉換爲興趣點信息列表」按鈕得到信息表。api

代碼樣例
搜索引擎

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8"/>
<title>批量獲取模糊搜索地址名稱及座標</title>
<meta name="Keywords" content="批量,獲取座標,模糊搜索">
<meta name="Description" content="本網頁提供了批量搜索地名並返回地址及座標的功能!">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
    <P>搜索城市<input id="txtCity" type="text" value="北京市" /></n>
    <p>地名關鍵詞<input id="txtSearch" type="text" value="肯德基" />
    <input type="button" value="生成座標序列" onclick="search()" /> </n>
    <p>顯示結果<textarea id="txtResult" rows="10" cols="100" value="" />
    </textarea>
    <div id="divMap" style="display:none"></div>
    <script type="text/javascript">
    function $(id){
    return document.getElementById(id);//定義$,以便調用
    }
    var now=new Date();
    var map = new BMap.Map("divMap");//建立地圖
    function search(){
    $("txtResult").value="";
    map.clearOverlays(); //清除地圖上全部標記
    var c=$("txtCity").value;
    var ls = new BMap.LocalSearch(c,{renderOptions:{map:map,selectFirstResult:false,autoViewport:false}});
    ls.setPageCapacity(50);
    var s=$("txtSearch").value;
    ls.search(s); 
    var i=1;
    ls.setSearchCompleteCallback(function(rs){
        if (ls.getStatus() == BMAP_STATUS_SUCCESS){
                var str ="";
                for(j=0;j<rs.getCurrentNumPois();j++) {
                    var poi=rs.getPoi(j);                        
                    str +='(' + i + ',' + j +  ')' + poi.title+":" +poi.point.lng+","+poi.point.lat+'\n';
                }
                $("txtResult").value+= str 
                if(rs.getPageIndex!=rs.getNumPages()) {
                    ls.gotoPage(i);
                    i=i+1;
                }    
        }
    });}
</script>
</body>
</html>

三、城市局部興趣點(或關鍵詞)搜索

在所有城市範圍內搜索某個興趣點或關鍵詞,有時返回信息數量過多(1000條)會受到系統的限制。能夠縮小搜索範圍,在城市局部搜索興趣點或關鍵詞地理信息。spa

興趣點或關鍵詞  &nbsp區域  &nbsp城市     

注:輸入興趣點和城市,同時輸入區域名稱。以哈爾濱市爲例,能夠輸入「工大、愛建、道外、顧鄉」等區域名稱;或以北京市爲例,將興趣點改成「小吃」、區域改成「前門」、城市改成「北京」。輸入完各個參數後,點擊「獲取信息」、而後點擊「轉換爲列表」翻譯

代碼樣例和上例城市興趣點(或關鍵詞)搜索基本同樣,只把代碼中,rest

ls.search(s); //s爲興趣點

修改成,code

ls.searchNearby(keyword,somewhere);  //keyword爲興趣點、somewhere城市內區域名稱

便可。htm

四、城市內以某點爲圓心、指定半徑圓形區域內興趣點搜索

在一城市內搜索指定原點(經度和緯度座標)和半徑的圓形區域內的興趣點。

興趣點  &nbsp經度  &nbsp緯度  &nbsp半徑  &nbsp城市     
相關文章
相關標籤/搜索