JTS:08 JTS图形相交

版本

org.locationtech.jts:jts-core:1.19.0
链接: github

JTS disjoint intersects

不相交的 九交模型FF*FF****
相交的 九交模型[T********] [*T*******] [***T*****] [****T****]

俩个图形不相交

在这里插入图片描述

    /**
     * 俩个图形 完全不相交
     */
    public void test00() {
        Coordinate[] coordinates1 = new Coordinate[] {
                new Coordinate(1, 1), new Coordinate(1, 4), new Coordinate(5, 4), new Coordinate(5, 1), new Coordinate(1, 1)
        };
        Polygon polygon1 = geometryFactory.createPolygon(coordinates1);

        Coordinate[] coordinates2 = new Coordinate[] {
                new Coordinate(6, 1), new Coordinate(6, 4), new Coordinate(10, 4), new Coordinate(10, 1), new Coordinate(6, 1)
        };
        Polygon polygon2 = geometryFactory.createPolygon(coordinates2);

        LOGGER.info("polygon1 - polygon2 九交模型值:{}", polygon1.relate(polygon2).toString());
        LOGGER.info("polygon1 - polygon2 不相交:{}", polygon1.disjoint(polygon2));
        LOGGER.info("polygon1 - polygon2 相交:{}", polygon1.intersects(polygon2));
    }
17:35:11.796 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 九交模型值:FF2FF1212
17:35:11.798 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 不相交:true
17:35:11.798 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 相交:false
俩个图形 边相交

在这里插入图片描述

    public void test01() {
        Coordinate[] coordinates1 = new Coordinate[] {
                new Coordinate(1, 1), new Coordinate(1, 4), new Coordinate(5, 4), new Coordinate(5, 1), new Coordinate(1, 1)
        };
        Polygon polygon1 = geometryFactory.createPolygon(coordinates1);

        Coordinate[] coordinates2 = new Coordinate[] {
                new Coordinate(5, 1), new Coordinate(5, 4), new Coordinate(9, 4), new Coordinate(9, 1), new Coordinate(5, 1)
        };
        Polygon polygon2 = geometryFactory.createPolygon(coordinates2);

        LOGGER.info("polygon1 - polygon2 九交模型值:{}", polygon1.relate(polygon2).toString());
        LOGGER.info("polygon1 - polygon2 不相交:{}", polygon1.disjoint(polygon2));
        LOGGER.info("polygon1 - polygon2 相交:{}", polygon1.intersects(polygon2));
    }
17:38:21.241 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 九交模型值:FF2F11212
17:38:21.243 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 不相交:false
17:38:21.243 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 相交:true
俩个图形 内部相交

在这里插入图片描述

    public void test02() {
        Coordinate[] coordinates1 = new Coordinate[] {
                new Coordinate(1, 1), new Coordinate(1, 4), new Coordinate(5, 4), new Coordinate(5, 1), new Coordinate(1, 1)
        };
        Polygon polygon1 = geometryFactory.createPolygon(coordinates1);

        Coordinate[] coordinates2 = new Coordinate[] {
                new Coordinate(3, 1), new Coordinate(3, 4), new Coordinate(7, 4), new Coordinate(7, 1), new Coordinate(3, 1)
        };
        Polygon polygon2 = geometryFactory.createPolygon(coordinates2);

        LOGGER.info("polygon1 - polygon2 九交模型值:{}", polygon1.relate(polygon2).toString());
        LOGGER.info("polygon1 - polygon2 不相交:{}", polygon1.disjoint(polygon2));
        LOGGER.info("polygon1 - polygon2 不相交:{}", polygon1.disjoint(polygon2));
        LOGGER.info("polygon1 - polygon2 相交:{}", polygon1.intersects(polygon2));
    }
19:01:28.663 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 九交模型值:212111212
19:01:28.665 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 不相交:false
19:01:28.665 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 不相交:false
19:01:28.665 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 相交:true
俩个图形 点相交

在这里插入图片描述

    public void test03() {
        Coordinate[] coordinates1 = new Coordinate[] {
                new Coordinate(1, 1), new Coordinate(1, 4), new Coordinate(5, 4), new Coordinate(5, 1), new Coordinate(1, 1)
        };
        Polygon polygon1 = geometryFactory.createPolygon(coordinates1);

        Coordinate[] coordinates2 = new Coordinate[] {
                new Coordinate(5, 4), new Coordinate(5, 7), new Coordinate(9, 7), new Coordinate(9, 4), new Coordinate(5, 4)
        };
        Polygon polygon2 = geometryFactory.createPolygon(coordinates2);

        LOGGER.info("polygon1 - polygon2 九交模型值:{}", polygon1.relate(polygon2).toString());
        LOGGER.info("polygon1 - polygon2 不相交:{}", polygon1.disjoint(polygon2));
        LOGGER.info("polygon1 - polygon2 相交:{}", polygon1.intersects(polygon2));
    }
19:04:51.530 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 九交模型值:FF2F01212
19:04:51.533 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 不相交:false
19:04:51.533 [main] INFO  pers.stu.geometry.GeometryEquals - polygon1 - polygon2 相交:true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值