Mapping 使用Java和任何外部库,如何在地球的图形表示上绘制纬度/经度点?

Mapping 使用Java和任何外部库,如何在地球的图形表示上绘制纬度/经度点?,mapping,gis,java,Mapping,Gis,Java,我目前正在使用(我能够从作者那里获得用于小程序的代码,并对其进行修改,以便在桌面应用程序中使用-不确定他是否在其网站上链接到该应用程序)在应用程序中绘制地球地图。然而,我想更进一步。我有一组纬度/经度点,我想在这张地图上绘制-我只需要在每个点上画一个圆,也许还有一些线连接地图上的圆(点)。但是,由于用户使用内置的平移和缩放功能,因此需要在适当的位置重新绘制点。我所能达到的最好效果就是在缩放时保持点,即使这样,当你放大时点也会变大 我完全愿意切换库,但是我真的没有找到一个可以绘制世界地图的库,特别

我目前正在使用(我能够从作者那里获得用于小程序的代码,并对其进行修改,以便在桌面应用程序中使用-不确定他是否在其网站上链接到该应用程序)在应用程序中绘制地球地图。然而,我想更进一步。我有一组纬度/经度点,我想在这张地图上绘制-我只需要在每个点上画一个圆,也许还有一些线连接地图上的圆(点)。但是,由于用户使用内置的平移和缩放功能,因此需要在适当的位置重新绘制点。我所能达到的最好效果就是在缩放时保持点,即使这样,当你放大时点也会变大

我完全愿意切换库,但是我真的没有找到一个可以绘制世界地图的库,特别是在Swing组件上(它不需要那么精确,只需要正确地显示不同的地标),还可以在地图上绘制其他点并让它们“粘住”到不同的纬度/经度坐标

我看过Google Earth和NASA WorldWind,但是它们对我来说太重了(我不需要任何详细或准确的东西),而且离线使用并将世界图像视图集成到现有应用程序中似乎并不容易


建议或想法?

虽然我没有使用它,但该项目有一个“丰富的地图查看器组件”。在Java.net页面上有一个关于开始使用地图组件的教程。

您可以看看www.osgeo.org Java堆栈的其他组件。其中之一是geotools:

他们还在开发一个GUI:
处理地理空间数据可能很快变得非常棘手。采取何种方法在很大程度上取决于显示数据时的准确性。这是一本很棒的书,涵盖了地理空间数据的问题以及如何将其从数据源获取到显示器上。它适用于基于web的显示,但概念是相同的

如果您不需要高精度,一个简单的方法是找到一个未投影的底图。有了底图,使用简单的笛卡尔坐标很容易显示横向/纵向点

如果您确实需要精确的显示,那么就没有办法避免相当复杂的库。将具有不同基准和投影的地理空间数据转换为可向用户显示的数据需要大量数学运算

你应该看看

几年来,我们一直在使用OpenMap在桌面应用程序中显示GPS轨迹。为轨迹点、历史记录、注释和您自己的数据源添加您自己的层非常容易。如果你不想让它有任何外部连接,你不需要任何外部连接


我快速浏览了GeoTools,但它似乎开始了,至少在一两年前比我们已经用OpenMap完成的工作要复杂得多。我们最近一直在探索,但它肯定比我们需要的更多。OpenMap需要的马力比WorldWind要小,WorldWind需要相当不错的视频卡。

不久前,我用OpenMap做了一个小应用——这是一个黑客,但展示了如何做到这一点。该应用程序使用来自NOAA的数据显示了不同年份的飓风轨迹。您可以从这里下载:


这似乎是面向web的。正如我在我的帖子中所说,这是一个桌面应用程序,我不能依靠连接到互联网。你的措辞,特别是“建议或想法”,似乎表明你可能会接受一些非盒装解决方案。我意识到这并不完全是你想要的,但打击似乎有点惩罚性。你没有提到的一件事是,如果你想要地理空间数据的二维或三维表示。你们的数据是什么投影的?我有纬度和经度坐标,就像我说的。顺便说一句,没有与纬度和经度相关的单一投影。我看了GeoTools。它们看起来不错,但是太重了,目前没有一个稳定的GUI。