当前位置: 首页 > news >正文

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();}
}
点与线

在这里插入图片描述

    /*** 点与线, 点必须是多点,且有一个点在线上,因为是交叉点,在线上* [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));}
点与面

在这里插入图片描述

    /*** 点与面* [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));}
线与面

在这里插入图片描述

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

在这里插入图片描述

    /*** 线与线* [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

这里写目录标题 版本点与线点与面线与面线与线 版本 org.locationtech.jts:jts-core:1.19.0 链接: github public class GeometryCrosses {private final GeometryFactory geometryFactory new GeometryFactory();private static final Logger LOGGER LoggerFactory.getLog…...

MySQL中的SHOW FULL PROCESSLIST命令

在MySQL数据库管理中,理解和监控当前正在执行的进程是至关重要的一环。MySQL提供了一系列强大的工具和命令,使得这项任务变得相对容易。其中,SHOW FULL PROCESSLIST命令就是一个非常有用的工具,它可以帮助我们查看MySQL服务器中的…...

VsCode 常见的配置、常用好用插件

1、自动保存:不用装插件,在VsCode中设置一下就行 2、设置ctr滚轮改变字体大小 3、设置选项卡多行展示 这样打开了很多个文件,就不会导致有的打开的文件被隐藏 4、实时刷新网页的插件:LiveServer 5、open in browser 支持快捷键…...

深度学习问答题(更新中)

1. 各个激活函数的优缺点? 2. 为什么ReLU常用于神经网络的激活函数? 在前向传播和反向传播过程中,ReLU相比于Sigmoid等激活函数计算量小;避免梯度消失问题。对于深层网络,Sigmoid函数反向传播时,很容易就…...

JavaScript 笔记: 函数

1 函数声明 2 函数表达式 2.1 函数表达式作为property的value 3 箭头函数 4 构造函数创建函数(不推荐) 5 function 与object 5.1 typeof 5.2 object的操作也适用于function 5.3 区别于⼀般object的⼀个核⼼特征 6 回调函数 callback 7 利用function的pr…...

2023NOIP A层联测9-天竺葵

天竺葵/无法阻挡的子序列/很有味道的题目 我们称一个长度为 k k k 的序列 c c c 是好的,当且仅当对任意正整数 i i i 在 [ 1 , k − 1 ] [1,k-1] [1,k−1] 中,满足 c i 1 > b i c i c_{i1}>b_i \times c_i ci1​>bi​ci​, …...

react antd table表格点击一行选中数据的方法

一、前言 antd的table,默认是点击左边的单选/复选按钮,才能选中一行数据; 现在想实现点击右边的部分,也可以触发操作选中这行数据。 可以使用onRow实现,样例如下。 二、代码 1.表格样式部分 //表格table样式部分{…...

【VUEX】最好用的传参方式--Vuex的详解

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于VuexElementUI的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Vuex是什么 1.定义 2…...

【.net core】yisha框架 SQL SERVER数据库 反向递归查询部门(子查父)

业务service.cs中ListFilter方法中内容 //反向递归查询部门列表List<DepartmentEntity> departmentList await departmentService.GetReverseRecurrenceList(new DepartmentListParam() { Ids operatorInfo.DepartmentId.ToString() });if (departmentList ! null &am…...

java处理时间-去除节假日以及双休日

文章目录 一、建表:activity_holiday_info二、java代码1、ActivitityHolidayController.java2、ActivityHolidayInfoService.java3、ActivityHolidayInfoServiceImpl.java 三、测试效果 有些场景需要计算数据非工作日的情况&#xff0c;eg&#xff1a;统计每个人每月工作日签到…...

快讯|Tubi 有 Rabbit AI 啦

在每月一期的 Tubi 快讯中&#xff0c;你将全面及时地获取 Tubi 最新发展动态&#xff0c;欢迎星标关注【比图科技】微信公众号&#xff0c;一起成长变强&#xff01; Tubi 推出 Rabbit AI 帮助用户找到喜欢的视频内容 Tubi 于今年九月底推出了 Rabbit AI&#xff0c;这是一项…...

Zookeeper从入门到精通

Zookeeper 是一个开源的分布式协调服务&#xff0c;目前由 Apache 进行维护。Zookeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。 目录 01-Zookeeper特性与节点数据类型详解02-Z…...

10.11作业

多继承代码实现沙发床 #include <iostream>using namespace std;class Sofa {private:int h;public:Sofa() {cout << "Sofa无参构造" << endl;}Sofa(int h): h(h) {cout << "Sofa有参构造" << endl;}Sofa(const Sofa& …...

如何对比github中不同commits的区别

有时候想要对比跨度几十个commits之前的代码区别&#xff0c;想直接使用github的用户界面。可以直接在官网操作。 示例 首先要创建一个旧commit的branch。进入该旧的commit&#xff0c;然后输入branch名字即可。 然后在项目网址后面加上compare即可对比旧的branch和新的bran…...

串的基本操作(数据结构)

串的基本操作 #include <stdlib.h> #include <iostream> #include <stdio.h> #define MaxSize 255typedef struct{char ch[MaxSize];int length; }SString;//初始化 SString InitStr(SString &S){S.length0;return S; } //为了方便计算&#xff0c;串的…...

ctfshow-web12(glob绕过)

打开链接&#xff0c;在网页源码里找到提示 要求以get请求方式给cmd传入参数 尝试直接调用系统命令&#xff0c;没有回显&#xff0c;可能被过滤了 测试phpinfo&#xff0c;回显成功&#xff0c;确实存在了代码执行 接下来我们尝试读取一下它存在的文件&#xff0c;这里主要介…...

hive3.1核心源码思路

系列文章目录 大数据主要组件核心源码解析 文章目录 系列文章目录大数据主要组件核心源码解析 前言一、HQL转化为MR 核心思路二、核心代码1. 入口类&#xff0c;生命线2. 编译代码3. 执行代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 对大…...

LATR:3D Lane Detection from Monocular Images with Transformer

参考代码&#xff1a;LATR 动机与主要工作&#xff1a; 之前的3D车道线检测算法使用诸如IPM投影、3D anchor加NMS后处理等操作处理车道线检测&#xff0c;但这些操作或多或少会存在一些负面效应。IPM投影对深度估计和相机内外参数精度有要求&#xff0c;anchor的方式需要一些如…...

什么是UI自动化测试工具?

UI自动化测试工具有着AI技术驱动&#xff0c;零代码开启自动化测试&#xff0c;集设备管理与自动化能力于一身的组织级自动化测试管理平台。基于计算机视觉技术&#xff0c;可跨平台、跨载体执行脚本&#xff0c;脚本开发和维护效率提升至少50%;多端融合统一用户使用体验&#…...

计算顺序表中值在100到500之间的元素个数

要求顺序表中值在100到500之间的元素的个数&#xff0c;你可以使用C语言编写一个循环来遍历顺序表中的元素&#xff0c;并在循环中检查每个元素是否在指定的范围内。 #include <stdio.h>#define MAX_SIZE 100 // 假设顺序表的最大容量为100int main() {int arr[MAX_SIZE]…...

WPF MES 产线执行系统:AGV与立库协同控制的核心实现

ERP MES 两套系统源代码 WPF AGV C# WPF开发。 A&#xff0c;WPF MES 上位机产线执行系统。 1&#xff0c; 完整纯源代码&#xff1b; 2&#xff0c; AGV自动调度&#xff1b; 3&#xff0c; SQLSERVER数据库。 带附加文件。 4&#xff0c; WPF各种技术应用。 5&#xff0c; 数…...

中国AI Agent发展现状与生态分析

中国AI Agent发展现状与生态分析 1. 标题 (Title) [从“工具助手”到“决策伙伴”&#xff1a;全景拆解中国AI Agent的爆发逻辑、玩家图谱与下一个十年机遇][万字深度&#xff1a;202X中国AI Agent发展白皮书——技术攻坚、商业落地与生态全景解析][抢滩AGI入口之战&#xff1a…...

终极热键冲突检测指南:3分钟定位Windows快捷键失效元凶

终极热键冲突检测指南&#xff1a;3分钟定位Windows快捷键失效元凶 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾…...

OpenClaw从入门到应用——频道:IRC

通过OpenClaw实现副业收入&#xff1a;《OpenClaw赚钱实录&#xff1a;从“养龙虾“到可持续变现的实践指南》 Quick start 在 ~/.openclaw/openclaw.json 中启用 IRC 配置。至少设置以下内容&#xff1a; theme{"theme":{"light":"min-light"…...

STM32F103ZET6【HAL库实战】STM32CubeMX配置高级定时器实现三相电机驱动PWM

1. 为什么需要带死区的互补PWM 在驱动三相无刷电机时&#xff0c;最头疼的问题就是上下桥臂直通。想象一下&#xff0c;如果同一个桥臂的上下两个MOS管同时导通&#xff0c;电源正负极就直接短路了&#xff0c;轻则烧MOS管&#xff0c;重则整个电路板冒烟。我当年第一次调电机驱…...

Windows环境下Oracle 11g快速部署与优化配置指南

1. Windows下Oracle 11g安装前的准备工作 在开始安装Oracle 11g之前&#xff0c;我们需要做好充分的准备工作。首先&#xff0c;确保你的Windows系统满足最低硬件要求&#xff1a;至少2GB内存&#xff08;推荐4GB以上&#xff09;、10GB可用磁盘空间&#xff08;实际需要根据数…...

革新性植物大战僵尸辅助工具:PVZ Toolkit全方位功能解析

革新性植物大战僵尸辅助工具&#xff1a;PVZ Toolkit全方位功能解析 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit PVZ Toolkit是一款专为《植物大战僵尸》PC版设计的革新性辅助工具&#xff0c;集…...

响应 (接上文)

在我们前⾯的代码例⼦中&#xff0c;都已经设置了响应数据,Http响应结果可以是数据,也可以是静态⻚⾯,也可 以针对响应设置状态码,Header信息等.返回静态⻚⾯创建前端⻚⾯index.html(注意路径)html代码如下:<!DOCTYPE html> <html lang"en"> <head>…...

告别Frida注入:手把手教你用IDA和010 Editor修改TikTok的libsscronet.so实现抓包(Android 30.8.4)

静态逆向实战&#xff1a;不依赖Frida修改TikTok核心通信模块实现抓包 在移动安全研究领域&#xff0c;动态注入工具如Frida一直是分析应用协议的主流选择。但当面对TikTok这类采用自研通信协议的应用时&#xff0c;频繁的版本更新会导致动态注入方案需要持续维护。本文将展示一…...

高并发系统的“救命稻草”——BASE 理论

今天我们要聊的话题&#xff0c;是互联网架构的“遮羞布”&#xff0c;也是高并发系统的“救命稻草”——BASE 理论。如果说 ACID&#xff08;原子性、一致性、隔离性、持久性&#xff09;是传统数据库的“洁癖”&#xff0c;要求数据必须时刻保持完美&#xff0c;那 BASE 就是…...