当前位置: 首页 > news >正文

学校品牌建设太原seo代理商

学校品牌建设,太原seo代理商,做的网站底部应该标注什么,godaddy上传网站概述 Geo就是Geolocation的简写形式#xff0c;代表地理坐标。在Redis中#xff0c;构造了能够存储地址坐标信息的一种数据结构#xff0c;帮助我们根据经纬度来检索数据。 命令行操作方法 GEOADD 可以用来添加一个或者多个地理坐标。 GEODIST 返回一个key中两个成员之…概述 Geo就是Geolocation的简写形式代表地理坐标。在Redis中构造了能够存储地址坐标信息的一种数据结构帮助我们根据经纬度来检索数据。 命令行操作方法 GEOADD 可以用来添加一个或者多个地理坐标。 GEODIST 返回一个key中两个成员之间的距离。 GEOHASH 将指定member的坐标转为哈希字符串形式返回。 GEOPOS 返回指定member的坐标。 GEORADIUS 指定圆心、半径找到该圆内包含的member。 GEOSEARCH 在指定范围内搜索member。最新的一个命令可以指定中心点的经纬度也可以使用member并且还可以指定搜索范围是圆形还是正方形。 StringRedisTemplate操作方法 add 用于添加地理坐标。 Resourceprivate StringRedisTemplate stringRedisTemplate;Testpublic void test(){Point point new Point(112.653652,37.809874);Long add this.stringRedisTemplate.opsForGeo().add(ShanXi, point, SXU);System.out.println(add);} radius 用来查找坐标 Resourceprivate StringRedisTemplate stringRedisTemplate;Test void test() {// 中心点Point point new Point(112.617734,37.797128);// 半径Distance radius new Distance(100, RedisGeoCommands.DistanceUnit.KILOMETERS);// 由中心点和半径组成的圆圈Circle circle new Circle(point, radius);// 获取值之后要带回来的参数RedisGeoCommands.GeoRadiusCommandArgs args RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance() // 包含距离.includeCoordinates() // 包含坐标.sortAscending(); // 升序// 进行查询GeoResultsRedisGeoCommands.GeoLocationString search this.stringRedisTemplate.opsForGeo().radius(ShanXi, circle, args);ListGeoResultRedisGeoCommands.GeoLocationString content search.getContent();if(content null || content.isEmpty()) {System.out.println(没有数据);}for (GeoResultRedisGeoCommands.GeoLocationString geoLocationGeoResult : content) {// 输出距离System.out.println(距离 geoLocationGeoResult.getDistance());RedisGeoCommands.GeoLocationString locationGeoResultContent geoLocationGeoResult.getContent();// 输出名称System.out.println(member locationGeoResultContent.getName());// 输出坐标System.out.println(坐标 locationGeoResultContent.getPoint());}} search 和radius方法类似只不过search还可以查找矩形范围之内的坐标。 remove 删除操作 Resourceprivate StringRedisTemplate stringRedisTemplate;Test void test() {Long remove this.stringRedisTemplate.opsForGeo().remove(ShanXi, TaiYuanXueYuan);System.out.println(remove);} distance 查看两个地理位置之间的直线距离 Resourceprivate StringRedisTemplate stringRedisTemplate;Test void test() {Distance distance this.stringRedisTemplate.opsForGeo().distance(ShanXi, SXU, ZonBei);System.out.println(distance);} 代码示例 需求山西所有高校建立之后都会把自己的位置上传到某信息平台并且还会查询距离自己学校30公里之内的其他学校。当学校换位置之后就会删除当前信息。 基础配置 RestController RequestMapping(/school) public class SchoolController {Resourceprivate SchoolService schoolService;} Service public class SchoolService extends ServiceImplSchoolMapper, School {Resourceprivate StringRedisTemplate stringRedisTemplate;} public interface SchoolMapper extends BaseMapperSchool { } Data public class School {// 学校idprivate Integer id;// 学校名private String name;// 经度private BigDecimal longitude;// 纬度private BigDecimal latitude;} 上传位置信息 public String add(School school) {// TODO 更新信息到数据库boolean save this.save(school);// TODO 判断是否更新成功if(save) {// TODO 封装位置信息Point point new Point(school.getLongitude().doubleValue(), school.getLatitude().doubleValue());// TODO 存入数据库this.stringRedisTemplate.opsForGeo().add(GEO:SCHOOL, point, school.getName());}return 成功;} 查询附近学校 public void queryMessage() {// 距离Distance distance new Distance(30, RedisGeoCommands.DistanceUnit.KILOMETERS);// 参数RedisGeoCommands.GeoRadiusCommandArgs args RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance() // 包含距离.includeCoordinates() // 包含坐标.sortDescending(); // 降序// 开始查找GeoResultsRedisGeoCommands.GeoLocationString results this.stringRedisTemplate.opsForGeo().radius(GEO:SCHOOL, SXU, distance, args);ListGeoResultRedisGeoCommands.GeoLocationString content results.getContent();// 输出结果for (GeoResultRedisGeoCommands.GeoLocationString geoLocationGeoResult : content) {System.out.println(距离山西大学30公里之内大学的名称 geoLocationGeoResult.getContent().getName());System.out.println(距离山西大学30公里之内大学的坐标 geoLocationGeoResult.getContent().getPoint());System.out.println(距离山西大学30公里之内大学的距离 geoLocationGeoResult.getDistance());}} 删除位置信息 public boolean remove(String name) {LambdaQueryWrapperSchool lambdaQueryWrapper new LambdaQueryWrapper();lambdaQueryWrapper.eq(School::getName, name);boolean subtract this.remove(lambdaQueryWrapper);if(!subtract) {return false;}Long remove this.stringRedisTemplate.opsForGeo().remove(GEO:SCHOOL, name);return remove ! null remove 1;}
http://www.dnsts.com.cn/news/47073.html

相关文章:

  • 网站后期维修问题资金盘app开发要多少钱
  • 之梦一个系统做多个网站微网站需要备案吗
  • 导购网站的seo怎么做网站建设属于什么类目
  • 岳阳网站开发公司wordpress批量修改
  • 锐仕方达猎头公司seo含义
  • 网站为什么打不开百度网站排名
  • 做视频采集网站犯法怎么将自己的视频推广出去
  • 临汾做网站电话如何用微信小程序开店
  • 网站备案容易吗上海网站seo公司
  • 南山网站建设公网站联系方式连接怎么做
  • 网站安全证书出错怎么做软件开发流程报告
  • 怎么做 niche网站垫江网站建设djrckj
  • 能免费创建网站吗衡水外贸网站建设
  • 阜新建设网站辽阳做网站
  • 做一个简单的网站网站建设是怎么挣钱的
  • 万网网站备案系统织梦网站定时
  • 中国联通 网站备案珠海网站建设制作
  • 嘉兴门户网站建设delphi7 网站开发
  • 网站推广一般多少钱百度搜索引擎优化的推广计划
  • 网站seo外包公司有哪些微信小程序低代码开发平台
  • 查看网站是否wordpresswordpress专题模板
  • 企业专业网站建设哪家好wordpress 课程激活
  • 做阿里巴巴1688网站程序flashfxp怎么上传对应网站空间
  • 旅游网站制作代码如何进wordpress后台
  • 怎样登录建设互联网站wordpress账号批量注册
  • 涉县移动网站建设价格网址导航网站建站
  • 荆州哪有做网站的公司想要建设一个网站都需要注意什么
  • 建站工具原理2233网页游戏大全
  • 北京手机网站嘉兴做美食图片的网站
  • 企业网站邮箱建设微商各种软件拿码渠道