首页 > 编程语言 >java通过jts获取点到线的垂足点

java通过jts获取点到线的垂足点

时间:2024-06-20 18:00:22浏览次数:28  
标签:java 垂足 jts locationtech JTS org import

在Java中,可以使用JTS(Java Topology Suite)库来获取点到线段的垂足点。以下是一个简单的示例代码,展示了如何使用JTS获取点到线段的垂足点:

首先,确保你的项目中包含了JTS库。

import org.locationtech.jts.algorithm.distance.DistanceToPoint;

import org.locationtech.jts.algorithm.distance.PointPairDistance;

import org.locationtech.jts.geom.LineString;

import org.locationtech.jts.geom.Point;

import org.locationtech.jts.io.ParseException;

import org.locationtech.jts.io.WKTReader;

public class VerticalFootExample {

public static void main(String[] args) throws ParseException {

        PointPairDistance pointPairDistance = new PointPairDistance();

        WKTReader wktReader = new WKTReader();

        //线L1

        LineString lineString =  (LineString) wktReader.read("LINESTRING (103.823703 36.058191,103.823676 36.054882,103.829764 36.054903)");

        //点p1

        Point point = (Point) wktReader.read("POINT (103.827083 36.057880)");

        DistanceToPoint.computeDistance(lineString, point.getCoordinate(),pointPairDistance);

        System.out.println("距离:"+pointPairDistance.getDistance()*100000+"米,垂足点:"+pointPairDistance.getCoordinate(0));

    }

}

确保你的类路径中包含了JTS库,然后运行上述代码,它会输出点到线段所在直线上的垂足点的坐标。

标签:java,垂足,jts,locationtech,JTS,org,import
From: https://blog.csdn.net/weixin_58494422/article/details/139839479

相关文章

  • 【Java】如何根据应用场景选择合适的消息中间件?
    一、问题解析21.1消息中间件的应用场景消息中间件的应用场景主要有两个:异步解耦与削峰填谷。我们首先通过电商平台用户注册送积分、送优惠券这个场景来理解异步解耦合。如果不使用消息中间件,电商平台送积分的实现也许是下图这个样子:我们简单看一下这个流程。用户在网站......
  • Effective Java 学习总结
    前言EffectiveJava作为Java四大名著之一,聚焦于Java语言习惯和高效的用法。EJ告诉读者如何更好地构建代码,以便代码能够更好地工作;也便于其他人能够理解这些代码,便于修改和改善;程序也会因此变得更加令人愉快,更加优雅。全书共90条,接下来笔者将逐条进行总结。第1条:用......
  • 【Java】如何提升RocketMQ顺序消费性能?
    一、问题解析我们先来了解一下RocketMQ顺序消费的实现原理。RocketMQ支持局部顺序消息消费,可以保证同一个消费队列上的消息顺序消费。例如,消息发送者向主题为ORDER_TOPIC的4个队列共发送12条消息,RocketMQ可以保证1、4、8这三条按顺序消费,但无法保证消息4和消息......
  • Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相
    Java智慧工地源码5G智慧工地系统源码使用SAAS部署三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工模拟,围绕施工过程管理,建立互联协同、智能生产、科学管理的施工项......
  • Java资源干货
    文章目录大厂技术博客干货资源网站大厂技术博客美团技术团队:https://tech.meituan.com阿里技术团队:https://102.alibaba.com小米技术团队:https://xiaomi-info.github.io360技术团队:https://blogs.360.net有道技术博客:http://techblog.youdao.com字节跳动......
  • java返回的结果集更加会规范化
    介绍写三个文件ResultsCode.java、ResponseData.java、Result.java,使用泛型让java项目中返回结果集,能够提高代码的可读性、可维护性和可扩展性代码ResultsCode.java:packagecom.rds.study.pojo;publicenumResultsCode{SUCCESS(200,"操作成功"),ERROR(500,"服......
  • 【异常】nested exception is java.lang.NoClassDefFoundError: redis/clients/jedis/
    原因是版本冲突。以下我原本使用的版本信息<!--SpringBootRedis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.1.8.RELEASE</version><......
  • 高级前端开发需要知道的 25 个 JavaScript 单行代码
    1.不使用临时变量来交换变量的值例如我们想要将 a 于 b 的值交换leta=1,b=2;//交换值[a,b]=[b,a];//结果:a=2,b=1这行代码使用数组解构赋值的方式来交换两个变量的值,无需定义新的临时变量。这个巧妙的技巧可让代码看起来更简洁明了。语法[a,b......
  • 1-Java预备
    Java三大版本JavaSE:标准版(桌面程序,控制台开发....)JavaME:嵌入式开发(手机,小家电...)这个已经死掉了JavaEE:E企业级开发(web端,服务器开发...)JDKJREJVMJDK:JavaDevelopmentKit(Java开发者工具包含JRE,JVM)JRE:JavaRuntimeEnvironment(运行环境)JVM:JAVAVirtualMachine(虚拟机)J......
  • java基于SpringBoot+Vue的失踪人员信息发布与管理系统(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......