java 北京2000坐标转换为WGS84坐标
时间: 2023-12-21 18:04:32 浏览: 261
PY3经典三种坐标转换.txt
Java中可以使用开源的proj4库来进行坐标转换。以下是将北京2000坐标转换为WGS84坐标的示例代码:
```java
import org.osgeo.proj4j.*;
public class CoordinateTransform {
public static void main(String[] args) {
// 创建北京2000坐标系的投影信息
String projStr = "+proj=tmerc +lat_0=0 +lon_0=116.3 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs";
Projection projBeijing = ProjectionFactory.fromPROJ4Specification(projStr);
// 创建WGS84坐标系的投影信息
projStr = "+proj=longlat +datum=WGS84 +no_defs";
Projection projWGS84 = ProjectionFactory.fromPROJ4Specification(projStr);
// 创建转换器
CoordinateTransformFactory ctf = new CoordinateTransformFactory();
CoordinateTransform transform = ctf.createTransform(projBeijing, projWGS84);
// 定义北京2000坐标点
double x = 415682.07;
double y = 4396600.91;
// 进行转换
ProjCoordinate src = new ProjCoordinate(x, y);
ProjCoordinate dst = new ProjCoordinate();
transform.transform(src, dst);
// 输出结果
System.out.println("Beijing 2000: " + x + ", " + y);
System.out.println("WGS84: " + dst.x + ", " + dst.y);
}
}
```
在运行上述代码时,需要先将proj4库添加到项目中。具体可以参考proj4的文档。
阅读全文