gpt4 book ai didi

java - 使用 Java 将地理位置坐标渲染为图像

转载 作者:行者123 更新时间:2023-12-01 19:55:50 24 4
gpt4 key购买 nike

我需要在给定一组经度和纬度坐标的情况下打印一个多边形。我从两个坐标开始进行初始测试。问题是 Java Image API 工作在像素点上,而经度和纬度是大的小数。

所以即使我有这个代码:

BufferedImage bi = new BufferedImage(500, 500, BufferedImage.OPAQUE);
Graphics2D ig2 = bi.createGraphics();

double[] xArr = toDoubleArray(Arrays.asList(Double.valueOf("121.91359648077058"), Double.valueOf("121.92293884686991")));
double[] yArr = toDoubleArray(Arrays.asList(Double.valueOf("11.995724479140792"), Double.valueOf("11.999118908426375")));

Path2D path = new Path2D.Double();

path.moveTo(xArr[0], yArr[0]);
System.out.println("x[0]=" + xArr[0] + "," + "y[0]=" + yArr[0]);
for(int i = 1; i < xArr.length; ++i) {
path.lineTo(xArr[i], yArr[i]);
System.out.println("x[" + i + "]=" + xArr[i] + "," + "y[" + i + "]" + yArr[i]);
}
path.closePath();
ig2.draw(path);
ImageIO.write(bi, "PNG", new File("polygons.png"));

它只是一个像素,即 500,500 缓冲区图像内的 121 和 11。怎样才能将地理位置坐标渲染到图像中?我真的不需要线条,只需绘制图像中的点就足够了,将鼠标悬停在 Path2D 上是我发现的最接近的一个,因为它支持 double 值。

最佳答案

您可以使用GeoTools库将处理坐标(在任何投影中)并将它们渲染到可以来自ImageGraphics对象。有number of tutorials让您开始并这些问题将帮助您开始:

Plot the longitude and latitudes on map using GeoTools

GeoTools - drawing points on image

关于java - 使用 Java 将地理位置坐标渲染为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49795035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com