| | |
| | | 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(); |
| | | } |
| | | /** |
| | | * 根据经纬度,计算两点间的距离 |
| | | * |
| | |
| | | public static void main(String[] args) { |
| | | // 125.097531,46.60029, 125.124731,46.584808 |
| | | //相机位置 |
| | | double[] camera = {125.146964331147,46.5580925811216,102};//经度,纬度,高度 |
| | | /* double[] camera = {125.146964331147,46.5580925811216,102};//经度,纬度,高度 |
| | | //看向的位置 |
| | | double[] lookAt = {125.155449,46.555108,0};//经度,纬度,高度 |
| | | |
| | |
| | | double viewWidth = 150;//相机视域宽度 |
| | | |
| | | double[] ptz = GisUtil.getCameraPTZ(camera, lookAt, viewAngle, viewWidth); |
| | | System.out.println("ptz:" + Arrays.toString(ptz)); |
| | | 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 point = getGlobalCoordinates(camera, p, distance); |
| | | System.out.println("point:"); |
| | | System.out.println("lon:"+point.getLongitude()); |
| | | System.out.println("lat:"+point.getLatitude()); |
| | | |
| | | } |
| | | } |