java获取经纬度数据线相交交叉点

java判断两条线是否相交
引用 JTS http://mvnrepository.com/artifact/com.vividsolutions/jts

 public static GeometryFactory getGeoFactory() {
        if(geoFactory==null){
            geoFactory = new GeometryFactory();
        }
        return geoFactory;
    }
       //创建lineString示例
      public static LineString createLineByWKT(String linedata) throws ParseException{
        WKTReader reader = new WKTReader(getGeoFactory());
        LineString line = (LineString) reader.read("LINESTRING("+linedata+")");
        return line;
    } 
    //创建
    String overline="117.23 35.66,115.989 37.56";
    LineString lineByWKT = GisUtil.createLineByWKT(overline);

          AisData aisData1 = AisAlarmFilter.trackmap.get(aisData.getMmsi());
          String nowline = aisData.getLongitude() + " " + aisData.getLatitude() + "," aisData1.getLatitude() + " " + aisData1.getLatitude();
         try {
                LineString lineByWKT = GisUtil.createLineByWKT(nowline);
                //判断是否相交  返回boolean值
                boolean    islinealarm = lineString.intersects(lineByWKT);     
                } catch (ParseException e) {
                   logger.error("解析gps数据 错误:" + Tools.getSystemlineeparator() + Tools.getStackTrace(e));
                }


猜你喜欢

转载自blog.csdn.net/yy1730267520/article/details/78562386