svn-gvsig-desktop / trunk / libraries / libJCRS / src-test / es / idr / projection / test / TestProj4.java @ 38897
History | View | Annotate | Download (2.35 KB)
1 |
package es.idr.projection.test; |
---|---|
2 |
|
3 |
import java.awt.geom.Point2D; |
4 |
|
5 |
import org.cresques.cts.ICoordTrans; |
6 |
import org.gvsig.crs.CrsException; |
7 |
import org.gvsig.crs.CrsFactory; |
8 |
import org.gvsig.crs.ICrs; |
9 |
|
10 |
public class TestProj4 { |
11 |
|
12 |
|
13 |
/**
|
14 |
* @param args
|
15 |
*/
|
16 |
public static void main(String[] args) { |
17 |
try {
|
18 |
|
19 |
System.out.println("java.library.path:"+System.getProperty("java.library.path")); |
20 |
System.out.println("PROJ_LIB:"+System.getenv("PROJ_LIB")); |
21 |
|
22 |
String strEpsgCodeSrc, strEpsgCodeDest;
|
23 |
// He tenido que incluir un mecanismo para valores concretos de parametros
|
24 |
strEpsgCodeSrc="EPSG:23030"; // ED50 UTM 30 |
25 |
strEpsgCodeDest="EPSG:25830"; // ETRS89 UTM 30 |
26 |
ICrs crs=null;
|
27 |
//CoordinateReferenceSystem source;
|
28 |
//source = CRS.decode(strEpsgCode);
|
29 |
crs = new CrsFactory().getCRS(strEpsgCodeSrc);
|
30 |
|
31 |
System.out.println(crs.getWKT());
|
32 |
System.out.println(crs.getProj4String()); //proj4.exportToProj4(crs)); |
33 |
|
34 |
ICrs crs2 = new CrsFactory().getCRS(strEpsgCodeDest);
|
35 |
|
36 |
// Origen= 40 grados lat y -1 grado longitud en ED50
|
37 |
Point2D.Double ptOrig = new Point2D.Double(670733.214,4429748.958); |
38 |
|
39 |
// Segun la calculadora de IGN, deber?a dar
|
40 |
// 670623.740, 4429540.085 en ETRS89
|
41 |
|
42 |
Point2D ptDest;
|
43 |
ICoordTrans cTrans = crs.getCT(crs2); |
44 |
Point2D p = cTrans.convert(ptOrig, null); |
45 |
System.out.println("pOrig=" + ptOrig + " pDest=" + p.toString()); |
46 |
|
47 |
System.out.println("Code: " + crs2.getProj4String()); |
48 |
|
49 |
crs.setTransformationParams("+nadgrids=sped2et.gsb", null); |
50 |
ICoordTrans cTrans2 = crs.getCT(crs2); |
51 |
ptDest = cTrans2.convert(ptOrig, null);
|
52 |
System.out.println("Con rejilla: pOrig=" + ptOrig + " pDest=" + ptDest.toString()); |
53 |
System.out.println("Deber?a dar: 670623.740, 4429540.085 en ETRS89"); |
54 |
System.out.println("Code orig: " + crs.getProj4String()); |
55 |
|
56 |
ptOrig.setLocation(731720, 4371764); // En el puerto de Valencia |
57 |
ptDest = cTrans2.convert(ptOrig, null);
|
58 |
System.out.println("Con rejilla: pOrig=" + ptOrig + " pDest=" + ptDest.toString() + " Segun IGN: 731610, 4371554"); |
59 |
System.out.println(cTrans2.getPOrig().getFullCode() + "-> " + cTrans2.getPDest().getFullCode()); |
60 |
|
61 |
|
62 |
|
63 |
} catch (CrsException e) {
|
64 |
// TODO Auto-generated catch block
|
65 |
e.printStackTrace(); |
66 |
} |
67 |
} |
68 |
|
69 |
} |