|  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据经纬度,计算两点间的距离 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return IsPtInPoly(point,pointList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 判断点是否在多边形内,如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true | 
|---|
|  |  |  | * @param point 检测点 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(45.755847,126.640557); | 
|---|
|  |  |  | double p = 39.71; | 
|---|
|  |  |  | double distance = 164; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GlobalCoordinates point = getGlobalCoordinates(camera, p, distance); | 
|---|
|  |  |  | System.out.println("point:"); | 
|---|
|  |  |  | System.out.println("lon:"+point.getLongitude()); | 
|---|
|  |  |  | System.out.println("lat:"+point.getLatitude()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|