POI兴趣点搜索 - 地理信息系统(6)
(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+'\n';
}
$("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、城市内以某点为圆心、指定半径圆形区域内兴趣点搜索
在一城市内搜索指定原点(经度和纬度坐标)和半径的圆形区域内的兴趣点。
兴趣点  经度  纬度  半径  城市 获取信息 转换为列表
POI兴趣点搜索 - 地理信息系统(6)的更多相关文章
- 【Android】3.12 兴趣点( POI)搜索功能
分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 一.简介 POI(Point of Interest),中文可以翻译为“兴趣点”.在地理信息系统中,一个POI ...
- 用MapX与C#开发地理信息系统
转:http://www.cnblogs.com/dachie/archive/2010/08/17/1801598.html 第四章 MapX与C#实例... 5 4.1 MapX图层建立... 5 ...
- (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...
- WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前跟信息采集相关的一个项目提出了这样的一个需求:中国银行等 ...
- 教你如何拔取百度地图POI兴趣点
教你如何拔取百度地图POI兴趣点 通过聚合数据提供的接口,获取百度地图的POI兴趣点,并存储至数据库中. 实现: 1.聚合数据百度POI接口说明 调用聚合数据,首先得注册聚合.聚合数据提供的百度地 ...
- 中科燕园GIS外包----机场project地理信息系统EGIS
对于大型机场建设project,不管project建设过程中.还是project建设完毕后.进入执行和维护阶段.必然要产生和使用到大量的各式各样的信息资料,包含project项目过程管理控制类文档,p ...
- 地理信息系统公开课计划 前言I
对,就是地理信息系统(GIS),不是遥感RS,也不是编程,纯粹的地理信息系统. 地理信息系统=数学+物理+计算机+地理的烧脑组合. 但凡能知道.了解地理信息系统的人,基本上都不会是非知识分子,我就不矫 ...
- Android必知必会-带列表的地图POI周边搜索
如果移动端访问不佳,请尝试–> Github版 2016-08-22 更新 注意:在 Activity 代码中的onPoiSearched(PoiResult result, int rCode ...
- Oracle spatial、openlayers、geoserver开发地理信息系统总结
感谢开源,使用OpenLayers+Geoserver的地理信息系统开发很简单,完全可以套用开发MIS系统的经验,我这里总结为三个步骤: 1.数据准备 2.数据发布 3.数据展现 我将按照这个思路来介 ...
随机推荐
- php的imagick模块扩展
imagick模块介绍 ImageMagick是一个用于查看.编辑位图文件以及进行图像格式转换的开放源代码软件套装.它可以读取.编辑超过100种图象格式,可用来替换GD库. 安装 在加载模 ...
- [LeetCode] N-ary Tree Preorder Traversal N叉树的前序遍历
Given an n-ary tree, return the preorder traversal of its nodes' values. For example, given a 3-ary ...
- three.js 加入纹理(texture)的方法及注意事项
var texture = new THREE.TextureLoader().load( './img/1.png' ); var box_show = new THREE.CubeGeometry ...
- Linux 命令分类学习
Linux常用命令大全(非常全!!!) 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q ...
- 安装Office2010出现MSXML版本6.10.1129.0错误
在键盘上按“win+R”组合键出现图图示界面后,输入“regsvr32 /u msxml6.dll”,点击“确定”. 出现图示显示后,点击“确定”,并同时去试试office是否能够安装了. 如果上 ...
- javascript原型模式概念解读
原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象.对于原型模式,可以利用JavaScript特有的原型继承特性去创建对象的方式,真正的原型继承是作为最新 ...
- Django数据库,在原有表中添加新字段
1.在你要添加新字段的app的 models.py 文件中添加需要新增的字段(这里新增的是dress字段): from django.db import models # Create your mo ...
- tableview Footerview有多余的间距
调整footerView的高度 UIView *footerV = [[UIView alloc] initWithFrame:CGRectMake(, , Main_Screen_Width, )] ...
- AIROBOT系统 之 踏浪而来
缘由 为什么要做AIROBOT?其实自从我知道智能家居这个领域之后,就一直想打造一个自己的智能家居控制平台,算是我的一个梦.最开始的项目还是在安居客当时工作的时候做的,项目地址:https://git ...
- synchronized和Lock复习
刚学编程的时候,不懂得同步的概念,只认为程序按照自己写的顺序执行, 直到学到多线程,但当时理解同步问题,也只是面对临界资源需要加锁去控制, 解决一些,如生产消费的问题.但当时一直没考虑过,多线程的情况 ...