110.84220848,35.41514135这是一个未加密的经纬度地址,12339032.463748338,4195450.252054124这是一个加密的经纬度地址,问java如何从加密的坐标中解析出经纬度呢
时间: 2024-02-27 21:57:43 浏览: 111
java地址经纬度查询-百度接口
要将加密的经纬度坐标转换为经纬度坐标,可以使用Java中的相关库进行计算。以下是一个示例代码:
```java
import org.osgeo.proj4j.*;
import org.osgeo.proj4j.units.*;
import org.osgeo.proj4j.datum.*;
public class CoordinateConverter {
private static final String SOURCE_PROJECTION = "EPSG:3857"; // 墨卡托投影
private static final String TARGET_PROJECTION = "EPSG:4326"; // WGS84经纬度坐标系
public static void main(String[] args) {
double x = 12339032.463748338;
double y = 4195450.252054124;
// 创建转换器
CoordinateReferenceSystem sourceCRS = CRS.decode(SOURCE_PROJECTION);
CoordinateReferenceSystem targetCRS = CRS.decode(TARGET_PROJECTION);
CoordinateTransform transform = new BasicCoordinateTransform(sourceCRS, targetCRS);
// 进行坐标转换
ProjCoordinate sourceCoord = new ProjCoordinate(x, y);
ProjCoordinate targetCoord = new ProjCoordinate();
transform.transform(sourceCoord, targetCoord);
// 输出转换后的经纬度坐标
double longitude = targetCoord.x;
double latitude = targetCoord.y;
System.out.println("经度:" + longitude + ",纬度:" + latitude);
}
}
```
其中,使用了Proj4J库进行投影坐标系的转换。该库支持各种常用的投影方式,包括墨卡托投影和WGS84经纬度坐标系。在代码中,首先定义了源坐标系和目标坐标系,然后创建了一个坐标转换器对象,最后将目标坐标系转换为经纬度坐标并输出。
阅读全文