• POI兴趣点搜索


    (2017-08-13 银河统计)

    POI(Point of Interest),中文可以翻译为“兴趣点”,兴趣点(POI)是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象,尤其是一些与人们生活密切相关的地理实体,如学校、银行、餐馆、加油站、医院、超市等。每个POI包含四方面信息,名称、类别、经度、纬度。POI(兴趣点)是有分类的,有一级类、二级类甚至更多类,每个分类都有相应的行业的代码和名称对应。方便信息采集的记录和区分。

    兴趣点查询是通用搜索引擎发展到一定阶段后,随着用户的个性化服务需求而出现的,即是按照用户的兴趣选择相应类别,查询相关的POI信息。对于LBS(基于位置的服务)用户而言,可以通过输入关键字进行属性查询,如查询名为“XXX”的酒店;也可以按范围和类别进行查询,如查询5km范围内的加油站。兴趣点查询方法类似于Web搜索方法,可采用布尔逻辑模型、向量空间模型和概率模型等数学模型来建立查询检索模型。

    1、百度POI兴趣点索引

    一级兴趣点  二级兴趣点  三级兴趣点 

    注:百度兴趣点为三级分类,在后面各类兴趣点搜索中,应参考兴趣点索引关键字进行不同范围搜索

    2、城市兴趣点(或关键词)搜索

    兴趣点或关键词  城市名称  

    注:输入兴趣点(参考POI兴趣点索引)或关键词(如家乐福、麦当劳等感兴趣的词);鼠标点击要搜索的城市(北京等大城市需要等几秒钟以便回调获得兴趣点信息);点击“转换为兴趣点信息列表”按钮获得信息表。

    代码样例

    <!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+'
    ';
                    }
                    $("txtResult").value+= str 
                    if(rs.getPageIndex!=rs.getNumPages()) {
                        ls.gotoPage(i);
                        i=i+1;
                    }    
            }
        });}
    </script>
    </body>
    </html>
    

    3、城市局部兴趣点(或关键词)搜索

    在全部城市范围内搜索某个兴趣点或关键词,有时返回信息数量过多(1000条)会受到系统的限制。可以缩小搜索范围,在城市局部搜索兴趣点或关键词地理信息。

    兴趣点或关键词  区域  城市   

    注:输入兴趣点和城市,同时输入区域名称。以哈尔滨市为例,可以输入“工大、爱建、道外、顾乡”等区域名称;或以北京市为例,将兴趣点改为“小吃”、区域改为“前门”、城市改为“北京”。输入完各个参数后,点击“获取信息”、然后点击“转换为列表”

    代码样例和上例城市兴趣点(或关键词)搜索基本一样,只把代码中,

    ls.search(s); //s为兴趣点
    

    修改为,

    ls.searchNearby(keyword,somewhere);  //keyword为兴趣点、somewhere城市内区域名称
    

    即可。

    4、城市内以某点为圆心、指定半径圆形区域内兴趣点搜索

    在一城市内搜索指定原点(经度和纬度坐标)和半径的圆形区域内的兴趣点。

    兴趣点  经度  纬度  半径  城市   
  • 相关阅读:
    C#开发微信公众平台-就这么简单(附Demo)
    Newtonsoft.Json高级用法
    C#获取文件的MD5码
    C#动态执行代码
    c#插件式开发
    利用反射执行代码
    yield关键字用法与解析(C# 参考)
    HttpContext.Current.Cache和HttpRuntime.Cache的区别,以及System.Runtime.Caching
    GZip压缩与解压缩
    Asp.Net 请求处理机制
  • 原文地址:https://www.cnblogs.com/cloudtj/p/7352861.html
Copyright © 2020-2023  润新知