我可以使用Proj4将点投射到平面上吗?

时间:2015-01-30 11:19:09

标签: java coordinate-systems proj

我正在进行批量处理以推广数据(使用包括Douglas Peucker在内的算法组合)。由于源数据(来自ESRI形状文件)和所需的输出格式数据都可以在各种坐标参考系统中,我使用Proj4j来转换它们之间的数据。是否有可能使用Proj4j将一个点从其原生现实世界值投射到一个平面并再次返回?

ie:如果我正在编写一个用于查看此数据的应用程序,我通常会使用我的几何图形,将此变换应用于它们以将数据转换为平面,然后将AffineTransform应用于结果以执行诸如平移之类的操作和缩放。如果我使用WGS84,投影点之间的距离会向极点伸展,但其他坐标参考系统可能不一定如此。

API中似乎有很多用于在坐标参考系统之间进行转换的内容,但我还没有看到过简单投影数据的方法。 (我认为这将是免费的功能。)

有关在Proj4,Proj4j或Proj4js中执行此操作的任何信息都很有用。如果做不到这一点,有人可以指向我可以做我正在寻找的库/ API的方向吗?

1 个答案:

答案 0 :(得分:0)

相对简单

CoordinateReferenceSystem crs = ...
Projection projection = crs.getProjection();
ProjCoordinate latLng = new ProjCoordinate(45, 35);
ProjCoordinate projected = new ProjCoordinate();
projection.transform(latLng, projected);