arcgis
CGCS2000_3_Degree_GK_Zone_40
WKID: 4528 Authority: EPSG
Projection: Gauss_Kruger
False_Easting: 40500000.0
False_Northing: 0.0
Central_Meridian: 120.0
Scale_Factor: 1.0
Latitude_Of_Origin: 0.0
Linear Unit: Meter (1.0)
Geographic Coordinate System: GCS_China_Geodetic_Coordinate_System_2000
Angular Unit: Degree (0.0174532925199433)
Prime Meridian: Greenwich (0.0)
Datum: D_China_2000
Spheroid: CGCS2000
Semimajor Axis: 6378137.0
Semiminor Axis: 6356752.314140356
Inverse Flattening: 298.257222101
Java 自定义
String [] proj4_w = new String [] {
"+proj=tmerc",
"+lat_0=0",
"+lon_0=120",
"+ellps=GRS80",
"+units=m",
"+x_0=40500000",
"+y_0=0",
"+k=1.0"
};
经纬度转换
///+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=GRS80 +units=m +no_defs
Point2D.Double srcProjec = null;
Point2D.Double dstProjec = null;
Projection proj = ProjectionFactory.fromPROJ4Specification (proj4_w);
// "epsg:4528" 数据从proj4 拷贝 nad
// Point2D.Double srcProjec = null;
// Point2D.Double dstProjec = null;
// Projection proj = ProjectionFactory.getNamedPROJ4CoordinateSystem ("epsg:4528");
srcProjec = new Point2D.Double (120.159,30.267);
//40515348.2903 3349745.5395
dstProjec = proj.transform (srcProjec, new Point2D.Double ());
System.out.println ("TM:" + dstProjec);
// TM: Point2D.Double [644904.399587292, 400717.8948938238]
srcProjec = new Point2D.Double (40515348.2903 ,3349745.5395);
dstProjec = proj.inverseTransform (srcProjec, new Point2D.Double ());
System.out.println ("TM:" + dstProjec);