这里写自定义目录标题
Java geotools 坐标转换
点坐标转换
我点坐标转换为4326到3857,虽然我平时都是4546到3857,都一样。主要时因为我手里没有4546的坐标,
pom文件
这个geotools的依赖比较“皮干”,要是下载不成功,就去官网geotools下的quickstart 的Mavenquick quickstart下面找仓库地址。
<repositories>
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<repository>
<id>osgeo-snapshot</id>
<name>OSGeo Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
<snapshots><enabled>true</enabled></snapshots>
<releases><enabled>false</enabled></releases>
</repository>
</repositories>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>20.0</version>
</dependency>
```<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-referencing</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-api</artifactId>
<version>20.0</version>
</dependency>
代码
package com.wangkang.gts4vect;
import org.geotools.geometry.jts.JTS;
import org.geotools.referencing.CRS;
import org.locationtech.jts.geom.Coordinate;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.MathTransform;
import java.text.DecimalFormat;
public class MyGeotools {
public static void main(String[] args) {
// GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
// WKTReader reader = new WKTReader( geometryFactory );
//某点的经纬度
Double y = 34.26095856;
Double x = 108.94237668;
Double[] coordinate = getCoordinate(x, y);
System.out.println(coordinate[0] + " " + coordinate[1]);
}
//坐标转换
public static Double[] getCoordinate(Double x, Double y) {
Double[] res = new Double[2];
Coordinate tar = null;
try {
//封装点,这个是通用的,也可以用POINT(y,x)
// private static WKTReader reader = new WKTReader( geometryFactory );
Coordinate sour = new Coordinate