版本
org.locationtech.jts:jts-core:1.19.0
链接: github
代码
import org.locationtech.jts.algorithm.distance.DistanceToPoint;
import org.locationtech.jts.algorithm.distance.PointPairDistance;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.Polygon;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 点距离图形最近的点
* @author LiHan
* 2023-11-09 17:11:17
*/
public class DistanceToPointUse {
private static final Logger LOGGER = LoggerFactory.getLogger(DistanceToPointUse.class);
private final GeometryFactory geometryFactory = new GeometryFactory();
public static void main(String[] args) {
DistanceToPointUse distanceToPointUse = new DistanceToPointUse();
distanceToPointUse.test00();
}
public void test00() {
Coordinate[] coordinates = new Coordinate[] {new Coordinate(2, 5), new Coordinate(8, 5), new Coordinate(8, 1), new Coordinate(2, 1), new Coordinate(2, 5)};
Coordinate coordinate = new Coordinate(10, 3);
Polygon polygon = geometryFactory.createPolygon(coordinates);
PointPairDistance pointPairDistance = new PointPairDistance();
DistanceToPoint.computeDistance(polygon, coordinate, pointPairDistance);
LOGGER.info("获取距离:{}", pointPairDistance.getDistance());
}
}
16:47:14.100 [main] INFO pers.stu.algorithm.DistanceToPointUse - 获取距离:2.0