http://ip-api.com/json/ 直接访问,结果如下 // 20180804140751 // http://ip-api.com/json/ { "as": "AS14061 DigitalOcean
Go语言计算两个经度和纬度之间的距离 package main import ( "fmt" "math" ) func main() { lat1 := 29.490295
方案1 通过 SQL 语句查询,数据库 : mysql ER 图 ?.../ 180) * COS(114.4458 * 3.1415 / 180 - lon * 3.1415 / 180)) * 6380 ASC LIMIT 10 其中 lat 为 维度 ,lon 为 经度..., + 1 加一个经度或者维度,1经度大概等于 111 千米。...这句 sql 查询 该经纬度 111 km 范围内的地点 方案2 通过 Redis 的 geo Redis Geo 在 3.2+ 以上版本才有。...通过 geroadd 添加位置数据,georadius 查询范围内的数据 请参考:https://www.runoob.com/redis/redis-geo.html
php代码:转载 http://www.cnblogs.com/caichenghui/p/5977431.html 1 /** 2 * 求两个已知经纬度之间的距离,单位为米 3 * 4...* @param lng1 $ ,lng2 经度 5 * @param lat1 $ ,lat2 纬度 6 * @return float 距离,单位米 7 * @author www.Alixixi.com
先看效果 接下来我们一起来看一下具体实现 首先我们根据返回的数据, { "code": 1, "msg": "数据返回成功", "data": { "ip": "...字符串 访问者的ip地址 province 字符串 省份 code 字符串 省份id city 字符串 城市 cityId 字符串 城市id isp 字符串 网络服务商名称 例如 电信 desc 字符串...* @organization:坚果派 */ export class IpInfo { ip: string = "" //访问者的ip地址 province: string = ""...this.ipAddress = e }).onSubmit(() => { this.getAddress(this.ipAddress) }) Text("坚果,你目前的IP...e }).onSubmit(() => { this.getAddress(this.ipAddress) }) Text("坚果,你目前的IP
调查(surveys)可以对用户的态度进行定量测量和分类,或者在设备端收集自我报告的数据,这些数据可以帮助跟踪或发现要解决的重要问题。...例如,在现场研究(field studies)和可用性研究(usability studies)中,研究人员直接观察人们如何使用(或不使用)技术来满足他们的需求。...数据分析通常不是数学上的。 相比之下,定量方法的见解通常是从数学分析中得出的,因为数据收集工具(例如,调查工具或网络服务器日志)会捕获大量数据。...图表中的大多数方法可以参考同一维度进行变化的选择。...11)客户反馈:直观的用户反馈来自于产品网页收集的反馈链接,或电子邮件提供的开放式和/或封闭式信息。
但是对于空间上的一个点(二维,包括经度和纬度),如何排序呢?又如何索引呢?解决的方法很多,下文介绍一种方法来解决这一问题。...,由于这些用户的GeoHash字符串都是WX4ER,所以可以把WX4ER当作key,把该区域的餐馆信息当作value来进行缓存,而如果不使用GeoHash的话,由于区域内的用户传来的经纬度是各不相同的,...计算出GeoHash值,然后和数据库中精度更高的GeoHash值做前缀比较 8.空间索引 常见问题:如何根据自己所在位置查询来查询附近50米的POI(point of interest,比如商家、景点等...每个POI都有经纬度信息,用图1b的SQL语句在mySQL中建立了POI_spatial的表,其中lat和lng两个字段来代表纬度和经度。为后续分析方便起见,我人造了40万个POI数据。...根据这个思路我们执行SQl查询(图5)(注:经度或纬度每隔0.001度,距离相差约100米,由此推算出矩形左下角和右上角坐标),发现过滤后正好剩下两个POI。
经度:地理位置的经度,影响日出和日落的具体时刻。 纬度:地理位置的纬度,影响日出和日落时间的早晚以及全年日照时间的长短。 海拔:较高的海拔会影响大气折射,从而略微影响日出和日落时间。...但是,我们可以轻松地获取到另一个和地理位置有关的网络信息:IP地址。然后通过IP地址与地理位置的映射(包括经度纬度)得到想要的信息。...IP2Location Lite提供了CSV和Bin两种格式的数据库,并根据数据丰富性分为多个不同的版本。这里以包含了国家、地区、城市、经度纬度、邮政编码、时区的DB11为例介绍如何使用。...,这个IP并没有查询到城市信息,只返回了国家信息,因此结果中的经度纬度信息也不准确。...在程序中也可以通过特定API获取公网IP,比如下边这个API: Get https://ipecho.net/plain 小结 在计算日出日落和经度纬度信息的环节都介绍了在线API服务和离线获取两种方式
总结一下,需要做一个邻近服务,可以根据用户的位置(经度和纬度)以及搜索半径返回附近的商家,半径可以修改。因为用户的位置信息是敏感数据,我们可能需要遵守数据隐私保护法。...二维搜索 这种方法简单,有效,根据用户的位置和搜索半径画一个圆,然后找到圆圈内的所有商家,如下所示。 商家的纬度用 latitude 表示,经度用 longitude 表示。...同样的用户的纬度和经度可以用 user_latitude 和 user_longitude 表示,半径用 radius 表示。 上面的搜索过程可以翻译成下面的伪 SQL 。...虽然我们可以对经纬度创建索引,效率有提升,但是并不够,我们还需要对索引的结果计算取并集。 2. Geohash 我们上面说了,二维的经度和纬度做索引的效果并不明显。...用户需要寻找附近 500 米的餐馆。客户端把用户位置(经度和纬度),半径(500m)发送给后端。 2. 负载均衡器把请求转发给 LBS。 3.
因为使用了 CloudFlare 的反向地址。 所有 Discourse 获得的用户的 IP 地址其实是 CloudFlare 的服务器地址。...修改 好在 Discourse 已经提供了相关的解决方案。...需要在 Discourse 的配置文件中,添加下面的内容: “templates/cloudflare.template.yml” 然后重新 Build 你的 Discourse 的安装实例。 ..../launcher rebuild app 使用上面的命令就可以对 Discourse 直接进行重构了,需要注意的是重构需要 10 分钟左右,这 10 分钟系统是无法访问的。
关于SharpSniper SharpSniper是一款针对活动目录安全的强大工具,在该工具的帮助下,广大研究人员可以通过目标用户的用户名和登录的IP地址在活动目录中迅速查找和定位到指定用户。...在一般的红队活动中,通常会涉及到针对域管理账号的操作任务。在某些场景中,某些客户(比如说企业的CEO)可能会更想知道自己企业或组织中域特定用户是否足够安全。...SharpSniper便应运而生,SharpSniper是一款简单且功能强大的安全工具,可以寻找目标域用户的IP地址,并帮助我们轻松寻找和定位到这些用户。 ...接下来,该工具会搜索目标用户账号相关的任何域控制器登录事件,并读取DHCP最新分配给TA的登录IP地址。 ...域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。
但是对于空间上的一个点(二维,包括经度和纬度),如何排序呢?又如何索引呢?解决的方法很多,下文介绍一种方法来解决这一问题。 ...,由于这些用户的GeoHash字符串都是WX4ER,所以可以把WX4ER当作key,把该区域的餐馆信息当作value来进行缓存,而如果不使用GeoHash的话,由于区域内的用户传来的经纬度是各不相同的,...根据经纬度计算GeoHash二进制编码 地球纬度区间是[-90,90], 北海公园的纬度是39.928167,可以通过下面算法对纬度39.928167进行逼近编码: 1)区间[-90,90]进行二分为[...组码 通过上述计算,纬度产生的编码为10111 00011,经度产生的编码为11010 01011。...三、GeoHash算法 上文讲了GeoHash的计算步骤,仅仅说明是什么而没有说明为什么?为什么分别给经度和维度编码?为什么需要将经纬度两串编码交叉组合成一串编码?本节试图回答这一问题。
如打车服务: 每辆网约车都有个编号(如666),网约车需将自己的经度、纬度发给叫车应用 打车时,打车应用会根据用户的经纬度位置,查找用户的附近车辆,并匹配 等把位置相近的用户和车辆匹配后,打车应用就会根据车辆编号...对于一个LBS应用,除记录经纬度,还需根据用户经纬度信息在车辆的Hash集合中进行范围查询。 而涉及到范围查询,就要求集合中的元素有序,Hash显然不满足需求。...类型),而一组经纬度包含的是经度和纬度两个值,没法直接保存为一个浮点数,到底怎么保存?...这就要用到GEO类型中的GeoHash编码。 工作原理 sorted set 使用一种称为 Geohash 的技术进行填充。经度和纬度的位是交错的,以形成一个独特的 52 位整数....工作原理 sorted set 使用一种称为 Geohash 的技术进行填充。经度和纬度的位是交错的,以形成一个独特的 52 位整数.
1、更改docker镜像仓库 # 这个网上有很多,我也是在网上找的,或者自己去阿里云申请 vi /etc/docker/daemon.json { "registry-mirrors": ["http:...6kx4zyno.mirror.aliyuncs.com"] } # 重启docker systemctl restart docker.service 2、可以先查看有哪些容器了 docker images 3、查看正在运行和没有运行的容器...docker ps 正在运行 docker ps -a 正在运行和没有运行的 4、从中央仓库拉取镜像 # 需要加上版本号 docker pull elasticsearch:7.4.2 # 这个命令是...根据自己的IP加上9200端口访问即可 ?...然后就好了...如果有其他问题需要仔细一点慢慢排查就好了,比如哪里少个空格换行什么的细节问题 最后再附上几个常用docker命令 #1.停止所有的container,这样才能够删除其中的images
服务器 IP、图片路径则记录在用户数据库中。同时,购买 CDN 服务,缓存热门的用户照片。 配对微服务负责将互相喜欢的用户配对,通知用户,并加入彼此的通讯录中。用户每次右划操作都调用该微服务。...1、SQL 邻近算法 我们可以将用户经、纬度直接记录到数据库中,纬度记录在 latitude 字段,经度记录在longitude 字段,用户当前的纬度和经度为 X,Y,如果我们想要查找和当前用户经、纬度距离...我们可以估算下所有用户经、纬度都加载到内存中需要的内存量:1G × 3 × 4B = 12GB(用户 ID、经度、纬度,都采用 4 个字节编码,总用户数 1G)。这个内存量是完全可以接受的。...如果根节点不是叶子节点,那么根据给定的经、纬度判断其在网格中的位置,左上、右上、右下、左下,4 个位置,顺序对应 4 个子树,根据网格位置访问对应的子树。...,分别针对经度和纬度,求取当前区间(对于纬度而言,开始的区间就是[-90, 90], 对于经度而言,开始区间就是[-180, 180])的平均值,将当前区间分为两个区间。
首先一个key里面得保存各个member和经纬度,而且经纬度还必须得能够排序,所以我们发现这个结构其实和redis的zset结构其实挺像的,唯一的区别可能在于zset只有一个score,而GEO有经度和纬度...当我们要对一组经纬度进行 GeoHash 编码时,我们要先对经度和纬度分别编码,然后再 把经纬度各自的编码组合成一个最终编码。 首先,我们来看下经度和纬度的单独编码过程。...等到第三次对[90,180]进行二分区,经度值 116.37 落在了分区后的左分区[90, 135) 中,所以,第三次分区后的编码值就是 0。...这个编码过程如下表所示: 对纬度的编码方式,和对经度的一样,只是纬度的范围是[-90,90],下面这张表显示了对 纬度值 39.86 的编码过程。...最后根据上述得到的二进制值,以5位为一组,进行base32编码 最后获得的结果就是一组经纬度的geohash值。
,以区分每个区域; √ 对数据进行标准化处理,使用[0,1]值,代表颜色的透明度,以控制颜色深浅; ④ 根据颜色进行填色 ⑤ 根据经纬度进行标注地图的名字 那么如何绘制地图呢?...,col) databae 地图的数据库 fill 是否填充,默认为不填充地图区域 col 填充的颜色,为RGB颜色 地图标注函数: text(x,y,text,cex) x...x轴的坐标,经度 y y轴的坐标,纬度 text 要展示的文字 cex 字体的缩放大小 代码实现: install.packages("maps") install.packages...("state", fill=TRUE, col=colors); #第五步、根据经纬度进行标注地图的名字。...热力地图绘制函数: symbols(x,y,circles,inches=TRUE,add=FALSE,bg) x x轴的坐标,经度 y y轴的坐标,纬度 circles 圆形的半径
Geohash的0、1串序列是经度0、1序列和纬度0、1序列中的数字交替进行排列的,偶数位对应的序列为经度序列,奇数位对应的序列为纬度序列,在进行第一次划分时,Geohash0、1序列中的前5个bits...为什么分别给经度和维度编码?为什么需要将经纬度两串编码交叉组合成一串编码?本节试图回答这一问题。...该场景封装为函数可以表示如下:输入组成围栏的点经纬度坐标集合和指定的geohash长度,输出一组geohash编码。...以外包矩形中心点为圆心,以d/2为半径做一个圆,计算圆覆盖范围内的geohash 4.1 获取圆的外包矩形左上角和右下角定点坐标经纬度,存储到double[] locs 4.2 根据geohash字符长度计算该长度...geohash编码对应的经纬度间隔(latA,lngA) 4.3 根据latA和lngA,计算出locs组成的矩形的左上角和右下角定点的经纬度,在geohash划分的网格的索引(也就是第几个),分别记为
字符串越长,表示的范围越精确。 ? GEOPOS 从key里返回所有给定位置元素的位置(经度和纬度)。...距离的单位和用户给定的范围单位保持一致 WITHCOORD: 将位置元素的经度和维度也一并返回 WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值...通过以下两个参数, 用户可以指定被返回位置元素的排序方式: ASC 根据中心的位置, 按照从近到远的方式返回位置元素。 DESC 根据中心的位置, 按照从远到近的方式返回位置元素。...GEORADIUS 使用输入的经度和纬度来决定中心点 指定成员的位置被用作查询的中心 ?...工作原理 sorted set 使用一种称为 Geohash 的技术进行填充。经度和纬度的位是交错的,以形成一个独特的 52 位整数.
二. geohash算法 geohash算法便是基于上面空间网格化的思想,对经纬度分别进行网格化的分层处理,最后再组合一起. 1. 经纬度的分层. 以北京的经纬度116.46和39.92为例....首先将经度也按一分为二的方式不断迭代划分下去, 按如下图可知,经度116.46可使用字符串[11010 01011]表示 将纬度也按一分为二的方式不断迭代划分下去....经纬度的合并计算 通过上面表格,已经知道北京的经纬度116.46和39.92 分别对应的[11010 01011]和[10111 00011]....从0开始,奇数位放纬度,偶数位放经度,合并后并转为base32字符串 [11100 11101 00100 01111] 根据base32算法,地理位置字符串为wx4g 通过geohash官网验证,请求格式...可以用一个字符串表示经度和纬度两个坐标 2.
领取专属 10元无门槛券
手把手带您无忧上云