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

苏州网站建设空间上线了怎么做网站

苏州网站建设空间,上线了怎么做网站,wordpress crux,番禺人才网上我们在实际开发中会获取对应的经纬度#xff0c;可以使用ES大数据搜索引擎进行计算对应区域的数据#xff0c;那我们在如何根据两个经纬度获取对应的球面距离#xff0c;就是在地球上从一个地点到另一个地点的直线距离 工具类如下: public class GeoUtils {// 地球半径可以使用ES大数据搜索引擎进行计算对应区域的数据那我们在如何根据两个经纬度获取对应的球面距离就是在地球上从一个地点到另一个地点的直线距离 工具类如下: public class GeoUtils {// 地球半径单位米private static final double EARTH_RADIUS 6371000.0;/*** 使用Haversine公式计算两点之间的球面距离** param lat1 latitude 纬度* param lon1 longitude 经度* param lat2 纬度* param lon2 经度* return 球面距离*/public static double haversineDistance(double lat1, double lon1, double lat2, double lon2) {double dLat Math.toRadians(lat2 - lat1);double dLon Math.toRadians(lon2 - lon1);double a Math.sin(dLat / 2) * Math.sin(dLat / 2) Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *Math.sin(dLon / 2) * Math.sin(dLon / 2);double c 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));return EARTH_RADIUS * c;}/*** 使用Vincenty公式计算两点之间的球面距离** param lat1 latitude 纬度* param lon1 longitude 经度* param lat2 纬度* param lon2 经度* return 球面距离*/public static double vincentyDistance(double lat1, double lon1, double lat2, double lon2) {double a EARTH_RADIUS;double f 1.0 / 298.257223563; // WGS-84 ellipsoid parametersdouble b a * (1.0 - f);double lat1Rad Math.toRadians(lat1);double lon1Rad Math.toRadians(lon1);double lat2Rad Math.toRadians(lat2);double lon2Rad Math.toRadians(lon2);double L lon2Rad - lon1Rad;double U1 Math.atan((1.0 - f) * Math.tan(lat1Rad));double U2 Math.atan((1.0 - f) * Math.tan(lat2Rad));double sinU1 Math.sin(U1);double cosU1 Math.cos(U1);double sinU2 Math.sin(U2);double cosU2 Math.cos(U2);double lambda L;double lambdaP;int iterLimit 100;double cosSigma, sinSigma, sigma, sinAlpha, cosSqAlpha, cos2SigmaM;do {double sinLambda Math.sin(lambda);double cosLambda Math.cos(lambda);sinSigma Math.sqrt((cosU2 * sinLambda) * (cosU2 * sinLambda) (cosU1 * sinU2 - sinU1 * cosU2 * cosLambda) *(cosU1 * sinU2 - sinU1 * cosU2 * cosLambda));if (sinSigma 0) {return 0.0;}cosSigma sinU1 * sinU2 cosU1 * cosU2 * cosLambda;sigma Math.atan2(sinSigma, cosSigma);sinAlpha cosU1 * cosU2 * sinLambda / sinSigma;cosSqAlpha 1.0 - sinAlpha * sinAlpha;cos2SigmaM cosSigma - 2.0 * sinU1 * sinU2 / cosSqAlpha;if (Double.isNaN(cos2SigmaM)) {cos2SigmaM 0.0;}double C f / 16.0 * cosSqAlpha * (4.0 f * (4.0 - 3.0 * cosSqAlpha));lambdaP lambda;lambda L (1.0 - C) * f * sinAlpha *(sigma C * sinSigma * (cos2SigmaM C * cosSigma * (-1.0 2.0 * cos2SigmaM * cos2SigmaM)));} while (Math.abs(lambda - lambdaP) 1e-12 --iterLimit 0);if (iterLimit 0) {return Double.NaN; // Formula failed to converge}double uSq cosSqAlpha * (a * a - b * b) / (b * b);double A 1 uSq / 16384.0 * (4096.0 uSq * (-768 uSq * (320 - 175 * uSq)));double B uSq / 1024.0 * (256.0 uSq * (-128.0 uSq * (74.0 - 47 * uSq)));double deltaSigma B * sinSigma * (cos2SigmaM B / 4.0 * (cosSigma * (-1.0 2.0 * cos2SigmaM * cos2SigmaM) -B / 6.0 * cos2SigmaM * (-3.0 4.0 * sinSigma * sinSigma) *(-3.0 4.0 * cos2SigmaM * cos2SigmaM)));return b * A * (sigma - deltaSigma);}/*** 使用球面三角法计算两点之间的球面距离** param lat1 latitude 纬度* param lon1 longitude 经度* param lat2 纬度* param lon2 经度* return 球面距离*/public static double sphericalLawOfCosinesDistance(double lat1, double lon1, double lat2, double lon2) {double dLon Math.toRadians(lon2 - lon1);lat1 Math.toRadians(lat1);lat2 Math.toRadians(lat2);return Math.acos(Math.sin(lat1) * Math.sin(lat2) Math.cos(lat1) * Math.cos(lat2) * Math.cos(dLon)) * EARTH_RADIUS;}/*** 将米转换成公里** param meters* return*/public static double metersToKilometers(double meters) {return meters / 1000.0;}}测试从纽约到伦敦的距离 public static void main(String[] args) {double newYorkLat 40.7128; // 纽约的纬度double newYorkLon -74.0060; // 纽约的经度double londonLat 51.5074; // 伦敦的纬度double londonLon -0.1278; // 伦敦的经度double distance1 GeoUtils.haversineDistance(newYorkLat, newYorkLon, londonLat, londonLon);System.out.println(从纽约到伦敦的球面距离 distance1 米 , metersToKilometers(distance1) 公里);double distance2 GeoUtils.vincentyDistance(newYorkLat, newYorkLon, londonLat, londonLon);System.out.println(从纽约到伦敦的球面距离 distance2 米 , metersToKilometers(distance2) 公里);double distance3 GeoUtils.sphericalLawOfCosinesDistance(newYorkLat, newYorkLon, londonLat, londonLon);System.out.println(从纽约到伦敦的球面距离 distance3 米 , metersToKilometers(distance3) 公里);} 这样子就可以求出地球上两点之间的距离了
http://www.sadfv.cn/news/9426/

相关文章:

  • 建设一个门户网站需要多少钱wordpress 菜单 导航代码
  • 长春制作网站定制大气网站设计
  • 东莞网上做公司网站设计协作平台
  • 优化防疫二十条措施搜索引擎排名优化方案
  • 网站如何做二级栏目wordpress显示空白
  • 北京市建设工程交易中心网站网站建设意义和作用
  • 优化网站seo嘉兴做外贸网站的公司
  • 网站建设宣传素材凡客家具是品牌吗
  • 公司做网站一般要多少钱北京的网页设计
  • 电子商务网站前台建设常用的技术新企业在哪里做网站好
  • 企业网站备案多少钱网站做竞价
  • 兰州网站建设优化制作公司怎样做微课网站
  • 益阳网站建设哪里好实际讲解做钓鱼网站
  • 网站群 推广京津冀协同发展心得体会2023
  • 网站策划预算怎么做如何通过网站开发客户
  • 地方网站类型怎么键卖东西的网站
  • 专业做家居的网站网站建设制作定制
  • 一个专门做ppt的网站溧水城乡建设局网站
  • 网站建设 开票中国建设工程造价管理协会网站
  • 网站推广公司兴田德润电话多少部门网站建设的意义
  • 有了域名 网站建设如何把做好的网站代码变成网页
  • 查企业网站网络教学平台
  • 太原网站建设怎么做域名网站备案
  • 描述网站开发的过程网页设计与制作属于什么专业
  • wordpress上传网站模板邯郸百度公司地址
  • 登录网站软件怎么做wordpress制作小工具
  • 外贸网站下载网站建设方案图
  • lol做视频那个网站好工作室logo设计免费生成
  • 做网站建设怎么赚钱聊城建设银行官方网站
  • 网站开发用什么系统比较好平面设计好找工作不