|  |  |  | 
|---|
|  |  |  | GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo); | 
|---|
|  |  |  | return geodeticCalculator.calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static double getDistance(Double[] From, Double[] To) { | 
|---|
|  |  |  | double longitudeFrom = From[0]; | 
|---|
|  |  |  | double latitudeFrom = From[1]; | 
|---|
|  |  |  | double longitudeTo = To[0]; | 
|---|
|  |  |  | double latitudeTo = To[1]; | 
|---|
|  |  |  | GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom); | 
|---|
|  |  |  | GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo); | 
|---|
|  |  |  | return geodeticCalculator.calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据经纬度,计算两点间的距离 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | double[] ptz = GisUtil.getCameraPTZ(camera, lookAt, viewAngle, viewWidth); | 
|---|
|  |  |  | System.out.println("ptz:" + Arrays.toString(ptz));*/ | 
|---|
|  |  |  | //  double[] camera = {125.153903999999997,46.5600799999999992,258.430000000000007}; | 
|---|
|  |  |  | GlobalCoordinates camera = new GlobalCoordinates(46.5600799999999992,125.153903999999997); | 
|---|
|  |  |  | double p = 212.70155; | 
|---|
|  |  |  | double distance = 4048.886568114861; | 
|---|
|  |  |  | GlobalCoordinates camera = new GlobalCoordinates(45.755847,126.640557); | 
|---|
|  |  |  | double p = 39.71; | 
|---|
|  |  |  | double distance = 164; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GlobalCoordinates point = getGlobalCoordinates(camera, p, distance); | 
|---|
|  |  |  | System.out.println("point:"); | 
|---|
|  |  |  | 
|---|
|  |  |  | System.out.println("lat:"+point.getLatitude()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|