百度地图坐标采集方法
网页中调用百度地图的方法及模板

网页中调用百度电子地图的方法及代码模板大家先看一下效果:下面介绍方法:1、首先打开百度地图的坐标拾取网页 /lbsapi/getpoint/index.html ,找到你标注的地点的坐标,复制下来。
2、调用下面的代码,将其中的红色部分改为你复制的坐标,注意有两处要改,下面一处经度和纬度之间是“|”不是逗号。
3、将蓝色部分的信息改为你要显示的信息。
4、其中“(point,15)”是改默认打开尺寸的代码详细解释为:百度地图自身有17个级别,如下:1.{"20m","50m","100m","200m","500m","1km","2km","5km","10km","20km","25km","50km","100km","200km","500km","1000km","2000km"}但是,提供的开发包只支持16个级别,Level: 18~3, 比例尺如下:1.{"50m","100m","200m","500m","1km","2km","5km","10km","20km","25km","50km","100km","200km","500km","1000km","2000km"}模板中point级别为15 即默认放大倍数为500m,如果你想更改为默认放大到10km,把粉色部分15改为11即可。
如何下载百度地图中的矢量POI兴趣点

如何下载百度地图中的矢量POI兴趣点1.概述水经注软件除了可以轻松下载无水印GoogleEarth卫星影像、有明确拍摄日期的历史影像、地方高清天地图、百度高德大字体打印地图,且可按1万/5千等国家标准图幅下载,可对百度坐标与火星坐标进行纠偏和切片;可下载陆地及海洋高程、STRM高程、提取10米等高线等深线、CASS高程点;可下载含高度的全国建筑楼块、全国乡镇及街区行政区划、地名点、高速铁路网、公交路线和水系等矢量数据外,还可以下载百度矢量POI兴趣点。
2.什么是POI兴趣点POI是“Point of Interest”的缩写,中文可以翻译为“兴趣点”。
在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。
传统的地理信息采集方法需要地图测绘人员采用精密的测绘仪器去获取一个兴趣点的经纬度,然后再标记下来。
正因为POI的采集是一个非常费时费事的工作,对一个地理信息系统来说,POI的数量在一定程度代表着整个系统的价值。
每个POI包含四方面信息,名称、类别、经度、纬度,全面的POI讯息是丰富导航地图的必备资讯,及时的POI兴趣点能提醒用户路况的分支及周边建筑的详尽信息,也能方便导航中查到你所需要的各个地方,选择最为便捷和通畅的道路来进行路径规划,因此,导航地图POI多少状况直接影响到导航的好用程度。
3.如何下载百度地图矢量POI兴趣点这里,我们以下载成都一环路以内的餐饮POI兴趣点为例,说明如何下载百度地图中的矢量POI兴趣点。
在“地图类型”主菜单中选择“百度地图”,如下图所示。
选择百度地图在“下载”菜单中可以通过框选范围下载、多边形范围下载、沿线下载、批量下载、导入范围下载和按屏幕范围下载等多种方式确定下载范围,这里以选择“框选范围下载”为例,如下图所示。
框选下载范围在框选的目标范围中双击,会显示“新建任务”对话框,然后在该对话框中选择“POI 兴趣点”,如下图所示。
新建任务在“新建任务”对话框中,可以为下载的数据设置坐标投影,如WGS84经纬度投影、WGS84 Web 墨卡托投影、WGS84 UTM投影、北京54高斯投影、西安80高斯投影、CGCS2000高斯投影、GCJ02经纬度投影、GCJ02 Web 墨卡托投影、BD09经纬度投影和BD09 Web 墨卡托投影等。
各种国内地图坐标系总结

各种国内地图坐标系总结⼀、国内的常⽤坐标系1、WGS-84坐标系:地⼼坐标系,GPS原始坐标体系在中国,任何⼀个地图产品都不允许使⽤GPS坐标,据说是为了保密。
2、GCJ-02 坐标系:国测局坐标,⽕星坐标系1)国测局02年发布的坐标体系,它是⼀种对经纬度数据的加密算法,即加⼊随机的偏差。
2)互联⽹地图在国内必须⾄少使⽤GCJ-02进⾏⾸次加密,不允许直接使⽤WGS-84坐标下的地理数据,同时任何坐标系均不可转换为WGS-84坐标。
3)是国内最⼴泛使⽤的坐标体系,⾼德、腾讯、Google中国地图都使⽤它。
3、CGCS2000坐标系:国家⼤地坐标系该坐标系是通过中国GPS 连续运⾏基准站、空间⼤地控制⽹以及天⽂⼤地⽹与空间地⽹联合平差建⽴的地⼼⼤地坐标系统。
4、BD-09坐标系百度中国地图所采⽤的坐标系,由GCJ-02进⾏进⼀步的偏移算法得到。
5、搜狗坐标系搜狗地图所采⽤的坐标系,由GCJ-02进⾏进⼀步的偏移算法得到。
6、图吧坐标系图吧地图所采⽤的坐标系,由GCJ-02进⾏进⼀步的偏移算法得到。
⼆、国内地图软件所采⽤的坐标系简介1、百度地图1)境内(包括港澳台):BD09a、在GCJ-02坐标系基础上再次加密b、⽀持WGS-84、GCJ-02转换成BD09,反向不⽀持,并且批量转换⼀次有条数限制2)境外:WGS-842、⾼德地图:1)境内:GCJ-02a、WGS-84——>GCJ-02(⾼德有接⼝提供,反过来没有)2)境外:暂不⽀持3)AMap 就是⾼德地图,是⾼德地图在纳斯达克上市⽤的名字,主要⾯向互联⽹企业或个⼈提供免费API服务4)MapABC 是⾼德集团底下的图盟公司,主要⾯向⼤众型企业或政府机关,并提供付费的有偿服务5)Amap和MapABC,数据和服务都是共享的,所以Mapabc⽤Amap的API是正常的3、google地图1)境内:GCJ-02a、数据来源于⾼德,两者互通2)境外:WGS-844、天地图全球统⼀:CGCS20005、腾讯地图:soso地图境内:GCJ026、微软bing地图:BingMap全球统⼀:WGS-847、搜狗地图境内:搜狗坐标系a、在GCJ-02坐标系基础上再次加密b、⽀持WGS-84、GCJ-02、BD09转换成搜狗坐标,反向不⽀持8、图吧地图: MapBar境内:图吧坐标系a、在GCJ-02坐标系基础上再次加密9、阿⾥云地图境内:GCJ-0210、灵图地图:51ditu境内:GCJ-02三、各个坐标系之间的转换1、以下代码,提供的转换算法如下:1)WGS-84 ——> GCJ022)GCJ02 ——> WGS-843)GCJ02 ——> BD094)BD09 ——> GCJ025)BD09 ——> WGS-841. package com.xy;2.3. /**4. * 各地图API坐标系统⽐较与转换;5. * WGS84坐标系:即地球坐标系,国际上通⽤的坐标系。
几种获取当前地理位置信息的方法

⼏种获取当前地理位置信息的⽅法1.html5 ⾃带获取当前地理位置信息//获取当前经纬度 IOS 10 获取定位信息只⽀持https 请求所以以下⽅法不适⽤// navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数// function (pos) { // 如果成果则执⾏该回调函数// la = pos.coords.longitude;// lg = titude;// console.log(pos.coords.longitude);// console.log(titude);// //alert(// // ' 经度:' + titude +// // ' 纬度:' + pos.coords.longitude +// // ' ⾼度:' + pos.coords.altitude +// // ' 精确度(经纬):' + pos.coords.accuracy +// // ' 精确度(⾼度):' + pos.coords.altitudeAccuracy +// // ' 速度:' + pos.coords.speed// //);// }, function (err) { // 如果失败则执⾏该回调函数// alert(err.message);// }, { // 附带参数// enableHighAccuracy: true, // 提⾼精度(耗费资源)// timeout: 5000, // 超过timeout则调⽤失败的回调函数// maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取⼀次位置信息// });2.腾讯地图获取当前地理位置信息//填⼊⾃⼰在腾讯地图开放平台申请的KEYvar geolocation = new qq.maps.Geolocation(" JU6BZ-AY2R5-JF5IN-QJAVP-CSM6H-AKFNP", "MyMap");var options = { timeout: 8000 };geolocation.getLocation(sucCallback, errCallback, options);//成功的回调返回的是⽕星坐标function sucCallback(position) {var mapInfo = JSON.stringify(position, null, 4);var jsonMapInfo = eval('(' + mapInfo + ')');success(jsonMapInfo.lng, t);}//失败的回调function errCallback() {geolocation.getLocation(sucCallback, errCallback, options);}//业务逻辑function success(la, lg) {//拿到经纬度的业务逻辑...}3.⽕星坐标转百度坐标需引⽤百度地图js//jsonMapInfo 为要转换的点var gpsPoint = new BMap.Point(jsonMapInfo.lng, t);console.log("转换之前的点" + t +","+gpsPoint.lng);BMap.Convertor.translate(gpsPoint, 2, function (point) {console.log("转换之后的点" + t + "," + point.lng);})4.百度地图获取当前位置信息并导航到⽬标点var geolocation = new BMap.Geolocation();//获取当前位置信息geolocation.getCurrentPosition(function (r) {if (this.getStatus() == BMAP_STATUS_SUCCESS) {console.log('您的位置:' + r.point.lng + ',' + t);var map = new BMap.Map("l-map"); // 创建Map实例map.centerAndZoom(new BMap.Point(r.point.lng, t), 13); // 初始化地图,设置中⼼点坐标和地图级别map.setCurrentCity("深圳"); // 设置地图显⽰的城市此项是必须设置的map.enableScrollWheelZoom(true); //开启⿏标滚轮缩放//var driving = new BMap.DrivingRoute(map, { renderOptions: { map: map, panel: "r-result", autoViewport: true } });//driving.search("中关村⼀街", "魏公村");var transit = new BMap.TransitRoute(map, {onResultsHtmlSet: function () { $("#r-result").show() },policy: 0,renderOptions: { map: map, panel: "r-result" }});//起点位置var start = new BMap.Point(r.point.lng, t);//需要导航的地址var end = new BMap.Point(GetRequest().la, GetRequest().lg);console.log(start);console.log(end);transit.search(start, end, BMAP_TRANSIT_POLICY_LEAST_TIME);//最少时间//var routePolicy = [BMAP_TRANSIT_POLICY_LEAST_TIME, BMAP_TRANSIT_POLICY_LEAST_TRANSFER, BMAP_TRANSIT_POLICY_LEAST_WALKING, BMAP_TRANSIT_POLICY_AVOID_SUBWAYS]; //0最少时间 1 最少换乘 }else {alert('failed' + this.getStatus());}}, { enableHighAccuracy: true })。
百度地图所用数据分析

鉴于在一些答案中评论区中的讨论,由于不能上图,我还是来写一下这个答案罢。
这个问题比较复杂,要真尽量说清楚的话需要费不少口舌,因此答案会比较长,请看官不妨耐心点。
要说数据来源,首先得对地图数据做一个分类,因为不同分类的数据,其来源,采集方法都是有大不同的。
并非想说上面高票答案的分类方式不对或者不可以,只是说,其分类方式对于完全说明这个问题,可能不是太合适和合理。
里面的一些观点和描述也有一些小问题,所以做一些勘误和对问题更有针对性的补充,希望大家不要被一些谬误的概念所误导。
要明白地图的数据分类,必须先理解一个概念,就是地图图层的概念:如上图,电子地图对我们实际空间的表达,事实上是通过不同的图层去描述,然后通过图层叠加显示来进行表达的过程。
对于我们地图应用目标的不同,叠加的图层也是不同的,用以展示我们针对目标所需要信息内容。
其次呢,我引入一下矢量模型和栅格模型的概念,GIS(电子地图)采用两种不同的数学模型来对现实世界进行模拟:•矢量模型:同多X,Y(或者X,Y,Z)坐标,把自然界的地物通过点,线,面的方式进行表达•栅格模型(瓦片模型):用方格来模拟实体我们目前在互联网公开服务中,或者绝大多数手机APP里看到的,都是基于栅格(瓦片)模型的地图服务,比如大家看到的百度地图或者谷歌地图,其实对于某一块地方的描述,都是通过10多层乃是20多层不同分辨率的图片所组成,当用户进行缩放时,根据缩放的级数,选择不同分辨率的瓦片图拼接成一幅完整的地图(由于一般公开服务,瓦片图都是从服务器上下载的,当网速慢的时候,用户其实能够亲眼看到这种不同分辨率图片的切换和拼接的过程)对于矢量模型的电子地图来说,由于所有的数据以矢量的方式存放管理,事实上图层是一个比较淡薄的概念,因为任何地图元素和数据都可以根据需要自由分类组成,或者划分成不同的图层。
各种图层之间关系可以很复杂,例如可以将所有的道路数据做成一个图层,也可以将主干道做成一个图层,支路做成另外一个图层。
百度地图经纬度和Google地图经纬度互转

百度地图经纬度和Google地图经纬度互转国内主流坐标系类型主要有以下三种:1、WGS84:一种大地坐标系,也是目前广泛使用的 GPS 全球卫星定位系统使用的坐标系。
2、GCJ02:由中国国家测绘局制订的地理信息系统的坐标系统,是由 WGS84 坐标系经过加密后的坐标系。
3、BD09:百度坐标系,在 GCJ02 坐标系基础上再次加密。
其中BD09LL 表示百度经纬度坐标,BD09MC 表示百度墨卡托米制坐标。
注意:百度地图 SDK 在国内(包括港澳台)使用的是 BD09LL 坐标(定位SDK 默认使用GCJ02 坐标);在海外地区,统一使用WGS84 坐标。
百度地图 SDK 是用什么坐标类型?1、国内(包括港澳台),输入、输出默认使用 BD09LL 坐标。
支持全局声明为GCJ02 坐标类型,全应用支持输入GCJ02 坐标,返回GCJ02 坐标。
2、海外地区,输出为 WGS84 坐标。
为什么需要坐标转换?国内(包括港澳台):默认使用BD09LL 坐标,国外使用WGS84 坐标。
若使用非BD09LL 坐标直接叠加在百度地图上,因坐标值不同,展示位置会有偏移。
因此:1)在国内(包括港澳台)通过其他坐标系(WGS84、GCJ02)调用百度地图服务时需要首先将其他坐标转换为BD09LL,再访问百度地图数据。
2)在国外,POI 使用 WGS84 坐标数值,则无需转换、百度地图国外即使用 WGS84 坐标。
非百度坐标系,如何转换成百度坐标系?1、通用坐标转换方法:手动调用百度地图SDK 坐标转换接口,将输入的 WGS84 或 GCJ02 坐标转换为 BD09LL 坐标。
适用于所有百度地图开发者,是转换为百度 BD09LL 坐标的官方基础算法。
2、自动坐标转换算法:支持全局声明为GCJ02 坐标类型,全应用内自动执行从GCJ02 到BD09LL 的坐标转换,即直接输入GCJ02 坐标,返回 GCJ02 坐标。
谷歌地图采用的是WGS84 地理坐标系(中国范围除外),所以需要对百度地图的坐标进行转换,以下是坐标的转化方式,可以方便和其他平台转化:。
通过百度地图API将百度坐标转换成GPS经纬度

通过百度地图API将百度坐标转换成GPS经纬度百度地图API链接:实现的java代码如下:package com.dataprocess;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .URL;import .URLConnection;import java.util.List;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class CopyOfTest {public static void main(String args[]){String params ="coords=114.21892734521,29.575429778924&from=1&to=5&ak=ZQU8ZGeBf95nN8wY1cNL13NP&output=json";String s=CopyOfTest.sendGet("/geoconv/v1/?", params);String[] s1 = s.split("\\[");String[] s2 = s1[1].split(",");String regEx ="[^0-9.\\+\\-\\s]";Pattern p = pile(regEx);Matcher m1 = p.matcher(s2[0]);Matcher m2 = p.matcher(s2[1]);String[] arrs1=m1.replaceAll("").trim().split("\\s");String[] arrs2=m2.replaceAll("").trim().split("\\s");System.out.println(s1[1]);System.out.println(arrs1[0]+" "+arrs2[0]);}public static String sendGet(String url, String param) {String result = "";BufferedReader in = null;try {String urlNameString = url + param;URL realUrl = new URL(urlNameString);// 打开和URL之间的连接URLConnection connection = realUrl.openConnection();// 设置通⽤的请求属性connection.setRequestProperty("accept", "*/*");connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 建⽴实际的连接connection.connect();// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 遍历所有的响应头字段// for (String key : map.keySet()) {// System.out.println(key + "--->" + map.get(key));// }// 定义 BufferedReader输⼊流来读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送GET请求出现异常!" + e);e.printStackTrace();}// 使⽤finally块来关闭输⼊流finally {try {if (in != null) {in.close();}} catch (Exception e2) {e2.printStackTrace();}}return result;}/*** 向指定 URL 发送POST⽅法的请求** @param url* 发送请求的 URL* @param param* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
百度地图API位置偏移的校准算法

百度地图API位置偏移的校准算法转⾃原⽂在开始使⽤百度地图进⾏开发时可能会遇到⼀件相当奇怪的事情,使⽤百度定位的经纬度在地图上显⽰相当不准确,这⼀问题我在开发和安卓开始时都遇到过。
第⼀次使⽤百度地图api获取位置并在地图上显⽰是在开发的时候,那是不知道具体原因⽆奈在获取的地理位置上加了⼀个偏移量进⾏校准,虽能勉强解决,但是不太准确。
后来在安卓开始也同样遇到了这个问题,才发现百度地图定位偏移已经不是⼀个偶然问题了。
百度地图定位偏移的原因以下来⾃互联⽹:⼀、坐标体系⾸先我们要明⽩,开发者能接触到哪些坐标体系呢?第⼀种分类:1、 GPS,WGS-84,原始坐标体系。
⼀般⽤国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。
很可惜,在中国,任何⼀个地图产品都不允许使⽤GPS坐标,据说是为了保密。
GPS坐标形式如图,度分秒形式的经纬度:百度地图API位置偏移的校准算法1百度地图API位置偏移的校准算法22、 GCJ-02,国测局02年发布的坐标体系。
⼜称“⽕星坐标”。
在中国,必须⾄少使⽤GCJ-02的坐标体系。
⽐如⾕歌,腾讯,⾼德都在⽤这个坐标体系。
GCJ-02也是国内最⼴泛使⽤的坐标体系。
3、其他坐标体系。
⼀般都是由GCJ-02进过偏移算法得到的。
这种体系就根据每个公司的不同,坐标体系都不⼀样了。
⽐如,百度和搜狗就使⽤⾃⼰的坐标体系,与其他坐标体系不兼容。
第⼆种分类:⾸先明⽩,所有坐标体系的原点,都是⾮洲。
百度地图API位置偏移的校准算法31、经纬度。
这个是球⾯坐标,对于北京来说,就是(116.38817139.935961)这样的坐标。
⽐如腾讯、⾼德、百度都是这样的经纬度坐标。
⾕歌是经纬度顺序写反的经纬度坐标。
如果是度分秒坐标,需要进⾏转换,才能得到这样的经纬度坐标。
详见坐标转换。
2、墨卡托坐标。
平⾯坐标,相当于是直线距离,数字⼀般都⽐较⼤,像这样的。
(215362.00021333335 99526.00034912192)墨卡托坐标,主要⽤于程序的后台计算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
百度地图坐标采集方法
本文介绍使用八爪鱼采集器简易模式采集百度地图坐标的方法。
需要采集百度内容的,在网页简易模式界面里点击百度进去之后可以看到所有关于百度的规则信息,我们直接使用就可以的。
百度地图坐标采集方法步骤1
采集百度地图坐标内容(下图所示)即通过在百度地图输入关键词进行搜索,
采集搜索到的店铺的经纬度数据。
1、 找到百度地图坐标规则然后点击立即使用
百度地图坐标采集方法步骤2
2、下图显示的即为简易模式里面百度地图坐标的规则
查看详情:点开可以看到采集的目标网址。
任务名:自定义任务名,默认为百度地图坐标采集
任务组:给任务划分一个保存任务的组,如果不设置会有一个默认组城市:输入要采集的目标城市名,如:深圳
搜索关键词:设置要采集的关键词,这个任务一次只能搜索一个关键词示例数据:这个规则采集的所有字段信息
百度地图坐标采集方法步骤3
3、规则制作示例
例如采集搜索深圳所有肯德基的数据信息,在设置里如下图所示:任务名:自定义任务名,也可以不设置按照默认的就行
任务组:自定义任务组,也可以不设置按照默认的就行
城市:输入要采集的目标城市深圳
搜索关键词:设置要采集的关键词肯德基
设置好之后点击保存
百度地图坐标采集方法步骤4
保存之后会出现开始采集的按钮
百度地图坐标采集方法步骤5
4、选择开始采集之后系统将会弹出运行任务的界面
可以选择启动本地采集(本地执行采集流程)或者启动云采集(由云服务器执行采集流程),这里以启动本地采集为例,我们选择启动本地采集按钮
百度地图坐标采集方法步骤6
6、选择本地采集按钮之后,系统将会在本地执行这个采集流程来采集数据,下图为本地采集的效果
百度地图坐标采集方法步骤7
7、采集完毕之后选择导出数据按钮即可,这里以导出excel2007
为例,选择这
个选项之后点击确定
百度地图坐标采集方法步骤8 8、然后选择文件存放在电脑上的路径,路径选择好之后选择保存
百度地图坐标采集方法步骤9
9、这样数据就被完整的导出到自己的电脑上来了哦
百度地图坐标采集方法步骤10
相关采集教程:
美团商家信息采集
58同城信息采集
大众点评评价采集
八爪鱼——70万用户选择的网页数据采集器。
1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。
完全可视化流程,点击鼠标完成操作,2分钟即可快速入门。
2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布流、Ajax脚本异步加载数据的网页,均可经过简单设置进行采集。
3、云采集,关机也可以。
配置好采集任务后可关机,任务可在云端执行。
庞大云采集集群24*7不间断运行,不用担心IP被封,网络中断。
4、功能免费+增值服务,可按需选择。
免费版具备所有功能,能够满足用户的基本采集需求。
同时设置了一些增值服务(如私有云),满足高端付费企业用户的需要。