| | |
| | | * @param pointLat 长 |
| | | * @return |
| | | */ |
| | | public static boolean isInPolygon(List<LatLngVO> bound, double pointlng, double pointLat) |
| | | public static boolean isInPolygon(List<LatLngVO> bound, double pointlng, double pointLat) |
| | | { |
| | | Point2D.Double point = new Point2D.Double(pointlng, pointLat); |
| | | List<Point2D.Double> pointList = new ArrayList<>(); |
| | |
| | | |
| | | /** |
| | | * 从txt数据中获取经纬度 |
| | | * @param latlngTxt |
| | | * @param lngLatTxt |
| | | * @return |
| | | */ |
| | | public static List<LatLngVO> getLatLngFromText(String latlngTxt){ |
| | | public static List<LatLngVO> getLatLngFromText(String lngLatTxt){ |
| | | List<LatLngVO> rtResult = new ArrayList<>(); |
| | | String str = latlngTxt.replace("[[",""); |
| | | String str = lngLatTxt.replace("[[",""); |
| | | |
| | | str=str.replace("]]",""); |
| | | String[] loca=str.split("],\\["); |
| | | for (int i=0;i<loca.length;i++) |
| | | { |
| | | String[] loca1=loca[i].split(","); |
| | | rtResult.add(new LatLngVO(Double.valueOf(loca1[1]), Double.valueOf(loca1[0]))); |
| | | rtResult.add(new LatLngVO(Double.valueOf(loca1[0]), Double.valueOf(loca1[1]))); |
| | | } |
| | | return rtResult; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String latLngTxt = "[[104.065958,30.662621],[104.06419,30.663172],[104.06315,30.660648],[104.065548,30.661036]]"; |
| | | String latLngTxt = "[[104.066974,30.660293],[104.053394,30.658114],[104.059921,30.657076],[104.065231,30.657086]]"; |
| | | List<LatLngVO> latLngList = getLatLngFromText(latLngTxt); |
| | | |
| | | System.out.println(isInPolygon(latLngList, 104.0612, 30.6608)); |
| | | System.out.println(isInPolygon(latLngList, 104.063398, 30.657929)); |
| | | } |
| | | |
| | | } |