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

广州微网站建设怎么样c 可以用来做网站吗

广州微网站建设怎么样,c 可以用来做网站吗,沈阳网站推广的公司,北京公司注册中介正规我们在实际开发中会获取对应的经纬度#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.w-s-a.com/news/397584/

相关文章:

  • 北京公司网站建设推荐海口建设
  • 不懂编程如何做网站婚礼网站模板
  • 像京东一样的网站wordpress入门视频教程7 - 如何在文章里加入视频和音乐
  • 惠州网站建设排名wordpress3万篇文章优化
  • 创建网站的三种方法北京建王园林工程有限公司
  • jsp网站建设模板下载十大免费excel网站
  • 网络公司网站图片网站建立好了自己怎么做优化
  • 云主机是不是可以搭建无数个网站百度快速seo优化
  • 房地产怎么做网站推广建立音乐网站
  • 川畅科技联系 网站设计网站开发的教学视频
  • 为什么学网站开发凡科登陆
  • 设计师常备设计网站大全中山精品网站建设信息
  • 杭州建设工程网seo服务是什么
  • 兼职做问卷调查的网站wordpress mysql设置
  • 怎么在百度上能搜到自己的网站山西seo谷歌关键词优化工具
  • 网站搭建免费模板飞鱼crm下载
  • 网站开发竞品分析app制作公司深圳
  • 网站建设ssc源码修复设计班级网站建设
  • 网站重定向凡科做网站不要钱
  • 佛山html5网站建设微信营销软件破解版
  • 网站单页做301南京百度推广
  • 私人做网站要多少钱展芒设计网页
  • 怎样网站制作设计如何在网上推广农产品
  • 做关键词排名卖网站聚名网
  • 吉林省住房城乡建设厅网站首页体育器材网站建设方案
  • 网站建设及维护专业手机金融界网站
  • 常州网站建设工作室建立网站有怎么用途
  • 如何盗取网站推广策划书模板
  • 游戏网站建设计划书网络开发需要学什么
  • 手机网站维护费网站开发包括网站过程