root / org.gvsig.geotools.proj / trunk / org.gvsig.geotools.proj / org.gvsig.geotools.proj.catalog.impl / src / main / java / org / gvsig / geotools / proj / catalog / datum / DefaultDatum.java @ 824
History | View | Annotate | Download (2.04 KB)
1 |
package org.gvsig.geotools.proj.catalog.datum; |
---|---|
2 |
|
3 |
import java.util.Date; |
4 |
import org.opengis.referencing.datum.GeodeticDatum; |
5 |
import org.opengis.referencing.datum.VerticalDatum; |
6 |
import org.gvsig.proj.catalog.datum.Datum; |
7 |
import org.gvsig.proj.catalog.datum.Ellipsoid; |
8 |
import org.gvsig.proj.catalog.datum.PrimeMeridian; |
9 |
import org.gvsig.proj.catalog.datum.VerticalDatumType; |
10 |
|
11 |
public class DefaultDatum implements Datum { |
12 |
private org.opengis.referencing.datum.Datum datum;
|
13 |
private PrimeMeridian primeMeridian = null; |
14 |
private Ellipsoid ellipsoid = null; |
15 |
|
16 |
public DefaultDatum(org.opengis.referencing.datum.Datum datum) {
|
17 |
this.datum = datum;
|
18 |
} |
19 |
|
20 |
@Override
|
21 |
public String getName() { |
22 |
return datum.getName().toString();
|
23 |
} |
24 |
|
25 |
@Override
|
26 |
public String getIdentifier() { |
27 |
// TODO Auto-generated method stub
|
28 |
return datum.getName().toString();
|
29 |
} |
30 |
|
31 |
@Override
|
32 |
public String getAnchorPoint() { |
33 |
return datum.getAnchorPoint().toString();
|
34 |
} |
35 |
|
36 |
@Override
|
37 |
public Date getRealizationEpoch() { |
38 |
return datum.getRealizationEpoch();
|
39 |
} |
40 |
|
41 |
@Override
|
42 |
public Ellipsoid getEllipsoid() {
|
43 |
if (ellipsoid==null && datum instanceof GeodeticDatum) { |
44 |
ellipsoid = new DefaultEllipsoid(((GeodeticDatum)datum).getEllipsoid());
|
45 |
} |
46 |
return ellipsoid;
|
47 |
} |
48 |
|
49 |
@Override
|
50 |
public PrimeMeridian getPrimeMeridian() {
|
51 |
if (primeMeridian==null && datum instanceof GeodeticDatum) { |
52 |
primeMeridian = new DefaultPrimeMeridian(((GeodeticDatum)datum).getPrimeMeridian());
|
53 |
} |
54 |
return primeMeridian;
|
55 |
} |
56 |
|
57 |
@Override
|
58 |
public boolean isGeodetic() { |
59 |
return (datum instanceof GeodeticDatum); |
60 |
} |
61 |
|
62 |
@Override
|
63 |
public boolean isVertical() { |
64 |
return (datum instanceof VerticalDatum); |
65 |
} |
66 |
|
67 |
@Override
|
68 |
public VerticalDatumType getVerticalDatumType() {
|
69 |
if (datum instanceof VerticalDatum) { |
70 |
org.opengis.referencing.datum.VerticalDatumType geoapiVerticalType = ((VerticalDatum)datum).getVerticalDatumType(); |
71 |
VerticalDatumType verticalType = VerticalDatumType.valueOf(geoapiVerticalType.name()); |
72 |
if (verticalType != null) { |
73 |
return verticalType;
|
74 |
} |
75 |
return VerticalDatumType.OTHER_SURFACE;
|
76 |
} |
77 |
return null; |
78 |
} |
79 |
|
80 |
} |