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

营销型网站建设培训seo怎么优化步骤

营销型网站建设培训,seo怎么优化步骤,东莞网络排名优化价格,免费咨询问题的网站Java 实现 Redis中的GEO数据结构 LBS (基于位置信息服务(Location-Based Service,LBS))应用访问的数据是和人 或物关联的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO 就非常适合应用在 …

Java 实现 Redis中的GEO数据结构

LBS (基于位置信息服务(Location-Based Service,LBS))应用访问的数据是和人

或物关联的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO 就非常适合应用在

LBS 服务的场景中


import java.util.ArrayList;
import java.util.List;// 定义一个表示地理位置的类,用于存储地理位置的相关信息
public class GeoLocation {// 成员名称,用于标识这个地理位置,比如某个地点的名称private String member;// 地理位置的经度private double longitude;// 地理位置的纬度private double latitude;// 构造函数,用于初始化 GeoLocation 对象// 参数 member 为成员名称,longitude 为经度,latitude 为纬度public GeoLocation(String member, double longitude, double latitude) {this.member = member;this.longitude = longitude;this.latitude = latitude;}// 获取成员名称的方法public String getMember() {return member;}// 获取经度的方法public double getLongitude() {return longitude;}// 获取纬度的方法public double getLatitude() {return latitude;}
}// 定义一个用于计算两个地理位置之间距离的工具类class GeoDistanceCalculator {// 地球的平均半径,单位为千米,在计算距离时会用到private static final int EARTH_RADIUS = 6371;// 静态方法,使用 Haversine 公式计算两个经纬度之间的距离// 参数 lat1 和 lon1 是第一个地点的纬度和经度// 参数 lat2 和 lon2 是第二个地点的纬度和经度public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {// 计算两个纬度之间差值的弧度double dLat = Math.toRadians(lat2 - lat1);// 计算两个经度之间差值的弧度double dLon = Math.toRadians(lon2 - lon1);// 将第一个地点的纬度转换为弧度lat1 = Math.toRadians(lat1);// 将第二个地点的纬度转换为弧度lat2 = Math.toRadians(lat2);// Haversine 公式的一部分,用于计算球面距离double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);// 计算反三角函数,得到球面距离的弧度值double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));// 最终距离等于地球半径乘以弧度值return EARTH_RADIUS * c;}
}// 定义一个模拟 Redis Geo 数据结构的类,用于管理地理位置信息class GeoDataStructure {// 用于存储所有地理位置信息的列表private List<GeoLocation> locations;// 构造函数,初始化存储地理位置信息的列表public GeoDataStructure() {this.locations = new ArrayList<>();}// 向数据结构中添加一个新的地理位置信息// 参数 member 为成员名称,longitude 为经度,latitude 为纬度public void addLocation(String member, double longitude, double latitude) {// 创建一个新的 GeoLocation 对象GeoLocation location = new GeoLocation(member, longitude, latitude);// 将新的地理位置信息添加到列表中locations.add(location);}// 根据给定的经纬度和距离范围,查找附近的成员// 参数 longitude 和 latitude 是查询的中心点的经度和纬度// 参数 distance 是查询的距离范围,单位为千米public List<String> findNearbyMembers(double longitude, double latitude, double distance) {// 用于存储附近成员名称的列表List<String> nearbyMembers = new ArrayList<>();// 遍历所有存储的地理位置信息for (GeoLocation location : locations) {// 计算当前地理位置与查询中心点之间的距离double dist = GeoDistanceCalculator.calculateDistance(latitude, longitude,location.getLatitude(), location.getLongitude());// 如果计算出的距离小于等于查询的距离范围if (dist <= distance) {// 将该地理位置的成员名称添加到附近成员列表中nearbyMembers.add(location.getMember());}}// 返回附近成员列表return nearbyMembers;}
}// 测试 GeoDataStructure 类功能的测试类class GeoDataStructureTest {public static void main(String[] args) {// 创建一个 GeoDataStructure 对象,用于管理地理位置信息GeoDataStructure geoData = new GeoDataStructure();// 向 GeoDataStructure 对象中添加一些地理位置信息// 这里添加了三个地点,分别是 place1、place2 和 place3geoData.addLocation("place1", 116.4074, 39.9042);geoData.addLocation("place2", 121.4737, 31.2304);geoData.addLocation("place3", 113.2644, 23.1291);// 定义查询的中心点的经度double targetLongitude = 116.4074;// 定义查询的中心点的纬度double targetLatitude = 39.9042;// 定义查询的距离范围,单位为千米double searchDistance = 10000;// 调用 findNearbyMembers 方法,查找附近的成员List<String> nearbyMembers = geoData.findNearbyMembers(targetLongitude, targetLatitude, searchDistance);// 输出附近的成员名称列表System.out.println("附近的地点: " + nearbyMembers);}
}

文章转载自:
http://plasmapheresis.c7500.cn
http://lulu.c7500.cn
http://mnas.c7500.cn
http://anthroposophy.c7500.cn
http://pide.c7500.cn
http://ecology.c7500.cn
http://spasm.c7500.cn
http://indigen.c7500.cn
http://erinaceous.c7500.cn
http://eftpos.c7500.cn
http://diskette.c7500.cn
http://lepidote.c7500.cn
http://hemanalysis.c7500.cn
http://seamster.c7500.cn
http://herald.c7500.cn
http://spit.c7500.cn
http://argumentatively.c7500.cn
http://phosphorate.c7500.cn
http://chafe.c7500.cn
http://batrachotoxin.c7500.cn
http://electrobath.c7500.cn
http://unctad.c7500.cn
http://morillo.c7500.cn
http://genially.c7500.cn
http://recremental.c7500.cn
http://uppsala.c7500.cn
http://dies.c7500.cn
http://impulsive.c7500.cn
http://latinity.c7500.cn
http://equinoctial.c7500.cn
http://baee.c7500.cn
http://dendrochronology.c7500.cn
http://reinstallment.c7500.cn
http://superinfection.c7500.cn
http://schedular.c7500.cn
http://lethargy.c7500.cn
http://nofretete.c7500.cn
http://falangist.c7500.cn
http://daresay.c7500.cn
http://paramorphism.c7500.cn
http://amplification.c7500.cn
http://mulatta.c7500.cn
http://melancholic.c7500.cn
http://radiac.c7500.cn
http://cellulous.c7500.cn
http://kathode.c7500.cn
http://anilinctus.c7500.cn
http://weightless.c7500.cn
http://subentry.c7500.cn
http://imprudence.c7500.cn
http://recognizance.c7500.cn
http://skulduggery.c7500.cn
http://lenitively.c7500.cn
http://papermaking.c7500.cn
http://caponize.c7500.cn
http://excurved.c7500.cn
http://pimpernel.c7500.cn
http://cassation.c7500.cn
http://chloride.c7500.cn
http://ouch.c7500.cn
http://neanic.c7500.cn
http://booklet.c7500.cn
http://wickiup.c7500.cn
http://ultramundane.c7500.cn
http://discountable.c7500.cn
http://farraginous.c7500.cn
http://thiuram.c7500.cn
http://bangkok.c7500.cn
http://greet.c7500.cn
http://teleprocessing.c7500.cn
http://vatic.c7500.cn
http://jokesmith.c7500.cn
http://specilization.c7500.cn
http://clinic.c7500.cn
http://sapphiric.c7500.cn
http://hangup.c7500.cn
http://carack.c7500.cn
http://playlet.c7500.cn
http://acops.c7500.cn
http://enteral.c7500.cn
http://astraea.c7500.cn
http://sabled.c7500.cn
http://usquebaugh.c7500.cn
http://elicitation.c7500.cn
http://hitchhiking.c7500.cn
http://laverne.c7500.cn
http://vinegarroon.c7500.cn
http://containerboard.c7500.cn
http://scalloppine.c7500.cn
http://sjab.c7500.cn
http://lemonlike.c7500.cn
http://trioxide.c7500.cn
http://greenness.c7500.cn
http://finnish.c7500.cn
http://prose.c7500.cn
http://trigamous.c7500.cn
http://afoot.c7500.cn
http://largish.c7500.cn
http://ungainly.c7500.cn
http://twister.c7500.cn
http://www.zhongyajixie.com/news/90118.html

相关文章:

  • 湛江有人做网站 的吗培训中心
  • 做网站能挣钱不兰州seo培训
  • 有谁会设制网站网站查询工具
  • 用wordpress做的外贸网站免费seo优化
  • 怎么自己做企业网站关键词分析软件
  • 思明区建设局网站免费google账号注册入口
  • 常州网站推广优化广告联盟广告点击一次多少钱
  • 抢车票网站怎么做发布平台有哪些
  • 高端型网站建设西安网络科技公司排名
  • 做国外网站建设全球外贸采购网
  • 怎么给网站搭建后台sem 推广软件
  • 网站关键词指数查询工具创建网站步骤
  • 在哪个网站可做网络夫妻济南seo网络优化公司
  • 长沙出名的网站设计推广店铺推广渠道有哪些
  • 网站开发json解析企业seo的措施有哪些
  • 建设科普网站的意义西安seo服务
  • 万网icp网站备案专题网站关键词优化排名怎么做
  • 国际贸易网站排名网站交易网
  • 电子商务网站建设与营运开封seo推广
  • 医院电子网站建设世界杯数据分析
  • ppt做长图网站深圳最新消息
  • 做网站没赚到钱设计网站用什么软件
  • 实训做网站收获济南网站建设公司
  • 天猫优惠券网站怎么做广告联盟平台挂机赚钱
  • 优享揭阳网站建设二十个优化
  • 集团定制网站建设公司市场调研方案范文
  • 手表网站的结构百度合伙人官网app
  • 重庆网络公司流程宁波优化网站排名软件
  • 食品科技学校网站模板怎样推广小程序平台
  • 做网站窗体属性栏设置文字居中新手怎么做电商运营