This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new 2ff5543479 Remove the filling of Bursa-Wolf parameters in geodetic
datum created from the EPSG database. Bursa-Wolf parameters were attached for
compatibility with Well-Known Text (WKT) version 1. Since WKT 2 is now more
widespread, since there is no benefit to attach these parameters compared to
using the EPSG database when searching for coordinate operations, and since the
current SQL queries do not work anymore with EPSG version 10+ (because
AREA_OF_USE_CODE is always null), i [...]
2ff5543479 is described below
commit 2ff5543479148e323ae44958f21d0c23fce8a2f4
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Tue Jul 29 10:15:32 2025 +0200
Remove the filling of Bursa-Wolf parameters in geodetic datum created from
the EPSG database.
Bursa-Wolf parameters were attached for compatibility with Well-Known Text
(WKT) version 1.
Since WKT 2 is now more widespread, since there is no benefit to attach
these parameters
compared to using the EPSG database when searching for coordinate
operations,
and since the current SQL queries do not work anymore with EPSG version 10+
(because AREA_OF_USE_CODE is always null), it is not worth to fix these
queries.
---
.../apache/sis/io/wkt/GeodeticObjectParser.java | 3 +-
.../referencing/datum/DefaultGeodeticDatum.java | 14 +-
.../sis/referencing/factory/sql/BursaWolfInfo.java | 210 ---------------------
.../referencing/factory/sql/EPSGDataAccess.java | 119 ------------
.../referencing/privy/CoordinateOperations.java | 5 -
.../referencing/factory/sql/EPSGFactoryTest.java | 8 -
6 files changed, 15 insertions(+), 344 deletions(-)
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
index fcc952c75c..796b7abe65 100644
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
+++
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
@@ -58,6 +58,7 @@ import org.apache.sis.referencing.cs.AbstractCS;
import org.apache.sis.referencing.cs.CoordinateSystems;
import org.apache.sis.referencing.crs.DefaultDerivedCRS;
import org.apache.sis.referencing.datum.BursaWolfParameters;
+import org.apache.sis.referencing.datum.DefaultGeodeticDatum;
import org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory;
import org.apache.sis.referencing.privy.CoordinateOperations;
import org.apache.sis.referencing.privy.ReferencingFactoryContainer;
@@ -1407,7 +1408,7 @@ class GeodeticObjectParser extends MathTransformParser
implements Comparator<Coo
meridian = CommonCRS.WGS84.primeMeridian();
}
if (toWGS84 != null) {
- properties.put(CoordinateOperations.BURSA_WOLF_KEY, toWGS84);
+ properties.put(DefaultGeodeticDatum.BURSA_WOLF_KEY, toWGS84);
}
final DatumFactory datumFactory = factories.getDatumFactory();
try {
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
index 736473a79e..d1393fe5b6 100644
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
+++
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
@@ -151,8 +151,15 @@ public class DefaultGeodeticDatum extends AbstractDatum
implements GeodeticDatum
/**
* The <code>{@value #BURSA_WOLF_KEY}</code> property for
* {@linkplain #getBursaWolfParameters() Bursa-Wolf parameters}.
+ *
+ * <h4>Possible evolution</h4>
+ * This is a legacy parameter from the Well-Known Text (<abbr>WKT</abbr>)
1 format
+ * and may be deprecated in a future Apache <abbr>SIS</abbr> version.
+ * It should be replaced by the use of geodetic registries such as the
<abbr>EPSG</abbr> database.
+ *
+ * @see #getBursaWolfParameters()
*/
- public static final String BURSA_WOLF_KEY =
CoordinateOperations.BURSA_WOLF_KEY;
+ public static final String BURSA_WOLF_KEY = "bursaWolf";
/**
* The array to be returned by {@link #getBursaWolfParameters()} when
there is no Bursa-Wolf parameters.
@@ -349,6 +356,11 @@ public class DefaultGeodeticDatum extends AbstractDatum
implements GeodeticDatum
* Returns all Bursa-Wolf parameters specified in the {@code properties}
map at construction time.
* See class javadoc for a discussion about Bursa-Wolf parameters.
*
+ * <h4>Possible evolution</h4>
+ * This is a legacy parameter from the Well-Known Text (<abbr>WKT</abbr>)
1 format
+ * and may be deprecated in a future Apache <abbr>SIS</abbr> version.
+ * It should be replaced by the use of geodetic registries such as the
<abbr>EPSG</abbr> database.
+ *
* @return the Bursa-Wolf parameters, or an empty array if none.
*/
@SuppressWarnings("ReturnOfCollectionOrArrayField")
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/BursaWolfInfo.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/BursaWolfInfo.java
deleted file mode 100644
index a37a89dd50..0000000000
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/BursaWolfInfo.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * 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.factory.sql;
-
-import java.util.Locale;
-import java.util.List;
-import java.util.Map;
-import java.util.LinkedHashMap;
-import javax.measure.Unit;
-import javax.measure.IncommensurableException;
-import org.opengis.util.FactoryException;
-import org.opengis.metadata.extent.Extent;
-import org.apache.sis.referencing.privy.ExtentSelector;
-import org.apache.sis.referencing.datum.BursaWolfParameters;
-import org.apache.sis.referencing.datum.TimeDependentBWP;
-import org.apache.sis.referencing.factory.FactoryDataException;
-import org.apache.sis.referencing.factory.GeodeticAuthorityFactory;
-import org.apache.sis.util.resources.Errors;
-import org.apache.sis.measure.Units;
-
-
-/**
- * Private structure for {@link
EPSGDataAccess#createBursaWolfParameters(PrimeMeridian, Integer)} usage.
- * Those information are for compatibility with <i>Well Known Text</i> (WKT)
version 1 formatting.
- * That legacy format had a {@code TOWGS84} element which needs the
information provided by this class.
- * Note that {@code TOWGS84} is a deprecated element as of WKT 2 (ISO 19162).
- *
- * <p><b>Note:</b> this class contains many hard-coded EPSG codes relative to
Bursa-Wolf parameters.</p>
- *
- * @author Martin Desruisseaux (IRD)
- *
- * @see BursaWolfParameters
- * @see TimeDependentBWP
- */
-final class BursaWolfInfo {
- // See org.apache.sis.measure.Units.valueOfEPSG(int) for hard-coded units
from EPSG codes.
- // See TableInfo.EPSG for hard-coded table names, column names and GeoAPI
types.
-
- /**
- * The target CRS for which to collect Bursa-Wolf parameters. Apache SIS
accepts an arbitrary number of targets,
- * but the {@code TOWGS84} element only needs the parameters toward the
EPSG:4326 coordinate reference system.
- * For now we fix the number of target CRS to only 1, but we can increase
that amount in a future SIS version
- * if needed. However, it is better to restrict the target CRS to those
that use a world-wide datum only.
- */
- static final int TARGET_CRS = 4326;
-
- /**
- * The datum of {@link #TARGET_CRS}.
- */
- static final int TARGET_DATUM = 6326;
-
- /** First Bursa-Wolf method. */ static final int MIN_METHOD_CODE = 9603;
- /** Last Bursa-Wolf method. */ static final int MAX_METHOD_CODE = 9607;
- /** Rotation frame method. */ private static final int
ROTATION_FRAME_CODE = 9607;
- //* Time-dependent rotation. */ private static final int
ROTATION_TMDEP_CODE = 1056;
-
- /**
- * Sets a Bursa-Wolf parameter from an EPSG parameter.
- * This method recognizes only the parameters that do not depend on time
(EPSG:8605 to 8611).
- * This method does not recognize the time-dependent parameters (EPSG:1040
to 1046) because
- * they are not used in WKT 1 {@code TOWGS84} elements.
- *
- * @param parameters the Bursa-Wolf parameters to modify.
- * @param code the EPSG code for a parameter from the
[PARAMETER_CODE] column.
- * @param value the value of the parameter from the
[PARAMETER_VALUE] column.
- * @param unit the unit of the parameter value from the [UOM_CODE]
column.
- * @param locale the locale, used only if an error message need to
be formatted.
- * @throws FactoryDataException if the code is unrecognized.
- */
- static void setBursaWolfParameter(final BursaWolfParameters parameters,
final int code,
- double value, final Unit<?> unit, final Locale locale) throws
FactoryDataException
- {
- Unit<?> target = unit;
- if (code >= 8605) {
- if (code <= 8607) target = Units.METRE;
- else if (code <= 8610) target = Units.ARC_SECOND;
- else if (code == 8611) target = Units.PPM;
- }
- if (target != unit) try {
- value = unit.getConverterToAny(target).convert(value);
- } catch (IncommensurableException e) {
- throw new
FactoryDataException(Errors.forLocale(locale).getString(Errors.Keys.IncompatibleUnit_1,
unit), e);
- }
- switch (code) {
- case 8605: parameters.tX = value; break;
- case 8606: parameters.tY = value; break;
- case 8607: parameters.tZ = value; break;
- case 8608: parameters.rX = value; break;
- case 8609: parameters.rY = value; break;
- case 8610: parameters.rZ = value; break;
- case 8611: parameters.dS = value; break;
- default: throw new FactoryDataException(Errors.forLocale(locale)
- .getString(Errors.Keys.UnexpectedParameter_1,
code));
- }
- }
-
- /**
- * The value of {@code COORD_OP_CODE}.
- */
- final int operation;
-
- /**
- * The value of {@code COORD_OP_METHOD_CODE}.
- */
- final int method;
-
- /**
- * The target datum inferred from value of {@code TARGET_CRS_CODE}.
- */
- final int target;
-
- /**
- * The value of {@code AREA_OF_USE_CODE}.
- */
- private final int domainOfValidity;
-
- /**
- * The domain of validity as an {@code Extent} object.
- */
- private Extent extent;
-
- /**
- * Fills a structure with the specified values.
- */
- BursaWolfInfo(final int operation, final int method, final int targetCRS,
final int domainOfValidity) {
- this.operation = operation;
- this.method = method;
- this.domainOfValidity = domainOfValidity;
- switch (targetCRS) {
- case TARGET_CRS: target = TARGET_DATUM; break;
- // More codes may be added in future SIS version.
- default: throw new
IllegalArgumentException(String.valueOf(targetCRS));
- }
- }
-
- /**
- * Returns {@code true} if this operation is a frame rotation.
- * Frame rotations methods are:
- *
- * <ul>
- * <li>EPSG:9607 for the operation that does not depend on time.</li>
- * <li>EPSG:1056 for the time-dependent operation (not handled by this
class).</li>
- * </ul>
- */
- boolean isFrameRotation() {
- return method == ROTATION_FRAME_CODE;
- }
-
- /**
- * MUST returns the operation code. This is required by {@link
EPSGDataAccess#sort(String, Object[])}.
- */
- @Override
- public String toString() {
- return String.valueOf(operation);
- }
-
- /**
- * Gets the domain of validity. The result is cached.
- *
- * @param factory the factory to use for creating {@code Extent}
instances.
- */
- Extent getDomainOfValidity(final GeodeticAuthorityFactory factory) throws
FactoryException {
- if (extent == null && domainOfValidity != 0) {
- extent = factory.createExtent(String.valueOf(domainOfValidity));
- }
- return extent;
- }
-
- /**
- * Given an array of {@code BursaWolfInfo} instances, retains only the
instances having the largest
- * domain of validity for each target datum. If two instances have the
same domain of validity, the
- * first one is retained. This presume that the instances have already
been sorted for preference order
- * before to invoke this method.
- *
- * @param factory the factory to use for creating {@code Extent}
instances.
- * @param candidates the Bursa-Wolf parameters candidates.
- * @param addTo where to add the instances retained by this method.
- */
- static void filter(final GeodeticAuthorityFactory factory, final
BursaWolfInfo[] candidates,
- final List<BursaWolfInfo> addTo) throws FactoryException
- {
- final Map<Integer,ExtentSelector<BursaWolfInfo>> added = new
LinkedHashMap<>();
- for (BursaWolfInfo candidate : candidates) {
- final Integer target = candidate.target;
- ExtentSelector<BursaWolfInfo> selector = added.get(target);
- if (selector == null) {
- selector = new ExtentSelector<>(null);
- added.put(target, selector);
- }
- selector.evaluate(candidate.getDomainOfValidity(factory),
candidate);
- }
- for (final ExtentSelector<BursaWolfInfo> select : added.values()) {
- addTo.add(select.best());
- }
- }
-}
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
index fc72ab8873..95b28efe86 100644
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
+++
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
@@ -70,9 +70,7 @@ import org.apache.sis.referencing.ImmutableIdentifier;
import org.apache.sis.referencing.DefaultObjectDomain;
import org.apache.sis.referencing.AbstractIdentifiedObject;
import org.apache.sis.referencing.cs.CoordinateSystems;
-import org.apache.sis.referencing.datum.BursaWolfParameters;
import org.apache.sis.referencing.datum.DefaultDatumEnsemble;
-import org.apache.sis.referencing.datum.DefaultGeodeticDatum;
import org.apache.sis.referencing.operation.DefaultOperationMethod;
import org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory;
import org.apache.sis.referencing.factory.FactoryDataException;
@@ -100,9 +98,7 @@ import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.Localized;
import org.apache.sis.util.Version;
-import org.apache.sis.util.Utilities;
import org.apache.sis.util.Workaround;
-import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.collection.BackingStoreException;
import org.apache.sis.util.resources.Vocabulary;
import org.apache.sis.util.resources.Errors;
@@ -300,7 +296,6 @@ public class EPSGDataAccess extends
GeodeticAuthorityFactory implements CRSAutho
* Recursion may theoretically happen during the creation of the following
objects:
*
* <ul>
- * <li>Bursa-Wolf parameters, as they can be created with a datum and
reference another datum.</li>
* <li>projected <abbr>CRS</abbr> if the database contains cycles (it
would be an error in the database).</li>
* <li>Compound <abbr>CRS</abbr> if the database contains cycles (it
would be an error in the database).</li>
* <li>Coordinate operations if the database contains cycles (it would
be an error in the database).</li>
@@ -1870,7 +1865,6 @@ search: try (ResultSet result =
executeMetadataQuery("Deprecation",
* and similar methods. Instead, remember the constructor to
invoke later.
*/
final FactoryCall<DatumFactory, ? extends Datum> constructor;
- BursaWolfParameters[] param = null;
/*
* The following switch statement should have a case for all
"epsg_datum_kind" values enumerated
* in the "EPSG_Prepare.sql" file, except that the values in
this Java code are in lower cases.
@@ -1886,7 +1880,6 @@ search: try (ResultSet result =
executeMetadataQuery("Deprecation",
String meridianCode = getString(code, result, 13);
ellipsoid = owner.createEllipsoid(ellipsoidCode);
// Do not inline the `getString(…)` calls.
meridian =
owner.createPrimeMeridian(meridianCode);
- param = createBursaWolfParameters(meridian,
epsg);
} finally {
endOfCycleCheck(GeodeticDatum.class, epsg);
}
@@ -1953,7 +1946,6 @@ search: try (ResultSet result =
executeMetadataQuery("Deprecation",
properties.put(Datum.ANCHOR_EPOCH_KEY, epoch);
properties.put(Datum.PUBLICATION_DATE_KEY, publish);
properties.put(Datum.CONVENTIONAL_RS_KEY, conventionalRS);
- properties.put(DefaultGeodeticDatum.BURSA_WOLF_KEY, param);
properties.values().removeIf(Objects::isNull);
final Datum datum = constructor.create(owner.datumFactory,
properties);
returnValue = ensureSingleton(datum, returnValue, code);
@@ -2055,117 +2047,6 @@ search: try (ResultSet result =
executeMetadataQuery("Deprecation",
return returnValue;
}
- /**
- * Returns Bursa-Wolf parameters for a geodetic reference frame.
- * If the specified datum has no conversion information, then this method
returns {@code null}.
- *
- * <p>This method is for compatibility with <i>Well Known Text</i> (WKT)
version 1 formatting.
- * That legacy format had a {@code TOWGS84} element which needs the
information provided by this method.
- * Note that {@code TOWGS84} is a deprecated element as of WKT 2 (ISO
19162).</p>
- *
- * @param meridian the source datum prime meridian, used for discarding
any target datum using a different meridian.
- * @param code the EPSG code of the source {@link GeodeticDatum}.
- * @return an array of Bursa-Wolf parameters, or {@code null}.
- */
- private BursaWolfParameters[] createBursaWolfParameters(final
PrimeMeridian meridian, final Integer code)
- throws SQLException, FactoryException
- {
- /*
- * We do not provide TOWGS84 information for WGS84 itself or for any
other datum on our list of target datum,
- * in order to avoid infinite recursion. The `ensureNonRecursive` call
is an extra safety check which should
- * never fail, unless TARGET_CRS and TARGET_DATUM values do not agree
with database content.
- */
- if (code == BursaWolfInfo.TARGET_DATUM) {
- return null;
- }
- final var bwInfos = new ArrayList<BursaWolfInfo>();
- try (ResultSet result = executeQuery("BursaWolfParametersSet",
- "SELECT COORD_OP_CODE," +
- " COORD_OP_METHOD_CODE," +
- " TARGET_CRS_CODE," +
- " AREA_OF_USE_CODE" + // Deprecated since EPSG
version 10 (always null).
- " FROM \"Coordinate_Operation\"" +
- " WHERE DEPRECATED=0" + // Do not put spaces around
"=" - SQLTranslator searches for this exact match.
- " AND AREA_OF_USE_CODE IS NOT NULL" +
- " AND TARGET_CRS_CODE = " + BursaWolfInfo.TARGET_CRS +
- " AND COORD_OP_METHOD_CODE >= " +
BursaWolfInfo.MIN_METHOD_CODE +
- " AND COORD_OP_METHOD_CODE <= " +
BursaWolfInfo.MAX_METHOD_CODE +
- " AND SOURCE_CRS_CODE IN " +
- "(SELECT COORD_REF_SYS_CODE FROM \"Coordinate Reference
System\" WHERE DATUM_CODE = ?)" +
- " ORDER BY TARGET_CRS_CODE, COORD_OP_ACCURACY, COORD_OP_CODE
DESC", code))
- {
- while (result.next()) {
- final var info = new BursaWolfInfo(
- getInteger(code, result, 1), //
Operation
- getInteger(code, result, 2), // Method
- getInteger(code, result, 3), // Target
datum
- getInteger(code, result, 4)); // Domain
of validity
- if (info.target != code) { //
Paranoiac check.
- bwInfos.add(info);
- }
- }
- }
- int size = bwInfos.size();
- if (size == 0) {
- return null;
- }
- /*
- * Sort the infos in preference order. The "ORDER BY" clause above was
not enough;
- * we also need to take the "Supersession" table in account. Once the
sorting is done,
- * keep only one Bursa-Wolf parameters for each datum.
- */
- if (size > 1) {
- final BursaWolfInfo[] codes = bwInfos.toArray(new
BursaWolfInfo[size]);
- sort("Coordinate_Operation", codes);
- bwInfos.clear();
- BursaWolfInfo.filter(owner, codes, bwInfos);
- size = bwInfos.size();
- }
- /*
- * Now, iterate over the results and fetch the parameter values for
each BursaWolfParameters object.
- */
- final var parameters = new BursaWolfParameters[size];
- final Locale locale = getLocale();
- int count = 0;
- for (int i=0; i<size; i++) {
- final BursaWolfInfo info = bwInfos.get(i);
- final GeodeticDatum datum =
owner.createGeodeticDatum(String.valueOf(info.target));
- /*
- * Accept only Bursa-Wolf parameters between datum that use the
same prime meridian.
- * This is for avoiding ambiguity about whether longitude rotation
should be applied
- * before or after the datum change. This check is useless for
EPSG dataset 8.9 since
- * all datum seen by this method use Greenwich. But we
nevertheless perform this check
- * as a safety for future evolution or customized EPSG dataset.
- */
- if (!Utilities.equalsIgnoreMetadata(meridian,
datum.getPrimeMeridian())) {
- continue;
- }
- final var bwp = new BursaWolfParameters(datum,
info.getDomainOfValidity(owner));
- try (ResultSet result = executeQuery("BursaWolfParameters",
- "SELECT PARAMETER_CODE," +
- " PARAMETER_VALUE," +
- " UOM_CODE" +
- " FROM \"Coordinate_Operation Parameter Value\"" +
- " WHERE COORD_OP_CODE = ?" +
- " AND COORD_OP_METHOD_CODE = ?", info.operation,
info.method))
- {
- while (result.next()) {
- BursaWolfInfo.setBursaWolfParameter(bwp,
- getInteger(info.operation, result, 1),
- getDouble (info.operation, result, 2),
- owner.createUnit(getString(info.operation, result,
3)), locale);
- }
- }
- if (info.isFrameRotation()) {
- // Coordinate frame rotation (9607): same as 9606,
- // except for the sign of rotation parameters.
- bwp.reverseRotation();
- }
- parameters[count++] = bwp;
- }
- return ArraysExt.resize(parameters, count);
- }
-
/**
* Creates a geometric figure that can be used to describe the approximate
shape of the earth.
* In mathematical terms, it is a surface formed by the rotation of an
ellipse about its minor axis.
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java
index 11d8cff0d5..74f9b133b4 100644
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java
+++
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/CoordinateOperations.java
@@ -69,11 +69,6 @@ public final class CoordinateOperations extends Static {
*/
public static final Logger LOGGER =
Logger.getLogger(Loggers.COORDINATE_OPERATION);
- /**
- * The {@link
org.apache.sis.referencing.datum.DefaultGeodeticDatum#BURSA_WOLF_KEY} value.
- */
- public static final String BURSA_WOLF_KEY = "bursaWolf";
-
/**
* The key for specifying explicitly the value to be returned by
* {@link
org.apache.sis.referencing.operation.DefaultConversion#getParameterValues()}.
diff --git
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/EPSGFactoryTest.java
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/EPSGFactoryTest.java
index 14ff6e8944..d4139330cc 100644
---
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/EPSGFactoryTest.java
+++
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/EPSGFactoryTest.java
@@ -47,8 +47,6 @@ import org.apache.sis.system.Loggers;
import org.apache.sis.referencing.CRS;
import org.apache.sis.referencing.cs.AxesConvention;
import org.apache.sis.referencing.crs.DefaultGeographicCRS;
-import org.apache.sis.referencing.datum.BursaWolfParameters;
-import org.apache.sis.referencing.datum.DefaultGeodeticDatum;
import org.apache.sis.referencing.operation.AbstractCoordinateOperation;
import org.apache.sis.referencing.factory.IdentifiedObjectFinder;
import org.apache.sis.util.collection.BackingStoreException;
@@ -120,9 +118,6 @@ public final class EPSGFactoryTest extends TestCaseWithLogs
{
assertEpsgNameAndIdentifierEqual("World Geodetic System 1984", 6326,
crs.getDatum());
assertAxisDirectionsEqual(crs.getCoordinateSystem(),
AxisDirection.NORTH, AxisDirection.EAST);
- final BursaWolfParameters[] bwp = ((DefaultGeodeticDatum)
crs.getDatum()).getBursaWolfParameters();
- assertEquals(0, bwp.length, "Expected no Bursa-Wolf parameters.");
-
assertSame(crs, factory.createCoordinateReferenceSystem("4326"), "CRS
shall be cached.");
assertSame(crs, factory.createGeographicCRS("EPSG::4326"), "Shall
accept \"::\"");
loggings.assertNoUnexpectedLog();
@@ -141,9 +136,6 @@ public final class EPSGFactoryTest extends TestCaseWithLogs
{
assertEpsgNameAndIdentifierEqual("Datum 73", 6274, crs.getDatum());
assertAxisDirectionsEqual(crs.getCoordinateSystem(),
AxisDirection.NORTH, AxisDirection.EAST);
- final BursaWolfParameters[] bwp = ((DefaultGeodeticDatum)
crs.getDatum()).getBursaWolfParameters();
- assertTrue(bwp.length >= 1, "Expected a transformation to WGS84.");
-
assertSame(crs, factory.createCoordinateReferenceSystem("4274"), "CRS
shall be cached.");
loggings.assertNoUnexpectedLog();
}