GeoTools是在java下的gis开源软件,以下介绍坐标转换的两种方法:投影转换和仿射变换
投影转换
这里以xian80经纬度坐标转xian80,3度分带 111中央经线平面坐标为例
转换函数如下:
1 Point pointXian80 = projectTransform(lon, lat, "EPSG:4610", "EPSG:2382");
1 /**
2 * 投影转换, lon=经度,lat=纬度,ESPG格式(例):EPSG:46103 */
4 public static Point projectTransform(double lon, doublelat,5 String epsgSource, String epsgTarget) throwsFactoryException,6 MismatchedDimensionException, TransformException {7 //原始坐标点8 //PS:通常逻辑上理解经度应该是横坐标x,纬度是y,可是这里经度要填到y,纬度x,否则会报错
9 Point sourcePoint =JtsHelper.createPoint(lat, lon);10
11 //定义转换前和转换后的投影,可以用ESPG或者wkt12 //"PROJCS[\"Xian_1980_3_Degree_GK_CM_111E\",GEOGCS[\"GCS_Xian_1980\",DATUM[\"D_Xian_1980\",SPHEROID[\"Xian_1980\",6378140.0,298.257]],PRIMEM[\"Greenwich\",0.0],U