JTS:06 九交模型讲解

news2024/11/16 17:35:14

版本

org.locationtech.jts:jts-core:1.19.0
链接: github
九交模型讲解:Dimensionally Extended 9 Intersection Matrix

九交模型

九交模型,是通过矩阵来判断俩个物体的关系的,请看上面九交模型讲解

九交模型测试

  1. 测试环境
    www.geogebra.org 来生成俩个图形在这里插入图片描述

  2. 使用 九交模型判断关系

    多边形的维度是2,含组合多边形,带洞多边形等。
    折线的维度为1,含多线。
    点的维度为0,含多点。
    空集(无交集)维度为F。

    内部边界外部
    内部FF2
    边界FF1
    外部212

    蓝图形 - 红图形 内部:内部 无点线面交集 F
    蓝图形 - 红图形 内部:边界 无点线面交集 F
    蓝图形 - 红图形 内部:外部 外部包含红图形面 为 2

    蓝图形 - 红图形 边界:内部 无点线面交集 F
    蓝图形 - 红图形 边界:边界 无点线面交集 F
    蓝图形 - 红图形 边界:外部 蓝图形边界是一条线,被红图形外部包含所以为 1

    蓝图形 - 红图形 外部:内部 包含红图形 2
    蓝图形 - 红图形 外部:边界 包含红图形边界 1
    蓝图形 - 红图形 外部:外部 俩个外部面交互 2

九交模型代码

/**
 * Geometry 九交模型
 * @author LiHan
 * 2023年9月15日 14:58:12
 */
public class GeometryMatrix {

    private GeometryFactory geometryFactory = new GeometryFactory();

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

    public static void main(String[] args) {
        GeometryMatrix geometryMatrix = new GeometryMatrix();
        geometryMatrix.strMatrix();
    }

    /**
     * 生成九交模型值
     */
    public void strMatrix() {
        Coordinate[] coordinates1 = new Coordinate[] {
                new Coordinate(1, 1),
                new Coordinate(1, 3),
                new Coordinate(4, 3),
                new Coordinate(4, 1),
                new Coordinate(1, 1)
        };
        Polygon polygon1 = geometryFactory.createPolygon(coordinates1);

        Coordinate[] coordinates2 = new Coordinate[] {
                new Coordinate(1, 4),
                new Coordinate(1, 6),
                new Coordinate(4, 6),
                new Coordinate(4, 4),
                new Coordinate(1, 4)
        };
        Polygon polygon2 = geometryFactory.createPolygon(coordinates2);
        // FF2FF1212
        LOGGER.info(polygon1.relate(polygon2).toString());
    }
  }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity中 UI Shader的基本功能

文章目录 前言一、实现思路1、暴露一个 2D 类型的属性来接受UI的纹理2、设置shader的层级为TransParent半透明渲染层级,一般UI都是在这个渲染层级3、更改混合模式,是 UI 使用的纹理,该透明的地方透明 二、代码实现 前言 Unity中 UI Shader的…

SpringBoot-线程池ThreadPoolExecutor异步处理(包含拆分集合工具类)

ThreadPoolExecutor VS ThreadPoolTaskExecutor ThreadPoolTaskExecutor是对ThreadPoolExecutor进行了封装处理。 配置文件application.yml # 异步线程配置 自定义使用参数 async:executor:thread:core_pool_size: 10max_pool_size: 100 # 配置最大线程数queue_capacity: …

gif动态图片如何做?两个方法教你在线制作gif

制作gif动画的方法有哪些?gif动图作为当下流行的一种图片格式,是由一帧一帧的图像,循环播放而产生的动画效果。那么,制作gif动画的方法有哪些呢?给大家分享一款专业的gif动画制作(https://www.gif.cn/&…

【JVM】Java的内存模型(JMM)!

一、运行时数据区域划分 JVM虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 JDK 1.8之前分为:线程共享(Heap堆区、Method Area方法区)、线程私有(虚拟机栈、本地方法栈、程序计数器) …

“一种三元前驱体废水螯合树脂回收钴的装置”实用新型专利

“一种三元前驱体废水螯合树脂回收钴的装置”实用新型专利 (证书号:第19681862号;专利号:ZL 2022 2 1042752.0) 三元前驱体通常由三元液(硫酸镍、钴、锰的混合溶液)、液碱与氨水在一定条件下液相合成,再经陈化、固液分离、流水洗涤、干燥、过…

PMP考试注意事项有哪些?

1. PMI明确规定:不允许考生使用自带文具,包括自带的笔、削笔刀、橡皮、笔袋、计算器和草稿纸等。 2. 本次考试考场内为每位考生配备2B铅笔、橡皮、计算器(若有需要)和草稿纸。如文具有缺损或考试过程中如需更换铅芯等,请向监考老师举手示意。…

【实战】H5 页面同时适配 PC 移动端 —— 旋转横屏

文章目录 一、场景二、方案三、书单推荐01 《深入实践Kotlin元编程》02 《Spring Boot学习指南》03 《Kotlin编程实战》 一、场景 一个做数据监控的单页面,页面主要内容是一个整体必须是宽屏才能正常展示,这时就不能用传统的适配方案了,需要…

DC电源模块单路、双路输出的不同应用场景

BOSHIDA DC电源模块单路、双路输出的不同应用场景 DC电源模块是一种常见的供电设备,通常用于将市电转换为稳定的直流电源,以供电给各种电子设备。DC电源模块的输出方式分为单路和双路两种,下面将分别介绍它们的不同应用场景。 一、单路输出…

wx.getPrivacySetting 小程序隐私保护指引的使用(复制粘贴即用)

创建privacyPopup 组件 privacyPopup.js Component({properties: {},data: {wxPrivacyName: ,showAgreement: false},lifetimes: {attached() {this.init();}},methods: {async init() {if (isLogin()) {const userPrivacy await this.getPrivacy();this.setData({wxPrivacy…

vue项目生产环境隐藏暴露的代码_源码

// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 productionSourceMap: false,

思维导图,掌握思维的艺术!免费的Mindomo Desktop for Mac等你来体验

您是否曾为了整理复杂的思绪而苦恼?或许您需要一款强大而直观的思维导图软件来帮助您理清思路。Mindomo Desktop for Mac是一款免费的思维导图软件,它将为您带来高效的思考和组织工具。 Mindomo Desktop for Mac的界面简洁直观,操作简单易上…

留资机器人助你有效提高营销成功率

我们都知道,当客户产生留资行为,就要抓住机会,让工作人员及时地对客户进行回访,然后将留资线索跟踪、维系。而如何准确有效地提高客户保留率和转化率是营销成功的关键。所以对于企业来说,留资机器人正是引导客户留资&a…

自动化测试工程师简历(吐血整理)附模板

张三(软件测试) 联系电话:175XXXXXXXXX 电子邮件:XXXqq.com 学 历:本 科 专 业:计算机科学与技术 毕业院校:XXXXXX …

Redis缓存高可用集群

1、Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可…

Postman应用——接口请求(Get和Post请求)

文章目录 新增请求接口请求Get接口请求Post 这里只讲用的比较多的Get和Post请求方式,也可以遵循restful api接口规范,使用其他请求方式。 GET(SELECT):从服务器取出资源(一项或多项)POST&#…

建筑模板的成本如何控制?

建筑模板是在施工过程中用于支撑混凝土浇筑的临时结构,对于建筑项目而言,模板的成本控制是一个重要的方面。有效地控制模板成本可以帮助降低整体工程成本,并提高项目的经济效益。本文将从不同网站链接的内容中总结出一些关键要点,…

2023华为OD统一考试(B卷)题库清单(按算法分类),如果你时间紧迫,就按这个刷

目录 专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、优先队列4、滑动窗口5、二叉树6、并查集7、栈 三、算法1、基础算法① 贪心算法② 二分查找③ 分治…

HTML5+CSS3小实例:纯CSS实现彩虹倒映水面的唯美背景

实例:纯CSS实现彩虹倒映水面的唯美背景 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" …

JavaScript的事件监听

一、认识事件处理 1.认识事件 Web页面需要经常和用户之间进行交互&#xff0c;而交互的过程中我们可能想要捕捉这个交互的过程&#xff1a; 比如用户点击了某个按钮、用户在输入框里面输入了某个文本、用户鼠标经过了某个位置&#xff1b;浏览器需要搭建一条JavaScript代码和…

Spark on YARN 部署搭建详细图文教程

目录 一、引言 二、SparkOnYarn 本质 2.1 Spark On Yarn 的本质? 2.2 Spark On Yarn 需要啥? 三、配置 spark on yarn 环境 3.1 spark-env.sh 3.2 连接到 YARN 中 3.2.1 bin/pyspark 3.2.2 bin/spark-shell 3.2.3 bin/spark-submit (PI) 四、部署模式 DeployMod…