gpt4 book ai didi

java - 在Java中将具有经纬度坐标的WFS绘制到 Canvas 上

转载 作者:行者123 更新时间:2023-12-01 18:38:20 25 4
gpt4 key购买 nike

我对 Java 编程非常陌生,我将不胜感激任何形式的帮助。因此,我想在来自 WFS 服务器的基于 Java 的 Canvas (例如 JFrame、Processing)中显示一组经纬度坐标(超过 50 个坐标)。我已成功解析经纬度值并将其打印到控制台。现在我陷入了如何将经纬度坐标转换为屏幕坐标的困境(我想以 1000x500 尺寸绘制它)。我尝试搜索引用资料,但找不到适合像我这样的初学者的最简单的引用资料。这是我的代码的当前部分:

String[] splitc = coord.split(",");
String lon = splitc[0];
String lat = splitc[1];
//parse string to float
float loncoord=Float.parseFloat(lon);
float latcoord=Float.parseFloat(lat);
  1. 我可以使用 Geotools 库的 world2screen.translate 将坐标从 WFS 传输到屏幕坐标,如 https://docs.geotools.org/latest/userguide/library/referencing/axis.html 所示?
  2. 在处理过程中,有一个map()函数(https://processing.org/reference/map_.html)用于从一个范围转移到另一个范围。我已经尝试过,但它在我的 IDE 上不起作用。
  3. 一个 super 菜鸟问题,我试图将 WFS 连接存储在一个函数中,以便我可以在另一个类中调用它,我应该将它存储在 static void 中还是使用“return”?

如果有人可以提供类似任务的示例,那将非常有帮助。谢谢(萨拉)

最佳答案

  1. 您可以改用以下公式:

    float x = ((WIDTH/360.0) * (180 + loncoord));
    float y = ((HEIGHT/180.0) * (90 - latcoord));
  2. 它应该可以工作...请注意,它返回一个 float 并采用以下形式的 5 个参数:map(输入、inputMin、inputMax、outputMin、outputMax)

  3. 您只想创建一次连接,因此您有两个可行的选择:将连接定义为静态类的静态变量,或将连接定义为以下类的实例变量singleton模式。

    假设您选择前一种方法,则返回连接变量的方法应该是 static 而不是 void:

    public static connectionType getConnection() {
    return connectionObject;
    }

    ...其中connectionType是连接的数据类型。

关于java - 在Java中将具有经纬度坐标的WFS绘制到 Canvas 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59995348/

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