JTS: 24 MinimumDiameter 最小矩形

文章目录

      • 版本
      • 代码

版本

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

代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package pers.stu.algorithm;

import org.locationtech.jts.algorithm.MinimumDiameter;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.Polygon;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pers.stu.util.GeoGebraUtil;

/**
 * 最小矩形
 * @author LiHan
 * 2023-11-15 14:11:53
 */
public class MinimumDiameterUse {

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

    public static void main(String[] args) {
        MinimumDiameterUse minimumDiameterUse = new MinimumDiameterUse();
        minimumDiameterUse.test00();
    }

    public void test00() {
        GeometryFactory geometryFactory = new GeometryFactory();
        Coordinate[] coordinates = new Coordinate[] {
                new Coordinate(7, 11), new Coordinate(6, 7), new Coordinate(9, 5), new Coordinate(13.1, 5),
                new Coordinate(16, 8), new Coordinate(18, 10), new Coordinate(19, 11), new Coordinate(7, 11)
        };

        Polygon polygon = geometryFactory.createPolygon(coordinates);

        // 获取最小矩形
        Geometry geometry1 = MinimumDiameter.getMinimumRectangle(polygon);
        LOGGER.info("geometry1: {}", geometry1);

        LOGGER.info(GeoGebraUtil.compare(geometry1));

        // 获取最小直径
        Geometry geometry2 = MinimumDiameter.getMinimumDiameter(polygon);
        LOGGER.info("geometry2: {}", geometry2);

        LOGGER.info(GeoGebraUtil.compare(geometry2));
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

口袋参谋:新品增销量,是如何做到无痕迹、不降权的?

​经常听到这样的抱怨:“我补销量的速度,还没别人新品卖的快?一个新链接第二天就上了1w销量?到底是咋做到的?” 其实像新品上来直接就卖爆的情况,在电商行业中也不算什么新鲜事,但是对于很多新手…

SOLIDWORKS 2024新功能之Visualize篇

SOLIDWORKS 2024新功能Visualize 增强了创建引人注目的外观的功能 SOLIDWORKS Visualize 使用 Dassault Systmes 的企业 PBR 着色模型 (DSPBR) 来准确复制金属、玻璃、塑料和其他曲面的逼真外观。 DSPBR 是材料模型,用于基于物理的渲染,受 3DEXPERIENCE…

Java追加式将内容写入yml文件

前言 最近需要使用java的jackson-dataformat-yaml写yml文件,但多数情况是在现有的文件内容中追加地写一部分新的内容。网上查了一下没有查到有直接追加的api,看源码偶然间找到了一个实现思路,记录一下。 追加写入到yml文件 使用的工具是jac…

python 实验7

姓名:轨迹 学号:6666 专业年级:2021级软件工程 班级: 66 实验的准备阶段 (指导教师填写) 课程名称 Python开发与应用 实验名称 文件异常应用 实验目的 (1)掌握基本文件读写的方式; …

如何使用代理IP访问YouTube?

相信大家对YouTube都很熟悉,但是由于网络安全管制,我们在看YouTube视频时经常遇到由于地理封锁或网络限制而受到限制的人吗?如果是这样,您一定听说过代理IP(代理服务器)以及它们如何帮助您绕过此类限制&…

iceoryx(冰羚)-Architecture

Architecture 本文概述了Eclipseiceoryx体系结构,并解释了它的基本原理。 Software layers Eclipse iceoryx所包含的主要包如下所示。 接下来的部分将逐一简要介绍组件及其库。 Components and libraries 下面描述了不同的库及其名称空间。 ### iceoryx hoofs …

【C++】泛型编程 ③ ( 函数模板 与 普通函数 调用规则 | 类型匹配 | 显式指定函数模板泛型类型 )

文章目录 一、普通函数 与 函数模板 的调用规则 - 类型匹配1、类型匹配2、代码示例 - 类型匹配 二、普通函数 与 函数模板 的调用规则 - 显式指定函数模板泛型类型1、显式指定函数模板泛型类型2、代码示例 - 显式指定函数模板泛型类型 一、普通函数 与 函数模板 的调用规则 - 类…

STM32F103C8T6第4天:串口实验(非中断和中断)、hc01蓝牙、esp8266WIFI、4g

1. 串口基本介绍(332.36) 常用函数介绍 串口发送/接收函数: HAL_UART_Transmit(); 串口发送数据,使用超时管理机制HAL_UART_Receive(); 串口接收数据,使用超时管理机制HAL_UART_Transmit_IT(); 串口中断模式发送HAL…

用户画像与用户分层

用户画像是重要的数据产品和运营抓手,指能够描述和刻画用户信息和的数据指标。通过用户画像,业务经营团队可以充分、深入、准确地了解用户在不同生命周期的特征,来制定高效的用户经营策略。用户画像,不论 Persona 还是 Profile &a…

java笔记(一)

一、Java的三大平台 1.Java SE (必学) java语言的标准版,用于桌面开发,是其他两个版本的基础。 桌面应用适合的语言其实是c和C合适,复杂动画等加载时java很慢。 2.Java ME(现在很少用) java语言的小型版本,适用于嵌入式电子设备或…

AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

【图像分类】【深度学习】【Pytorch版本】 GoogLeNet(InceptionV3)模型算法详解

【图像分类】【深度学习】【Pytorch版本】 GoogLeNet(InceptionV3)模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】 GoogLeNet(InceptionV3)模型算法详解前言GoogLeNet(InceptionV3)讲解Factorized Convolutions卷积分解InceptionV3结构ⅠInceptionV3结构ⅡInc…

根据关键词搜索阿里巴巴商品数据列表接口|阿里巴巴商品列表数据接口|阿里巴巴商品API接口|阿里巴巴API接口

阿里巴巴也提供了根据关键词搜索商品数据列表的接口,方便开发者根据关键词搜索商品并进行相关操作。 请求参数可以包括: q:搜索关键字 start_price:开始价格 end_price:结束价格 page:页码 cat&#xff1…

9步打造个人ip

什么是个人IP? 就是一个人创造出来的属于自己的有个性有价值的,能让他人记住你,信任你,认可你的东西。 如何强化个人IP呢? 需要一些必要的条件如专业性、耐心、勤奋等等要知道,打造IP是一个见效慢的过程&am…

Multisim数电仿真实验——SOS循环序列信号发生器

目录 一、前言二、设计思路2.1序列信号的实现2.2SOS信号的循环再现 三、最终电路图 一、前言 SOS电路是一种简单而重要的电子电路,用于产生和传输紧急信号。我们将介绍SOS电路的连接思路,包括所需的组件选择以及信号的连接方式。 二、设计思路 2.1序列…

复杂度分析

目录 一.算法效率 二.大O渐进表示法 三.时间复杂度 常见的时间复杂度: 时间复杂度计算练习: 四.空间复杂度 常见的空间复杂度: 空间复杂度计算练习: 一.算法效率 追求算法效率: 找到问题解法:算法需…

什么是原生IP与广播IP?如何区分?为什么需要用原生IP?

在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生IP 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…

轻量封装WebGPU渲染系统示例<32>- 若干线框对象(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/WireframeEntityTest.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如下: export class WireframeEntityTest {private mRsc…

拜耳阵列(Bayer Pattern)以及常见彩色滤波矩阵(CFA)

一、拜耳阵列的来源 图像传感器将光线转化成电流,光线越亮,电流的数值就越大;光线越暗,电流的数值就越小。图像传感器只能感受光的强弱,无法感受光的波长。由于光的颜色由波长决定,所以图像传播器无法记录…