/** * test 结论: within表明当前几何是否完全包含参数几何 和contais效果一样 * @throws ParseException */ @Test public void testwithin1() throws ParseException { LinearRing polygon1 = (LinearRing) wktReader.read("LINEARRING (4640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240)"); Point point = (Point) wktReader.read("POINT (5100 -1310)"); System.out.println(polygon1.within(point));//true } @Test public void testwithin2() throws ParseException { LinearRing polygon1 = (LinearRing) wktReader.read("LINEARRING (640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240)"); Point point = (Point) wktReader.read("POINT (5100 -1310)"); System.out.println(polygon1.within(point));//java.lang.IllegalArgumentException: Points of LinearRing do not form a closed linestring } @Test public void testunion() throws ParseException { LinearRing polygon1 = (LinearRing) wktReader.read("LINEARRING (4640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240)"); Point point = (Point) wktReader.read("POINT (5100 -1310)"); System.out.println(polygon1.union(point));//返回GEOMETRYCOLLECTION (POINT (5100 -1310), LINESTRING (4640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240)) } @Test public void testisRectangle1() throws ParseException { LinearRing polygon1 = (LinearRing) wktReader.read("LINEARRING (4640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240)"); System.out.println(polygon1.isRectangle());//fasle 非矩形线环 } @Test public void testisRectangle2() throws ParseException { Polygon polygon1 = (Polygon) wktReader.read("POLYGON ((4640 -1240, 5320 -940, 5460 -1150, 5630 -1330, 5700 -1510, 5220 -1530, 5330 -1650, 4770 -1630, 4770 -1450, 4640 -1240))"); System.out.println(polygon1.isRectangle());//false 非矩形 System.out.println(polygon1.toText()); } @Test public void testisRectangle3() throws ParseException { Polygon polygon1 = (Polygon) wktReader.read("POLYGON ((4630 -1190, 5080 -1190, 5080 -1440, 4630 -1440, 4630 -1190))"); System.out.println(polygon1.isRectangle());//true 矩形 System.out.println(polygon1.toText()); }
JTS测试within,union,isRectangle实例
最新推荐文章于 2023-10-13 16:08:55 发布