使用世界文件和地图图像从纬度/经度转换为笛卡尔坐标

时间:2010-05-13 13:54:59

标签: geometry gis geospatial

我有一个java applet,允许用户从本地系统导入jpeg和world文件。然后,用户可以“点击”在导入的图像上绘制线条。每行的每个端点都包含一组X / Y和Lat / Long值。 XY是标准的java坐标空间,applet使用仿射变换计算和world文件来确定画布上每个点的纬度/经度。

我有一个要求允许用户在文本字段中键入距离,并使用箭头键从屏幕上的单个选定点沿某个方向(向上,向下,向左,向右)绘制一条线。我知道如何确定给定源纬度/长度,距离和方位的点的纬度/长度。

因此,用户在文本字段中键入“100”并按下右箭头键,应从当前所选点向右100英尺处绘制一条线。

我的问题是我不知道如何将距离(以英尺为单位)转换为距离(以像素为单位)。然后,这将告诉我在哪里绘制点。

2 个答案:

答案 0 :(得分:0)

tcarobruce, 你是对的。逆变换算法就是我所需要的。由于我使用java,我能够用具有逆变换函数的java.awt.AffineTransform对象替换我的“自制”变换算法。

这似乎解决了我的问题。

感谢。

答案 1 :(得分:0)

我猜你确定你的用户总是上传一张lat / lon wgs84投影中的光栅图片?因为在这种情况下,您可以设置固定的坐标转换。

如果您考虑使用其他投影对来自其他来源的图像进行数字化,您可能需要查看开源geotools库:http://www.geotools.org/