sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r1813183 - in /sis/branches/JDK8/core: sis-feature/src/main/java/org/apache/sis/feature/builder/ sis-referencing/src/main/java/org/apache/sis/referencing/operation/
Date Tue, 24 Oct 2017 14:48:31 GMT
Author: desruisseaux
Date: Tue Oct 24 14:48:31 2017
New Revision: 1813183



Modified: sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/builder/
--- sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/builder/
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/builder/
[UTF-8] Tue Oct 24 14:48:31 2017
@@ -202,6 +202,10 @@ public class FeatureTypeBuilder extends
      * Creates a new builder instance using the given feature type as a template.
+     * This constructor initializes the list of {@linkplain #properties() properties}, the
+     * {@linkplain #getSuperTypes() super types} and {@link #isAbstract() isAbstract} flag
+     * to values inferred from the given template. The properties list will contain properties
+     * declared explicitely in the given template, not including properties inherited from
super types.
      * @param template  an existing feature type to use as a template, or {@code null} if
@@ -263,6 +267,7 @@ public class FeatureTypeBuilder extends
      * Sets all properties of this builder to the values of the given feature type.
      * This builder is {@linkplain #clear() cleared} before the properties of the given type
are copied.
+     * The copy is performed as documented in the {@linkplain #FeatureTypeBuilder(FeatureType)
      * @param  template  an existing feature type to use as a template, or {@code null} if
      * @return {@code this} for allowing method calls chaining.
@@ -601,10 +606,12 @@ public class FeatureTypeBuilder extends
      * Returns a view of all attributes and associations added to the {@code FeatureType}
to build.
+     * This list contains only properties declared explicitely to this builder;
+     * it does not include properties inherited from {@linkplain #getSuperTypes() super-types}.
      * The returned list is <cite>live</cite>: changes in this builder are reflected
in that list and conversely.
      * However the returned list allows only {@linkplain List#remove(Object) remove} operations;
      * new attributes or associations can be added only by calls to one of the {@code addAttribute(…)}
-     * or {@code addAssociation(…)} methods.
+     * or {@code addAssociation(…)} methods. Removal operations never affect the super-types.
      * @return a live list over the properties declared to this builder.

Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/
--- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/
[UTF-8] Tue Oct 24 14:48:31 2017
@@ -774,6 +774,20 @@ check:      for (int isTarget=0; ; isTar
      * If such change exists, then this is usually the longitude axis when the source CRS
uses the [-180 … +180]° range
      * and the target CRS uses the [0 … 360]° range, or the converse. If there is no change,
then this is an empty list.
+     * <div class="note"><b>Inverse relationship:</b>
+     * sometime the target dimensions returned by this method can be mapped directly to wraparound
axes in source CRS,
+     * but this is not always the case. For example consider the following operation chain:
+     *
+     * <center>source projected CRS ⟶ base CRS ⟶ target geographic CRS</center>
+     *
+     * In this example, a wraparound axis in the target CRS (the longitude) can be mapped
to a wraparound axis in
+     * the {@linkplain base
CRS}. But there is no
+     * corresponding wraparound axis in the source CRS because the <em>easting</em>
axis in projected CRS does not
+     * have a wraparound range meaning. We could argue that
+     * {@linkplain org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis#getDirection()
axis directions} match,
+     * but such matching is not guaranteed to exist since {@code ProjectedCRS} is a special
case of
+     * {@code GeneralDerivedCRS} and derived CRS can have rotations.</div>
+     *
      * <p>The default implementation infers this list by inspecting the source and
target coordinate system axes.
      * It returns the indices of all target axes having {@link org.opengis.referencing.cs.RangeMeaning#WRAPAROUND}
      * and for which the following condition holds: a colinear source axis exists with compatible
unit of measurement,

View raw message