sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1520004 - in /sis: branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/ branches/JDK7/core/sis-utility/src/main/java/org/ap...
Date Wed, 04 Sep 2013 13:05:52 GMT
Author: desruisseaux
Date: Wed Sep  4 13:05:51 2013
New Revision: 1520004

URL: http://svn.apache.org/r1520004
Log:
Ported VerticalDatum.

Added:
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
  (with props)
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
  (with props)
    sis/ip-review/DefaultVerticalDatum.xhtml   (with props)
    sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml   (with props)
    sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml   (with props)
Modified:
    sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
    sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
    sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml

Added: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java?rev=1520004&view=auto
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
(added)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
[UTF-8] Wed Sep  4 13:05:51 2013
@@ -0,0 +1,176 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.referencing;
+
+import org.opengis.referencing.datum.Datum;
+import org.opengis.util.CodeList;
+import org.opengis.referencing.datum.VerticalDatumType;
+import org.apache.sis.referencing.IdentifiedObjects;
+import org.apache.sis.util.StringBuilders;
+
+
+/**
+ * Extensions to the standard set of {@link VerticalDatumType}.
+ * Those constants are not in public API because they were intentionally omitted from ISO
19111,
+ * and the ISO experts said that they should really not be public.
+ *
+ * <p>This class implements {@code CodeList.Filter} for opportunist reasons.
+ * This implementation convenience may change in any future SIS version.</p>
+ *
+ * @author  Martin Desruisseaux (IRD, Geomatys)
+ * @since   0.4 (derived from geotk-3.03)
+ * @version 0.4
+ * @module
+ */
+public final class VerticalDatumTypes implements CodeList.Filter {
+    /**
+     * A vertical datum for ellipsoidal heights that are measured along the
+     * normal to the ellipsoid used in the definition of horizontal datum.
+     *
+     * <p>Identifier: {@code CS_DatumType.CS_VD_Ellipsoidal}</p>
+     *
+     * @see <a href="http://jira.codehaus.org/browse/GEO-133">GEO-133</a>
+     */
+    public static final VerticalDatumType ELLIPSOIDAL = VerticalDatumType.valueOf("ELLIPSOIDAL");
+
+    /**
+     * A vertical datum for orthometric heights that are measured along the plumb line.
+     *
+     * <p>Identifier: {@code CS_DatumType.CS_VD_Orthometric}</p>
+     */
+    public static final VerticalDatumType ORTHOMETRIC = VerticalDatumType.valueOf("ORTHOMETRIC");
+
+    /**
+     * Mapping from the numeric values used in legacy specification (OGC 01-009) to {@link
VerticalDatumType}.
+     * Indices in this array are the legacy codes minus 2000.
+     *
+     * <strong>This array shall not be fill before the above static constants.</strong>
+     */
+    private static final VerticalDatumType[] TYPES;
+
+    /**
+     * Mapping from {@link VerticalDatumType} to the numeric values used in legacy specification
(OGC 01-009).
+     */
+    private static final short[] LEGACY_CODES;
+    static {
+        TYPES = new VerticalDatumType[7];
+        LEGACY_CODES = new short[Math.max(ELLIPSOIDAL.ordinal(), ORTHOMETRIC.ordinal()) +
1];
+        for (short code = 2000; code <= 2006; code++) {
+            final VerticalDatumType type;
+            switch (code) {
+                case 2000: type = VerticalDatumType .OTHER_SURFACE; break;  // CS_VD_Other
+                case 2001: type = VerticalDatumTypes.ORTHOMETRIC;   break;  // CS_VD_Orthometric
+                case 2002: type = VerticalDatumTypes.ELLIPSOIDAL;   break;  // CS_VD_Ellipsoidal
+                case 2003: type = VerticalDatumType .BAROMETRIC;    break;  // CS_VD_AltitudeBarometric
+                case 2005: type = VerticalDatumType .GEOIDAL;       break;  // CS_VD_GeoidModelDerived
+                case 2006: type = VerticalDatumType .DEPTH;         break;  // CS_VD_Depth
+                default:   continue;
+            }
+            TYPES[code - 2000] = type;
+            LEGACY_CODES[type.ordinal()] = code;
+        }
+    }
+
+    /**
+     * Returns the vertical datum type from a legacy code. The legacy codes were defined
in
+     * <a href="http://www.opengis.org/docs/01-009.pdf">Coordinate Transformation Services</a>
+     * (OGC 01-009), which also defined the
+     * <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html"><cite>Well
+     * Known Text</cite> (WKT)</a> format. This method is used for WKT parsing.
+     *
+     * @param  code The legacy vertical datum code.
+     * @return The vertical datum type, or {@code null} if the code is unrecognized.
+     */
+    public static VerticalDatumType fromLegacy(int code) {
+        code -= 2000;
+        return (code >= 0 && code < TYPES.length) ? TYPES[code] : null;
+    }
+
+    /**
+     * Returns the legacy code for the datum type, or 0 if unknown.
+     *
+     * @param  ordinal The {@linkplain CodeList#ordinal() ordinal} value of the {@link VerticalDatumType}.
+     * @return The legacy code for the given datum type, or 0 if unknown.
+     */
+    public static int toLegacy(final int ordinal) {
+        return (ordinal >= 0 && ordinal < LEGACY_CODES.length) ? LEGACY_CODES[ordinal]
: 0;
+    }
+
+    /**
+     * Guesses the type of the given datum using its name or identifiers. This is sometime
needed
+     * after XML unmarshalling, since GML 3.2 does not contain any attribute for the datum
type.
+     *
+     * <p>This method uses heuristic rules and may be changed in any future SIS version.
If the type can not be
+     * determined, default on the ellipsoidal type since it will usually implies no additional
calculation.</p>
+     *
+     * @param  datum The datum for which to guess a type.
+     * @return A datum type, or {@link #ELLIPSOIDAL} if none can be guessed.
+     */
+    public static VerticalDatumType guess(final Datum datum) {
+        final VerticalDatumType type = CodeList.valueOf(VerticalDatumType.class,
+                new VerticalDatumTypes(IdentifiedObjects.getName(datum, null)));
+        return (type != null) ? type : ELLIPSOIDAL;
+    }
+
+    /**
+     * The name of a datum to compare against the list of datum types,
+     * in upper-case and (if possible) using US-ASCII characters.
+     */
+    private final StringBuilder datum;
+
+    /**
+     * Creates a new {@code CodeList.Filter} which will compare the given datum name against
the list of datum types.
+     * The comparison is case-insensitive and ignores some non-ASCII characters. The exact
algorithm applied here is
+     * implementation dependent and may change in any future version.
+     *
+     * @param name The datum name.
+     */
+    private VerticalDatumTypes(final String name) {
+        final int length = name.length();
+        datum = new StringBuilder(length);
+        for (int i=0; i<length;) {
+            final int c = name.codePointAt(i);
+            datum.appendCodePoint(Character.toUpperCase(i));
+            i += Character.charCount(c);
+        }
+        StringBuilders.toASCII(datum);
+    }
+
+    /**
+     * Returns {@code true} if the name of the given code is the prefix of a word in the
datum name.
+     * We don't test the characters following the prefix because the word may be incomplete
+     * (e.g. {@code "geoid"} versus {@code "geoidal"}).
+     *
+     * @param code The code to test.
+     * @return {@code true} if the code matches the criterion.
+      */
+    @Override
+    public boolean accept(final CodeList<?> code) {
+        final int i = datum.indexOf(code.name());
+        return (i == 0) || (i >= 0 && Character.isWhitespace(datum.codePointBefore(i)));
+    }
+
+    /**
+     * Returns {@code null} for disabling the creation of new code list elements.
+     *
+     * @return {@code null}.
+     */
+    @Override
+    public String codename() {
+        return null;
+    }
+}

Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java?rev=1520004&r1=1520003&r2=1520004&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
(original)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
Wed Sep  4 13:05:51 2013
@@ -150,8 +150,8 @@ public class DefaultTemporalDatum extend
      *         given object itself), or {@code null} if the argument was null.
      */
     public static DefaultTemporalDatum castOrCopy(final TemporalDatum object) {
-        return (object == null) || (object instanceof DefaultTemporalDatum)
-                ? (DefaultTemporalDatum) object : new DefaultTemporalDatum(object);
+        return (object == null) || (object instanceof DefaultTemporalDatum) ?
+                (DefaultTemporalDatum) object : new DefaultTemporalDatum(object);
     }
 
     /**

Added: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java?rev=1520004&view=auto
==============================================================================
--- sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
(added)
+++ sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
[UTF-8] Wed Sep  4 13:05:51 2013
@@ -0,0 +1,262 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.referencing.datum;
+
+import java.util.Map;
+import java.util.Collections;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import org.opengis.referencing.datum.VerticalDatum;
+import org.opengis.referencing.datum.VerticalDatumType;
+import org.apache.sis.io.wkt.Formatter;
+import org.apache.sis.util.Immutable;
+import org.apache.sis.util.ComparisonMode;
+import org.apache.sis.util.resources.Vocabulary;
+import org.apache.sis.internal.jaxb.Context;
+import org.apache.sis.internal.jaxb.gml.GMLAdapter;
+import org.apache.sis.internal.referencing.VerticalDatumTypes;
+
+import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+
+// Related to JDK7
+import java.util.Objects;
+
+
+/**
+ * Identifies a particular reference level surface used as a zero-height surface.
+ * There are several types of vertical datums, and each may place constraints on the
+ * {@linkplain org.opengis.referencing.cs.CoordinateSystemAxis coordinate system axis} with
which
+ * it is combined to create a {@linkplain org.opengis.referencing.crs.VerticalCRS vertical
CRS}.
+ *
+ * @author  Martin Desruisseaux (IRD, Geomatys)
+ * @since   0.4 (derived from geotk-1.2)
+ * @version 0.4
+ * @module
+ */
+@Immutable
+@XmlType(name = "VerticalDatumType")
+@XmlRootElement(name = "VerticalDatum")
+public class DefaultVerticalDatum extends AbstractDatum implements VerticalDatum {
+    /**
+     * Serial number for inter-operability with different versions.
+     */
+    private static final long serialVersionUID = 380347456670516572L;
+
+    /**
+     * The type of this vertical datum. Consider this field as final.
+     * If {@code null}, a value will be inferred from the name by {@link #type()}.
+     */
+    private VerticalDatumType type;
+
+    /**
+     * Default vertical datum for {@linkplain VerticalDatumType#BAROMETRIC barometric heights}.
+     */
+    public static final DefaultVerticalDatum BAROMETRIC =
+            new DefaultVerticalDatum(name(Vocabulary.Keys.BarometricAltitude), VerticalDatumType.BAROMETRIC);
+
+    /**
+     * Default vertical datum for {@linkplain VerticalDatumType#GEOIDAL geoidal heights}.
+     */
+    public static final DefaultVerticalDatum GEOIDAL =
+            new DefaultVerticalDatum(name(Vocabulary.Keys.Geoidal), VerticalDatumType.GEOIDAL);
+
+    /**
+     * Default vertical datum for ellipsoidal heights. Ellipsoidal heights are measured
+     * along the normal to the ellipsoid used in the definition of horizontal datum.
+     *
+     * <p><b>This datum is not part of ISO 19111 international standard.</b>
+     * Usage of this datum is generally not recommended since ellipsoidal heights make little
sense without
+     * their (<var>latitude</var>, <var>longitude</var>) locations.
The ISO specification defines instead
+     * three-dimensional {@code GeographicCRS} for that reason.</p>
+     */
+    public static final DefaultVerticalDatum ELLIPSOIDAL =
+            new DefaultVerticalDatum(name(Vocabulary.Keys.Ellipsoidal), VerticalDatumType.valueOf("ELLIPSOIDAL"));
+    // Do not use the VerticalDatumTypes.ELLIPSOIDAL constant in order to avoid unneeded
class initialisation.
+
+    /**
+     * Default vertical datum for {@linkplain VerticalDatumType#OTHER_SURFACE other surface}.
+     */
+    public static final DefaultVerticalDatum OTHER_SURFACE =
+            new DefaultVerticalDatum(name(Vocabulary.Keys.OtherSurface), VerticalDatumType.OTHER_SURFACE);
+
+    /**
+     * Constructs a vertical datum from a name.
+     *
+     * @param name The datum name.
+     * @param type The type of this vertical datum.
+     */
+    public DefaultVerticalDatum(final String name, final VerticalDatumType type) {
+        this(Collections.singletonMap(NAME_KEY, name), type);
+    }
+
+    /**
+     * Constructs a new datum with the same values than the specified one.
+     * This copy constructor provides a way to convert an arbitrary implementation into a
SIS one
+     * or a user-defined one (as a subclass), usually in order to leverage some implementation-specific
API.
+     *
+     * <p>This constructor performs a shallow copy, i.e. the properties are not cloned.</p>
+     *
+     * @param datum The datum to copy.
+     */
+    public DefaultVerticalDatum(final VerticalDatum datum) {
+        super(datum);
+        type = datum.getVerticalDatumType();
+    }
+
+    /**
+     * Constructs a vertical datum from a set of properties. The properties map is given
+     * unchanged to the {@linkplain AbstractDatum#AbstractDatum(Map) super-class constructor}.
+     *
+     * @param properties Set of properties. Should contains at least {@code "name"}.
+     * @param type       The type of this vertical datum.
+     */
+    public DefaultVerticalDatum(final Map<String,?> properties, final VerticalDatumType
type) {
+        super(properties);
+        this.type = type;
+        ensureNonNull("type", type);
+    }
+
+    /**
+     * Returns a SIS datum implementation with the same values than the given arbitrary implementation.
+     * If the given object is {@code null}, then this method returns {@code null}.
+     * Otherwise if the given object is already a SIS implementation, then the given object
is returned unchanged.
+     * Otherwise a new SIS implementation is created and initialized to the attribute values
of the given object.
+     *
+     * @param  object The object to get as a SIS implementation, or {@code null} if none.
+     * @return A SIS implementation containing the values of the given object (may be the
+     *         given object itself), or {@code null} if the argument was null.
+     */
+    public static DefaultVerticalDatum castOrCopy(final VerticalDatum object) {
+        return (object == null) || (object instanceof DefaultVerticalDatum) ?
+                (DefaultVerticalDatum) object : new DefaultVerticalDatum(object);
+    }
+
+    /**
+     * Returns the type of this datum, or infers the type from the datum name if no type
were specified.
+     * The later case occurs after unmarshalling, since GML 3.2 does not contain any attribute
for the datum type.
+     * It may also happen if the datum were created using reflection.
+     *
+     * <p>This method uses heuristic rules and may be changed in any future SIS version.
If the type can not be
+     * determined, default on the ellipsoidal type since it will usually implies no additional
calculation.</p>
+     *
+     * <p>No synchronization needed; this is not a problem if this value is computed
twice.
+     * This method returns only existing immutable instances.</p>
+     */
+    private VerticalDatumType type() {
+        VerticalDatumType t = type;
+        if (t == null) {
+            type = t = VerticalDatumTypes.guess(this);
+        }
+        return t;
+    }
+
+    /**
+     * Returns the type of this vertical datum.
+     *
+     * @return The type of this vertical datum.
+     */
+    @Override
+    public VerticalDatumType getVerticalDatumType() {
+        return type();
+    }
+
+    /**
+     * Returns the legacy code for the datum type, or 0 if none.
+     *
+     * @see #getVerticalDatumType()
+     */
+    @Override
+    final int getLegacyDatumType() {
+        return VerticalDatumTypes.toLegacy(getVerticalDatumType().ordinal());
+    }
+
+    /**
+     * Returns the type to be marshalled to XML.
+     * This element was present in GML 3.0 and 3.1, but has been removed from GML 3.2.
+     */
+    @XmlElement(name = "verticalDatumType")
+    private VerticalDatumType getMarshalled() {
+        return (Context.isGMLVersion(Context.current(), GMLAdapter.GML_3_2)) ? null : getVerticalDatumType();
+    }
+
+    /**
+     * Invoked by JAXB only. The vertical datum type is set only if it has not already been
specified.
+     */
+    private void setMarshalled(final VerticalDatumType t) {
+        if (type != null) {
+            throw new IllegalStateException();
+        }
+        type = t;
+    }
+
+    /**
+     * Compare this vertical datum with the specified object for equality.
+     *
+     * @param  object The object to compare to {@code this}.
+     * @param  mode {@link ComparisonMode#STRICT STRICT} for performing a strict comparison,
or
+     *         {@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA} for comparing only
properties
+     *         relevant to transformations.
+     * @return {@code true} if both objects are equal.
+     */
+    @Override
+    public boolean equals(final Object object, final ComparisonMode mode) {
+        if (object == this) {
+            return true; // Slight optimization.
+        }
+        if (super.equals(object, mode)) {
+            switch (mode) {
+                case STRICT: {
+                    final DefaultVerticalDatum that = (DefaultVerticalDatum) object;
+                    return Objects.equals(this.type(), that.type());
+                }
+                default: {
+                    if (!(object instanceof VerticalDatum)) break;
+                    final VerticalDatum that = (VerticalDatum) object;
+                    return Objects.equals(getVerticalDatumType(), that.getVerticalDatumType());
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Computes a hash value consistent with the given comparison mode.
+     */
+    @Override
+    public int hashCode(final ComparisonMode mode) throws IllegalArgumentException {
+        /*
+         * The "^ (int) serialVersionUID" is an arbitrary change applied to the hash code
value in order to
+         * differentiate this VerticalDatum implementation from implementations of other
GeoAPI interfaces.
+         */
+        int code = super.hashCode(mode) ^ (int) serialVersionUID;
+        code += Objects.hashCode(mode == ComparisonMode.STRICT ? type() : getVerticalDatumType());
+        return code;
+    }
+
+    /**
+     * Formats the inner part of a Well Known Text</cite> (WKT) element.
+     *
+     * @param  formatter The formatter to use.
+     * @return The WKT element name, which is "VERT_DATUM"
+     */
+    @Override
+    public String formatTo(final Formatter formatter) {
+        super.formatTo(formatter);
+        return "VERT_DATUM";
+    }
+}

Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java?rev=1520004&r1=1520003&r2=1520004&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
[UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
[UTF-8] Wed Sep  4 13:05:51 2013
@@ -80,6 +80,11 @@ public final class Vocabulary extends In
         public static final int Attributes = 45;
 
         /**
+         * Barometric altitude
+         */
+        public static final int BarometricAltitude = 60;
+
+        /**
          * Character encoding
          */
         public static final int CharacterEncoding = 17;
@@ -140,6 +145,16 @@ public final class Vocabulary extends In
         public static final int DublinJulian = 56;
 
         /**
+         * Ellipsoidal
+         */
+        public static final int Ellipsoidal = 61;
+
+        /**
+         * Geoidal
+         */
+        public static final int Geoidal = 62;
+
+        /**
          * Identifier
          */
         public static final int Identifier = 42;
@@ -260,6 +275,11 @@ public final class Vocabulary extends In
         public static final int Options = 49;
 
         /**
+         * Other surface
+         */
+        public static final int OtherSurface = 63;
+
+        /**
          * Others
          */
         public static final int Others = 34;

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties?rev=1520004&r1=1520003&r2=1520004&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
[ISO-8859-1] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
[ISO-8859-1] Wed Sep  4 13:05:51 2013
@@ -19,6 +19,7 @@ AngularDegrees     = Degrees
 AngularMinutes     = Minutes
 AngularSeconds     = Seconds
 Attributes         = Attributes
+BarometricAltitude = Barometric altitude
 CharacterEncoding  = Character encoding
 Classpath          = Classpath
 Code_1             = {0} code
@@ -31,6 +32,8 @@ Destination        = Destination
 Dimensions         = Dimensions
 Directory          = Directory
 DublinJulian       = Dublin Julian
+Ellipsoidal        = Ellipsoidal
+Geoidal            = Geoidal
 Identifier         = Identifier
 Implementation     = Implementation
 Index              = Index
@@ -56,6 +59,7 @@ Offset             = Offset
 OperatingSystem    = Operating system
 Options            = Options
 Others             = Others
+OtherSurface       = Other surface
 Paths              = Paths
 Root               = Root
 RootMeanSquare     = Root Mean Square

Modified: sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties?rev=1520004&r1=1520003&r2=1520004&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
[ISO-8859-1] (original)
+++ sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
[ISO-8859-1] Wed Sep  4 13:05:51 2013
@@ -19,6 +19,7 @@ AngularDegrees     = Degr\u00e9s
 AngularMinutes     = Minutes
 AngularSeconds     = Secondes
 Attributes         = Attributs
+BarometricAltitude = Altitude barom\u00e9trique
 CharacterEncoding  = Encodage des caract\u00e8res
 Classpath          = Chemin de classes
 Code_1             = Code {0}
@@ -31,6 +32,8 @@ Destination        = Destination
 Dimensions         = Dimensions
 Directory          = R\u00e9pertoire
 DublinJulian       = Julien Dublin
+Ellipsoidal        = Ellipso\u00efdal
+Geoidal            = Geo\u00efdal
 Identifier         = Identifiant
 Implementation     = Impl\u00e9mentation
 Index              = Index
@@ -56,6 +59,7 @@ Offset             = D\u00e9calage
 OperatingSystem    = Syst\u00e8me d'exploitation
 Options            = Options
 Others             = Autres
+OtherSurface       = Autre surface
 Paths              = Chemins
 Root               = Racine
 RootMeanSquare     = Moyenne quadratique

Modified: sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml?rev=1520004&r1=1520003&r2=1520004&view=diff
==============================================================================
--- sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml (original)
+++ sis/branches/JDK7/ide-project/NetBeans/nbproject/project.xml Wed Sep  4 13:05:51 2013
@@ -55,6 +55,7 @@
             <word>deserialization</word>
             <word>deserialized</word>
             <word>endianness</word>
+            <word>Geoidal</word>
             <word>initially</word>
             <word>javadoc</word>
             <word>loggings</word>

Added: sis/ip-review/DefaultVerticalDatum.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/DefaultVerticalDatum.xhtml?rev=1520004&view=auto
==============================================================================
--- sis/ip-review/DefaultVerticalDatum.xhtml (added)
+++ sis/ip-review/DefaultVerticalDatum.xhtml Wed Sep  4 13:05:51 2013
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>DefaultVerticalDatum history</title>
+    <style type="text/css" media="all">
+      @import url("./reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>DefaultVerticalDatum history</h1>
+  <p>Click on the commit message for inspecting the <code>diff</code> and
how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/datum/DefaultVerticalDatum.java</code></blockquote>
+<table>
+  <tr>
+    <th>Rev.</th>
+    <th>Date</th>
+    <th>Author</th>
+    <th class="last">Message</th>
+  </tr>
+<tr><td class="rev">31000</td><td>2008-07-10</td><td>desruisseaux</td><td>Avoid
usage of 2 deprecated constructors from CRSFactory. Their replacement were tricky and required
more sophesticated code in ReferencingFactoryContainer.toGeodetic3D.</td></tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright
headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright:
Update referencing headers</td></tr>
+<tr><td class="rev">30313</td><td>2008-05-16</td><td>desruisseaux</td><td>Changed
my mind about Utilities.shallowEquals(Object,Object) and renamed it as equals, since a few
tests show that the compiler always select the best overloaded flavor working on primitive
types (except if an argument is a boolean and the other a different primitive type). Updated
a few references. Fixed a few javadoc warnings by explicit declaration of parameter and return
values.</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle
the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move
trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29776</td><td>2008-04-03</td><td>desruisseaux</td><td>More
predefined CRS constants, especially for TemporalCRS.</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump
the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide
buttons which are not yet used</td></tr>
+<tr><td class="rev">28393</td><td>2007-12-17</td><td>desruisseaux</td><td>WKT
formatting now includes the semi-major and semi-minor axis length if they differ from the
datum. Applied Java 5 features. Uses WarpAffine when applicable during Raster reprojection.</td></tr>
+<tr><td class="rev">27575</td><td>2007-10-22</td><td>desruisseaux</td><td>Converted
Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982:
regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation
of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a
href="rev/20874/DefaultVerticalDatum.xhtml">ip review</a></td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added
@source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed
SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged
the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction
of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare
branch for splitting main</td></tr>
+<tr><td class="rev">14545</td><td>2005-06-15</td><td>desruisseaux</td><td>Initial
port of coverage I/O helper classes (work in progress)</td></tr>
+<tr><td class="rev">14235</td><td>2005-06-10</td><td>desruisseaux</td><td>Replaced
_PROPERTY suffix by _KEY as of GEOT-577</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added
@since javadoc tag</td></tr>
+<tr><td class="rev">13906</td><td>2005-05-28</td><td>desruisseaux</td><td>Renamed
some 'Default' prefix as 'Abstract'</td></tr>
+<tr><td class="rev">13869</td><td>2005-05-27</td><td>desruisseaux</td><td>Added
'Default' or 'Abstract' prefix in CRS's 'datum' and 'cs' packages</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added
'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed
wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a
href="rev/10796/DefaultVerticalDatum.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">8796</td><td>2004-10-22</td><td>desruisseaux</td><td>Cleaning
referencing's operation basic package</td></tr>
+<tr><td class="rev">8596</td><td>2004-10-12</td><td>desruisseaux</td><td>Redirected
javadoc links toward org.opengis.* instead org.geotools.* when the discussion is general enough</td></tr>
+<tr><td class="rev">8518</td><td>2004-10-11</td><td>desruisseaux</td><td>Apply
changes voted in OGC meeting at Southampton: use of Identifier and GenericName</td></tr>
+<tr><td class="rev">6888</td><td>2004-07-14</td><td>desruisseaux</td><td>Update
for GeoAPI changes (Info -->  IdentifiedObject)</td></tr>
+<tr><td class="rev">6343</td><td>2004-06-07</td><td>desruisseaux</td><td>More
ports of legacy CTS to new CRS</td></tr>
+<tr><td class="rev">6098</td><td>2004-05-23</td><td>desruisseaux</td><td>Partial
implementation of GeoAPI referencing package</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml?rev=1520004&view=auto
==============================================================================
--- sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml (added)
+++ sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml Wed Sep  4 13:05:51 2013
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>DefaultVerticalDatum changes for revisions 10795:10796</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>DefaultVerticalDatum changes for revisions 10795:10796</h1>
+<p>Changes in this commit seem to be the result of some "<cite>auto reformat</cite>"
tool execution.
+The <cite>Java</cite> - <cite>GeoAPI</cite> - <cite>GeoTools</cite>
import ordering is altered,
+imports used only in Javadoc are lost and the encoding of non-ASCII characters is broken.
+This commit has been reverted, except for the removal of really unused imports which are
keep removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r10795:10796 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/datum/DefaultVerticalDatum.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 10795</th><th>Revision 10796</th></tr>
+<tr><td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2003, Geotools Project Managment Committee (PMC)
+<span class="del"> * (C) 2001, Institut de Recherche pour le Développement</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public</pre></td>
+<td><pre>/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2003, Geotools Project Managment Committee (PMC)
+<span class="add"> * (C) 2001, Institut de Recherche pour le D�veloppement</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public</pre></td></tr>
+<tr><td><pre>package org.geotools.referencing.datum;
+
+// J2SE direct dependencies
+import java.util.Map;
+<span class="del">import java.util.Collections;</span>
+
+<span class="del">// OpenGIS dependencies</span>
+<span class="del">import org.opengis.referencing.datum.VerticalDatumType;</span>
+<span class="del">import org.opengis.referencing.cs.CoordinateSystemAxis; // For javadoc</span>
+<span class="del">import org.opengis.referencing.crs.VerticalCRS;         // For javadoc</span>
+<span class="del"></span>
+<span class="del">// Geotools dependencies</span>
+import org.geotools.referencing.IdentifiedObject;
+import org.geotools.referencing.wkt.Formatter;
+import org.geotools.resources.Utilities;
+
+
+/**</pre></td>
+<td><pre>package org.geotools.referencing.datum;
+
+// J2SE direct dependencies
+<span class="add">import java.util.Collections;</span>
+import java.util.Map;
+
+import org.geotools.referencing.IdentifiedObject;
+import org.geotools.referencing.wkt.Formatter;
+import org.geotools.resources.Utilities;
+<span class="add">import org.opengis.referencing.crs.VerticalCRS;</span>
+<span class="add">import org.opengis.referencing.cs.CoordinateSystemAxis;</span>
+<span class="add">import org.opengis.referencing.datum.VerticalDatumType;</span>
+
+
+/**</pre></td></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * The type of this vertical datum. Default is “geoidal”.</span>
+ */
+private final VerticalDatumType type;</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * The type of this vertical datum. Default is �geoidal�.</span>
+ */
+private final VerticalDatumType type;</pre></td></tr>
+<tr><td><pre>}
+
+/**
+<span class="del"> * The type of this vertical datum. Default is “geoidal”.</span>
+ *
+ * @return The type of this vertical datum.
+ */</pre></td>
+<td><pre>}
+
+/**
+<span class="add"> * The type of this vertical datum. Default is �geoidal�.</span>
+ *
+ * @return The type of this vertical datum.
+ */</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/10796/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml?rev=1520004&view=auto
==============================================================================
--- sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml (added)
+++ sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml Wed Sep  4 13:05:51 2013
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>DefaultVerticalDatum changes for revisions 20873:20874</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>DefaultVerticalDatum changes for revisions 20873:20874</h1>
+<p>Changes in GeoTools header only. The removal of the "<cite>or (at your option)
any later version</cite>" clause
+must be keep in Geotk for every classes having contribution from a developer other than those
who accepted re-licensing.
+This header does not apply to Apache SIS, since the above-cited contributions are omitted.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/datum/DefaultVerticalDatum.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 20873</th><th>Revision 20874</th></tr>
+<tr><td><pre>/*
+<span class="del"> * Geotools 2 - OpenSource mapping toolkit</span>
+<span class="del"> * (C) 2003, Geotools Project Managment Committee (PMC)</span>
+ * (C) 2001, Institut de Recherche pour le Développement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="del"> *    License as published by the Free Software Foundation; either</span>
+<span class="del"> *    version 2.1 of the License, or (at your option) any later version.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td>
+<td><pre>/*
+<span class="add"> *    GeoTools - OpenSource mapping toolkit</span>
+<span class="add"> *    http://geotools.org</span>
+<span class="add"> *    (C) 2003-2006, GeoTools Project Managment Committee (PMC)</span>
+ * (C) 2001, Institut de Recherche pour le Développement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="add"> *    License as published by the Free Software Foundation;</span>
+<span class="add"> *    version 2.1 of the License.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td></tr>
+<tr><td><pre>*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 See the GNU
+*    Lesser General Public License for more details.
+*
+<span class="del">*    You should have received a copy of the GNU Lesser General Public</span>
+<span class="del">*    License along with this library; if not, write to the Free Software</span>
+<span class="del">*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 USA</span>
+<span class="del">*</span>
+*    This package contains documentation from OpenGIS specifications.
+*    OpenGIS consortium's work is fully acknowledged here.
+*/</pre></td>
+<td><pre>*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+*    Lesser General Public License for more details.
+*
+*    This package contains documentation from OpenGIS specifications.
+*    OpenGIS consortium's work is fully acknowledged here.
+*/</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Propchange: sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/ip-review/rev/20874/DefaultVerticalDatum.xhtml
------------------------------------------------------------------------------
    svn:mime-type = text/html



Mime
View raw message