緯度と経度に基づいたJavaコンピューティング距離(百度マップ距離)

  最近、需要を満たし、2点の緯度及び経度に基づいて、2点間の距離をチェックする必要があります。私は未来は、その小さな心の波を使用することになる感じ。

  最初のステップは:Mavenの依存関係を追加します。

        <依存> 
              <groupIdを> org.gavaghan </ groupIdを> 
              <たartifactId>測地学</たartifactId> 
              <バージョン> 1.1.3 </バージョン> 
        </依存関係>

  ステップ2:コード。

パブリック クラスDistanceUtil { 

    公共 静的 ボイドメイン(文字列[]引数){ 
        するSystem.out.println( "经纬度距离计算结果:" + getDistance(109.371319、22.155406、108.009758、21.679011)+ "米" )。
    } 


    パブリック 静的 ダブル getDistance(ダブル longitudeFrom、ダブル latitudeFrom、ダブル longitudeTo、ダブルlatitudeTo){ 
        GlobalCoordinatesソース = 新しいGlobalCoordinates(latitudeFrom、longitudeFrom)。
        GlobalCoordinatesターゲット = 新しいですGlobalCoordinates(latitudeTo、longitudeTo)。

        返す 新しいGeodeticCalculator()calculateGeodeticCurve(Ellipsoid.Sphere、ソース、ターゲット).getEllipsoidalDistance(); 
    } 

}

  コード実行中の結果:

  オープンプラットフォームBaiduのマップの結果をコントラスト:

 

   0.1メートル以内の誤差範囲。

参考ます。https://www.cnblogs.com/xuzhw/archive/2018/12/19/10143626.html

おすすめ

転載: www.cnblogs.com/maguanyue/p/11684892.html