svn-gvsig-desktop / tags / Root_CqCMSGisPlanet / libraries / libCq CMS for java.old / src / org / cresques / geo / GeoPoint.java @ 1933
History | View | Annotate | Download (2.17 KB)
1 | 2 | luisw | package org.cresques.geo; |
---|---|---|---|
2 | |||
3 | import java.awt.geom.Point2D; |
||
4 | 94 | luisw | |
5 | import org.cresques.cts.ICoordTrans; |
||
6 | import org.cresques.cts.IProjection; |
||
7 | |||
8 | 2 | luisw | import geojava.SexaAngle; |
9 | import geojava.Mutil; |
||
10 | |||
11 | public class GeoPoint extends Point2D implements Projected { |
||
12 | 94 | luisw | IProjection proj = null;
|
13 | 2 | luisw | public static int decimales=4; |
14 | public SexaAngle Longitude;
|
||
15 | public SexaAngle Latitude;
|
||
16 | public double h; |
||
17 | |||
18 | public GeoPoint(SexaAngle sexaangle, SexaAngle sexaangle1, double d) { |
||
19 | Longitude = sexaangle; |
||
20 | Latitude = sexaangle1; |
||
21 | h = d; |
||
22 | } |
||
23 | |||
24 | public GeoPoint()
|
||
25 | { |
||
26 | Longitude = new SexaAngle();
|
||
27 | Latitude = new SexaAngle();
|
||
28 | h = 0.0D;
|
||
29 | } |
||
30 | |||
31 | public GeoPoint(double x, double y) { |
||
32 | setLocation(x, y); |
||
33 | h = 0.0D; }
|
||
34 | |||
35 | public GeoPoint(Projection proj, double x, double y) { |
||
36 | setLocation(x, y); |
||
37 | h = 0.0D; ;
|
||
38 | this.proj = proj;}
|
||
39 | |||
40 | public GeoPoint(Point2D pt) { |
||
41 | setLocation(pt.getX(), pt.getY()); |
||
42 | h = 0.0D; }
|
||
43 | |||
44 | public GeoPoint(Projection proj, Point2D pt) { |
||
45 | setLocation(pt.getX(), pt.getY()); |
||
46 | h = 0.0D; ;
|
||
47 | this.proj = proj;}
|
||
48 | |||
49 | 94 | luisw | public IProjection getProjection() { return proj; } |
50 | public void reProject(ICoordTrans rp) { |
||
51 | 2 | luisw | // TODO metodo reProject pendiente de implementar
|
52 | } |
||
53 | |||
54 | public double getX() { return Longitude.ToDecimal(); } |
||
55 | public double getY() { return Latitude.ToDecimal(); } |
||
56 | public void setLocation(double x, double y) { |
||
57 | Longitude = SexaAngle.fromDecimal(x); |
||
58 | Latitude = SexaAngle.fromDecimal(y); |
||
59 | } |
||
60 | public String toString() { |
||
61 | String str = ""; |
||
62 | String s = String.valueOf(Longitude.Deg); |
||
63 | String s1 = String.valueOf(Longitude.Min); |
||
64 | String s2 = String.valueOf(Mutil.double2String(Longitude.Sec, decimales)); |
||
65 | SexaAngle sexaangle = new SexaAngle(s, s1, s2);
|
||
66 | sexaangle.Normalize(); |
||
67 | str += String.valueOf(sexaangle.Deg)+"?"; |
||
68 | str += String.valueOf(sexaangle.Min)+"'"; |
||
69 | str += Mutil.double2String(sexaangle.Sec, decimales)+"\"";
|
||
70 | str += " ";
|
||
71 | s = String.valueOf(Latitude.Deg);
|
||
72 | s1 = String.valueOf(Latitude.Min);
|
||
73 | s2 = String.valueOf(Mutil.double2String(Latitude.Sec, decimales));
|
||
74 | sexaangle = new SexaAngle(s, s1, s2);
|
||
75 | sexaangle.Normalize(); |
||
76 | str += String.valueOf(sexaangle.Deg)+"?"; |
||
77 | str += String.valueOf(sexaangle.Min)+"'"; |
||
78 | str += Mutil.double2String(sexaangle.Sec, decimales)+"\"";
|
||
79 | return str;
|
||
80 | } |
||
81 | } |