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));
}