You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2016/03/31 17:43:01 UTC
svn commit: r1737251 - in /sis/branches/JDK8/core:
sis-metadata/src/main/java/org/apache/sis/internal/metadata/
sis-metadata/src/main/java/org/apache/sis/io/wkt/
sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/
sis-referencing/sr...
Author: desruisseaux
Date: Thu Mar 31 15:43:00 2016
New Revision: 1737251
URL: http://svn.apache.org/viewvc?rev=1737251&view=rev
Log:
Complete JAXB annotation on ParametricCRS related classes and add JAXB adapter.
Add the parametric case in EPSGDataAccess.
Javadoc and formatting.
Added:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java
- copied, changed from r1737213, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_EngineeringDatum.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java
- copied, changed from r1737213, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_UserDefinedCS.java
Modified:
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTKeywords.java
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultParametricCS.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultParametricDatum.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTParserTest.java
Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTKeywords.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTKeywords.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTKeywords.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTKeywords.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -34,8 +34,9 @@ import org.apache.sis.util.Static;
* This class is intended to be used only at compile-time and could be omitted from the JAR file.</div>
*
* @author Martin Desruisseaux (Geomatys)
+ * @author Johann Sorel (Geomatys)
* @since 0.6
- * @version 0.6
+ * @version 0.7
* @module
*
* @see <a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html">WKT 2 specification</a>
Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -86,6 +86,7 @@ import static java.util.Collections.sing
*
* @author Rémi Eve (IRD)
* @author Martin Desruisseaux (IRD, Geomatys)
+ * @author Johann Sorel (Geomatys)
* @since 0.6
* @version 0.7
* @module
@@ -307,7 +308,7 @@ final class GeodeticObjectParser extends
verticalElements = null;
verticalCRS = null;
axisOrder.clear();
- properties.clear(); // for letting the garbage collector do its work.
+ properties.clear(); // for letting the garbage collector do its work.
}
return object;
}
@@ -706,7 +707,7 @@ final class GeodeticObjectParser extends
new String[] {WKTKeywords.CS, type}, element.offset);
}
}
- if (dimension <= 0 || dimension > 1000) { // Arbitrary upper limit against badly formed CS.
+ if (dimension <= 0 || dimension > 1000) { // Arbitrary upper limit against badly formed CS.
final short key;
final Object[] args;
if (dimension <= 0) {
@@ -741,7 +742,7 @@ final class GeodeticObjectParser extends
} while (axis != null);
if (!isWKT1 || !ignoreAxes) {
axes = list.toArray(new CoordinateSystemAxis[list.size()]);
- Arrays.sort(axes, this); // Take ORDER[n] elements in account.
+ Arrays.sort(axes, this); // Take ORDER[n] elements in account.
}
}
/*
@@ -753,13 +754,13 @@ final class GeodeticObjectParser extends
if (type == null) {
throw parent.missingComponent(WKTKeywords.Axis);
}
- String nx = null, x = null; // Easting or Longitude axis name and abbreviation.
- String ny = null, y = null; // Northing or latitude axis name and abbreviation.
- String nz = null, z = null; // Depth, height or time axis name and abbreviation.
+ String nx = null, x = null; // Easting or Longitude axis name and abbreviation.
+ String ny = null, y = null; // Northing or latitude axis name and abbreviation.
+ String nz = null, z = null; // Depth, height or time axis name and abbreviation.
AxisDirection dx = AxisDirection.EAST;
AxisDirection dy = AxisDirection.NORTH;
- AxisDirection direction = null; // Depth, height or time axis direction.
- Unit<?> unit = defaultUnit; // Depth, height or time axis unit.
+ AxisDirection direction = null; // Depth, height or time axis direction.
+ Unit<?> unit = defaultUnit; // Depth, height or time axis unit.
switch (type) {
/*
* Cartesian — we can create axes only for geodetic datum, in which case the axes are for
@@ -850,7 +851,7 @@ final class GeodeticObjectParser extends
z = "t";
break;
}
- /*
+ /*
* Parametric — axis name and abbreviation not yet specified by ISO 19111_2.
*/
case WKTKeywords.parametric: {
@@ -907,7 +908,7 @@ final class GeodeticObjectParser extends
case 2: return csFactory.createEllipsoidalCS(csProperties, axes[0], axes[1]);
case 3: return csFactory.createEllipsoidalCS(csProperties, axes[0], axes[1], axes[2]);
}
- dimension = (axes.length < 2) ? 2 : 3; // For error message.
+ dimension = (axes.length < 2) ? 2 : 3; // For error message.
break;
}
case WKTKeywords.Cartesian: {
@@ -915,7 +916,7 @@ final class GeodeticObjectParser extends
case 2: return csFactory.createCartesianCS(csProperties, axes[0], axes[1]);
case 3: return csFactory.createCartesianCS(csProperties, axes[0], axes[1], axes[2]);
}
- dimension = (axes.length < 2) ? 2 : 3; // For error message.
+ dimension = (axes.length < 2) ? 2 : 3; // For error message.
break;
}
case WKTKeywords.affine: {
@@ -923,7 +924,7 @@ final class GeodeticObjectParser extends
case 2: return csFactory.createAffineCS(csProperties, axes[0], axes[1]);
case 3: return csFactory.createAffineCS(csProperties, axes[0], axes[1], axes[2]);
}
- dimension = (axes.length < 2) ? 2 : 3; // For error message.
+ dimension = (axes.length < 2) ? 2 : 3; // For error message.
break;
}
case WKTKeywords.vertical: {
@@ -951,6 +952,7 @@ final class GeodeticObjectParser extends
return csFactory.createSphericalCS(csProperties, axes[0], axes[1], axes[2]);
}
case WKTKeywords.parametric: {
+ if (axes.length != (dimension = 1)) break;
return csFactory.createParametricCS(csProperties, axes[0]);
}
default: {
@@ -1097,9 +1099,9 @@ final class GeodeticObjectParser extends
if (n2 != null) {
return n1 - n2;
}
- return -1; // Axis 1 before Axis 2 since the later has no 'ORDER' element.
+ return -1; // Axis 1 before Axis 2 since the later has no 'ORDER' element.
} else if (n2 != null) {
- return +1; // Axis 2 before Axis 1 since the later has no 'ORDER' element.
+ return +1; // Axis 2 before Axis 1 since the later has no 'ORDER' element.
}
return 0;
}
@@ -1171,7 +1173,7 @@ final class GeodeticObjectParser extends
for (int i=0; i<values.length;) {
values[i] = element.pullDouble(ToWGS84[i]);
if ((++i % 3) == 0 && element.isEmpty()) {
- break; // It is legal to have only 3 or 6 elements.
+ break; // It is legal to have only 3 or 6 elements.
}
}
element.close(ignoredElements);
@@ -1209,7 +1211,7 @@ final class GeodeticObjectParser extends
}
final Map<String,?> properties = parseMetadataAndClose(element, name, null);
try {
- if (inverseFlattening == 0) { // OGC convention for a sphere.
+ if (inverseFlattening == 0) { // OGC convention for a sphere.
return datumFactory.createEllipsoid(properties, semiMajorAxis, semiMajorAxis, unit);
} else {
return datumFactory.createFlattenedSphere(properties, semiMajorAxis, inverseFlattening, unit);
@@ -1469,7 +1471,7 @@ final class GeodeticObjectParser extends
if (element == null) {
return null;
}
- final String name = element.pullString ("name");
+ final String name = element.pullString("name");
try {
return datumFactory.createParametricDatum(parseAnchorAndClose(element, name));
} catch (FactoryException exception) {
@@ -1503,9 +1505,9 @@ final class GeodeticObjectParser extends
if (element == null) {
return null;
}
- final String name = element.pullString ("name");
+ final String name = element.pullString("name");
if (isWKT1) {
- element.pullInteger("datum"); // Ignored for now.
+ element.pullInteger("datum"); // Ignored for now.
}
try {
return datumFactory.createEngineeringDatum(parseAnchorAndClose(element, name));
@@ -1558,14 +1560,14 @@ final class GeodeticObjectParser extends
throws ParseException
{
final Element element = parent.pullElement(mode,
- isBaseCRS ? new String[] {WKTKeywords.BaseEngCRS} // WKT 2 in DerivedCRS
- : new String[] {WKTKeywords.EngineeringCRS, // [0] WKT 2
- WKTKeywords.EngCRS, // [1] WKT 2
- WKTKeywords.Local_CS}); // [2] WKT 1
+ isBaseCRS ? new String[] {WKTKeywords.BaseEngCRS} // WKT 2 in DerivedCRS
+ : new String[] {WKTKeywords.EngineeringCRS, // [0] WKT 2
+ WKTKeywords.EngCRS, // [1] WKT 2
+ WKTKeywords.Local_CS}); // [2] WKT 1
if (element == null) {
return null;
}
- final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "Local_CS" above.
+ final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "Local_CS" above.
final String name = element.pullString("name");
final Unit<?> unit = parseUnit(element);
/*
@@ -1602,7 +1604,7 @@ final class GeodeticObjectParser extends
}
}
}
- if (baseCRS == null) { // The most usual case.
+ if (baseCRS == null) { // The most usual case.
datum = parseEngineeringDatum(MANDATORY, element, isWKT1);
}
try {
@@ -1678,12 +1680,12 @@ final class GeodeticObjectParser extends
throws ParseException
{
final Element element = parent.pullElement(mode,
- (csType != null) ? new String[] {WKTKeywords.BaseGeodCRS, // [0] WKT 2 in ProjectedCRS or DerivedCRS
- WKTKeywords.GeogCS} // [1] WKT 1 in ProjectedCRS
- : new String[] {WKTKeywords.GeodeticCRS, // [0] WKT 2
- WKTKeywords.GeogCS, // [1] WKT 1
- WKTKeywords.GeodCRS, // [2] WKT 2
- WKTKeywords.GeocCS}); // [3] WKT 1
+ (csType != null) ? new String[] {WKTKeywords.BaseGeodCRS, // [0] WKT 2 in ProjectedCRS or DerivedCRS
+ WKTKeywords.GeogCS} // [1] WKT 1 in ProjectedCRS
+ : new String[] {WKTKeywords.GeodeticCRS, // [0] WKT 2
+ WKTKeywords.GeogCS, // [1] WKT 1
+ WKTKeywords.GeodCRS, // [2] WKT 2
+ WKTKeywords.GeocCS}); // [3] WKT 1
if (element == null) {
return null;
}
@@ -1722,7 +1724,7 @@ final class GeodeticObjectParser extends
* We recognize those cases by a non-null 'csType' given in argument to this method.
*/
if (WKTKeywords.ellipsoidal.equals(csType)) {
- csUnit = NonSI.DEGREE_ANGLE; // For BaseGeodCRS in ProjectedCRS.
+ csUnit = NonSI.DEGREE_ANGLE; // For BaseGeodCRS in ProjectedCRS.
}
}
}
@@ -1803,11 +1805,11 @@ final class GeodeticObjectParser extends
if (cs instanceof EllipsoidalCS) { // By far the most frequent case.
return crsFactory.createGeographicCRS(properties, datum, (EllipsoidalCS) cs);
}
- if (cs instanceof CartesianCS) { // The second most frequent case.
+ if (cs instanceof CartesianCS) { // The second most frequent case.
return crsFactory.createGeocentricCRS(properties, datum,
referencing.upgradeGeocentricCS((CartesianCS) cs));
}
- if (cs instanceof SphericalCS) { // Not very common case.
+ if (cs instanceof SphericalCS) { // Not very common case.
return crsFactory.createGeocentricCRS(properties, datum, (SphericalCS) cs);
}
} catch (FactoryException exception) {
@@ -1836,14 +1838,14 @@ final class GeodeticObjectParser extends
throws ParseException
{
final Element element = parent.pullElement(mode,
- isBaseCRS ? new String[] {WKTKeywords.BaseVertCRS} // WKT 2 in DerivedCRS
- : new String[] {WKTKeywords.VerticalCRS, // [0] WKT 2
- WKTKeywords.VertCRS, // [1] WKT 2
- WKTKeywords.Vert_CS}); // [2] WKT 1
+ isBaseCRS ? new String[] {WKTKeywords.BaseVertCRS} // WKT 2 in DerivedCRS
+ : new String[] {WKTKeywords.VerticalCRS, // [0] WKT 2
+ WKTKeywords.VertCRS, // [1] WKT 2
+ WKTKeywords.Vert_CS}); // [2] WKT 1
if (element == null) {
return null;
}
- final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "Vert_CS" above.
+ final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "Vert_CS" above.
final String name = element.pullString("name");
final Unit<?> unit = parseUnit(element);
/*
@@ -1869,7 +1871,7 @@ final class GeodeticObjectParser extends
baseCRS = parseVerticalCRS(MANDATORY, element, true);
}
}
- if (baseCRS == null) { // The most usual case.
+ if (baseCRS == null) { // The most usual case.
datum = parseVerticalDatum(MANDATORY, element, isWKT1);
}
final CoordinateSystem cs;
@@ -1948,7 +1950,7 @@ final class GeodeticObjectParser extends
baseCRS = parseTimeCRS(MANDATORY, element, true);
}
}
- if (baseCRS == null) { // The most usual case.
+ if (baseCRS == null) { // The most usual case.
datum = parseTimeDatum(MANDATORY, element);
}
final CoordinateSystem cs;
@@ -1983,15 +1985,15 @@ final class GeodeticObjectParser extends
if (element == null) {
return null;
}
- final String name = element.pullString("name");
- final Unit<?> unit = parseUnit(element);
+ final String name = element.pullString("name");
+ final Unit<?> unit = parseUnit(element);
/*
* A ParametricCRS can be either a "normal" one (with a non-null datum), or a DerivedCRS of kind ParametricCRS.
* In the later case, the datum is null and we have instead DerivingConversion element from a BaseParametricCRS.
*/
- ParametricDatum datum = null;
- SingleCRS baseCRS = null;
- Conversion fromBase = null;
+ ParametricDatum datum = null;
+ SingleCRS baseCRS = null;
+ Conversion fromBase = null;
if (!isBaseCRS) {
/*
* UNIT[…] in DerivedCRS parameters are mandatory according ISO 19162 and the specification does not said
@@ -2008,7 +2010,7 @@ final class GeodeticObjectParser extends
baseCRS = parseParametricCRS(MANDATORY, element, true);
}
}
- if (baseCRS == null) { // The most usual case.
+ if (baseCRS == null) { // The most usual case.
datum = parseParametricDatum(MANDATORY, element);
}
final CoordinateSystem cs;
@@ -2048,15 +2050,15 @@ final class GeodeticObjectParser extends
throws ParseException
{
final Element element = parent.pullElement(mode,
- isBaseCRS ? new String[] {WKTKeywords.BaseProjCRS} // WKT 2 in DerivedCRS
- : new String[] {WKTKeywords.ProjectedCRS, // [0] WKT 2
- WKTKeywords.ProjCRS, // [1] WKT 2
- WKTKeywords.ProjCS}); // [2] WKT 1
+ isBaseCRS ? new String[] {WKTKeywords.BaseProjCRS} // WKT 2 in DerivedCRS
+ : new String[] {WKTKeywords.ProjectedCRS, // [0] WKT 2
+ WKTKeywords.ProjCRS, // [1] WKT 2
+ WKTKeywords.ProjCS}); // [2] WKT 1
if (element == null) {
return null;
}
- final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "ProjCS" above.
+ final boolean isWKT1 = element.getKeywordIndex() == 2; // Index of "ProjCS" above.
final String name = element.pullString("name");
final SingleCRS geoCRS = parseGeodeticCRS(MANDATORY, element, 2, WKTKeywords.ellipsoidal);
if (!(geoCRS instanceof GeographicCRS)) {
Copied: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java (from r1737213, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_EngineeringDatum.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_EngineeringDatum.java&r1=1737213&r2=1737251&rev=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_EngineeringDatum.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -17,9 +17,9 @@
package org.apache.sis.internal.jaxb.referencing;
import javax.xml.bind.annotation.XmlElement;
-import org.opengis.referencing.datum.EngineeringDatum;
+import org.opengis.referencing.datum.ParametricDatum;
import org.apache.sis.internal.jaxb.gco.PropertyType;
-import org.apache.sis.referencing.datum.DefaultEngineeringDatum;
+import org.apache.sis.referencing.datum.DefaultParametricDatum;
/**
@@ -28,15 +28,15 @@ import org.apache.sis.referencing.datum.
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @since 0.4
- * @version 0.4
+ * @since 0.7
+ * @version 0.7
* @module
*/
-public final class CD_EngineeringDatum extends PropertyType<CD_EngineeringDatum, EngineeringDatum> {
+public final class CD_ParametricDatum extends PropertyType<CD_ParametricDatum, ParametricDatum> {
/**
* Empty constructor for JAXB only.
*/
- public CD_EngineeringDatum() {
+ public CD_ParametricDatum() {
}
/**
@@ -44,42 +44,42 @@ public final class CD_EngineeringDatum e
* This method is indirectly invoked by the private constructor
* below, so it shall not depend on the state of this object.
*
- * @return {@code EngineeringDatum.class}
+ * @return {@code ParametricDatum.class}
*/
@Override
- protected Class<EngineeringDatum> getBoundType() {
- return EngineeringDatum.class;
+ protected Class<ParametricDatum> getBoundType() {
+ return ParametricDatum.class;
}
/**
* Constructor for the {@link #wrap} method only.
*/
- private CD_EngineeringDatum(final EngineeringDatum datum) {
+ private CD_ParametricDatum(final ParametricDatum datum) {
super(datum);
}
/**
* Invoked by {@link PropertyType} at marshalling time for wrapping the given value
- * in a {@code <gml:EngineeringDatum>} XML element.
+ * in a {@code <gml:ParametricDatum>} XML element.
*
* @param datum The element to marshall.
* @return A {@code PropertyType} wrapping the given the element.
*/
@Override
- protected CD_EngineeringDatum wrap(final EngineeringDatum datum) {
- return new CD_EngineeringDatum(datum);
+ protected CD_ParametricDatum wrap(final ParametricDatum datum) {
+ return new CD_ParametricDatum(datum);
}
/**
* Invoked by JAXB at marshalling time for getting the actual element to write
- * inside the {@code <gml:EngineeringDatum>} XML element.
+ * inside the {@code <gml:ParametricDatum>} XML element.
* This is the value or a copy of the value given in argument to the {@code wrap} method.
*
* @return The element to be marshalled.
*/
- @XmlElement(name = "EngineeringDatum")
- public DefaultEngineeringDatum getElement() {
- return DefaultEngineeringDatum.castOrCopy(metadata);
+ @XmlElement(name = "ParametricDatum")
+ public DefaultParametricDatum getElement() {
+ return DefaultParametricDatum.castOrCopy(metadata);
}
/**
@@ -87,7 +87,7 @@ public final class CD_EngineeringDatum e
*
* @param datum The unmarshalled element.
*/
- public void setElement(final DefaultEngineeringDatum datum) {
+ public void setElement(final DefaultParametricDatum datum) {
metadata = datum;
}
}
Copied: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java (from r1737213, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_UserDefinedCS.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_UserDefinedCS.java&r1=1737213&r2=1737251&rev=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_UserDefinedCS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -17,8 +17,8 @@
package org.apache.sis.internal.jaxb.referencing;
import javax.xml.bind.annotation.XmlElement;
-import org.opengis.referencing.cs.UserDefinedCS;
-import org.apache.sis.referencing.cs.DefaultUserDefinedCS;
+import org.opengis.referencing.cs.ParametricCS;
+import org.apache.sis.referencing.cs.DefaultParametricCS;
import org.apache.sis.internal.jaxb.gco.PropertyType;
@@ -27,15 +27,15 @@ import org.apache.sis.internal.jaxb.gco.
* package documentation for more information about JAXB and interface.
*
* @author Martin Desruisseaux (Geomatys)
- * @since 0.4
- * @version 0.4
+ * @since 0.7
+ * @version 0.7
* @module
*/
-public final class CS_UserDefinedCS extends PropertyType<CS_UserDefinedCS, UserDefinedCS> {
+public final class CS_ParametricCS extends PropertyType<CS_ParametricCS, ParametricCS> {
/**
* Empty constructor for JAXB only.
*/
- public CS_UserDefinedCS() {
+ public CS_ParametricCS() {
}
/**
@@ -43,42 +43,42 @@ public final class CS_UserDefinedCS exte
* This method is indirectly invoked by the private constructor
* below, so it shall not depend on the state of this object.
*
- * @return {@code UserDefinedCS.class}
+ * @return {@code ParametricCS.class}
*/
@Override
- protected Class<UserDefinedCS> getBoundType() {
- return UserDefinedCS.class;
+ protected Class<ParametricCS> getBoundType() {
+ return ParametricCS.class;
}
/**
* Constructor for the {@link #wrap} method only.
*/
- private CS_UserDefinedCS(final UserDefinedCS cs) {
+ private CS_ParametricCS(final ParametricCS cs) {
super(cs);
}
/**
* Invoked by {@link PropertyType} at marshalling time for wrapping the given value
- * in a {@code <gml:UserDefinedCS>} XML element.
+ * in a {@code <gml:ParametricCS>} XML element.
*
* @param cs The element to marshall.
* @return A {@code PropertyType} wrapping the given the element.
*/
@Override
- protected CS_UserDefinedCS wrap(final UserDefinedCS cs) {
- return new CS_UserDefinedCS(cs);
+ protected CS_ParametricCS wrap(final ParametricCS cs) {
+ return new CS_ParametricCS(cs);
}
/**
* Invoked by JAXB at marshalling time for getting the actual element to write
- * inside the {@code <gml:UserDefinedCS>} XML element.
+ * inside the {@code <gml:ParametricCS>} XML element.
* This is the value or a copy of the value given in argument to the {@code wrap} method.
*
* @return The element to be marshalled.
*/
- @XmlElement(name = "UserDefinedCS")
- public DefaultUserDefinedCS getElement() {
- return DefaultUserDefinedCS.castOrCopy(metadata);
+ @XmlElement(name = "ParametricCS")
+ public DefaultParametricCS getElement() {
+ return DefaultParametricCS.castOrCopy(metadata);
}
/**
@@ -86,7 +86,7 @@ public final class CS_UserDefinedCS exte
*
* @param cs The unmarshalled element.
*/
- public void setElement(final DefaultUserDefinedCS cs) {
+ public void setElement(final DefaultParametricCS cs) {
metadata = cs;
}
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -97,6 +97,7 @@ import java.util.Objects;
DefaultGeodeticCRS.class,
DefaultVerticalCRS.class,
DefaultTemporalCRS.class,
+ DefaultParametricCRS.class,
DefaultEngineeringCRS.class,
DefaultImageCRS.class,
DefaultCompoundCRS.class
@@ -159,12 +160,12 @@ public class AbstractCRS extends Abstrac
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -170,12 +170,12 @@ public class DefaultCompoundCRS extends
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -27,6 +27,7 @@ import org.opengis.referencing.datum.Dat
import org.opengis.referencing.datum.GeodeticDatum;
import org.opengis.referencing.datum.VerticalDatum;
import org.opengis.referencing.datum.TemporalDatum;
+import org.opengis.referencing.datum.ParametricDatum;
import org.opengis.referencing.datum.EngineeringDatum;
import org.opengis.referencing.crs.SingleCRS;
import org.opengis.referencing.crs.DerivedCRS;
@@ -34,11 +35,13 @@ import org.opengis.referencing.crs.Geode
import org.opengis.referencing.crs.VerticalCRS;
import org.opengis.referencing.crs.TemporalCRS;
import org.opengis.referencing.crs.ProjectedCRS;
+import org.opengis.referencing.crs.ParametricCRS;
import org.opengis.referencing.crs.EngineeringCRS;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.cs.CoordinateSystem;
import org.opengis.referencing.cs.VerticalCS;
import org.opengis.referencing.cs.TimeCS;
+import org.opengis.referencing.cs.ParametricCS;
import org.opengis.referencing.operation.Conversion;
import org.opengis.referencing.operation.OperationMethod;
import org.opengis.referencing.operation.MathTransform;
@@ -59,9 +62,6 @@ import org.apache.sis.io.wkt.Formattable
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.Classes;
-import org.opengis.referencing.crs.ParametricCRS;
-import org.opengis.referencing.cs.ParametricCS;
-import org.opengis.referencing.datum.ParametricDatum;
/**
@@ -93,6 +93,7 @@ import org.opengis.referencing.datum.Par
* synchronization.
*
* @author Martin Desruisseaux (IRD, Geomatys)
+ * @author Johann Sorel (Geomatys)
* @since 0.6
* @version 0.7
* @module
@@ -145,12 +146,12 @@ public class DefaultDerivedCRS extends A
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
@@ -290,10 +291,10 @@ public class DefaultDerivedCRS extends A
if (baseCRS != null && derivedCS != null) {
final String type = getType(baseCRS, derivedCS);
if (type != null) switch (type) {
- case WKTKeywords.GeodeticCRS: return new Geodetic(properties, (GeodeticCRS) baseCRS, conversion, derivedCS);
- case WKTKeywords.VerticalCRS: return new Vertical(properties, (VerticalCRS) baseCRS, conversion, (VerticalCS) derivedCS);
- case WKTKeywords.TimeCRS: return new Temporal(properties, (TemporalCRS) baseCRS, conversion, (TimeCS) derivedCS);
- case WKTKeywords.ParametricCRS:return new Parametric(properties,(ParametricCRS)baseCRS,conversion,(ParametricCS)derivedCS);
+ case WKTKeywords.GeodeticCRS: return new Geodetic (properties, (GeodeticCRS) baseCRS, conversion, derivedCS);
+ case WKTKeywords.VerticalCRS: return new Vertical (properties, (VerticalCRS) baseCRS, conversion, (VerticalCS) derivedCS);
+ case WKTKeywords.TimeCRS: return new Temporal (properties, (TemporalCRS) baseCRS, conversion, (TimeCS) derivedCS);
+ case WKTKeywords.ParametricCRS: return new Parametric(properties, (ParametricCRS) baseCRS, conversion, (ParametricCS) derivedCS);
case WKTKeywords.EngineeringCRS: {
/*
* This case may happen for baseCRS of kind GeodeticCRS, ProjectedCRS or EngineeringCRS.
@@ -344,10 +345,10 @@ public class DefaultDerivedCRS extends A
if (baseCRS != null && derivedCS != null) {
final String type = getType(baseCRS, derivedCS);
if (type != null) switch (type) {
- case WKTKeywords.GeodeticCRS: return new Geodetic(properties, (GeodeticCRS) baseCRS, interpolationCRS, method, baseToDerived, derivedCS);
- case WKTKeywords.VerticalCRS: return new Vertical(properties, (VerticalCRS) baseCRS, interpolationCRS, method, baseToDerived, (VerticalCS) derivedCS);
- case WKTKeywords.TimeCRS: return new Temporal(properties, (TemporalCRS) baseCRS, interpolationCRS, method, baseToDerived, (TimeCS) derivedCS);
- case WKTKeywords.ParametricCRS:return new Parametric(properties,(ParametricCRS)baseCRS,interpolationCRS,method,baseToDerived,(ParametricCS)derivedCS);
+ case WKTKeywords.GeodeticCRS: return new Geodetic (properties, (GeodeticCRS) baseCRS, interpolationCRS, method, baseToDerived, derivedCS);
+ case WKTKeywords.VerticalCRS: return new Vertical (properties, (VerticalCRS) baseCRS, interpolationCRS, method, baseToDerived, (VerticalCS) derivedCS);
+ case WKTKeywords.TimeCRS: return new Temporal (properties, (TemporalCRS) baseCRS, interpolationCRS, method, baseToDerived, (TimeCS) derivedCS);
+ case WKTKeywords.ParametricCRS: return new Parametric(properties, (ParametricCRS) baseCRS, interpolationCRS, method, baseToDerived, (ParametricCS) derivedCS);
case WKTKeywords.EngineeringCRS: {
if (baseCRS instanceof EngineeringCRS) {
// See the comment in create(Map, SingleCRS, Conversion, CoordinateSystem)
@@ -379,8 +380,8 @@ public class DefaultDerivedCRS extends A
case WKTKeywords.GeodeticCRS: return new Geodetic (object);
case WKTKeywords.VerticalCRS: return new Vertical (object);
case WKTKeywords.TimeCRS: return new Temporal (object);
- case WKTKeywords.EngineeringCRS: return new Engineering(object);
case WKTKeywords.ParametricCRS: return new Parametric (object);
+ case WKTKeywords.EngineeringCRS: return new Engineering(object);
}
return new DefaultDerivedCRS(object);
}
@@ -629,6 +630,8 @@ public class DefaultDerivedCRS extends A
return WKTKeywords.VerticalCRS;
} else if (TemporalCRS.class.isAssignableFrom(type) && derivedCS instanceof TimeCS) {
return WKTKeywords.TimeCRS;
+ } else if (ParametricCRS.class.isAssignableFrom(type) && derivedCS instanceof ParametricCS) {
+ return WKTKeywords.ParametricCRS;
} else if (ProjectedCRS.class.isAssignableFrom(type) || EngineeringCRS.class.isAssignableFrom(type)) {
return WKTKeywords.EngineeringCRS;
} else {
@@ -796,105 +799,105 @@ public class DefaultDerivedCRS extends A
}
/**
- * An derived engineering CRS. ISO 19162 restricts the base CRS to {@code EngineeringCRS}, {@code ProjectedCRS}
- * or {@code GeodeticCRS}. Note that in the later case, an ambiguity may exist with the
- * {@link org.apache.sis.referencing.crs.DefaultDerivedCRS.Geodetic} when deciding which {@code DerivedCRS} to
- * create.
+ * A derived parametric CRS.
*/
@XmlTransient
- private static final class Engineering extends DefaultDerivedCRS implements EngineeringCRS {
+ private static final class Parametric extends DefaultDerivedCRS implements ParametricCRS {
/** For cross-version compatibility. */
- private static final long serialVersionUID = 42334975023270039L;
+ private static final long serialVersionUID = 2344979923957294024L;
/** Creates a copy of the given CRS. */
- Engineering(DerivedCRS other) {
+ Parametric(DerivedCRS other) {
super(other);
}
- /** Creates a new engineering CRS from the given properties. */
- Engineering(Map<String,?> properties, EngineeringCRS baseCRS, Conversion conversion, CoordinateSystem derivedCS) {
+ /** Creates a new parametric CRS from the given properties. */
+ Parametric(Map<String,?> properties, ParametricCRS baseCRS, Conversion conversion, ParametricCS derivedCS) {
super(properties, baseCRS, conversion, derivedCS);
}
- /** Creates a new engineering CRS from the given properties. */
- Engineering(Map<String,?> properties, EngineeringCRS baseCRS, CoordinateReferenceSystem interpolationCRS,
- OperationMethod method, MathTransform baseToDerived, CoordinateSystem derivedCS)
+ /** Creates a new parametric CRS from the given properties. */
+ Parametric(Map<String,?> properties, ParametricCRS baseCRS, CoordinateReferenceSystem interpolationCRS,
+ OperationMethod method, MathTransform baseToDerived, ParametricCS derivedCS)
{
super(properties, baseCRS, interpolationCRS, method, baseToDerived, derivedCS);
}
- /** Returns the datum of the base engineering CRS. */
- @Override public EngineeringDatum getDatum() {
- return (EngineeringDatum) super.getDatum();
+ /** Returns the datum of the base parametric CRS. */
+ @Override public ParametricDatum getDatum() {
+ return (ParametricDatum) super.getDatum();
+ }
+
+ /** Returns the coordinate system given at construction time. */
+ @Override public ParametricCS getCoordinateSystem() {
+ return (ParametricCS) super.getCoordinateSystem();
}
/** Returns a coordinate reference system of the same type than this CRS but with different axes. */
@Override AbstractCRS createSameType(final Map<String,?> properties, final CoordinateSystem derivedCS) {
final Conversion conversionFromBase = getConversionFromBase();
- return new Engineering(properties, (EngineeringCRS) conversionFromBase.getSourceCRS(), conversionFromBase, derivedCS);
+ return new Parametric(properties, (ParametricCRS) conversionFromBase.getSourceCRS(),
+ conversionFromBase, (ParametricCS) derivedCS);
}
/** Returns the WKT keyword for this derived CRS type. */
@Override String keyword(final Formatter formatter) {
- return formatter.shortOrLong(WKTKeywords.EngCRS, WKTKeywords.EngineeringCRS);
+ return WKTKeywords.ParametricCRS;
}
/** Returns the GML code for this derived CRS type. */
@Override SC_DerivedCRSType getType() {
- return new SC_DerivedCRSType("engineering");
+ return new SC_DerivedCRSType("parametric");
}
}
/**
- * A derived parametric CRS.
+ * An derived engineering CRS. ISO 19162 restricts the base CRS to {@code EngineeringCRS}, {@code ProjectedCRS}
+ * or {@code GeodeticCRS}. Note that in the later case, an ambiguity may exist with the
+ * {@link org.apache.sis.referencing.crs.DefaultDerivedCRS.Geodetic} when deciding which {@code DerivedCRS} to
+ * create.
*/
@XmlTransient
- private static final class Parametric extends DefaultDerivedCRS implements ParametricCRS {
+ private static final class Engineering extends DefaultDerivedCRS implements EngineeringCRS {
/** For cross-version compatibility. */
- private static final long serialVersionUID = 2344979923957294024L;
+ private static final long serialVersionUID = 42334975023270039L;
/** Creates a copy of the given CRS. */
- Parametric(DerivedCRS other) {
+ Engineering(DerivedCRS other) {
super(other);
}
- /** Creates a new parametric CRS from the given properties. */
- Parametric(Map<String,?> properties, ParametricCRS baseCRS, Conversion conversion, ParametricCS derivedCS) {
+ /** Creates a new engineering CRS from the given properties. */
+ Engineering(Map<String,?> properties, EngineeringCRS baseCRS, Conversion conversion, CoordinateSystem derivedCS) {
super(properties, baseCRS, conversion, derivedCS);
}
- /** Creates a new parametric CRS from the given properties. */
- Parametric(Map<String,?> properties, ParametricCRS baseCRS, CoordinateReferenceSystem interpolationCRS,
- OperationMethod method, MathTransform baseToDerived, ParametricCS derivedCS)
+ /** Creates a new engineering CRS from the given properties. */
+ Engineering(Map<String,?> properties, EngineeringCRS baseCRS, CoordinateReferenceSystem interpolationCRS,
+ OperationMethod method, MathTransform baseToDerived, CoordinateSystem derivedCS)
{
super(properties, baseCRS, interpolationCRS, method, baseToDerived, derivedCS);
}
- /** Returns the datum of the base parametric CRS. */
- @Override public ParametricDatum getDatum() {
- return (ParametricDatum) super.getDatum();
- }
-
- /** Returns the coordinate system given at construction time. */
- @Override public ParametricCS getCoordinateSystem() {
- return (ParametricCS) super.getCoordinateSystem();
+ /** Returns the datum of the base engineering CRS. */
+ @Override public EngineeringDatum getDatum() {
+ return (EngineeringDatum) super.getDatum();
}
/** Returns a coordinate reference system of the same type than this CRS but with different axes. */
@Override AbstractCRS createSameType(final Map<String,?> properties, final CoordinateSystem derivedCS) {
final Conversion conversionFromBase = getConversionFromBase();
- return new Parametric(properties, (ParametricCRS) conversionFromBase.getSourceCRS(),
- conversionFromBase, (ParametricCS) derivedCS);
+ return new Engineering(properties, (EngineeringCRS) conversionFromBase.getSourceCRS(), conversionFromBase, derivedCS);
}
/** Returns the WKT keyword for this derived CRS type. */
@Override String keyword(final Formatter formatter) {
- return WKTKeywords.BaseParamCRS;
+ return formatter.shortOrLong(WKTKeywords.EngCRS, WKTKeywords.EngineeringCRS);
}
/** Returns the GML code for this derived CRS type. */
@Override SC_DerivedCRSType getType() {
- return new SC_DerivedCRSType("parametric");
+ return new SC_DerivedCRSType("engineering");
}
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -120,12 +120,12 @@ public class DefaultEngineeringCRS exten
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -125,12 +125,12 @@ public class DefaultGeocentricCRS extend
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -139,12 +139,12 @@ public class DefaultGeographicCRS extend
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultImageCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -113,12 +113,12 @@ public class DefaultImageCRS extends Abs
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultParametricCRS.java Thu Mar 31 15:43:00 2016
@@ -20,20 +20,24 @@ import java.util.Map;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import org.apache.sis.internal.metadata.MetadataUtilities;
-import org.apache.sis.internal.metadata.WKTKeywords;
-import org.apache.sis.io.wkt.Formatter;
-import static org.apache.sis.referencing.crs.AbstractCRS.isBaseCRS;
-import org.apache.sis.referencing.cs.AxesConvention;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
import org.opengis.referencing.crs.ParametricCRS;
import org.opengis.referencing.crs.TemporalCRS;
import org.opengis.referencing.cs.CoordinateSystem;
import org.opengis.referencing.cs.ParametricCS;
import org.opengis.referencing.datum.ParametricDatum;
+import org.apache.sis.internal.metadata.MetadataUtilities;
+import org.apache.sis.internal.metadata.WKTKeywords;
+import org.apache.sis.referencing.cs.AxesConvention;
+import org.apache.sis.io.wkt.Formatter;
+
+import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+import static org.apache.sis.referencing.crs.AbstractCRS.isBaseCRS;
+
/**
* A 1-dimensional coordinate reference system which uses parameter values or functions.
+ * Parametric CRS can be used for physical properties or functions that vary monotonically with height.
+ * A typical example is the pressure in meteorological applications.
*
* <p><b>Used with coordinate system type:</b>
* {@linkplain org.apache.sis.referencing.cs.DefaultParametricCS Parametric}.
@@ -59,6 +63,10 @@ import org.opengis.referencing.datum.Par
})
@XmlRootElement(name = "ParametricCRS")
public class DefaultParametricCRS extends AbstractCRS implements ParametricCRS {
+ /**
+ * Serial number for inter-operability with different versions.
+ */
+ private static final long serialVersionUID = 4013698133331342649L;
/**
* The datum.
@@ -104,12 +112,12 @@ public class DefaultParametricCRS extend
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
@@ -122,8 +130,8 @@ public class DefaultParametricCRS extend
* @see org.apache.sis.referencing.factory.GeodeticObjectFactory#createParametricCRS(Map, ParametricDatum, ParametricCS)
*/
public DefaultParametricCRS(final Map<String,?> properties,
- final ParametricDatum datum,
- final ParametricCS cs)
+ final ParametricDatum datum,
+ final ParametricCS cs)
{
super(properties, cs);
ensureNonNull("datum", datum);
@@ -273,7 +281,7 @@ public class DefaultParametricCRS extend
if (datum == null) {
datum = value;
} else {
- MetadataUtilities.propertyAlreadySet(DefaultVerticalCRS.class, "setDatum", "parametricDatum");
+ MetadataUtilities.propertyAlreadySet(DefaultParametricCRS.class, "setDatum", "parametricDatum");
}
}
@@ -285,5 +293,4 @@ public class DefaultParametricCRS extend
private void setCoordinateSystem(final ParametricCS cs) {
setCoordinateSystem("parametricCS", cs);
}
-
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -120,12 +120,12 @@ public class DefaultProjectedCRS extends
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultTemporalCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -132,12 +132,12 @@ public class DefaultTemporalCRS extends
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultVerticalCRS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -111,12 +111,12 @@ public class DefaultVerticalCRS extends
* <td>{@link #getRemarks()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#DOMAIN_OF_VALIDITY_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY}</td>
* <td>{@link org.opengis.metadata.extent.Extent}</td>
* <td>{@link #getDomainOfValidity()}</td>
* </tr>
* <tr>
- * <td>{@value org.opengis.referencing.datum.Datum#SCOPE_KEY}</td>
+ * <td>{@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY}</td>
* <td>{@link org.opengis.util.InternationalString} or {@link String}</td>
* <td>{@link #getScope()}</td>
* </tr>
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/package-info.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -100,6 +100,7 @@
@XmlJavaTypeAdapter(CD_GeodeticDatum.class),
@XmlJavaTypeAdapter(CD_EngineeringDatum.class),
@XmlJavaTypeAdapter(CD_ImageDatum.class),
+ @XmlJavaTypeAdapter(CD_ParametricDatum.class),
@XmlJavaTypeAdapter(CD_TemporalDatum.class),
@XmlJavaTypeAdapter(CD_VerticalDatum.class),
@XmlJavaTypeAdapter(CS_CartesianCS.class), // Must be before CS_AffineCS.
@@ -107,6 +108,7 @@
@XmlJavaTypeAdapter(CS_CylindricalCS.class),
@XmlJavaTypeAdapter(CS_EllipsoidalCS.class),
@XmlJavaTypeAdapter(CS_LinearCS.class),
+ @XmlJavaTypeAdapter(CS_ParametricCS.class),
@XmlJavaTypeAdapter(CS_PolarCS.class),
@XmlJavaTypeAdapter(CS_SphericalCS.class),
@XmlJavaTypeAdapter(CS_TimeCS.class),
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -84,6 +84,7 @@ import static org.apache.sis.util.Utilit
DefaultLinearCS.class,
DefaultVerticalCS.class,
DefaultTimeCS.class,
+ DefaultParametricCS.class,
DefaultUserDefinedCS.class
})
public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSystem {
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultParametricCS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultParametricCS.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultParametricCS.java (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultParametricCS.java Thu Mar 31 15:43:00 2016
@@ -22,6 +22,7 @@ import javax.xml.bind.annotation.XmlType
import org.opengis.referencing.cs.CoordinateSystemAxis;
import org.opengis.referencing.cs.ParametricCS;
+
/**
* A 1-dimensional coordinate system for parametric values or functions.
*
@@ -53,7 +54,6 @@ import org.opengis.referencing.cs.Parame
@XmlType(name = "ParametricCSType")
@XmlRootElement(name = "ParametricCS")
public class DefaultParametricCS extends AbstractCS implements ParametricCS {
-
/**
* Serial number for inter-operability with different versions.
*/
@@ -200,6 +200,4 @@ public class DefaultParametricCS extends
*/
private DefaultParametricCS() {
}
-
-
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -83,6 +83,7 @@ import java.util.Objects;
DefaultGeodeticDatum.class,
DefaultVerticalDatum.class,
DefaultTemporalDatum.class,
+ DefaultParametricDatum.class,
DefaultEngineeringDatum.class,
DefaultImageDatum.class
})
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultParametricDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultParametricDatum.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultParametricDatum.java (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultParametricDatum.java Thu Mar 31 15:43:00 2016
@@ -20,9 +20,10 @@ import java.util.Date;
import java.util.Map;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.opengis.referencing.datum.ParametricDatum;
import org.apache.sis.internal.metadata.WKTKeywords;
import org.apache.sis.io.wkt.Formatter;
-import org.opengis.referencing.datum.ParametricDatum;
+
/**
* Defines the origin of a parametric coordinate reference system.
@@ -57,7 +58,6 @@ import org.opengis.referencing.datum.Par
@XmlType(name = "ParametricDatumType")
@XmlRootElement(name = "ParametricDatum")
public class DefaultParametricDatum extends AbstractDatum implements ParametricDatum {
-
/**
* Serial number for inter-operability with different versions.
*/
@@ -175,7 +175,7 @@ public class DefaultParametricDatum exte
* Formats this datum as a <cite>Well Known Text</cite> {@code ParametricDatum[â¦]} element.
*
* <div class="note"><b>Compatibility note:</b>
- * {@code TimeDatum} is defined in the WKT 2 specification only.</div>
+ * {@code ParametricDatum} is defined in the WKT 2 specification only.</div>
*
* @return {@code "ParametricDatum"}.
*
@@ -209,5 +209,4 @@ public class DefaultParametricDatum exte
*/
private DefaultParametricDatum() {
}
-
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -62,6 +62,7 @@ import org.apache.sis.util.Debug;
* However, other methods may be overridden as well for better performances.</p>
*
* @author Martin Desruisseaux (IRD, Geomatys)
+ * @author Johann Sorel (Geomatys)
* @since 0.7
* @version 0.7
* @module
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -189,6 +189,7 @@ import org.apache.sis.xml.XML;
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Guilhem Legal (Geomatys)
+ * @author Johann Sorel (Geomatys)
* @since 0.6
* @version 0.7
* @module
@@ -1036,6 +1037,95 @@ public class GeodeticObjectFactory exten
}
/**
+ * Creates a parametric coordinate reference system.
+ * Parametric CRS can be used for physical properties or functions that vary monotonically with height.
+ * A typical example is the pressure in meteorological applications.
+ *
+ * <div class="note"><b>Dependencies:</b>
+ * the components needed by this method can be created by the following methods:
+ * <ol>
+ * <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
+ * <li>{@link #createParametricCS(Map, CoordinateSystemAxis)}</li>
+ * <li>{@link #createParametricDatum(Map)}</li>
+ * </ol></div>
+ *
+ * The default implementation creates a {@link DefaultParametricCRS} instance.
+ *
+ * @param properties Name and other properties to give to the new object.
+ * @param datum The parametric datum to use in created CRS.
+ * @param cs The parametric coordinate system for the created CRS.
+ * @throws FactoryException if the object creation failed.
+ *
+ * @see DefaultParametricCRS#DefaultParametricCRS(Map, ParametricDatum, ParametricCS)
+ * @see GeodeticAuthorityFactory#createParametricCRS(String)
+ */
+ @Override
+ public ParametricCRS createParametricCRS(final Map<String,?> properties,
+ final ParametricDatum datum, final ParametricCS cs) throws FactoryException
+ {
+ final DefaultParametricCRS crs;
+ try {
+ crs = new DefaultParametricCRS(complete(properties), datum, cs);
+ } catch (IllegalArgumentException exception) {
+ throw new InvalidGeodeticParameterException(exception);
+ }
+ return unique("createParametricCRS", crs);
+ }
+
+ /**
+ * Creates a parametric datum.
+ * The default implementation creates a {@link DefaultParametricDatum} instance.
+ *
+ * @param properties Name and other properties to give to the new object.
+ * @throws FactoryException if the object creation failed.
+ *
+ * @see DefaultParametricDatum#DefaultParametricDatum(Map)
+ * @see GeodeticAuthorityFactory#createParametricDatum(String)
+ */
+ @Override
+ public ParametricDatum createParametricDatum(final Map<String,?> properties)
+ throws FactoryException
+ {
+ final DefaultParametricDatum datum;
+ try {
+ datum = new DefaultParametricDatum(complete(properties));
+ } catch (IllegalArgumentException exception) {
+ throw new InvalidGeodeticParameterException(exception);
+ }
+ return unique("createParametricDatum", datum);
+ }
+
+ /**
+ * Creates a parametric coordinate system.
+ * This coordinate system can be used only with parametric CRS.
+ *
+ * <div class="note"><b>Dependencies:</b>
+ * the components needed by this method can be created by the following methods:
+ * <ol>
+ * <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
+ * </ol></div>
+ *
+ * The default implementation creates a {@link DefaultParametricCS} instance.
+ *
+ * @param properties Name and other properties to give to the new object.
+ * @param axis The single axis.
+ * @throws FactoryException if the object creation failed.
+ *
+ * @see DefaultParametricCS#DefaultParametricCS(Map, CoordinateSystemAxis)
+ * @see GeodeticAuthorityFactory#createParametricCS(String)
+ */
+ @Override
+ public ParametricCS createParametricCS(Map<String, ?> properties, CoordinateSystemAxis axis) throws FactoryException {
+ final DefaultParametricCS cs;
+ try {
+ cs = new DefaultParametricCS(complete(properties), axis);
+ } catch (IllegalArgumentException exception) {
+ throw new InvalidGeodeticParameterException(exception);
+ }
+ return unique("createParametricCS", cs);
+ }
+
+ /**
* Creates a compound coordinate reference system from an ordered list of {@code CoordinateReferenceSystem} objects.
* Apache SIS puts no restriction on the components that can be used in a compound CRS.
* However for better inter-operability, users are encouraged to follow the order mandated by ISO 19162:
@@ -1548,92 +1638,4 @@ public class GeodeticObjectFactory exten
Errors.Keys.IllegalClass_2, CoordinateReferenceSystem.class, object.getClass()));
}
}
-
- /**
- * Creates a parametric coordinate reference system.
- *
- * <div class="note"><b>Dependencies:</b>
- * the components needed by this method can be created by the following methods:
- * <ol>
- * <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
- * <li>{@link #createParametricCS(Map, CoordinateSystemAxis)}</li>
- * <li>{@link #createParametricDatum(Map)}</li>
- * </ol></div>
- *
- * The default implementation creates a {@link DefaultParametricCRS} instance.
- *
- * @param properties Name and other properties to give to the new object.
- * @param datum The parametric datum to use in created CRS.
- * @param cs The parametric coordinate system for the created CRS.
- * @throws FactoryException if the object creation failed.
- *
- * @see DefaultParametricCRS#DefaultParametricCRS(Map, ParametricDatum, ParametricCS)
- * @see GeodeticAuthorityFactory#createParametricCRS(String)
- */
- @Override
- public ParametricCRS createParametricCRS(final Map<String,?> properties,
- final ParametricDatum datum, final ParametricCS cs) throws FactoryException
- {
- final DefaultParametricCRS crs;
- try {
- crs = new DefaultParametricCRS(complete(properties), datum, cs);
- } catch (IllegalArgumentException exception) {
- throw new InvalidGeodeticParameterException(exception);
- }
- return unique("createParametricCRS", crs);
- }
-
- /**
- * Creates a parametric coordinate system.
- * This coordinate system can be used only with parametric CRS.
- *
- * <div class="note"><b>Dependencies:</b>
- * the components needed by this method can be created by the following methods:
- * <ol>
- * <li>{@link #createCoordinateSystemAxis(Map, String, AxisDirection, Unit)}</li>
- * </ol></div>
- *
- * The default implementation creates a {@link DefaultParametricCS} instance.
- *
- * @param properties Name and other properties to give to the new object.
- * @param axis The single axis.
- * @throws FactoryException if the object creation failed.
- *
- * @see DefaultParametricCS#DefaultParametricCS(Map, CoordinateSystemAxis)
- * @see GeodeticAuthorityFactory#createParametricCS(String)
- */
- @Override
- public ParametricCS createParametricCS(Map<String, ?> properties, CoordinateSystemAxis axis) throws FactoryException {
- final DefaultParametricCS cs;
- try {
- cs = new DefaultParametricCS(complete(properties), axis);
- } catch (IllegalArgumentException exception) {
- throw new InvalidGeodeticParameterException(exception);
- }
- return unique("createParametricCS", cs);
- }
-
- /**
- * Creates a parametric datum.
- * The default implementation creates a {@link DefaultParametricDatum} instance.
- *
- * @param properties Name and other properties to give to the new object.
- * @throws FactoryException if the object creation failed.
- *
- * @see DefaultParametricDatum#DefaultParametricDatum(Map)
- * @see GeodeticAuthorityFactory#createParametricDatum(String)
- */
- @Override
- public ParametricDatum createParametricDatum(final Map<String,?> properties)
- throws FactoryException
- {
- final DefaultParametricDatum datum;
- try {
- datum = new DefaultParametricDatum(complete(properties));
- } catch (IllegalArgumentException exception) {
- throw new InvalidGeodeticParameterException(exception);
- }
- return unique("createTemporalDatum", datum);
- }
-
}
Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -1522,6 +1522,16 @@ addURIs: for (int i=0; ; i++) {
break;
}
/* ----------------------------------------------------------------------
+ * PARAMETRIC CRS
+ * ---------------------------------------------------------------------- */
+ case "parametric": {
+ final ParametricCS cs = owner.createParametricCS (getString(code, result, 8));
+ final ParametricDatum datum = owner.createParametricDatum(getString(code, result, 9));
+ crs = crsFactory.createParametricCRS(createProperties("Coordinate Reference System",
+ name, epsg, area, scope, remarks, deprecated), datum, cs);
+ break;
+ }
+ /* ----------------------------------------------------------------------
* UNKNOWN CRS
* ---------------------------------------------------------------------- */
default: {
@@ -1666,6 +1676,10 @@ addURIs: for (int i=0; ; i++) {
datum = datumFactory.createEngineeringDatum(properties);
break;
}
+ case "parametric": {
+ datum = datumFactory.createParametricDatum(properties);
+ break;
+ }
default: {
throw new FactoryDataException(error().getString(Errors.Keys.UnknownType_1, type));
}
@@ -2115,6 +2129,12 @@ addURIs: for (int i=0; ; i++) {
}
break;
}
+ case "parametric": {
+ switch (dimension) {
+ case 1: cs = csFactory.createParametricCS(properties, axes[0]); break;
+ }
+ break;
+ }
case "linear": {
switch (dimension) {
case 1: cs = csFactory.createLinearCS(properties, axes[0]); break;
Modified: sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTParserTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTParserTest.java?rev=1737251&r1=1737250&r2=1737251&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTParserTest.java [UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTParserTest.java [UTF-8] Thu Mar 31 15:43:00 2016
@@ -38,7 +38,7 @@ import static org.junit.Assert.*;
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @since 0.6
- * @version 0.6
+ * @version 0.7
* @module
*/
@RunWith(JUnit4.class)
@@ -352,6 +352,28 @@ public final strictfp class WKTParserTes
}
/**
+ * Completes the GeoAPI tests with a check of axis name.
+ * The WKT parsed by this test is (except for quote characters):
+ *
+ * {@preformat wkt
+ * PARAMETRICCRS[“WMO standard atmosphere layer 0”,
+ * PDATUM[“Mean Sea Level”,ANCHOR[“1013.25 hPa at 15°C”]],
+ * CS[parametric,1],
+ * AXIS[“pressure (hPa)”,up],
+ * PARAMETRICUNIT[“hPa”,100.0]]
+ * }
+ *
+ * @throws FactoryException if an error occurred during the WKT parsing.
+ */
+ @Test
+ @Override
+ public void testParametric() throws FactoryException {
+ super.testParametric();
+ final CoordinateSystem cs = object.getCoordinateSystem();
+ assertEquals("name", "pressure", cs.getAxis(0).getName().getCode());
+ }
+
+ /**
* Completes the GeoAPI tests with a check of axis names.
* The WKT parsed by this test is (except for quote characters):
*
@@ -557,18 +579,18 @@ public final strictfp class WKTParserTes
*
* {@preformat wkt
* COMPOUNDCRS[“GPS position and time”,
- * GEODCRS[“WGS 84”,
- * DATUM[“World Geodetic System 1984”,
- * ELLIPSOID[“WGS 84”,6378137,298.257223563]],
- * CS[ellipsoidal,2],
- * AXIS[“(lat)”,north,ORDER[1]],
- * AXIS[“(lon)”,east,ORDER[2]],
- * ANGLEUNIT[“degree”,0.0174532925199433]],
- * TIMECRS[“GPS Time”,
- * TIMEDATUM[“Time origin”,TIMEORIGIN[1980-01-01]],
- * CS[temporal,1],
- * AXIS[“time (T)”,future],
- * TIMEUNIT[“day”,86400]]]
+ * GEODCRS[“WGS 84”,
+ * DATUM[“World Geodetic System 1984”,
+ * ELLIPSOID[“WGS 84”,6378137,298.257223563]],
+ * CS[ellipsoidal,2],
+ * AXIS[“(lat)”,north,ORDER[1]],
+ * AXIS[“(lon)”,east,ORDER[2]],
+ * ANGLEUNIT[“degree”,0.0174532925199433]],
+ * TIMECRS[“GPS Time”,
+ * TIMEDATUM[“Time origin”,TIMEORIGIN[1980-01-01]],
+ * CS[temporal,1],
+ * AXIS[“time (T)”,future],
+ * TIMEUNIT[“day”,86400]]]
* }
*
* @throws FactoryException if an error occurred during the WKT parsing.
@@ -582,4 +604,38 @@ public final strictfp class WKTParserTes
assertEquals("name", AxisNames.GEODETIC_LONGITUDE, cs.getAxis(1).getName().getCode());
assertEquals("name", AxisNames.TIME, cs.getAxis(2).getName().getCode());
}
+
+ /**
+ * Completes the GeoAPI tests with a check of axis names.
+ * The WKT parsed by this test is (except for quote characters):
+ *
+ * {@preformat wkt
+ * COMPOUNDCRS[“ICAO layer 0”,
+ * GEODETICCRS[“WGS 84”,
+ * DATUM[“World Geodetic System 1984”,
+ * ELLIPSOID[“WGS 84”,6378137,298.257223563,
+ * LENGTHUNIT[“metre”,1.0]]],
+ * CS[ellipsoidal,2],
+ * AXIS[“latitude”,north,ORDER[1]],
+ * AXIS[“longitude”,east,ORDER[2]],
+ * ANGLEUNIT[“degree”,0.0174532925199433]],
+ * PARAMETRICCRS[“WMO standard atmosphere”,
+ * PARAMETRICDATUM[“Mean Sea Level”,
+ * ANCHOR[“Mean Sea Level = 1013.25 hPa”]],
+ * CS[parametric,1],
+ * AXIS[“pressure (P)”,unspecified],
+ * PARAMETRICUNIT[“hPa”,100]]]
+ * }
+ *
+ * @throws FactoryException if an error occurred during the WKT parsing.
+ */
+ @Test
+ @Override
+ public void testCompoundWithParametric() throws FactoryException {
+ super.testCompoundWithParametric();
+ final CoordinateSystem cs = object.getCoordinateSystem();
+ assertEquals("name", AxisNames.GEODETIC_LATITUDE, cs.getAxis(0).getName().getCode());
+ assertEquals("name", AxisNames.GEODETIC_LONGITUDE, cs.getAxis(1).getName().getCode());
+ assertEquals("name", "pressure", cs.getAxis(2).getName().getCode());
+ }
}