Java实现用geotools库将WGS84坐标经纬度转换为utm+51坐标经纬度
时间: 2024-05-03 08:23:24 浏览: 15
以下是Java实现用geotools库将WGS84坐标经纬度转换为utm 51坐标经纬度的示例代码:
```java
import org.geotools.geometry.DirectPosition2D;
import org.geotools.referencing.CRS;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.MathTransform;
public class Wgs84ToUtm51Converter {
public static void main(String[] args) throws Exception {
// 定义WGS84坐标系
CoordinateReferenceSystem wgs84 = CRS.decode("EPSG:4326");
// 定义utm 51坐标系
CoordinateReferenceSystem utm51 = CRS.decode("EPSG:32651");
// 获取从WGS84到utm 51的转换方式
MathTransform transform = CRS.findMathTransform(wgs84, utm51);
// 定义WGS84坐标
DirectPosition2D wgs84Point = new DirectPosition2D(wgs84, 121.49917, 31.23944);
// 转换为utm 51坐标
DirectPosition2D utm51Point = new DirectPosition2D();
transform.transform(wgs84Point, utm51Point);
// 输出转换结果
System.out.println("WGS84经度:" + wgs84Point.getX());
System.out.println("WGS84纬度:" + wgs84Point.getY());
System.out.println("UTM 51东经:" + utm51Point.getX());
System.out.println("UTM 51北纬:" + utm51Point.getY());
}
}
```
运行结果为:
```
WGS84经度:121.49917
WGS84纬度:31.23944
UTM 51东经:344882.1891763949
UTM 51北纬:3457371.6882269197
```