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
commit 97bbd5c21dbae178e9c30d39874df6ee94ecf0ab Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Wed Sep 11 18:36:07 2019 +0200 Fix HTML errors. --- .../main/java/org/apache/sis/console/Command.java | 6 +- .../org/apache/sis/internal/doclet/Include.java | 2 +- .../java/org/apache/sis/filter/ST_Transform.java | 2 +- .../apache/sis/internal/jaxb/gco/PropertyType.java | 2 +- .../apache/sis/internal/metadata/Identifiers.java | 4 +- .../main/java/org/apache/sis/util/iso/Names.java | 20 +- .../java/org/apache/sis/util/iso/package-info.java | 3 +- .../java/org/apache/sis/xml/ValueConverter.java | 6 +- .../src/main/java/org/apache/sis/xml/XLink.java | 20 +- .../org/apache/sis/geometry/AbstractEnvelope.java | 7 +- .../java/org/apache/sis/geometry/Envelope2D.java | 7 +- .../java/org/apache/sis/geometry/Envelopes.java | 4 +- .../org/apache/sis/geometry/GeneralEnvelope.java | 7 +- .../java/org/apache/sis/geometry/package-info.java | 4 +- .../referencing/PositionalAccuracyConstant.java | 3 + .../internal/referencing/SignReversalComment.java | 3 + .../java/org/apache/sis/io/wkt/Convention.java | 7 +- .../main/java/org/apache/sis/io/wkt/Symbols.java | 10 +- .../sis/referencing/AbstractIdentifiedObject.java | 16 +- .../main/java/org/apache/sis/referencing/CRS.java | 12 +- .../java/org/apache/sis/referencing/CommonCRS.java | 33 ++- .../sis/referencing/crs/DefaultCompoundCRS.java | 14 +- .../sis/referencing/datum/BursaWolfParameters.java | 18 +- .../factory/GeodeticAuthorityFactory.java | 69 +++-- .../referencing/factory/sql/EPSGDataAccess.java | 33 ++- .../operation/AbstractCoordinateOperation.java | 2 +- .../referencing/operation/matrix/MatrixSIS.java | 3 +- .../referencing/operation/matrix/package-info.java | 4 +- .../operation/projection/NormalizedProjection.java | 24 +- .../operation/transform/ContextualParameters.java | 28 +- .../operation/transform/DatumShiftTransform.java | 33 +-- .../transform/DefaultMathTransformFactory.java | 2 +- .../operation/transform/LinearTransform.java | 6 +- .../referencing/operation/transform/formulas.html | 12 +- .../sis/internal/converter/SystemConverter.java | 3 + .../src/main/java/org/apache/sis/math/Plane.java | 3 +- .../main/java/org/apache/sis/math/Statistics.java | 3 +- .../main/java/org/apache/sis/measure/Units.java | 287 ++++++++++++--------- .../org/apache/sis/util/LenientComparable.java | 3 +- .../org/apache/sis/util/collection/TreeTable.java | 3 +- .../apache/sis/util/logging/MonolineFormatter.java | 3 +- pom.xml | 4 +- src/main/javadoc/sis.css | 22 ++ .../org/apache/sis/internal/netcdf/Convention.java | 2 +- .../apache/sis/storage/netcdf/AttributeNames.java | 3 +- .../org/apache/sis/storage/WritableAggregate.java | 2 +- 46 files changed, 453 insertions(+), 311 deletions(-) diff --git a/application/sis-console/src/main/java/org/apache/sis/console/Command.java b/application/sis-console/src/main/java/org/apache/sis/console/Command.java index 113a721..5fc9aa0 100644 --- a/application/sis-console/src/main/java/org/apache/sis/console/Command.java +++ b/application/sis-console/src/main/java/org/apache/sis/console/Command.java @@ -34,7 +34,8 @@ import org.apache.sis.util.logging.MonolineFormatter; /** * Command line interface for Apache SIS. The {@link #main(String[])} method accepts the following actions: * - * <blockquote><table class="compact" summary="Supported command-line actions."> + * <blockquote><table class="compact"> + * <caption>Supported command-line actions</caption> * <tr><td>{@code help} </td><td>Show a help overview.</td></tr> * <tr><td>{@code about} </td><td>Show information about Apache SIS and system configuration.</td></tr> * <tr><td>{@code mime-type} </td><td>Show MIME type for the given file.</td></tr> @@ -46,7 +47,8 @@ import org.apache.sis.util.logging.MonolineFormatter; * * Each command can accepts some of the following options: * - * <blockquote><table class="compact" summary="Supported command-line options."> + * <blockquote><table class="compact"> + * <caption>Supported command-line options</caption> * <tr><td>{@code --sourceCRS} </td><td>The Coordinate Reference System of input data.</td></tr> * <tr><td>{@code --targetCRS} </td><td>The Coordinate Reference System of output data.</td></tr> * <tr><td>{@code --format} </td><td>The output format: {@code xml}, {@code wkt}, {@code wkt1} or {@code text}.</td></tr> diff --git a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java index b6a865f..5c8c2f7 100644 --- a/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java +++ b/core/sis-build-helper/src/main/java/org/apache/sis/internal/doclet/Include.java @@ -30,7 +30,7 @@ import com.sun.source.doctree.DocTree; * HTML tags (e.g. JDK 8 javac). Fragment of the external files are inserted in the Javadoc * by the following tag: * - * <blockquote><pre>{@include formulas.html#<var>title</var>}</pre></blockquote> + * <blockquote><pre>{@include formulas.html#<var>title</var>}</pre></blockquote> * * where <var>title</var> is the text inside <code><h2>…</h2></code> elements * just before the parts to copy in the javadoc. diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java b/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java index 9f9724c..8802534 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java +++ b/core/sis-feature/src/main/java/org/apache/sis/filter/ST_Transform.java @@ -50,7 +50,7 @@ import org.apache.sis.util.resources.Errors; * <ul> * <li>As a {@link CoordinateReferenceSystem} instance.</li> * <li>As a {@link String} instance of the form {@code "EPSG:xxxx"}, a URL or a URN.</li> - * <li>As an {@linl Integer} instance specifying an EPSG code.</li> + * <li>As an {@link Integer} instance specifying an EPSG code.</li> * </ul> * </li> * </ol> diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java index 8c6d289..be1c147 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/PropertyType.java @@ -306,7 +306,7 @@ public abstract class PropertyType<ValueType extends PropertyType<ValueType,Boun /** * Sets the {@code nilReason} attribute value. This method does nothing if a - * non-null {@linkplaih #reference} exists, since in such case the object can + * non-null {@linkplain #reference} exists, since in such case the object can * not be nil. * * @param nilReason the new attribute value. diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java index 6678f99..46f7f1f 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Identifiers.java @@ -34,8 +34,8 @@ import org.apache.sis.util.Static; * Methods working on {@link Identifier} instances. * * @author Martin Desruisseaux (Geomatys) - * @since 1.0 - * @versio 1.0 + * @since 1.0 + * @version 1.0 * @module */ public final class Identifiers extends Static { diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java index 3d130c9..2981457 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java @@ -193,16 +193,16 @@ public final class Names extends Static { * * <div class="note"><b>Example:</b> * for a name created by {@code createLocalName("http://www.opengis.net/gml/srs/epsg.xml", "#", "4326")}: - * <blockquote><table class="compact" summary="Examples of return values for a name built by this method."> - * <tr><td>• <code>name.{@linkplain DefaultLocalName#toString() toString()}</code></td> - * <td>returns the {@code "4326"} string.</td></tr> - * <tr><td>• <code>name.{@linkplain DefaultLocalName#scope() scope()}</code></td> - * <td>returns the {@code "http://www.opengis.net/gml/srs/epsg.xml"} namespace.</td></tr> - * <tr><td>• <code>name.{@linkplain DefaultLocalName#toFullyQualifiedName() toFullyQualifiedName()}</code></td> - * <td>returns the {@code "http://www.opengis.net/gml/srs/epsg.xml#4326"} name. - * <tr><td>• <code>{@linkplain #toExpandedString(GenericName) toExpandedString}(name)</code></td> - * <td>returns the {@code "{http://www.opengis.net/gml/srs/epsg.xml}4326"} string.</td></tr> - * </table></blockquote></div> + * <ul> + * <li><code>name.{@linkplain DefaultLocalName#toString() toString()}</code> + * returns the {@code "4326"} string.</li> + * <li><code>name.{@linkplain DefaultLocalName#scope() scope()}</code> + * returns the {@code "http://www.opengis.net/gml/srs/epsg.xml"} namespace.</li> + * <li><code>name.{@linkplain DefaultLocalName#toFullyQualifiedName() toFullyQualifiedName()}</code> + * returns the {@code "http://www.opengis.net/gml/srs/epsg.xml#4326"} name.</li> + * <li><code>{@linkplain #toExpandedString(GenericName) toExpandedString}(name)</code> + * returns the {@code "{http://www.opengis.net/gml/srs/epsg.xml}4326"} string.</li> + * </ul></div> * * <div class="note"><b>Performance note:</b> this method is okay for <em>casual</em> use. If many names need * to be created in the same namespace, then {@link DefaultNameFactory#createLocalName(NameSpace, CharSequence)} diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java index de10783..4e0eae5 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java @@ -71,7 +71,8 @@ * {@linkplain org.apache.sis.util.iso.AbstractName#getParsedNames() list of parsed names}.</li> * </ul> * - * <table class="compact" style="border-spacing:21pt 0; white-space: nowrap" summary="Anatomy of a name"> + * <table class="compact" style="border-spacing:21pt 0; white-space: nowrap"> + * <caption>Components in scope, head, tail, path and tip</caption> * <tr> * <th>{@linkplain org.apache.sis.util.iso.AbstractName#scope() scope}.name</th> * <th>{@linkplain org.apache.sis.util.iso.AbstractName#head() head}.{@linkplain org.apache.sis.util.iso.DefaultScopedName#tail() tail}</th> diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java index 9a1a779..94d925e 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/ValueConverter.java @@ -192,7 +192,8 @@ public class ValueConverter { * <table class="sis"> * <caption>IANA to ISO 19115:2003 character set code</caption> * <tr> - * <td><table class="compact" summary="IANA to ISO 19115:2003"> + * <td><table class="compact"> + * <caption>From ISO codes</caption> * <tr><td style="width: 90px"><b>IANA</b></td><td><b>ISO 19115:2003</b></td></tr> * <tr><td>{@code ISO-8859-1}</td> <td>{@code 8859part1}</td></tr> * <tr><td>{@code ISO-8859-2}</td> <td>{@code 8859part2}</td></tr> @@ -211,7 +212,8 @@ public class ValueConverter { * <tr><td>{@code ISO-8859-15}</td> <td>{@code 8859part15}</td></tr> * <tr><td>{@code ISO-8859-16}</td> <td>{@code 8859part16}</td></tr> * </table></td> - * <td class="sep"><table class="compact" summary="IANA to ISO 19115:2003"> + * <td class="sep"><table class="compact"> + * <caption>Others</caption> * <tr><td style="width: 90px"><b>IANA</b></td><td><b>ISO 19115:2003</b></td></tr> * <tr><td>{@code UCS-2}</td> <td>{@code ucs2}</td></tr> * <tr><td>{@code UCS-4}</td> <td>{@code ucs4}</td></tr> diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java index c27cd27..03bce5d 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/XLink.java @@ -53,16 +53,16 @@ import org.apache.sis.internal.system.Loggers; * <th style="width: 14%">{@link XLink.Type#RESOURCE resource}</th> * <th style="width: 14%">{@link XLink.Type#TITLE title}</th> * </tr> - * <tr align="center"><td align="left"><b>{@link #getType() type}</b></td> <td>R</td><td>R</td><td>R</td><td>R</td><td>R</td><td>R</td></tr> - * <tr align="center"><td align="left"><b>{@link #getHRef() href}</b></td> <td>O</td><td> </td><td>R</td><td> </td><td> </td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getRole() role}</b></td> <td>O</td><td>O</td><td>O</td><td> </td><td>O</td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getArcRole() arcrole}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getTitle() title}</b></td> <td>O</td><td>O</td><td>O</td><td>O</td><td>O</td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getShow() show}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getActuate() actuate}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getLabel() label}</b></td> <td> </td><td> </td><td>O</td><td> </td><td>O</td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getFrom() from}</b></td> <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> - * <tr align="center"><td align="left"><b>{@link #getTo() to}</b></td> <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getType() type}</b></td> <td>R</td><td>R</td><td>R</td><td>R</td><td>R</td><td>R</td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getHRef() href}</b></td> <td>O</td><td> </td><td>R</td><td> </td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getRole() role}</b></td> <td>O</td><td>O</td><td>O</td><td> </td><td>O</td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getArcRole() arcrole}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getTitle() title}</b></td> <td>O</td><td>O</td><td>O</td><td>O</td><td>O</td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getShow() show}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getActuate() actuate}</b></td> <td>O</td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getLabel() label}</b></td> <td> </td><td> </td><td>O</td><td> </td><td>O</td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getFrom() from}</b></td> <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> + * <tr style="text-align:center"><td style="text-align:left"><b>{@link #getTo() to}</b></td> <td> </td><td> </td><td> </td><td>O</td><td> </td><td> </td></tr> * </table> * * When {@code xlink} attributes are found at unmarshalling time instead of an object definition, diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java index 2abbbad..e7b02e1 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java @@ -78,9 +78,10 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero; * envelopes crossing the anti-meridian, like the red box below (the green box is the usual case). * The default implementation of methods listed in the right column can handle such cases. * - * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td> + * <div class="horizontal-flow"> + * <div> * <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"> - * </td><td style="vertical-align: middle"> + * </div><div> * Supported methods: * <ul> * <li>{@link #getMinimum(int)}</li> @@ -92,7 +93,7 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero; * <li>{@link #contains(Envelope)}</li> * <li>{@link #intersects(Envelope)}</li> * </ul> - * </td></tr></table></center> + * </div></div> * * <div class="section">Choosing the range of longitude values</div> * Geographic CRS typically have longitude values in the [-180 … +180]° range, but the [0 … 360]° diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java index dc0ac1d..e85727c 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java @@ -69,9 +69,10 @@ import static org.apache.sis.geometry.AbstractEnvelope.isNegativeUnsafe; * {@linkplain #height height} field values. The default implementation of methods listed in the * right column can handle such cases. * - * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td> + * <div class="horizontal-flow"> + * <div> * <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"> - * </td><td style="vertical-align: middle"> + * </div><div> * Supported methods: * <ul> * <li>{@link #getMinimum(int)}</li> @@ -88,7 +89,7 @@ import static org.apache.sis.geometry.AbstractEnvelope.isNegativeUnsafe; * <li>{@link #add(Rectangle2D)}</li> * <li>{@link #add(double,double)}</li> * </ul> - * </td></tr></table></center> + * </div></div> * * The {@link #getMinX()}, {@link #getMinY()}, {@link #getMaxX()}, {@link #getMaxY()}, * {@link #getCenterX()}, {@link #getCenterY()}, {@link #getWidth()} and {@link #getHeight()} diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java index 13d5f86..fb82e82 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java @@ -66,7 +66,7 @@ import static org.apache.sis.util.StringBuilders.trimFractionalPart; * rectangle, projecting the four corners of the geographic envelope is not sufficient since we would miss * the southerner part. * - * <center><table class="sis"> + * <table class="sis"> * <caption>Example of curvature induced by a map projection</caption> * <tr> * <th>Envelope before map projection</th> @@ -75,7 +75,7 @@ import static org.apache.sis.util.StringBuilders.trimFractionalPart; * <td><img src="doc-files/GeographicArea.png" alt="Envelope in a geographic CRS"></td> * <td><img src="doc-files/ConicArea.png" alt="Shape of the envelope transformed in a conic projection"></td> * </tr> - * </table></center> + * </table> * * Apache SIS tries to detect the curvature by transforming intermediate points in addition to the corners. * While optional, it is strongly recommended that all {@code MathTransform} implementations involved in the diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java index c786bfa..afcd2b6 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java @@ -75,9 +75,10 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero; * envelopes crossing the anti-meridian, like the red box below (the green box is the usual case). * The default implementation of methods listed in the right column can handle such cases. * - * <center><table class="compact" summary="Anti-meridian spanning support."><tr><td> + * <div class="horizontal-flow"> + * <div> * <img style="vertical-align: middle" src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"> - * </td><td style="vertical-align: middle"> + * </div><div> * Supported methods: * <ul> * <li>{@link #getMinimum(int)}</li> @@ -93,7 +94,7 @@ import static org.apache.sis.math.MathFunctions.isNegativeZero; * <li>{@link #add(Envelope)}</li> * <li>{@link #add(DirectPosition)}</li> * </ul> - * </td></tr></table></center> + * </div></div> * * <div class="section">Envelope validation</div> * If and only if this envelope is associated to a non-null CRS, then constructors and setter methods diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java index 8bd3a8f..9d39b12 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/package-info.java @@ -66,7 +66,9 @@ * longitude greater than the upper corner longitude, like the red box below (the green box is the * usual case): * - * <center><img src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"></center> + * <div style="text-align:center"> + * <img src="doc-files/AntiMeridian.png" alt="Envelope spannning the anti-meridian"> + * </div> * * In SIS, every envelopes defined in this package support the extended bounding box interpretation: * for any dimension, coordinate values such that <var>upper</var> < <var>lower</var> are handled diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java index 464c2f7..d3a1b04 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java @@ -117,6 +117,9 @@ public final class PositionalAccuracyConstant extends DefaultAbsoluteExternalPos /** * Invoked on deserialization. Replace this instance by one of the constants, if applicable. + * + * @return the object to use after deserialization. + * @throws ObjectStreamException if the serialized object defines an unknown data type. */ private Object readResolve() throws ObjectStreamException { if (equals(DATUM_SHIFT_APPLIED)) return DATUM_SHIFT_APPLIED; diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java index 8a9f3b4..8f68a91 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/SignReversalComment.java @@ -80,6 +80,9 @@ public final class SignReversalComment extends AbstractInternationalString imple /** * Invokes on deserialization for returning the canonical constant. + * + * @return the object to use after deserialization. + * @throws ObjectStreamException if the serialized object defines an unknown data type. */ private Object readResolve() throws ObjectStreamException { return opposite ? OPPOSITE : SAME; diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java index 596e2f6..dc81cde 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Convention.java @@ -122,7 +122,8 @@ public enum Convention { * For more uniform handling of CRS objects in client code, SIS parser replaces some WKT 1 conventions by * the ISO ones when possible. * - * <table class="compact" summary="Differences between current and legacy specifications"><tr><td> + * <div class="horizontal-flow"> + * <div> * <table class="sis"> * <caption>Geocentric axis directions</caption> * <tr><th>ISO 19111</th> <th>OGC 01-009</th> <th>Description</th></tr> @@ -130,7 +131,7 @@ public enum Convention { * <tr><td>Geocentric Y</td> <td>Easting</td> <td>Toward 90°E longitude</td></tr> * <tr><td>Geocentric Z</td> <td>Northing</td> <td>Toward north pole</td></tr> * </table> - * </td><td> + * </div><div> * <table class="sis"> * <caption>Coordinate system axis names</caption> * <tr><th>CRS type</th> <th>WKT1 names</th> <th>ISO abbreviations</th></tr> @@ -139,7 +140,7 @@ public enum Convention { * <tr><td>Projected</td> <td><var>X</var>, <var>Y</var></td> <td><var>E</var>, <var>N</var></td></tr> * <tr><td>Geocentric</td> <td><var>X</var>, <var>Y</var>, <var>Z</var></td> <td><var>X</var>, <var>Y</var>, <var>Z</var></td></tr> * </table> - * </td></tr></table> + * </div></div> * * @see <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Legacy WKT 1</a> */ diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java index ec56c35..4ca8c07 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/Symbols.java @@ -34,7 +34,13 @@ import static org.apache.sis.util.ArgumentChecks.*; * The two constants defined in this class, namely {@link #SQUARE_BRACKETS} and {@link #CURLY_BRACKETS}, * define the symbols for ISO 19162 compliant WKT formatting. Their properties are: * - * <blockquote><table class="compact" summary="Standard WKT symbols."> + * <table class="sis"> + * <caption>Standard WKT symbols</caption> + * <tr> + * <th>WKT aspect</th> + * <th>Standard value</th> + * <th>Comment</th> + * </tr> * <tr> * <td>Locale for number format:</td> * <td>{@link Locale#ROOT}</td> @@ -62,7 +68,7 @@ import static org.apache.sis.util.ArgumentChecks.*; * <td>{@code ,}</td> * <td></td> * </tr> - * </table></blockquote> + * </table> * * Users can create their own {@code Symbols} instance for parsing or formatting a WKT with different symbols. * diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java index f501ddb..9c0f430 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java @@ -627,7 +627,9 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident * The strictness level is controlled by the second argument, * from stricter to more permissive values: * - * <table class="compact" summary="Description of comparison modes."> + * <table class="sis"> + * <caption>Description of comparison modes</caption> + * <tr><th>Mode</th><th>Description</th></tr> * <tr><td>{@link ComparisonMode#STRICT STRICT}:</td> * <td>Verifies if the two objects are of the same {@linkplain #getClass() class} * and compares all public properties, including SIS-specific (non standard) properties.</td></tr> @@ -837,23 +839,21 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident * For example if this formattable element is for a {@code GeodeticCRS[…]} element, * then subclasses shall write the content starting at the insertion point shown below: * - * <table class="compact" summary="WKT and Java code example."> - * <tr> - * <th>WKT example</th> - * <th>Java code example</th> - * </tr><tr><td> + * <div class="horizontal-flow"> + * <div><p><b>WKT example</b></p> * {@preformat text * GeodeticCRS["WGS 84", ID["EPSG", 4326]] * ↑ * (insertion point) * } - * </td><td> + * </div><div> + * <p><b>Java code example</b></p> * {@preformat java * super.formatTo(formatter); * // ... write the elements at the insertion point ... * return "GeodeticCRS"; * } - * </td></tr></table> + * </div></div> * * <div class="section">Formatting non-standard WKT</div> * If the implementation can not represent this object without violating some WKT constraints, diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java index 7a7b564..d6bf977 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java @@ -1279,21 +1279,23 @@ public final class CRS extends Static { * Apache SIS allows 4-dimensional (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>) * coordinate reference system to be built in two different ways as shown below: * - * <table class="compact" summary="Illustration of a compound CRS."> - * <tr><th>Hierarchical structure</th><th>Flat list</th></tr> - * <tr><td><blockquote> + * <div class="horizontal-flow"> + * <div><p><b>Hierarchical structure</b></p> + * <blockquote> * <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br> * <code> ├─CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>)<br> * <code> │ ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br> * <code> │ └─VerticalCRS</code> — (<var>z</var>)<br> * <code> └─TemporalCRS</code> — (<var>t</var>) - * </blockquote></td><td><blockquote> + * </blockquote></div> + * <div><p><b>Flat list</b></p> + * <blockquote> * <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br> * <code> ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br> * <code> ├─VerticalCRS</code> — (<var>z</var>)<br> * <code> └─TemporalCRS</code> — (<var>t</var>) * </blockquote> - * </td></tr></table> + * </div></div> * * This method guaranteed that the returned list is a flat one as shown on the right side. * Note that such flat lists are the only one allowed by ISO/OGC standards for compound CRS. diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java index 3b8facd..578e2c9 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java @@ -138,7 +138,8 @@ public enum CommonCRS { * World Geodetic System 1984. * This is the default CRS for most {@code org.apache.sis} packages. * - * <blockquote><table class="compact" summary="WGS84 properties."> + * <blockquote><table class="compact"> + * <caption>WGS84 properties</caption> * <tr><th>WMS identifier:</th> <td>CRS:84</td></tr> * <tr><th>EPSG identifiers:</th> <td>4326 (<i>datum:</i> 6326, <i>ellipsoid:</i> 7030)</td></tr> * <tr><th>Primary names:</th> <td>"WGS 84" (<i>datum:</i> "World Geodetic System 1984")</td></tr> @@ -157,7 +158,8 @@ public enum CommonCRS { /** * World Geodetic System 1972. * - * <blockquote><table class="compact" summary="WGS72 properties."> + * <blockquote><table class="compact"> + * <caption>WGS72 properties</caption> * <tr><th>EPSG identifiers:</th> <td>4322 (<i>datum:</i> 6322, <i>ellipsoid:</i> 7043)</td></tr> * <tr><th>Primary names:</th> <td>"WGS 72" (<i>datum:</i> "World Geodetic System 1972")</td></tr> * <tr><th>Abbreviations or aliases:</th><td>(<i>datum:</i> "WGS 72", <i>ellipsoid:</i> "NWL 10D")</td></tr> @@ -177,7 +179,8 @@ public enum CommonCRS { * The ellipsoid is <cite>"GRS 1980"</cite>, also known as <cite>"International 1979"</cite>. * This ellipsoid is very close, but not identical, to the {@linkplain #WGS84} one. * - * <blockquote><table class="compact" summary="NAD83 properties."> + * <blockquote><table class="compact"> + * <caption>NAD83 properties</caption> * <tr><th>WMS identifier:</th> <td>CRS:83</td></tr> * <tr><th>EPSG identifiers:</th> <td>4269 (<i>datum:</i> 6269, <i>ellipsoid:</i> 7019)</td></tr> * <tr><th>Primary names:</th> <td>"NAD83" (<i>datum:</i> "North American Datum 1983", <i>ellipsoid:</i> "GRS 1980")</td></tr> @@ -201,7 +204,8 @@ public enum CommonCRS { /** * North American Datum 1927. * - * <blockquote><table class="compact" summary="NAD27 properties."> + * <blockquote><table class="compact"> + * <caption>NAD27 properties</caption> * <tr><th>WMS identifier:</th> <td>CRS:27</td></tr> * <tr><th>EPSG identifiers:</th> <td>4267 (<i>datum:</i> 6267, <i>ellipsoid:</i> 7008)</td></tr> * <tr><th>Primary names:</th> <td>"NAD27" (<i>datum:</i> "North American Datum 1927", <i>ellipsoid:</i> "Clarke 1866")</td></tr> @@ -221,7 +225,8 @@ public enum CommonCRS { * The ellipsoid is <cite>"GRS 1980"</cite>, also known as <cite>"International 1979"</cite>. * This ellipsoid is very close, but not identical, to the {@linkplain #WGS84} one. * - * <blockquote><table class="compact" summary="ETRS89 properties."> + * <blockquote><table class="compact"> + * <caption>ETRS89 properties</caption> * <tr><th>EPSG identifiers:</th> <td>4258 (<i>datum:</i> 6258, <i>ellipsoid:</i> 7019)</td></tr> * <tr><th>Primary names:</th> <td>"ETRS89" (<i>datum:</i> "European Terrestrial Reference System 1989", <i>ellipsoid:</i> "GRS 1980")</td></tr> * <tr><th>Abbreviations or aliases:</th><td>"ETRF89", "EUREF89", "ETRS89-GRS80" (<i>ellipsoid:</i> "International 1979")</td></tr> @@ -244,7 +249,8 @@ public enum CommonCRS { /** * European Datum 1950. * - * <blockquote><table class="compact" summary="ED50 properties."> + * <blockquote><table class="compact"> + * <caption>ED50 properties</caption> * <tr><th>EPSG identifiers:</th> <td>4230 (<i>datum:</i> 6230, <i>ellipsoid:</i> 7022)</td></tr> * <tr><th>Primary names:</th> <td>"ED50" (<i>datum:</i> "European Datum 1950", <i>ellipsoid:</i> "International 1924")</td></tr> * <tr><th>Abbreviations or aliases:</th><td>(<i>datum:</i> "ED50", <i>ellipsoid:</i> "Hayford 1909")</td></tr> @@ -263,7 +269,8 @@ public enum CommonCRS { * Unknown datum based upon the GRS 1980 ellipsoid. * Use only in cases where geodetic datum is unknown. * - * <blockquote><table class="compact" summary="Sphere properties."> + * <blockquote><table class="compact"> + * <caption>GRS1980 properties</caption> * <tr><th>EPSG identifiers:</th> <td>4019 (<i>datum:</i> 6019, <i>ellipsoid:</i> 7019)</td></tr> * <tr><th>Primary names:</th> <td>"Unknown datum based upon the GRS 1980 ellipsoid."</td></tr> * <tr><th>Prime meridian:</th> <td>Greenwich</td></tr> @@ -283,7 +290,8 @@ public enum CommonCRS { * {@linkplain org.apache.sis.referencing.datum.DefaultEllipsoid#orthodromicDistance * orthodromic distance computation}, which may be faster and more robust. * - * <blockquote><table class="compact" summary="Sphere properties."> + * <blockquote><table class="compact"> + * <caption>Sphere properties</caption> * <tr><th>EPSG identifiers:</th> <td>4047 (<i>datum:</i> 6047, <i>ellipsoid:</i> 7048)</td></tr> * <tr><th>Primary names:</th> <td>"Unspecified datum based upon the GRS 1980 Authalic Sphere"</td></tr> * <tr><th>Prime meridian:</th> <td>Greenwich</td></tr> @@ -1227,7 +1235,8 @@ public enum CommonCRS { * Height measured above the Mean Sea Level (MSL) in metres. Can be used as an approximation of geoidal heights * (height measured above an equipotential surface), except that MSL are not specific to any location or epoch. * - * <blockquote><table class="compact" summary="Mean Sea Level properties."> + * <blockquote><table class="compact"> + * <caption>Mean Sea Level properties</caption> * <tr><th>EPSG identifiers:</th> <td>5714 (<i>datum:</i> 5100)</td></tr> * <tr><th>Primary names:</th> <td>"MSL height" (<i>datum:</i> "Mean Sea Level")</td></tr> * <tr><th>Abbreviations or aliases:</th> <td>"mean sea level height" (<i>datum:</i> "MSL")</td></tr> @@ -1242,7 +1251,8 @@ public enum CommonCRS { /** * Depth measured below the Mean Sea Level (MSL) in metres. * - * <blockquote><table class="compact" summary="Depth properties."> + * <blockquote><table class="compact"> + * <caption>Depth properties</caption> * <tr><th>EPSG identifiers:</th> <td>5715 (<i>datum:</i> 5100)</td></tr> * <tr><th>Primary names:</th> <td>"MSL depth" (<i>datum:</i> "Mean Sea Level")</td></tr> * <tr><th>Abbreviations or aliases:</th> <td>"mean sea level depth" (<i>datum:</i> "MSL")</td></tr> @@ -1257,7 +1267,8 @@ public enum CommonCRS { /** * North American Vertical Datum 1988 height. * - * <blockquote><table class="compact" summary="Mean Sea Level properties."> + * <blockquote><table class="compact"> + * <caption>NAVD88 properties</caption> * <tr><th>WMS identifier:</th> <td>CRS:88</td></tr> * <tr><th>EPSG identifiers:</th> <td>5703 (<i>datum:</i> 5103)</td></tr> * <tr><th>Primary names:</th> <td>"NAVD88 height" (<i>datum:</i> "North American Vertical Datum 1988")</td></tr> diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java index 6e4b764..1379aa0 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java @@ -63,21 +63,23 @@ import org.apache.sis.io.wkt.Convention; * This class is often used for defining 4-dimensional (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>) * coordinate reference systems as an aggregation of simpler CRS. Below is two examples of such aggregations: * - * <table class="compact" summary="Illustration of a compound CRS."> - * <tr><th>Flat list</th><th>Hierarchical structure</th></tr> - * <tr><td><blockquote> + * <div class="horizontal-flow"> + * <div><p><b>Flat list</b></p> + * <blockquote> * <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br> * <code> ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br> * <code> ├─VerticalCRS</code> — (<var>z</var>)<br> * <code> └─TemporalCRS</code> — (<var>t</var>) - * </blockquote></td><td><blockquote> + * </blockquote></div> + * <div><p><b>Hierarchical structure</b></p> + * <blockquote> * <code>CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>, <var>t</var>)<br> * <code> ├─CompoundCRS</code> — (<var>x</var>, <var>y</var>, <var>z</var>)<br> * <code> │ ├─ProjectedCRS</code> — (<var>x</var>, <var>y</var>)<br> * <code> │ └─VerticalCRS</code> — (<var>z</var>)<br> * <code> └─TemporalCRS</code> — (<var>t</var>) - * </blockquote></td></tr> - * </table> + * </blockquote></div> + * </div> * * Strictly speaking, only the flat list on the left side is allowed by OGC/ISO specifications. * However Apache SIS relaxes this rule by allowing hierarchies as shown on the right side. This diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java index e8328a0..438a5a9 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java @@ -63,8 +63,8 @@ import java.util.Objects; * while the <cite>legacy</cite> column lists the identifiers used in the legacy OGC 01-009 specification * (still used in some <cite>Well Known Texts</cite>). * - * <table summary="Parameters and formula"><tr><td> - * <table class="sis"> + * <div class="horizontal-flow"> + * <div><table class="sis"> * <caption>Parameters defined by EPSG</caption> * <tr><th>Code</th> <th>Name</th> <th>Abbr.</th> <th>Legacy</th></tr> * <tr><td>8605</td> <td>X-axis translation</td> <td>{@link #tX}</td> <td>{@code dx}</td></tr> @@ -74,16 +74,14 @@ import java.util.Objects; * <tr><td>8609</td> <td>Y-axis rotation</td> <td>{@link #rY}</td> <td>{@code ey}</td></tr> * <tr><td>8610</td> <td>Z-axis rotation</td> <td>{@link #rZ}</td> <td>{@code ez}</td></tr> * <tr><td>8611</td> <td>Scale difference</td> <td>{@link #dS}</td> <td>{@code ppm}</td></tr> - * </table> - * - * </td><td style="padding-left: 40pt; white-space: nowrap"> - * <center><b>Geocentric coordinates transformation</b></center> - * <center>from (<var>X</var><sub>s</sub>, <var>Y</var><sub>s</sub>, <var>Z</var><sub>s</sub>) - * to (<var>X</var><sub>t</sub>, <var>Y</var><sub>t</sub>, <var>Z</var><sub>t</sub>) - * <br><span style="font-size:small">(ignoring unit conversions)</span></center> + * </table></div> + * <div><p><b>Geocentric coordinates transformation</b></p> + * <p>from (<var>X</var><sub>s</sub>, <var>Y</var><sub>s</sub>, <var>Z</var><sub>s</sub>) + * to (<var>X</var><sub>t</sub>, <var>Y</var><sub>t</sub>, <var>Z</var><sub>t</sub>) + * <br><span style="font-size:small">(ignoring unit conversions)</span></p> * * <p>{@include formulas.html#Bursa-Wolf}</p> - * </td></tr></table> + * </div></div> * * The numerical fields in this {@code BursaWolfParameters} class use the EPSG abbreviations * with 4 additional constraints compared to the EPSG definitions: diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java index 5422ff4..e904db4 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java @@ -201,7 +201,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * Two frequently used authorities are "CRS" and "EPSG", which include the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Description</th></tr> * <tr><td>CRS:84</td> <td>Geographic</td> <td>Like EPSG:4326 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr> * <tr><td>EPSG:4326</td> <td>Geographic</td> <td>World Geodetic System 1984</td></tr> @@ -241,7 +242,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * Two frequently used authorities are "CRS" and "EPSG", which include the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Description</th></tr> * <tr><td>CRS:27</td> <td>Geographic</td> <td>Like EPSG:4267 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr> * <tr><td>CRS:83</td> <td>Geographic</td> <td>Like EPSG:4269 except for (<var>longitude</var>, <var>latitude</var>) axis order</td></tr> @@ -285,7 +287,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:4936</td> <td>European Terrestrial Reference Frame 1989</td></tr> * <tr><td>EPSG:4978</td> <td>World Geodetic System 1984</td></tr> @@ -320,7 +323,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * A frequently used authority is "EPSG", which contains more than 4000 codes for projected CRS. * Some of them are: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:3034</td> <td>ETRS89 / Lambert Conic Conformal Europe</td></tr> * <tr><td>EPSG:3395</td> <td>WGS 84 / World Mercator</td></tr> @@ -352,7 +356,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:5715</td> <td>Mean Sea Level depth</td></tr> * <tr><td>EPSG:5714</td> <td>Mean Sea Level height</td></tr> @@ -419,7 +424,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:6349</td> <td>NAD83(2011) + NAVD88 height</td></tr> * <tr><td>EPSG:7423</td> <td>ETRS89 + EVRF2007 height</td></tr> @@ -467,7 +473,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:5800</td> <td>Astra Minas Grid</td></tr> * </table></div> @@ -517,7 +524,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which contains hundred of datum. Some of them are: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Description</th></tr> * <tr><td>EPSG:6326</td> <td>Geodetic</td> <td>World Geodetic System 1984</td></tr> * <tr><td>EPSG:6322</td> <td>Geodetic</td> <td>World Geodetic System 1972</td></tr> @@ -551,7 +559,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which contains hundred of datum. Some of them are: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:6326</td> <td>World Geodetic System 1984</td></tr> * <tr><td>EPSG:6322</td> <td>World Geodetic System 1972</td></tr> @@ -585,7 +594,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:5100</td> <td>Mean Sea Level</td></tr> * <tr><td>EPSG:1027</td> <td>EGM2008 geoid</td></tr> @@ -656,7 +666,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:9315</td> <td>Seismic bin grid datum</td></tr> * <tr><td>EPSG:9300</td> <td>Astra Minas</td></tr> @@ -706,7 +717,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:7030</td> <td>WGS 84</td></tr> * <tr><td>EPSG:7034</td> <td>Clarke 1880</td></tr> @@ -737,7 +749,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:8901</td> <td>Greenwich</td></tr> * <tr><td>EPSG:8903</td> <td>Paris</td></tr> @@ -770,7 +783,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:1262</td> <td>World</td></tr> * <tr><td>EPSG:3391</td> <td>World - between 80°S and 84°N</td></tr> @@ -802,7 +816,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>EPSG:4496</td> <td>Cartesian 2D CS</td> <td>easting, northing (E,N)</td> <td>east, north</td> <td>metre</td></tr> * <tr><td>EPSG:6422</td> <td>Ellipsoidal 2D CS</td> <td>latitude, longitude</td> <td>north, east</td> <td>degree</td></tr> @@ -836,7 +851,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>EPSG:6422</td> <td>latitude, longitude</td> <td>north, east</td> <td>degree</td></tr> * <tr><td>EPSG:6424</td> <td>longitude, latitude</td> <td>east, north</td> <td>degree</td></tr> @@ -867,7 +883,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>EPSG:6498</td> <td>depth (D)</td> <td>down</td> <td>metre</td></tr> * <tr><td>EPSG:6499</td> <td>height (H)</td> <td>up</td> <td>metre</td></tr> @@ -934,7 +951,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>EPSG:4406</td> <td>easting, northing (E,N)</td> <td>east, north</td> <td>kilometre</td></tr> * <tr><td>EPSG:4496</td> <td>easting, northing (E,N)</td> <td>east, north</td> <td>metre</td></tr> @@ -966,7 +984,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>EPSG:6404</td> <td>latitude, longitude, radius</td> <td>north, east, up</td> <td>degree, degree, metre</td></tr> * </table></div> @@ -1032,7 +1051,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th> <th>Unit</th></tr> * <tr><td>EPSG:106</td> <td>Latitude (φ)</td> <td>degree</td></tr> * <tr><td>EPSG:107</td> <td>Longitude (λ)</td> <td>degree</td></tr> @@ -1065,7 +1085,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="Authority codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:9002</td> <td>decimal degree</td></tr> * <tr><td>EPSG:9001</td> <td>metre</td></tr> @@ -1099,7 +1120,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:8801</td> <td>Latitude of natural origin</td></tr> * <tr><td>EPSG:8802</td> <td>Longitude of natural origin</td></tr> @@ -1162,7 +1184,8 @@ public abstract class GeodeticAuthorityFactory extends AbstractFactory implement * {@linkplain #getAuthority() authority} and the {@code GeodeticAuthorityFactory} subclass in use. * A frequently used authority is "EPSG", which includes the following codes: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>Authority codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>EPSG:1133</td> <td>ED50 to WGS 84 (1)</td></tr> * <tr><td>EPSG:1241</td> <td>NAD27 to NAD83 (1)</td></tr> diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java index 7285714..12fd713 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java @@ -1310,7 +1310,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for coordinate reference systems are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Description</th></tr> * <tr><td>4326</td> <td>Geographic</td> <td>World Geodetic System 1984</td></tr> * <tr><td>4979</td> <td>Geographic 3D</td> <td>World Geodetic System 1984</td></tr> @@ -1591,7 +1592,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for datums are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Description</th></tr> * <tr><td>6326</td> <td>Geodetic</td> <td>World Geodetic System 1984</td></tr> * <tr><td>6322</td> <td>Geodetic</td> <td>World Geodetic System 1972</td></tr> @@ -1871,7 +1873,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for ellipsoids are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>7030</td> <td>WGS 84</td></tr> * <tr><td>7034</td> <td>Clarke 1880</td></tr> @@ -1959,7 +1962,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for prime meridians are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>8901</td> <td>Greenwich</td></tr> * <tr><td>8903</td> <td>Paris</td></tr> @@ -2019,7 +2023,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for extents are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>1262</td> <td>World</td></tr> * <tr><td>3391</td> <td>World - between 80°S and 84°N</td></tr> @@ -2093,7 +2098,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for coordinate systems are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Type</th> <th>Axes</th> <th>Orientations</th> <th>Unit</th></tr> * <tr><td>4406</td> <td>Cartesian 2D CS</td> <td>easting, northing (E,N)</td> <td>east, north</td> <td>kilometre</td></tr> * <tr><td>4496</td> <td>Cartesian 2D CS</td> <td>easting, northing (E,N)</td> <td>east, north</td> <td>metre</td></tr> @@ -2298,7 +2304,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for axes are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th> <th>Unit</th></tr> * <tr><td>106</td> <td>Latitude (φ)</td> <td>degree</td></tr> * <tr><td>107</td> <td>Longitude (λ)</td> <td>degree</td></tr> @@ -2400,7 +2407,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for units are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>9002</td> <td>decimal degree</td></tr> * <tr><td>9001</td> <td>metre</td></tr> @@ -2471,7 +2479,8 @@ codes: for (int i=0; i<codes.length; i++) { * <div class="note"><b>Example:</b> * some EPSG codes for parameters are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>8801</td> <td>Latitude of natural origin</td></tr> * <tr><td>8802</td> <td>Longitude of natural origin</td></tr> @@ -2710,7 +2719,8 @@ next: while (r.next()) { * <div class="note"><b>Example:</b> * some EPSG codes for operation methods are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>9804</td> <td>Mercator (variant A)</td></tr> * <tr><td>9802</td> <td>Lambert Conic Conformal (2SP)</td></tr> @@ -2766,7 +2776,8 @@ next: while (r.next()) { * <div class="note"><b>Example:</b> * some EPSG codes for coordinate transformations are: * - * <table class="sis" summary="EPSG codes examples"> + * <table class="sis"> + * <caption>EPSG codes examples</caption> * <tr><th>Code</th> <th>Description</th></tr> * <tr><td>1133</td> <td>ED50 to WGS 84 (1)</td></tr> * <tr><td>1241</td> <td>NAD27 to NAD83 (1)</td></tr> diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java index e18254f..1b6183b 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java @@ -780,7 +780,7 @@ check: for (int isTarget=0; ; isTarget++) { // 0 == source check; 1 * 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> + * <div style="text-align:center">source projected CRS ⟶ base CRS ⟶ target geographic CRS</div> * * In this example, a wraparound axis in the target CRS (the longitude) can be mapped to a wraparound axis in * the {@linkplain org.apache.sis.referencing.crs.DefaultProjectedCRS#getBaseCRS() base CRS}. But there is no diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java index ac044c8..d79cb8d 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MatrixSIS.java @@ -456,7 +456,8 @@ public abstract class MatrixSIS implements Matrix, LenientComparable, Cloneable, * If this matrix was an instance of Java2D {@link AffineTransform}, then invoking this method would * be equivalent to invoke the following {@code AffineTransform} methods in the order shown below: * - * <table class="sis" summary="Equivalence between this method and AffineTransform methods"> + * <table class="sis"> + * <caption>Equivalence between this method and AffineTransform methods</caption> * <tr> * <th>{@code MatrixSIS} method</th> * <th class="sep">{@code AffineTransform} methods</th> diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java index 588ca24..56a7c53 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/package-info.java @@ -41,9 +41,9 @@ * <p><b>Example:</b> in the two dimensional case, an affine transform from a map projection (units in metres) * to the screen (units in pixels) can be performed by the following matrix multiplication:</p> * - * <center> + * <div style="text-align:center"> * <img src="doc-files/AffineTransform.png" alt="Matrix representation of an affine transform"> - * </center> + * </div> * * <div class="section">Extended floating point precision</div> * This package uses extended floating point precision for most arithmetic operations like matrix multiplications and diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java index 47fd3e9..6fcc036 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java @@ -91,19 +91,15 @@ import static java.lang.Math.*; * sides of {@code NormalizedProjection} respectively. Those matrices show only the basic parameters common to most projections. * Some projections will put more elements in those matrices. * - * <center> - * <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a map projection"> - * <tr> - * <td>{@include ../transform/formulas.html#SwapAxes}</td> - * <td>→</td> - * <td>{@include ../transform/formulas.html#NormalizeGeographic}</td> - * <td>→</td> - * <td>{@code NormalizedProjection}</td> - * <td>→</td> - * <td>{@include ../transform/formulas.html#DenormalizeCartesian}</td> - * </tr> - * </table> - * </center> + * <div class="horizontal-flow" style="align-items:center"> + * <div>{@include ../transform/formulas.html#SwapAxes}</div> + * <div>→</div> + * <div>{@include ../transform/formulas.html#NormalizeGeographic}</div> + * <div>→</div> + * <div>{@code NormalizedProjection}</div> + * <div>→</div> + * <div>{@include ../transform/formulas.html#DenormalizeCartesian}</div> + * </div> * * <div class="note"><b>Note:</b> * The first matrix on the left side is for {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes @@ -277,7 +273,7 @@ public abstract class NormalizedProjection extends AbstractMathTransform2D imple * sphere at latitude φ will be used instead than the semi-major axis length in the denormalisation matrix. * In other words, if provided then <var>a</var> is replaced by <var>R</var><sub>c</sub> below: * - * <center>{@include ../transform/formulas.html#DenormalizeCartesian}</center> + * <div style="text-align:center">{@include ../transform/formulas.html#DenormalizeCartesian}</div> * * <p>This enumeration shall be used <strong>only</strong> when the user requested explicitly spherical * formulas, for example the <cite>"Mercator (Spherical)"</cite> projection (EPSG:1026), but the figure diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java index b4495ec..5180095 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java @@ -78,17 +78,13 @@ import org.apache.sis.util.ArgumentChecks; * (ignoring {@linkplain org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes changes of axis order}) * is a chain of 3 transforms as shown below: * - * <center> - * <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a map projection"> - * <tr> - * <td>{@include formulas.html#NormalizeGeographic}</td> - * <td>→</td> - * <td>Map projection on a normalized ellipsoid</td> - * <td>→</td> - * <td>{@include formulas.html#DenormalizeCartesian}</td> - * </tr> - * </table> - * </center> + * <div class="horizontal-flow" style="align-items:center"> + * <div>{@include formulas.html#NormalizeGeographic}</div> + * <div>→</div> + * <div>Map projection on a normalized ellipsoid</div> + * <div>→</div> + * <div>{@include formulas.html#DenormalizeCartesian}</div> + * </div> * * {@code ContextualParameters} is typically created and used as below: * @@ -152,7 +148,7 @@ public class ContextualParameters extends Parameters implements Serializable { * before to apply a non-linear operation. For example in a map projection, this matrix is * typically (but not necessarily) as below: * - * <center>{@include formulas.html#NormalizeGeographic}</center> + * <div style="text-align:center">{@include formulas.html#NormalizeGeographic}</div> */ NORMALIZATION, @@ -160,7 +156,7 @@ public class ContextualParameters extends Parameters implements Serializable { * Inverse of the {@link #NORMALIZATION} matrix. * For example in a map projection, this matrix is typically (but not necessarily) as below: * - * <center>{@include formulas.html#DenormalizeGeographic}</center> + * <div style="text-align:center">{@include formulas.html#DenormalizeGeographic}</div> */ INVERSE_NORMALIZATION, @@ -169,7 +165,7 @@ public class ContextualParameters extends Parameters implements Serializable { * after execution of a non-linear operation. For example in a map projection, this matrix is typically * (but not necessarily) as below: * - * <center>{@include formulas.html#DenormalizeCartesian}</center> + * <div style="text-align:center">{@include formulas.html#DenormalizeCartesian}</div> */ DENORMALIZATION, @@ -437,7 +433,7 @@ public class ContextualParameters extends Parameters implements Serializable { * the normalization matrix with the following matrix. This will have the effect of applying the conversion * described above before any other operation:</p> * - * <center>{@include formulas.html#NormalizeGeographic}</center> + * <div style="text-align:center">{@include formulas.html#NormalizeGeographic}</div> * * @param λ0 longitude of the central meridian, in degrees. * @return the normalization affine transform as a matrix. @@ -471,7 +467,7 @@ public class ContextualParameters extends Parameters implements Serializable { * the denormalization matrix with the following matrix. This will have the effect of applying the conversion * described above after the non-linear kernel operation:</p> * - * <center>{@include formulas.html#DenormalizeGeographic}</center> + * <div style="text-align:center">{@include formulas.html#DenormalizeGeographic}</div> * * @param λ0 longitude of the central meridian, in degrees. * @return the denormalization affine transform as a matrix. diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java index c027c9c..1a978be 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DatumShiftTransform.java @@ -249,26 +249,19 @@ public abstract class DatumShiftTransform extends AbstractMathTransform implemen * It may be conversions between degrees and radians units, or conversions from geodetic coordinates to grid indices. * * <div class="note"><b>Example:</b> - * The chain of transforms of an {@link InterpolatedGeocentricTransform} is: - * <center> - * <table class="compact" style="td {vertical-align: middle}" summary="Decomposition of a datum shift"> - * <tr style="text-align: center"> - * <th>Degrees to radians</th><th></th> - * <th>{@code DatumShiftTransform} work</th><th></th> - * <th>Radians to degrees</th> - * </tr><tr> - * <td>{@include formulas.html#NormalizeGeographic}</td> - * <td>→</td> - * <td style="vertical-align: top"><ol style="padding-left: 15px"> - * <li>Geographic to geocentric conversion</li> - * <li>Geocentric interpolation</li> - * <li>Geocentric to geographic conversion</li> - * </ol></td> - * <td>→</td> - * <td>{@include formulas.html#DenormalizeGeographic}</td> - * </tr> - * </table> - * </center></div> + * The chain of transforms of an {@link InterpolatedGeocentricTransform} is: + * <div class="horizontal-flow" style="align-items:center"> + * <div>{@include formulas.html#NormalizeGeographic}</div> + * <div>→</div> + * <div><ol style="padding-left: 15px"> + * <li>Geographic to geocentric conversion</li> + * <li>Geocentric interpolation</li> + * <li>Geocentric to geographic conversion</li> + * </ol></div> + * <div>→</div> + * <div>{@include formulas.html#DenormalizeGeographic}</div> + * </div> + * </div> * * This method returns the parameters for the part in the middle of above example. * The content of this part is highly implementation-dependent and used mostly for diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java index 77225f8..daf6ce0 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java @@ -132,7 +132,7 @@ import org.apache.sis.util.resources.Errors; * files for example, which often use spherical models instead than ellipsoidal ones.</p> * * - * <div class="section"><a name="Obligation">Mandatory and optional parameters</a></div> + * <div class="section"><a id="Obligation">Mandatory and optional parameters</a></div> * Parameters are flagged as either <cite>mandatory</cite> or <cite>optional</cite>. * A parameter may be mandatory and still have a default value. In the context of this package, "mandatory" * means that the parameter is an essential part of the projection defined by standards. diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java index deb3c93..9f5f1fd 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/LinearTransform.java @@ -43,9 +43,9 @@ import org.opengis.referencing.operation.NoninvertibleTransformException; * except in the last column, which contains 1. For example a conversion from projected coordinates (metres) * to display coordinates (pixel) can be done as below: * - * <center> + * <div style="text-align:center"> * <img src="../matrix/doc-files/AffineTransform.png" alt="Matrix representation of an affine transform"> - * </center> + * </div> * * <div class="section">Projective transform</div> * If the last matrix row does not met the above constraints, then the transform is not affine. @@ -55,7 +55,7 @@ import org.opengis.referencing.operation.NoninvertibleTransformException; * For example a square matrix of size 4×4 is used for transforming three-dimensional coordinates. * The transformed points {@code (x',y',z')} are computed as below: * - * <center>{@include formulas.html#ProjectiveTransform}</center> + * <div style="text-align:center">{@include formulas.html#ProjectiveTransform}</div> * * <div class="section">Instantiation</div> * The easiest way to instantiate a {@code LinearTransform} is to use the {@link MathTransforms#linear(Matrix)} diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html index 7f554ba..fb7fff4 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/formulas.html @@ -39,8 +39,8 @@ The <code>{@include}</code> taglet is defined in the <code>sis-build-helper</code> module.</div> <h2>ProjectiveTransform</h2> - <table class="compact" summary="Projective transform matrix"> - <tr><td nowrap> + <div class="horizontal-flow"> + <div> <math display="block" alttext="MathML capable browser required"> <mfenced open="[" close="]"> <mtable> @@ -59,9 +59,9 @@ </mfenced> </math> - </td><td style="vertical-align: middle" > + </div><div style="vertical-align: middle" > <blockquote>where <var>u</var>, <var>v</var>, <var>w</var> and <var>t</var> are obtained by</blockquote> - </td><td nowrap> + </div><div> <math display="block" alttext="MathML capable browser required"> <mfenced open="[" close="]"> @@ -111,8 +111,8 @@ </mtable> </mfenced> </math> - </td></tr> - </table> + </div> + </div> diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java index 3e66457..e368ddc 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java +++ b/core/sis-utility/src/main/java/org/apache/sis/internal/converter/SystemConverter.java @@ -163,6 +163,9 @@ abstract class SystemConverter<S,T> extends ClassPair<S,T> implements ObjectConv /** * Returns the singleton instance on deserialization, if any. If no instance already exist * in the virtual machine, we do not cache the instance (for now) for security reasons. + * + * @return the object to use after deserialization. + * @throws ObjectStreamException if the serialized object defines an unknown data type. */ protected final Object readResolve() throws ObjectStreamException { return unique(); diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java b/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java index de41015..2184324 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java +++ b/core/sis-utility/src/main/java/org/apache/sis/math/Plane.java @@ -300,7 +300,8 @@ public class Plane implements DoubleBinaryOperator, Cloneable, Serializable { * the following content: * * <blockquote> - * <table class="compact" summary="x and y vector content"> + * <table class="compact"> + * <caption><var>x</var> and <var>y</var> vectors content</caption> * <tr> * <th><var>x</var> vector</th> * <th><var>y</var> vector</th> diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java index 7e10ec3..5062949 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java +++ b/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java @@ -456,7 +456,8 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri * assuming that the distribution is Gaussian (first column) or assuming that the * distribution is uniform (second column).</p> * - * <table class="sis" summary="Propability values for some standard deviations."> + * <table class="sis"> + * <caption>Probability values for some standard deviations</caption> * <tr><th>n</th><th>Gaussian</th><th>uniform</th> * <tr><td>0.5</td><td>69.1%</td><td>28.9%</td></tr> * <tr><td>1.0</td><td>84.2%</td><td>57.7%</td></tr> diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java b/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java index f51f206..2381eff 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java +++ b/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java @@ -85,8 +85,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE} * and the unlocalized name is "nanometre". * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI units:</td> <td style="word-spacing:1em"><u>{@code NANOMETRE}</u>, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -103,8 +104,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “millimetre” and the identifier is EPSG:1025. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, <u>{@code MILLIMETRE}</u>, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -119,8 +121,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “centimetre” and the identifier is EPSG:1033. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, <u>{@code CENTIMETRE}</u>, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -135,8 +138,9 @@ public final class Units extends Static { * The unlocalized name is “metre” and the identifier is EPSG:9001. * This is the base of all other {@linkplain #isLinear(Unit) linear} units. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <u><b>{@code METRE}</b></u>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -151,8 +155,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “kilometre” and the identifier is EPSG:9036. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, <u>{@code KILOMETRE}</u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr> @@ -173,8 +178,9 @@ public final class Units extends Static { * International Hydrographic Organization (IHO) and the International Bureau of Weights and Measures (BIPM). * But “NM” and “nmi” are also in use.</p> * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, <u>{@code NAUTICAL_MILE}</u>.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr> @@ -193,8 +199,9 @@ public final class Units extends Static { * for avoiding confusion with the US survey mile. * The identifier is EPSG:9093. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, <u>{@code STATUTE_MILE}</u>, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #KILOMETRES_PER_HOUR}.</td></tr> @@ -210,8 +217,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “US survey foot” and the identifier is EPSG:9003. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, <u>{@code US_SURVEY_FOOT}</u>, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -226,8 +234,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “Clarke’s foot” and the identifier is EPSG:9005. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, {@link #FOOT}, <u>{@code CLARKE_FOOT}</u>, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -242,8 +251,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE}, * the unlocalized name is “foot” and the identifier is EPSG:9002. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, {@link #INCH}, <u>{@code FOOT}</u>, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -258,8 +268,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE} * and the unlocalized name is “inch”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #POINT}, <u>{@code INCH}</u>, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -275,8 +286,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRE} * and the unlocalized name is “point”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI length units:</td> <td style="word-spacing:1em">{@link #NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, <b>{@link #METRE}</b>, {@link #KILOMETRE}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code POINT}</u>, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}.</td></tr> @@ -290,8 +302,9 @@ public final class Units extends Static { * The SI derived unit for area (m²). * The unlocalized name is “square metre”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI area units:</td> <td style="word-spacing:1em"><u><b>{@code SQUARE_METRE}</b></u>, {@link #HECTARE}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #CUBIC_METRE}.</td></tr> * </table></div> @@ -306,8 +319,9 @@ public final class Units extends Static { * While not an SI unit, the hectare is often used in the measurement of land. * The unlocalized name is “hectare”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI area units:</td> <td style="word-spacing:1em"><b>{@link #SQUARE_METRE}</b>, <u>{@code HECTARE}</u>.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #CUBIC_METRE}.</td></tr> * </table></div> @@ -346,8 +360,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN}, * the unlocalized name is “microradian” and the identifier is EPSG:9109. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em"><u>{@code MICRORADIAN}</u>, <b>{@link #RADIAN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr> @@ -363,8 +378,9 @@ public final class Units extends Static { * The unlocalized name is “radian” and the identifier is EPSG:9101. * This is the base of all other {@linkplain #isAngular(Unit) angular} units. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em">{@link #MICRORADIAN}, <u><b>{@code RADIAN}</b></u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}, {@link #RADIANS_PER_SECOND}.</td></tr> @@ -380,8 +396,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN}, * the unlocalized name is “degree” and the identifier is EPSG:9102. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code DEGREE}</u>, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr> @@ -398,8 +415,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN}, * the unlocalized name is “arc-minute” and the identifier is EPSG:9103. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, <u>{@code ARC_MINUTE}</u>, {@link #ARC_SECOND}, {@link #GRAD}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr> @@ -417,8 +435,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #RADIAN}, * the unlocalized name is “arc-second” and the identifier is EPSG:9104. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, <u>{@code ARC_SECOND}</u>, {@link #GRAD}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr> @@ -435,8 +454,9 @@ public final class Units extends Static { * the unlocalized name is “grad”, but the “gon” alias is also accepted. * The identifier is EPSG:9105. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI angle units:</td> <td style="word-spacing:1em">{@link #MICRORADIAN}, <b>{@link #RADIAN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DEGREE}, {@link #ARC_MINUTE}, {@link #ARC_SECOND}, <u>{@code GRAD}</u>.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #STERADIAN}.</td></tr> @@ -452,8 +472,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND} * and the unlocalized name is “millisecond”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em"><u>{@code MILLISECOND}</u>, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr> @@ -470,8 +491,9 @@ public final class Units extends Static { * The unlocalized name is “second” and the identifier is EPSG:1040. * This is the base of all other {@linkplain #isTemporal(Unit) temporal} units. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <u><b>{@link #SECOND}</b></u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr> @@ -486,8 +508,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND} * and the unlocalized name is “minute”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code MINUTE}</u>, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #METRES_PER_SECOND}, {@link #HERTZ}.</td></tr> @@ -502,8 +525,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND} * and the unlocalized name is “hour”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, <u>{@code HOUR}</u>, {@link #DAY}, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr> @@ -518,8 +542,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND} * and the unlocalized name is “day”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, <u>{@code DAY}</u>, {@link #WEEK}, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr> @@ -534,8 +559,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND} * and the unlocalized name is “week”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, <u>{@link #WEEK}</u>, {@link #TROPICAL_YEAR}.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr> @@ -552,8 +578,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #SECOND}, * the unlocalized name is “year” and the identifier is EPSG:1029. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI time units:</td> <td style="word-spacing:1em">{@link #MILLISECOND}, <b>{@link #SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #MINUTE}, {@link #HOUR}, {@link #DAY}, {@link #WEEK}, <u>{@code TROPICAL_YEAR}</u>.</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}, {@link #HERTZ}.</td></tr> @@ -568,8 +595,9 @@ public final class Units extends Static { * One hertz is equal to one cycle per {@linkplain #SECOND second}. * The unlocalized name is “hertz”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td><td style="word-spacing:0.5em">{@link #SECOND}<sup>-1</sup></td></tr> * </table></div> * @@ -581,8 +609,9 @@ public final class Units extends Static { * The unit for angular velocity (rad/s). * The identifier is EPSG:1035. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #RADIAN} ∕ {@link #SECOND}</td></tr> * </table></div> * @@ -594,8 +623,9 @@ public final class Units extends Static { * The SI derived unit for speed (m/s). * The unlocalized name is “metres per second” and the identifier is EPSG:1026. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI speed units:</td> <td style="word-spacing:1em"><u><b>{@code METRES_PER_SECOND}</b></u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #KILOMETRES_PER_HOUR}.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #METRE} ∕ {@link #SECOND}</td></tr> @@ -610,8 +640,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #METRES_PER_SECOND} * and the unlocalized name is “kilometres per hour”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI speed units:</td> <td style="word-spacing:1em"><b>{@link #METRES_PER_SECOND}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code KILOMETRES_PER_HOUR}</u>.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #KILOMETRE} ∕ {@link #HOUR}</td></tr> @@ -628,8 +659,9 @@ public final class Units extends Static { * for height measurements on a vertical axis. * The unlocalized name is “pascal”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><u><b>{@code PASCAL}</b></u>, {@link #HECTOPASCAL}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr> @@ -646,8 +678,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL} * and the unlocalized name is “hectopascal”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, <u>{@code HECTOPASCAL}</u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr> @@ -664,8 +697,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL} * and the unlocalized name is “decibar”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code DECIBAR}</u>, {@link #BAR}, {@link #ATMOSPHERE}.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr> @@ -682,8 +716,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL} * and the unlocalized name is “bar”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DECIBAR}, <u>{@code BAR}</u>, {@link #ATMOSPHERE}.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr> @@ -699,8 +734,9 @@ public final class Units extends Static { * The {@linkplain ConventionalUnit#getSystemUnit() system unit} is {@link #PASCAL} * and the unlocalized name is “atmosphere”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI pressure units:</td> <td style="word-spacing:1em"><b>{@link #PASCAL}</b>, {@link #HECTOPASCAL}.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #DECIBAR}, {@link #BAR}, <u>{@code ATMOSPHERE}</u>.</td></tr> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ∕ {@link #SQUARE_METRE}</td></tr> @@ -715,8 +751,9 @@ public final class Units extends Static { * One newton is the force required to give a mass of 1 kg an acceleration of 1 m/s². * The unlocalized name is “newton”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #KILOGRAM} ⋅ {@link #METRES_PER_SECOND} ∕ {@link #SECOND}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #PASCAL}, {@link #JOULE}, {@link #WATT}.</td></tr> * </table></div> @@ -729,8 +766,9 @@ public final class Units extends Static { * The SI derived unit for energy (J). * The unlocalized name is “joule”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #NEWTON} ⋅ {@link #METRE}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #WATT}.</td></tr> * </table></div> @@ -744,8 +782,9 @@ public final class Units extends Static { * One watt is equal to one joule per second. * The unlocalized name is “watt”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #JOULE} ∕ {@link #SECOND}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #VOLT}.</td></tr> * </table></div> @@ -758,8 +797,9 @@ public final class Units extends Static { * The SI derived unit for electric potential difference (V). * The unlocalized name is “volt”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #WATT} ∕ {@link #AMPERE}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #FARAD}, {@link #OHM}, {@link #SIEMENS}, {@link #WEBER}.</td></tr> * </table></div> @@ -772,8 +812,9 @@ public final class Units extends Static { * The SI base unit for electric current (A). * The unlocalized name is “ampere”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #COULOMB}, {@link #VOLT}, {@link #OHM}, {@link #SIEMENS}, {@link #HENRY}.</td></tr> * </table></div> * @@ -786,8 +827,9 @@ public final class Units extends Static { * One coulomb is the charge transfered by a current of one ampere during one second. * The unlocalized name is “coulomb”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #AMPERE} ⋅ {@link #SECOND}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #FARAD}.</td></tr> * </table></div> @@ -800,8 +842,9 @@ public final class Units extends Static { * The SI derived unit for electric capacitance (F). * The unlocalized name is “farad”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #COULOMB} ∕ {@link #VOLT}</td></tr> * </table></div> * @@ -814,8 +857,9 @@ public final class Units extends Static { * This is the inverse of electric conductance. * The unlocalized name is “ohm”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #VOLT} ∕ {@link #AMPERE}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #SIEMENS}.</td></tr> * </table></div> @@ -829,8 +873,9 @@ public final class Units extends Static { * This is the inverse of electric resistance. * The unlocalized name is “siemens”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #AMPERE} ∕ {@link #VOLT}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #OHM}.</td></tr> * </table></div> @@ -843,8 +888,9 @@ public final class Units extends Static { * The SI derived unit for magnetic flux (Wb). * The unlocalized name is “weber”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #VOLT} ⋅ {@link #SECOND}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #TESLA}, {@link #HENRY}.</td></tr> * </table></div> @@ -857,8 +903,9 @@ public final class Units extends Static { * The SI derived unit for magnetic flux density (T). * The unlocalized name is “tesla”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #WEBER} ∕ {@link #SQUARE_METRE}</td></tr> * </table></div> * @@ -870,8 +917,9 @@ public final class Units extends Static { * The SI derived unit for inductance (H). * The unlocalized name is “henry”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #WEBER} ∕ {@link #AMPERE}</td></tr> * </table></div> * @@ -883,8 +931,9 @@ public final class Units extends Static { * The SI base unit for thermodynamic temperature (K). * The unlocalized name is “kelvin”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><u><b>{@code KELVIN}</b></u>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #CELSIUS}, {@link #FAHRENHEIT}.</td></tr> * </table></div> @@ -898,8 +947,9 @@ public final class Units extends Static { * The symbol is °C and the unlocalized name is “Celsius”. * Note that this is the only SI unit with an upper-case letter in its name. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><b>{@link #KELVIN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em"><u>{@code CELSIUS}</u>, {@link #FAHRENHEIT}.</td></tr> * </table></div> @@ -913,8 +963,9 @@ public final class Units extends Static { * The symbol is °F and the unlocalized name is “Fahrenheit” * (note the upper-case "F" letter). * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>SI temperature units:</td> <td style="word-spacing:1em"><b>{@link #KELVIN}</b>.</td></tr> * <tr><td>In other systems:</td> <td style="word-spacing:1em">{@link #CELSIUS}, <u>{@code FAHRENHEIT}</u>.</td></tr> * </table></div> @@ -927,8 +978,9 @@ public final class Units extends Static { * The SI base unit for luminous intensity (cd). * The unlocalized name is “candela”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #LUMEN}, {@link #LUX}.</td></tr> * </table></div> * @@ -940,8 +992,9 @@ public final class Units extends Static { * The SI derived unit for luminous flux (lm). * The unlocalized name is “lumen”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #CANDELA} ⋅ {@link #STERADIAN}</td></tr> * <tr><td>Derived units:</td> <td style="word-spacing:1em">{@link #LUX}.</td></tr> * </table></div> @@ -954,8 +1007,9 @@ public final class Units extends Static { * The SI derived unit for illuminance (lx). * The unlocalized name is “lux”. * - * <div class="note"><p class="simpleTagLabel" style="margin-bottom:0">Related units:</p> - * <table class="compact" summary="Related units" style="margin-left:30px; line-height:1.25"> + * <div class="note"> + * <table class="compact" style="margin-left:30px; line-height:1.25"> + * <caption>Related units</caption> * <tr><td>Components:</td> <td style="word-spacing:0.5em">{@link #LUX} ∕ {@link #SQUARE_METRE}</td></tr> * </table></div> * @@ -1645,12 +1699,8 @@ public final class Units extends Static { * <table class="sis"> * <caption>EPSG codes for units</caption> * <tr> - * <th>Angular units</th> - * <th class="sep">Linear units</th> - * <th class="sep">Temporal units</th> - * <th class="sep">Scale units</th> - * </tr><tr> - * <td><table class="compact" summary="Angular units"> + * <td><table class="compact"> + * <caption>Angular units</caption> * <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr> * <tr><td>9101</td><td>radian</td></tr> * <tr><td>9102</td><td>decimal degree</td></tr> @@ -1664,7 +1714,8 @@ public final class Units extends Static { * <tr><td>9111</td><td>sexagesimal degree-minute</td></tr> * <tr><td>9122</td><td>decimal degree</td></tr> * </table></td> - * <td class="sep"><table class="compact" summary="Linear units"> + * <td class="sep"><table class="compact"> + * <caption>Linear units</caption> * <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr> * <tr><td>1025</td><td>millimetre</td></tr> * <tr><td>1033</td><td>centimetre</td></tr> @@ -1675,12 +1726,14 @@ public final class Units extends Static { * <tr><td>9036</td><td>kilometre</td></tr> * <tr><td>9093</td><td>statute mile</td></tr> * </table></td> - * <td class="sep"><table class="compact" summary="Time units"> + * <td class="sep"><table class="compact"> + * <caption>Time units</caption> * <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr> * <tr><td>1029</td><td>year</td></tr> * <tr><td>1040</td><td>second</td></tr> * </table></td> - * <td class="sep"><table class="compact" summary="Scale units"> + * <td class="sep"><table class="compact"> + * <caption>Scale units</caption> * <tr><td style="width: 40px"><b>Code</b></td><td><b>Unit</b></td></tr> * <tr><td>9201</td><td>unity</td></tr> * <tr><td>9202</td><td>parts per million</td></tr> diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java b/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java index 690a0e8..5c5534b 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java @@ -108,7 +108,8 @@ public interface LenientComparable { * The strictness level is controlled by the second argument, * from stricter to more permissive values: * - * <table class="compact" summary="Description of comparison modes."> + * <table class="compact"> + * <caption>Description of comparison modes</caption> * <tr><td>{@link ComparisonMode#STRICT STRICT}:</td> * <td>All attributes of the compared objects shall be strictly equal.</td></tr> * <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</td> diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java index f482c78..06fde02 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTable.java @@ -257,7 +257,8 @@ public interface TreeTable { * and an instrument containing a reference to the platform on which the instrument is installed. In this example, * nodes 2 and 4 contain a reference to the same {@code Platform} instance, so we have a cyclic graph: * - * <table class="compact" summary="Metadata tree example"> + * <table class="compact"> + * <caption>Metadata tree example</caption> * <tr><th>Node 1:</th><td>{@code }{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultAcquisitionInformation Acquisition information}</td></tr> * <tr><th>Node 2:</th><td>{@code └─}{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultPlatform Platform}</td></tr> * <tr><th>Node 3:</th><td>{@code └─}{@linkplain org.apache.sis.metadata.iso.acquisition.DefaultInstrument Instrument}</td></tr> diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java b/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java index a69c3d5..78398e5 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/logging/MonolineFormatter.java @@ -52,7 +52,8 @@ import static org.apache.sis.internal.util.StandardDateFormat.UTC; * this formatter uses only one line per message instead of two. For example messages formatted by * {@code MonolineFormatter} may look like: * - * <blockquote><table style="color:white; background:black" class="compact" summary="Logging example."> + * <blockquote><table style="color:white; background:black" class="compact"> + * <caption style="color:black">Logging example</caption> * <tr><td><code>00:01</code></td><td style="background:blue"><code>CONFIG</code></td> * <td><code><b>[MyApplication]</b> Read configuration from “my-application/setup.xml”.</code></td></tr> * <tr><td><code>00:03</code></td><td style="background:green"><code>INFO</code></td> diff --git a/pom.xml b/pom.xml index 0197a32..1790ea7 100644 --- a/pom.xml +++ b/pom.xml @@ -863,7 +863,9 @@ <keywords>true</keywords> <!-- Adds HTML meta keyword tags to the generated files. --> <breakiterator>true</breakiterator> <!-- Better boundary detection when determining the end of the first sentence. --> <validateLinks>true</validateLinks> <!-- Validates content of package-list resources. --> + <detectJavaApiLink>false</detectJavaApiLink> <!-- Let us declare link to Java API. --> <links> + <link>https://docs.oracle.com/javase/8/docs/api</link> <link>http://unitsofmeasurement.github.io/unit-api/site/apidocs</link> <link>http://www.geoapi.org/snapshot/pending</link> <link>http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/javadoc</link> @@ -914,7 +916,7 @@ </groups> <!-- Internal packages to hide from javadoc. --> - <excludePackageNames>org.apache.sis.internal:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider:com</excludePackageNames> + <excludePackageNames>org.apache.sis.internal.*:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider</excludePackageNames> <!-- Custom taglets, some of them implemented in Java. --> <tags> diff --git a/src/main/javadoc/sis.css b/src/main/javadoc/sis.css index b9eb105..9323af4 100644 --- a/src/main/javadoc/sis.css +++ b/src/main/javadoc/sis.css @@ -95,6 +95,12 @@ table.sis tr td.sep { * Table without vertical space between rows and a little bit of space between columns. * This table has no border and text is left-aligned. */ +table.compact caption { + margin-top: 12px; + margin-bottom: 12px; + font-weight: bold; +} + table.compact { margin: 6px 0px; width: auto; @@ -112,6 +118,22 @@ table.compact tr td { /* + * Layout two or more elements horizontally. + */ +div.horizontal-flow { + display: flex; + margin-right: 40px; + margin-top: 12px; + margin-bottom: 12px; +} + +div.horizontal-flow > div { + margin-left: 12px; + margin-right: 12px; +} + + +/* * Definition of <div class="note"> * * Note or examples. diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java index 7937f53..6310d20 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Convention.java @@ -267,7 +267,7 @@ public class Convention { * <div class="note"><b>Example:</b> * consider the following netCDF file (simplified): * - * {@preformat netcdf + * {@preformat text * dimensions: * grid_y = 161 ; * grid_x = 126 ; diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java index e4a3038..19a2d83 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java @@ -57,7 +57,8 @@ import org.opengis.metadata.extent.GeographicDescription; * Name of attributes used in the mapping from/to netCDF metadata to ISO 19115 metadata. * The attributes recognized by SIS are listed below: * - * <blockquote><table class="compact" summary="List of all netCDF attributes."> + * <blockquote><table class="compact"> + * <caption>List of all netCDF attributes</caption> * <tr valign="top"><td style="width: 25%"> * {@value #ACCESS_CONSTRAINT}<br> * {@value #ACKNOWLEDGEMENT}<br> diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java index e8a4caf..3b435aa 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java @@ -19,7 +19,7 @@ package org.apache.sis.storage; /** * An {@link Aggregate} with writing capabilities. {@code WritableAggregate} inherits the reading capabilities from its - * parent and adds the capabilities to {@linkplain #add(Resource) add} or {@linplain #remove(Resource) remove} resources. + * parent and adds the capabilities to {@linkplain #add(Resource) add} or {@linkplain #remove(Resource) remove} resources. * * @author Johann Sorel (Geomatys) * @version 1.0