抄底无内近距离cd:在JPanel上绘制近距离GPS坐标

关于抄底无内近距离cd的问题,在drawing close中经常遇到, 我面临一个类的问题,我需要将 GPS 坐标动态转换并绘制到 JPanel 中。我在解析的文件中有这个本地库数据。结构是 ID,县,库名,纬度,经度

我面临一个类的问题,我需要将 GPS 坐标动态转换并绘制到 JPanel 中。我在解析的文件中有这个本地库数据。结构是 ID,县,库名,纬度,经度

R1,Ramsey,Maplewood,45.0327,-93.0262
R2,Ramsey,Mounds View,45.1059,-93.2104
R3,Ramsey,New Brighton,45.06604,-93.19125
R4,Ramsey,North St. Paul,45.0105,-92.9968
R5,Ramsey,Roseville,45.0072,-93.1558
R6,Ramsey,Sview,45.0805,-93.1345
R7,Ramsey,White Bear Lake,45.0831,-93.0092

如您所见,这些位置非常接近(170 平方英里中有 7 个位置,最大距离:15.5 英里)。我的代码当前可以从硬编码的坐标而不是 GPS 数据中正确绘制和链接节点。我已经找到了将 GPS lat 和 long 转换为 XY 坐标的算法,但是一旦进行了计算,所有对象就会彼此重叠,因为计算会导致相同的 XY 坐标,因为它是如此接近,所以我可以使用 42 个动态图形

3

我能为一个方程做什么,它会给我 XY 坐标,有足够的多样性,使一个体面的图形渲染,而不是使用随机点?

找到边界框。换句话说,找到列表中最小的 x 和最小的 y 坐标。找到列表中最大的 x 和最大的 y 坐标。这两个点定义了边界框。

现在,将这些位置 x,y 坐标转换为绘图 x,y 坐标。您最小的位置 x,y 坐标变为绘图坐标 0,0。您最大的位置 x,y 坐标变为绘图坐标宽度,高度。

为了防止缩放扭曲图像,我们必须首先计算 x 坐标和 y 坐标的缩放因子。

scaling factor x = drawing width / (location maximum x - location minimum x)
scaling factor y = drawing height / (location maximum y - location minimum y)

然后我们使用两个缩放因子中的较小者。

scaling factor = Math.min(scaling factor x, scaling factor y)

将位置坐标转换为图形坐标的方程式为:

drawing x = location x * scaling factor
drawing y = location y * scaling factor

位置和比例因子是双精度的,所以你不会降低任何精度。你必须将绘图 x 和绘图 y 转换为整数,这样你就可以绘制它们。

绘制 x 从西向东增加。位置 x 可能从西向东增加。

如果位置 y 从南到北增加,那么在进行转换时必须考虑到这一点。

drawing y = drawing height - drawing y

您可能希望向绘图区域添加边距,以便不会在绘图区域的边缘上绘制任何位置。

假设您想要 10 个像素的边距。这将使实际绘图区域的宽度大 20 个像素,高度大 20 个像素。

然后,在绘制位置之前,向图形 x 和图形 y 添加 10 个像素。

1

解决这个问题的理想方法是找到最小经度和最小纬度,最大经度和最大纬度,并将它们映射到 [0,0] 和 [JPanels.width,Jpanels.Height]。

这张地图可以做的只是

Point map(cure_location){
   int X = (curr_location.longitude-min_longitude)*(scalelog);
   int Y = (curr_location.latitude-min_latitude)*(scalelon);
   return new Point(X,Y);
}

scalelog 和 scalelon 是

scalelog = (JPanels.width)/(max_longitude-min_longitude)
scalelat = (JPanels.height)/(max_latitude-min_latitude)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(638)
ROHS环保认证:ARC循环保留检测(arc ref 10)
上一篇
Sharp ratio:无法安装 Sharp(npm sharp)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(61条)