From c954fc44ce592ced6f3d667f938ad5f6fbd13c3d Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期一, 18 十月 2021 18:01:51 +0800
Subject: [PATCH] 爱心义仓
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/GisPointUtil.java | 48 +++++++++++++++++++++++++-----------------------
1 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/GisPointUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/GisPointUtil.java
index b357984..bc737fe 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/GisPointUtil.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/GisPointUtil.java
@@ -1,11 +1,10 @@
package com.panzhihua.common.utlis;
-import java.awt.Point;
+import java.awt.*;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.List;
-import com.alibaba.fastjson.JSONArray;
import com.panzhihua.common.model.dtos.community.bigscreen.event.ScreenDrawLngLatDTO;
/**
@@ -28,14 +27,13 @@
* @param lng2
* @return
*/
- public static double getDistance(double lat1, double lng1, double lat2,
- double lng2) {
+ public static double getDistance(double lat1, double lng1, double lat2, double lng2) {
double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
- double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
- Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+ double s = 2 * Math.asin(Math
+ .sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = Math.round(s * 10000d) / 10000d;
return s;
@@ -43,11 +41,17 @@
/**
* 判断一个点是否在圆形区域内
- * @param radius 半径
- * @param lat1 圆心纬度
- * @param lng1 圆心经度
- * @param lat2 坐标纬度
- * @param lng2 坐标经度
+ *
+ * @param radius
+ * 半径
+ * @param lat1
+ * 圆心纬度
+ * @param lng1
+ * 圆心经度
+ * @param lat2
+ * 坐标纬度
+ * @param lng2
+ * 坐标经度
*/
public static boolean isInCircle(double lng1, double lat1, double lng2, double lat2, String radius) {
return getDistance(lat1, lng1, lat2, lng2) < Double.parseDouble(radius);
@@ -59,11 +63,7 @@
* @param pointLon
* 要判断的点的纵坐标
* @param pointLat
- * 要判断的点的横坐标
-// * @param lon
- * 区域各顶点的纵坐标数组
-// * @param lat
- * 区域各顶点的横坐标数组
+ * 要判断的点的横坐标 // * @param lon 区域各顶点的纵坐标数组 // * @param lat 区域各顶点的横坐标数组
* @return
*/
public static boolean isInPolygon(double pointLon, double pointLat, List<ScreenDrawLngLatDTO> lngLatList) {
@@ -110,12 +110,14 @@
}
public static void main(String[] args) {
-// String points = "[{\"sets\":[{\"name\":\"sswg\",\"value\":\"402881f6681232c00168129b896e0078\"}],\"where\":[{\"name\":\"id\",\"value\":3231735,\"type\":\"=\"}]},{\"sets\":[{\"name\":\"sswg\",\"value\":\"000000006817dd6f0168313b9b89049a\"}],\"where\":[{\"name\":\"id\",\"value\":3231735,\"type\":\"=\"}]}]";
-// JSONArray pointArray = (JSONArray)JSONArray.parse(points);
-// System.out.println(isInPolygon(120.636514,31.341752, pointArray));
-// String points = "[{\"x\":120.61123416,\"y\":31.32889074,\"z\":137.05},{\"x\":120.61312695,\"y\":31.31892631,\"z\":128.61},{\"x\":120.61455616,\"y\":31.30808702,\"z\":43.66},{\"x\":120.62127327,\"y\":31.30899876,\"z\":62.21},{\"x\":120.63003506,\"y\":31.31057071,\"z\":29.43},{\"x\":120.63726235,\"y\":31.31203339,\"z\":92.90},{\"x\":120.64536616,\"y\":31.31334188,\"z\":78.36},{\"x\":120.64402082,\"y\":31.31947999,\"z\":13.19},{\"x\":120.64136126,\"y\":31.32757908,\"z\":87.36},{\"x\":120.63689776,\"y\":31.33287239,\"z\":60.62},{\"x\":120.63502091,\"y\":31.33742080,\"z\":114.21},{\"x\":120.63071787,\"y\":31.33793104,\"z\":32.99},{\"x\":120.62952446,\"y\":31.34483170,\"z\":164.79},{\"x\":120.62710968,\"y\":31.34801804,\"z\":164.15},{\"x\":120.62731359,\"y\":31.34823458,\"z\":189.53},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62665860,\"y\":31.34861797,\"z\":155.41},{\"x\":120.61706620,\"y\":31.34846463,\"z\":200.05},{\"x\":120.61854348,\"y\":31.34267516,\"z\":138.68},{\"x\":120.62111689,\"y\":31.33313042,\"z\":154.61}]";
-// JSONArray pointArray = (JSONArray)JSONArray.parse(points);
-// System.out.println(isInPolygon(120.66615036,31.33525453, pointArray));//不在范围内
-// System.out.println(isInPolygon(120.62171413,31.32044689, pointArray));//在范围内
+ // String points =
+ // "[{\"sets\":[{\"name\":\"sswg\",\"value\":\"402881f6681232c00168129b896e0078\"}],\"where\":[{\"name\":\"id\",\"value\":3231735,\"type\":\"=\"}]},{\"sets\":[{\"name\":\"sswg\",\"value\":\"000000006817dd6f0168313b9b89049a\"}],\"where\":[{\"name\":\"id\",\"value\":3231735,\"type\":\"=\"}]}]";
+ // JSONArray pointArray = (JSONArray)JSONArray.parse(points);
+ // System.out.println(isInPolygon(120.636514,31.341752, pointArray));
+ // String points =
+ // "[{\"x\":120.61123416,\"y\":31.32889074,\"z\":137.05},{\"x\":120.61312695,\"y\":31.31892631,\"z\":128.61},{\"x\":120.61455616,\"y\":31.30808702,\"z\":43.66},{\"x\":120.62127327,\"y\":31.30899876,\"z\":62.21},{\"x\":120.63003506,\"y\":31.31057071,\"z\":29.43},{\"x\":120.63726235,\"y\":31.31203339,\"z\":92.90},{\"x\":120.64536616,\"y\":31.31334188,\"z\":78.36},{\"x\":120.64402082,\"y\":31.31947999,\"z\":13.19},{\"x\":120.64136126,\"y\":31.32757908,\"z\":87.36},{\"x\":120.63689776,\"y\":31.33287239,\"z\":60.62},{\"x\":120.63502091,\"y\":31.33742080,\"z\":114.21},{\"x\":120.63071787,\"y\":31.33793104,\"z\":32.99},{\"x\":120.62952446,\"y\":31.34483170,\"z\":164.79},{\"x\":120.62710968,\"y\":31.34801804,\"z\":164.15},{\"x\":120.62731359,\"y\":31.34823458,\"z\":189.53},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62700980,\"y\":31.34894193,\"z\":194.24},{\"x\":120.62665860,\"y\":31.34861797,\"z\":155.41},{\"x\":120.61706620,\"y\":31.34846463,\"z\":200.05},{\"x\":120.61854348,\"y\":31.34267516,\"z\":138.68},{\"x\":120.62111689,\"y\":31.33313042,\"z\":154.61}]";
+ // JSONArray pointArray = (JSONArray)JSONArray.parse(points);
+ // System.out.println(isInPolygon(120.66615036,31.33525453, pointArray));//不在范围内
+ // System.out.println(isInPolygon(120.62171413,31.32044689, pointArray));//在范围内
}
}
--
Gitblit v1.7.1