JTS:10 Crosses

这篇具有很好参考价值的文章主要介绍了JTS:10 Crosses。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版本

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

public class GeometryCrosses {

    private final GeometryFactory geometryFactory = new GeometryFactory();

    private static final Logger LOGGER = LoggerFactory.getLogger(GeometryCrosses.class);

    private static final WKTWriter WKT_WRITER = new WKTWriter();

    private Coordinate[] coordinate1;

    private Coordinate[] coordinate2;

    /**
     * [T*T******] (for P/L, P/A, and L/A situations) 点与线,点与面,线与面
     * [T*****T**] (for L/P, A/P, and A/L situations) 线与点,面与点,面与线
     * [0********] (for L/L situations) 线与线
     * 获取两个几何对象并返回 true 如果它们的交叉点在空间上是交叉的,
     * 也就是说,几何图形有一些但不是所有的内部点是共同的。
     * 几何图形内部的交点不能是空集,并且其维度必须小于两个输入几何图形的最大尺寸。
     * 此外,两个几何图形的交点不能等于任何一个源几何图形。否则,它将返回 false
     */
    public static void main(String[] args) {
        GeometryCrosses geometryCrosses = new GeometryCrosses();
        geometryCrosses.test00();
    }
}
点与线

JTS:10 Crosses,JTS,JTS

    /**
     * 点与线, 点必须是多点,且有一个点在线上,因为是交叉点,在线上
     * [T*T******]
     */
    public void test00() {
        coordinate1 = new Coordinate[] {
                new Coordinate(4, 3), new Coordinate(13, 3)
        };

        LineString lineString = geometryFactory.createLineString(coordinate1);

        coordinate2 = new Coordinate[] {
                new Coordinate(8, 6), new Coordinate(8, 1), new Coordinate(9, 3)
        };

        MultiPoint multiPoint = geometryFactory.createMultiPointFromCoords(coordinate2);

        LOGGER.info("lineString1 - point1 九交模型值:{}", lineString.relate(multiPoint).toString());
        LOGGER.info("point1 - lineString1 跨越:{}", lineString.crosses(multiPoint));
        LOGGER.info("lineString1: {}, point1: {}", WKT_WRITER.write(lineString), WKT_WRITER.write(multiPoint));
    }
点与面

JTS:10 Crosses,JTS,JTS

    /**
     * 点与面
     * [T*T******]
     */
    public void test01() {
        coordinate1 = new Coordinate[] {
                new Coordinate(8, 6), new Coordinate(8, 1), new Coordinate(9, 3)
        };
        MultiPoint multiPoint = geometryFactory.createMultiPointFromCoords(coordinate1);

        coordinate2 = new Coordinate[] {
                new Coordinate(2, 5), new Coordinate(2, 2), new Coordinate(12, 2), new Coordinate(12, 5), new Coordinate(2, 5)
        };
        Polygon polygon = geometryFactory.createPolygon(coordinate2);

        LOGGER.info("multiPoint1 - polygon 九交模型值:{}", multiPoint.relate(polygon).toString());
        LOGGER.info("multiPoint1 - polygon 跨越:{}", multiPoint.crosses(polygon));
        LOGGER.info("multiPoint1: {}, polygon: {}", WKT_WRITER.write(multiPoint), WKT_WRITER.write(polygon));
    }
线与面

JTS:10 Crosses,JTS,JTS

    public void test02() {
        coordinate1 = new Coordinate[] {
                new Coordinate(8, 6), new Coordinate(8, 1), new Coordinate(9, 3)
        };
        LineString lineString = geometryFactory.createLineString(coordinate1);

        coordinate2 = new Coordinate[] {
                new Coordinate(2, 5), new Coordinate(2, 2), new Coordinate(12, 2), new Coordinate(12, 5), new Coordinate(2, 5)
        };
        Polygon polygon = geometryFactory.createPolygon(coordinate2);

        LOGGER.info("lineString - polygon 九交模型值:{}", lineString.relate(polygon).toString());
        LOGGER.info("lineString - polygon 跨越:{}", lineString.crosses(polygon));
        LOGGER.info("lineString: {}, polygon: {}", WKT_WRITER.write(lineString), WKT_WRITER.write(polygon));
    }
线与线

JTS:10 Crosses,JTS,JTS文章来源地址https://www.toymoban.com/news/detail-726609.html

    /**
     * 线与线
     * [0********]
     */
    public void test03() {
        coordinate1 = new Coordinate[] {
                new Coordinate(3, 4), new Coordinate(12, 4)
        };
        LineString lineString1 = geometryFactory.createLineString(coordinate1);

        coordinate2 = new Coordinate[] {
                new Coordinate(7, 7), new Coordinate(7, 1)
        };
        LineString lineString2 = geometryFactory.createLineString(coordinate2);

        LOGGER.info("lineString - polygon 九交模型值:{}", lineString1.relate(lineString2).toString());
        LOGGER.info("lineString - polygon 跨越:{}", lineString1.crosses(lineString2));
        LOGGER.info("lineString: {}, polygon: {}", WKT_WRITER.write(lineString1), WKT_WRITER.write(lineString2));
    }

到了这里,关于JTS:10 Crosses的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Turfjs的java版本JTS】前面讲了Turfjs可以实现几何计算,空间计算的功能,如果后端要做这项功能也有类似的类库,JTS

    JTS = Java Topology Suite 几何计算: 1. 前端js就用这个 Turfjs的类库。参考网站: 计算两线段相交点 | Turf.js中文网 2. 后端java语言就可以用 JTS这个类库,参考网站:  JTS参考网站: 1. https://github.com/locationtech/jts GitHub - locationtech/jts: The JTS Topology Suite is a Java library for creating and m

    2024年02月09日
    浏览(37)
  • Java中使用JTS实现WKT字符串读取转换线、查找LineString的list中距离最近的线、LineString做缓冲区扩展并计算点在缓冲区内的方位角

    Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等): Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等)_jts-core_霸道流氓气质的博客-CSDN博客 Java+GeoTools实现WKT数据根据EPSG编码进行坐标系转换: Java+GeoTools实现WKT数据根据

    2024年02月09日
    浏览(46)
  • 同一局域网内IP 192.168.1.10 和 IP 10.10.10.8 可以互相访问吗?

    同一局域网内IP 192.168.1.10 和 IP 10.10.10.8 可以互相访问吗? 1、网上邻居的方式: 鼠标点击 我的电脑 属性 计算机名,查看一下 计算机名(这个可以点击更改,自己设定和更改) 查看一下工作组,一般默认都是 workgroup 如果两个电脑都设置同一工作组,没有其他安全限制的情

    2024年02月12日
    浏览(41)
  • (10)(10.9) 术语表(三)

    文章目录 1 Oilpan 2 OSD 3 PCB 4 PCM 5 PDB 6 PIC 7 PID 8 POI 9 PPM 10 PWM 11 PX4FMU/PX4IO 12 RTL 13 SiRF III 14 Sketch 15 SVN 16 Telemetry System 17 Thermopile 18 UAV 19 VLOS 20 WAAS 21 Xbee 22 ZigBee Oilpan :这是一个与 ArduPilotMega 配对使用的 Arduino 型屏蔽。它包含了大部分传感器(陀螺仪、加速度计、气压计等

    2024年02月07日
    浏览(36)
  • macos从10.12.6升级到10.15.7

    我是17年6月在苹果官网购买的2015款 15寸 macbookpro ,没有touchbar,没有指纹,没有type-c。当时购买意愿是听说最后一款不带touch bar的mbp了,我一直觉得touch bar不实用,所以果断下手。事后证明,确实大众的想法还是比较一致,苹果新款已经放弃touchbar,并且重新启用magsafe磁吸接

    2024年02月05日
    浏览(43)
  • 10. 第10章 使用一等函数实现设计模式

    10. 章使用一等函数实现设计模式 10.1 本章新增内容 10.2案例分析: 重构策略模式 10.2.1 经典的策略模式 10.2.2 使用函数实现策略模式 10.2.3 选择最佳策略的简单方式 10.2.4 找出一个模块中的全部策略 10.3 使用装饰器改进策略模式 10.4 命令模式 10.5 本章小结 10.6延伸阅读

    2024年01月23日
    浏览(36)
  • 小米电视播放win10视频 win10共享问题

    解决的方法就是安装SMB1.0协议 重启就OK了

    2024年02月06日
    浏览(42)
  • 电脑新装系统优化,win10优化,win10美化

    公司发了新的笔记本,分为几步做 1.系统优化,碍眼的关掉。防火墙关掉、页面美化 2.安装必备软件及驱动 3.数据迁移 4.开发环境配置 目录复制 关掉底部菜单栏花里胡哨 消息通知优化 关闭粘贴键 开始菜单优化 开机启动优化 关闭通知 关闭win安全 关闭动画 开始菜单磁条优化

    2024年02月15日
    浏览(71)
  • 10.18~10.22数电第二次实验

    频分复用 同一个时间共用一个频道,只不过频率不同,所以互不影响 时分复用 不同时间公用一个频道, 轮流 使用 时分复用 (TDM,Time-division multiplexing)就是将提供给整个信道传输信息的时间划分成若干时间片 (简称时隙),并将这些时隙分配给每一个信号源使用,保证资源

    2024年02月08日
    浏览(42)
  • 10:00面试,10:08就出来了,问的问题有点变态。。。

    从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。 还在有个朋友内推我去了一家互联网公司

    2024年04月25日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包