Revision 38897
trunk/libraries/libJCRS/src-test/es/idr/projection/test/TestGeotools21.java | ||
---|---|---|
1 | 1 |
package es.idr.projection.test; |
2 | 2 |
|
3 |
import java.awt.geom.Point2D; |
|
4 |
|
|
3 | 5 |
import org.gvsig.crs.CrsException; |
4 | 6 |
import org.gvsig.crs.CrsFactory; |
5 | 7 |
import org.gvsig.crs.ICrs; |
6 |
import org.gvsig.crs.Proj4; |
|
7 |
import org.opengis.referencing.FactoryException; |
|
8 |
import org.opengis.referencing.NoSuchAuthorityCodeException; |
|
9 | 8 |
|
10 | 9 |
public class TestGeotools21 { |
11 | 10 |
|
... | ... | |
42 | 41 |
//strEpsgCode="EPSG:27200"; // NewZealandMapGrid -> Mirar lo de +datum |
43 | 42 |
// He tenido que incluir un mecanismo para valores concretos de parametros |
44 | 43 |
strEpsgCode="EPSG:32761"; // CassiniSoldner -> Falla +to_meter=.. |
44 |
strEpsgCode="EPSG:4326"; // CassiniSoldner -> Falla +to_meter=.. |
|
45 | 45 |
//strEpsgCode="EPSG:2099"; |
46 | 46 |
//strEpsgCode="EPSG:2200"; // en lugar de stere pone sterea,igual 2171 |
47 | 47 |
// 2036 - falla, 32661 |
... | ... | |
61 | 61 |
|
62 | 62 |
System.out.println(crs.getWKT()); |
63 | 63 |
System.out.println(crs.getProj4String()); //proj4.exportToProj4(crs)); |
64 |
|
|
65 |
ICrs crs2 = new CrsFactory().getCRS("EPSG:23030"); |
|
66 |
|
|
67 |
Point2D.Double pt = new Point2D.Double(40,0); |
|
68 |
Point2D p = crs2.toGeo(pt); |
|
69 |
System.out.println(p.toString()); |
|
70 |
|
|
71 |
System.out.println("Code: " + crs2.getCode()); |
|
64 | 72 |
|
65 | 73 |
|
66 | 74 |
} catch (CrsException e) { |
trunk/libraries/libJCRS/src-test/es/idr/projection/test/TestProj4.java | ||
---|---|---|
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 |
} |
Also available in: Unified diff