经纬度

Java百度地图 经纬度转换米 工具类

我的梦境 提交于 2019-12-22 16:13:22
package com.rxdatainfo.modules.data; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSONArray; public class LatLonUtil { private static double PI = 3.14159265; private static double EARTH_RADIUS = 6378137; private static double RAD = Math.PI / 180.0; /** * @Description: 获取四至信息(最大最小经纬度) * @author 董泽琦 * @param lat * @param lng * @date 2019年4月25日 下午5:50:54 */ public static double[] getFourBounds(String lng, String lat, String[] pointArr) throws Exception { if (pointArr.length>1) { return getPolygonAround(pointArr); } return getCircleAround(Double.parseDouble(lng),

神探Python程序员,带你千里捉小三!(附详情代码)

感情迁移 提交于 2019-12-21 20:49:59
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: 王翔 清风Python PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 通过委托人的述说,专门查了一下深圳最近的天气,保持在10-20度之间,带羽绒服的动作确实有些匪夷所思。因为只是怀疑不能直白的查岗,该如何默默地私下调查呢?在和委托人深入探讨时,看到她老公发了一张汉庭酒店的入住照片。然而汉庭酒店在全国都有分店,也不能说明什么啊! 突然我灵机一动,也许这一张足以成为是否出轨的证据了!在委托人疑惑中,我让她把这张照片发到了我的电脑上,经过我飞速的代码编写,真想就此浮出水面! 通过解析照片,获取到了照片的详细与经纬度,在通过经纬度逆推,得到了最终的拍摄地理位置:陕西省西安市碑林区含光北路162号,拿起手机搜索了一下这个地址实锤了,汉庭酒店无疑! 委托人的连夜机票,最终完成了千里捉小三的壮举!全剧终… 获取地理位置 故事到这里结束了,但是小P侦探是如何通过代码解析到照片中的具体位置呢?如果人人都可以通过照片解析他人的位置,岂不是乱了套了!别急,想通过代码解析微信发送的照片地理位置

百度地图API详解之地图坐标系统

痞子三分冷 提交于 2019-12-21 04:38:48
  我们都知道地球是圆的,电脑显示器是平的,要想让位于球面的形状显示在平面的显示器上就必然需要一个转换过程,这个过程就叫做 投影 (Projection)。在地球上我们通过经纬度来描述某个位置,而经过投影之后的地图也有自己的坐标系统,这篇文章就来详细介绍在百度地图API中涉及的各种坐标体系。 在百度地图API中,你需要了解如下坐标系: 经纬度:通过经度(longitude)和纬度(latitude)描述的地球上的某个位置。 平面坐标:投影之后的坐标(用x和y描述),用于在平面上标识某个位置。 像素坐标:描述不同级别下地图上某点的位置。 图块坐标:地图图块编号(用x和y描述)。 可视区域坐标:地图可视区域的坐标系(用x和y描述)。 覆盖物坐标:覆盖物相对于容器的坐标(用x和y描述)。 别被这么多的坐标系吓着,看完了后面的讲解相信你会逐渐理解它们。 经纬度 这个就不多说了,不熟悉的可以翻翻地理书。但需要注意的是即便同是经纬度坐标也可能属于不同的坐标体系。一般GPS设备获取的经纬度属于WGS84坐标系,这是一个比较通用的坐标体系。由于某些原因国内不能直接使用WGS84坐标,因此百度地图API的经纬度是经过加密偏移的。 平面坐标 前面说过,球面上的形状需要经过投影才能变换为平面上的形状,变换后就需要有一个平面坐标系统来描述地图上某个位置。百度地图API默认使用墨卡托投影(Mercator

再提LBS经纬度搜索和距离排序,求更优方案

有些话、适合烂在心里 提交于 2019-12-18 22:34:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 再提LBS经纬度搜索和距离排序,求更优方案 1 赞 踩 收藏 一直在琢磨LBS,期待可以发现更好的方案。现在纠结了。 简单列举一下已经了解到的方案: 1.sphinx geo索引 2.mongodb geo索引 3. MySQL sql查询 4.mysql+geohash 5.redis+geohash 然后列举一下需求: 1.实时性要高,有频繁的更新和读取 2.可按距离排序支持分页 3.支持多条件筛选(一个经纬度数据还包含其他属性,比如社交系统的性别、年龄) 方案简单介绍: 1.sphinx geo索引 支持按照距离排序,并支持分页。但是尝试mva+geo失败,还在找原因。 无法满足高实时性需求。(可能是不了解实时增量索引配置有误) 资源占用小,速度快 2.mongodb geo索引 支持按照距离排序,并支持分页。支持多条件筛选。 可满足实时性需求。 资源占用大,数据量达到百万级请流量在10w左右查询速度明显下降。 3.mysql+geohash/ mysql sql查询 不支持按照距离排序(代价太大)。支持分页。支持多条件筛选。 可满足实时性需求。 资源占用中等,查询速度不及mongodb。 且geohash按照区块将球面转化平面并切割。暂时没有找到跨区块查询方法(不太了解)。 4.redis

地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)

≡放荡痞女 提交于 2019-12-18 14:58:17
一、地球模型 地球是一个近似椭球体,测绘时用椭球模型逼近,这个模型叫做 参考椭球 ,如下图: 赤道是一个半径为a的近似圆,任一圈经线是一个半径为b的近似圆。a称为椭球的长轴半径,b称为椭球的短轴半径。 a ≈ 6378.137千米,b≈6356.752千米。(实际上,a也不是恒定的,最长处和最短处相差72米,b的最长处和最短处相差42米,算很小了) 地球参考椭球基本参数: 长轴:a 短轴:b 扁率:α=(a-b) / a 第一偏心率:e=√(a 2 -b 2 ) / a 第二偏心率:e ' =√(a 2 -b 2 ) / b 这几个参数定了,参考椭球的数学模型就定了。 什么是大地坐标系? 大地坐标系 是大地测量中以 参考椭球 面 为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示:(L, B, H)。 空间直角坐标系 是以 参考椭球 中心 为原点,以原点到0度经线与赤道交点的射线为x轴,原点到90度经线与赤道交点的射线为y轴,以地球旋转轴向北为z轴:(x, y, z) 共同点:显然,这两种坐标系都必须基于一个参考椭球。 不同点:大地坐标系以面为基准,所以还需要确定一个标准海平面。而空间直角坐标系则以一个点为基准,所以还需要确定一个中心点。 只要确定了椭球基本参数,则大地坐标系和空间直角坐标系就相对确定了,只是两种不同的表达而矣,这两个坐标系的点是一一对应的。

Cesium 坐标系转换

做~自己de王妃 提交于 2019-12-18 13:10:03
1 Cesium中的地形 Cesium中的地形系统是一种由流式瓦片数据生成地形mesh的技术,厉害指出在于其可以自动模拟出地面、海洋的三维效果。创建地形图层的方式如下: var terrainProvider = new Cesium.CesiumTerrainProvider({ url : 'https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles', // 默认立体地表 // 请求照明 requestVertexNormals: true, // 请求水波纹效果 requestWaterMask: true }); viewer.terrainProvider = terrainProvider; Cesium支持两种类型的地形,STK World Terrain和Small Terrain。 1.1 STK世界地形 STK世界地形(STK World Terrain),其是高分辨率, 基于quantized mesh的地形。这是一种基于网格的地形,可充分利用GL中的Shader来渲染,效果相当逼真。该地形使用了多种数据源,分别适应不同地区和不同精度时的情形,如,美国本土使用美国国家高程数据集(National Elevation Dataset,NED)的高程,精度3-30米;对于欧洲使用EU-DEM高程

jsp页面通过经纬度获取实际地址并显示(百度地图)

◇◆丶佛笑我妖孽 提交于 2019-12-14 11:20:50
一、注册百度地图开放平台账号,地址: http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/helloworld; 注册成功后点击<应用管理>菜单,选择<创建应用>,创建自己的应用,成功后会生成ak,拿着这个ak去代码中实现获取地址功能; 二、在工程中jsp页面引入百度地图api和jquery <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=此处为第一步生成的ak"></script> 三、页面简单写写,传入要转换的经纬度 <div class="container"> 经度:<input type="text" id="jd"/> 纬度:<input type="text" id="wd"/> <div id="apple"></div> <input type="button" value

pyecharts 标记指定经纬度

浪子不回头ぞ 提交于 2019-12-13 06:19:59
标记指定经纬度 读取数据 import pandas as pd stations = pd . read_csv ( '../Stationid_list.csv' , delimiter = ',' ) 画图 from pyecharts . charts import Geo from pyecharts import options from pyecharts . globals import GeoType g = Geo ( ) . add_schema ( maptype = "china" ) # 给所有点附上标签 'StationID' for i in stations . index : s = stations . iloc [ i ] g . add_coordinate ( s [ 'StationID' ] , s [ 'Longitude' ] , s [ 'Latitude' ] ) # 给每个点的值赋为 1 data_pair = [ ( stations . iloc [ i ] [ 'StationID' ] , 1 ) for i in stations . index ] # 画图 g . add ( '' , data_pair , type_ = GeoType . EFFECT_SCATTER , symbol_size = 2

ArcGIS——GIS中的坐标系

你离开我真会死。 提交于 2019-12-13 00:17:07
1. 经纬度与GCS(Geographic Coordinate System, 地理坐标系统) 2. 方里网与PCS(Projection Coordinate System, 投影坐标系统) 3. GCS和PCS的转化问题(三参数与七参数问题) 4. 火星坐标问题 在第一部分,我介绍一下以经纬度为准的地理坐标系统,也顺带提及一下我国的高程坐标系。主要涉及的内容有:大地水准面问题,椭球问题,常见的GCS(如北京54,西安80,CGCS2000,WGS84等),让大家看到GIS数据中的GCS马上就能知道这是什么东西。 在第二部分,我介绍一下以平面直角坐标系为量度的投影坐标系统。主要涉及的内容有:PCS与GCS的关系,我国常见的PCS(高斯克吕格、兰伯特/Lambert、阿尔伯斯Albers、墨卡托Mercator、通用横轴墨卡托UTM、网络墨卡托Web Mercator)。 在第三部分,是实际操作过程中遇到的种种问题,如投影不对会出现什么情况、如何转换GCS、如何切换PCS(重投影问题)等问题,涉及一些数学转换的思维,需要有一定的空间想象能力。 在第四部分,我简单介绍一下所谓的火星坐标。 那么我们开始吧! 1. 经纬度与GCS 天气预报也好,火箭发射也罢,地震、火山等事故发生时,电视台总会说东经XX度,北纬YY度。这个经纬度中学地理就学过了,我就不细说了。 我从如何描述地球说起。

GEO hash 核心原理

梦想的初衷 提交于 2019-12-12 18:20:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。 饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然后返回距离<=1000米的餐馆。小得意了一会儿,机机发现北京的餐馆何其多啊,这样计算不得了,于是想了,既然知道经纬度了,那它应该知道自己在西城区,那应该计算所在位置P与西城区所有餐馆的距离啊,机机运用了递归的思想,想到了西城区也很多餐馆啊,应该计算所在位置P与所在街道所有餐馆的距离,这样计算量又小了,效率也提升了。 机机的计算思想很朴素,就是通过过滤的方法来减小参与计算的餐馆数目,从某种角度上讲,机机在使用索引技术。 一提到索引,大家脑子里马上浮现出B树索引,因为大量的数据库(如MySQL、oracle、PostgreSQL等)都在使用B树。B树索引本质上是对索引字段进行排序,然后通过类似二分查找的方法进行快速查找,即它要求索引的字段是可排序的,一般而言,可排序的是一维字段,比如时间、年龄、薪水等等。但是对于空间上的一个点(二维,包括经度和纬度),如何排序呢?又如何索引呢