1. 程式人生 > >java根據兩個地點的經緯度計算兩點間距離

java根據兩個地點的經緯度計算兩點間距離

上程式碼(複製到專案中可直接使用):

import java.text.DecimalFormat;

/**
 * @author [email protected]
 * @date 2018/6/7 10:46
 */
public class DistanceUtil {

    public static void main(String[] args) {
        //根據兩點間的經緯度計算距離,單位:km
String s = algorithm(115.21221, 1.5, 114.21221, 0);
        System.out.println(s);
    }

    private static double 
rad(double d) { return d * Math.PI / 180.00; //角度轉換成弧度 } /* * 根據經緯度計算兩點之間的距離(單位米) * */ public static String algorithm(double longitude1, double latitude1, double longitude2, double latitude2) { double Lat1 = rad(latitude1); // 緯度 double Lat2 = rad(latitude2); double a = Lat1 - Lat2;//兩點緯度之差
double b = rad(longitude1) - rad(longitude2); //經度之差 double s = 2 * Math.asin(Math .sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(Lat1) * Math.cos(Lat2) * Math.pow(Math.sin(b / 2), 2)));//計算兩點距離的公式 s = s * 6378137.0;//弧長乘地球半徑(半徑為米) s = Math.round(s * 10000d) / 10000d;//精確距離的數值 s = s/1000;//將單位轉換為km,如果想得到以米為單位的資料 就不用除以1000
//四捨五入 保留一位小數 DecimalFormat df = new DecimalFormat("#.0"); return df.format(s); } }

相關推薦

java根據地點經緯度計算兩點距離

上程式碼(複製到專案中可直接使用):import java.text.DecimalFormat; /** * @author [email protected] * @date 201

根據經緯度計算兩點距離(別問我公式細節,我也沒明白,照搬就行)

import java.util.HashMap; import java.util.Map;    public class MapDistance {               private static double EARTH_RADIUS = 6378.137

根據百度地圖座標點獲得兩點距離

//地球半徑 private static final double EARTH_RADIUS = 6378.137; /** * 根據經緯度查詢距離 * @param lng1 經度

java 已知地點經緯度距離 非常精確

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java 根據傳入的指定年月日計算出相差的月份,並最終四捨五入計算出年份

筆者前段時間做一個專案需要這個需求:經過了解我們需要使用到這個包 jodd-time 其中maven依賴如下:         <dependency>             <

根據經緯度計算兩點之間距離

tostring 配置 and isempty eva iter() web ica err web.xml配置 &lt;!-- xss過濾器 --&gt; &lt;filter&gt; &lt;filte

java 根據時間,按周分組

public static void main(String[] args) throws ParseException { System.out.println(getResults("2017-12-01","2018-02-02")); } public s

new Date 計算出當前日期後n天的日期 以及 根據日期,計算出一共經歷了幾天 (包含了在ie和火狐中的相容)

1、計算出當前日期後n天的日期 getAfterFormatDate (days) { // 如果需要計算當前的日期 傳 0 即可 (此例是考慮時分秒的情況) let dd = new Date() dd.setDate(dd.ge

【C++類和物件】計算兩點距離種方法

使用類的組合(線段Line類中包含點Point類成員): #include <iostream> #include <cmath> using namespace std; //Point類的定義 class Point { public: Po

經緯度互換、換算成米、兩點經緯度計算兩點距離

經緯度互換 度(DDD):E 108.90593度    N 34.21630度     如何將度(DDD):: 108.90593度換算成度分秒(DMS)東經E 108度54分22.2秒?轉換方法是將108.90593整數位不變取108(度),用0.90593*60=54.

人生第一道水題 計算兩點距離

#include<stdio.h> #include<math.h> int main() { double x1,y1,x2,y2,s; while(scanf("%lf %lf %lf %lf",&x1,&y1,&x

人生中第一道水題 計算兩點距離

#include<stdio.h> #include <math.h> #include <stdlib.h> int main() { double x1,y1,x2,y2,s; while(scanf

根據兩點經緯度座標計算座標點之間的直線距離

貼程式碼如下: package com.qcsd.xulin.util; import java.awt.*; /** * @author xulin * @date create in 9:06 2018/11/1 * Description 根據提供的兩個國標經緯度,計算兩個點之間的距離

根據兩點經緯度坐標計算坐標點之間的直線距離

substr ret math.sqrt count 返回 location style print span 貼代碼如下: package com.qcsd.xulin.util; import java.awt.*; /** * @author xulin *

IOS根據經緯度計算相距距離

//第一種蘋果自帶的     CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self doubleVal

JAVA 比較日期相差的天數,隔天計算

JAVA 比較兩個日期相差的天數 在工作中我們經常遇到需要計算兩個日期相差的天數的問題,一個是通過得到兩個日期之間的毫秒數,換算成天數得到究竟差了多少天.但是這種問題會出現隔天問題,既: 2017.11.16 4:35 到 2017.11.17 3:35

Oracle根據兩點經緯度計算兩點距離

Oracle資料庫根據兩點經緯度計算兩點的距離 abs(6371.004 * acos(sin(緯度1) *sin(緯度2) * cos(經度1 - 經度2) +cos(緯度1) * cos(緯度2)) * acos(-1) / 180) 舉例:現有兩個座標點A(經

根據經緯度計算兩點之間的距離的公式推導過程以及google.maps的測距函式

首先,你要想了解清楚經緯度的具體定義,看完後再往下看,便會一目瞭然。 將地球看成一個球體,A(WA,JA)、B(WB,JB)兩點分別為兩個點的位置,其中W為緯度,J為經度,O為球心,球半徑為R,過A點畫出A的緯度圈並與B所在的經度相交與點C,分別過B、C兩點做球心O所在直線

小程式根據經緯度計算兩點距離

小程式根據兩地的經緯度計算距離://計算兩點位置距離 getDistance: function (lat1, lng1, lat2, lng2) { lat1 = lat1 || 0; lng1 = lng1 || 0; lat2 = lat2

android根據經緯度計算兩點之間的距離

原文地址:http://284772894.iteye.com/blog/1810222 package a; public class Distance {  private static final double EARTH_RADIUS = 6378137.0;  p