前言:
此刻姐妹们对“经纬度换算距离”大约比较注重,朋友们都需要剖析一些“经纬度换算距离”的相关知识。那么小编在网上收集了一些有关“经纬度换算距离””的相关知识,希望同学们能喜欢,兄弟们快快来了解一下吧!数据准备
初始化城市的经纬度
cityInfos = new ArrayList<>();cityInfos.add(new CityInfo("济南市",117.000923,36.675807)); // 济南市cityInfos.add(new CityInfo("青岛市",120.369557,36.094406));//cityInfos.add(new CityInfo("淄博市",118.047648,36.814939));//cityInfos.add(new CityInfo("枣庄市",117.557964,34.856424));//cityInfos.add(new CityInfo("东营市",118.4963,37.461266 ));//cityInfos.add(new CityInfo("烟台市",121.391382,37.539297));//cityInfos.add(new CityInfo("潍坊市",119.107078,36.70925 ));//cityInfos.add(new CityInfo("济宁市",116.587245,35.415393));//cityInfos.add(new CityInfo("泰安市",117.129063,36.194968));//cityInfos.add(new CityInfo("威海市",122.116394,37.509691));//cityInfos.add(new CityInfo("日照市",119.461208,35.428588));//cityInfos.add(new CityInfo("莱芜市",117.677736,36.214397));//cityInfos.add(new CityInfo("临沂市",118.326443,35.065282));//cityInfos.add(new CityInfo("德州市",116.307428,37.453968));//cityInfos.add(new CityInfo("聊城市",115.980367,36.456013));//cityInfos.add(new CityInfo("滨州市",118.016974,37.383542));//cityInfos.add(new CityInfo("菏泽市",115.469381,35.246531));//
* geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。
* 测试 saveCityInfoToRedis 方法
@Testpublic void testSaveCityInfoToRedis() { System.out.println(geoService.saveCityInfoToRedis(cityInfos));}
计算两地相差距离(千米)
geodist:用于返回两个给定位置之间的距离。测试 getTwoCityDistance 方法
@Test public void testGetTwoCityDistance() { System.out.println(geoService.getTwoCityDistance("济南市", "菏泽市", null).getValue()); System.out.println(geoService.getTwoCityDistance("济南市", "菏泽市", Metrics.KILOMETERS).getValue()); }
测试结果
附近的城市
附近的城市,也可以是附近以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。
@Test public void testGetPointRadius() { // 测试里济南140公里内的城市 CityInfo city = new CityInfo("济南市", 117.000923, 36.675807); Point center = new Point(city.getLongitude(), city.getLatitude()); Distance radius = new Distance(140, Metrics.KILOMETERS); Circle within = new Circle(center, radius); System.out.println(JSON.toJSONString(geoService.getPointRadius(within, null))); // order by 距离 limit 2, 同时返回距离中心点的距离 RedisGeoCommands.GeoRadiusCommandArgs args = RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance().limit(2).sortAscending(); System.out.println(JSON.toJSONString(geoService.getPointRadius(within, args))); }
您的关注、点赞、转发是对我最大的支持,源码 ,更多Redis功能持续更新中
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #经纬度换算距离