blob: fefab529f35beb5d8a7e8b710c3c3aa6ca69f45c [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>DefaultPrimeMeridian (Apache SIS 1.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-10-05">
<meta name="description" content="declaration: module: org.apache.sis.referencing, package: org.apache.sis.referencing.datum, class: DefaultPrimeMeridian">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.referencing.datum.DefaultPrimeMeridian class">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getInterface()">
<meta name="keywords" content="getGreenwichLongitude()">
<meta name="keywords" content="getAngularUnit()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="computeHashCode()">
<meta name="keywords" content="formatTo()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li><a href="#field-summary">Field</a></li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">org.apache.sis.referencing</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.datum</a></div>
<h1 title="Class DefaultPrimeMeridian" class="title">Class DefaultPrimeMeridian</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance"><a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a>
<div class="inheritance"><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a>
<div class="inheritance">DefaultPrimeMeridian</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formattable.html" title="class or interface in java.util" class="external-link">Formattable</a></code>, <code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/Deprecable.html" title="interface in org.apache.sis.util">Deprecable</a></code>, <code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html" title="class or interface in org.opengis.referencing" class="external-link">Identified­Object</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DefaultPrimeMeridian</span>
<span class="extends-implements">extends <a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">PrimeMeridian</a></span></div>
<div class="block">Defines the origin from which longitude values are determined.
<h2 id="creating-new-prime-meridian-instances-heading">Creating new prime meridian instances</h2>
New instances can be created either directly by specifying all information to a factory method (choices 3
and 4 below), or indirectly by specifying the identifier of an entry in a database (choices 1 and 2 below).
In particular, the <a href="https://epsg.org/">EPSG repository</a> provides definitions for many prime meridians,
and Apache SIS provides convenience shortcuts for some of them.
<p>Choice 1 in the following list is the easiest but most restrictive way to get a prime meridian.
The other choices provide more freedom. Each choice delegates its work to the subsequent items
(in the default configuration), so this list can be seen as <cite>top to bottom</cite> API.</p>
<ol>
<li>Create a <code>Prime­Meridian</code> from one of the static convenience shortcuts listed in
<a href="../CommonCRS.html#primeMeridian()"><code>Common­CRS​.prime­Meridian()</code></a>.</li>
<li>Create a <code>Prime­Meridian</code> from an identifier in a database by invoking
<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/DatumAuthorityFactory.html#createPrimeMeridian(java.lang.String)" title="class or interface in org.opengis.referencing.datum" class="external-link"><code>Datum­Authority­Factory​.create­Prime­Meridian(String)</code></a>.</li>
<li>Create a <code>Prime­Meridian</code> by invoking the <code>Datum­Factory​.create­Prime­Meridian(…)</code> method
(implemented for example by <a href="../factory/GeodeticObjectFactory.html" title="class in org.apache.sis.referencing.factory"><code>Geodetic­Object­Factory</code></a>).</li>
<li>Create a <code>Default­Prime­Meridian</code> by invoking the
<a href="#%3Cinit%3E(java.util.Map,double,javax.measure.Unit)">constructor</a>.</li>
</ol>
<b>Example:</b> the following code gets the Greenwich prime meridian:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">PrimeMeridian pm = CommonCRS.WGS84.primeMeridian();
</code></pre>
</div>
<h2 id="immutability-and-thread-safety-heading">Immutability and thread safety</h2>
This class is immutable and thus thread-safe if the property <em>values</em> (not necessarily the map itself)
given to the constructor are also immutable. Unless otherwise noted in the javadoc, this condition holds if
all components were created using only SIS factories and static constants.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.4</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../CommonCRS.html#primeMeridian()"><code>Common­CRS​.prime­Meridian()</code></a></li>
<li><a href="../factory/GeodeticAuthorityFactory.html#createPrimeMeridian(java.lang.String)"><code>Geodetic­Authority­Factory​.create­Prime­Meridian(String)</code></a></li>
<li><a href="../../../../../../serialized-form.html#org.apache.sis.referencing.datum.DefaultPrimeMeridian">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-AbstractIdentifiedObject">Fields inherited from class&nbsp;<a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></h3>
<code><a href="../AbstractIdentifiedObject.html#DEPRECATED_KEY">DEPRECATED_KEY</a>, <a href="../AbstractIdentifiedObject.html#LOCALE_KEY">LOCALE_KEY</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-IdentifiedObject">Fields inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html" title="class or interface in org.opengis.referencing" class="external-link">IdentifiedObject</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#ALIAS_KEY" title="class or interface in org.opengis.referencing" class="external-link">ALIAS_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#IDENTIFIERS_KEY" title="class or interface in org.opengis.referencing" class="external-link">IDENTIFIERS_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#NAME_KEY" title="class or interface in org.opengis.referencing" class="external-link">NAME_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#REMARKS_KEY" title="class or interface in org.opengis.referencing" class="external-link">REMARKS_KEY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>&nbsp;</code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.util.Map,double,javax.measure.Unit)" class="member-name-link">Default­Prime­Meridian</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>?&gt;&nbsp;properties,
double&nbsp;greenwich­Longitude,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;&nbsp;angular­Unit)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a prime meridian from the given properties.</div>
</div>
<div class="col-first odd-row-color"><code>protected </code></div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.opengis.referencing.datum.PrimeMeridian)" class="member-name-link">Default­Prime­Meridian</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a>&nbsp;meridian)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a new prime meridian with the same values than the specified one.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">Default­Prime­Meridian</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#castOrCopy(org.opengis.referencing.datum.PrimeMeridian)" class="member-name-link">cast­Or­Copy</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a>&nbsp;object)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns a SIS prime meridian implementation with the same values than the given arbitrary implementation.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#computeHashCode()" class="member-name-link">compute­Hash­Code</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Invoked by <code>hash­Code()</code> for computing the hash code when first needed.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">Comparison­Mode</a>&nbsp;mode)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares this prime meridian with the specified object for equality.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#formatTo(org.apache.sis.io.wkt.Formatter)" class="member-name-link">format­To</a><wbr>(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Formats this prime meridian as a <cite>Well Known Text</cite> <code>Prime­Meridian[…]</code> element.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a><wbr>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAngularUnit()" class="member-name-link">get­Angular­Unit</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the angular unit of the Greenwich longitude.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGreenwichLongitude()" class="member-name-link">get­Greenwich­Longitude</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Longitude of the prime meridian measured from the Greenwich meridian, positive eastward.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGreenwichLongitude(javax.measure.Unit)" class="member-name-link">get­Greenwich­Longitude</a><wbr>(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;&nbsp;unit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the longitude value relative to the Greenwich Meridian, expressed in the specified units.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><wbr>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInterface()" class="member-name-link">get­Interface</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the GeoAPI interface implemented by this class.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-AbstractIdentifiedObject">Methods inherited from class&nbsp;<a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">AbstractIdentifiedObject</a></h3>
<code><a href="../AbstractIdentifiedObject.html#castOrCopy(org.opengis.referencing.IdentifiedObject)">cast­Or­Copy</a>, <a href="../AbstractIdentifiedObject.html#equals(java.lang.Object)">equals</a>, <a href="../AbstractIdentifiedObject.html#formatTo(java.util.Formatter,int,int,int)">format­To</a>, <a href="../AbstractIdentifiedObject.html#getAlias()">get­Alias</a>, <a href="../AbstractIdentifiedObject.html#getDescription()">get­Description</a>, <a href="../AbstractIdentifiedObject.html#getDomains()">get­Domains</a>, <a href="../AbstractIdentifiedObject.html#getIdentifiers()">get­Identifiers</a>, <a href="../AbstractIdentifiedObject.html#getName()">get­Name</a>, <a href="../AbstractIdentifiedObject.html#getRemarks()">get­Remarks</a>, <a href="../AbstractIdentifiedObject.html#hashCode()">hash­Code</a>, <a href="../AbstractIdentifiedObject.html#isDeprecated()">is­Deprecated</a>, <a href="../AbstractIdentifiedObject.html#isHeuristicMatchForName(java.lang.String)">is­Heuristic­Match­For­Name</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-FormattableObject">Methods inherited from class&nbsp;<a href="../../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></h3>
<code><a href="../../io/wkt/FormattableObject.html#print()">print</a>, <a href="../../io/wkt/FormattableObject.html#toString()">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">to­String</a>, <a href="../../io/wkt/FormattableObject.html#toWKT()">to­WKT</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-IdentifiedObject">Methods inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html" title="class or interface in org.opengis.referencing" class="external-link">IdentifiedObject</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#getAlias()" title="class or interface in org.opengis.referencing" class="external-link">get­Alias</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#getIdentifiers()" title="class or interface in org.opengis.referencing" class="external-link">get­Identifiers</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#getName()" title="class or interface in org.opengis.referencing" class="external-link">get­Name</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#getRemarks()" title="class or interface in org.opengis.referencing" class="external-link">get­Remarks</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#toWKT()" title="class or interface in org.opengis.referencing" class="external-link">to­WKT</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.util.Map,double,javax.measure.Unit)">
<h3>DefaultPrimeMeridian</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DefaultPrimeMeridian</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr>?&gt;&nbsp;properties,
double&nbsp;greenwichLongitude,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;&nbsp;angularUnit)</span></div>
<div class="block">Creates a prime meridian from the given properties. The properties map is given unchanged to the
<a href="../AbstractIdentifiedObject.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>.
The following table is a reminder of main (not all) properties:
<table class="sis">
<caption>Recognized properties (non exhaustive list)</caption>
<tr>
<th>Property name</th>
<th>Value type</th>
<th>Returned by</th>
</tr><tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#NAME_KEY" title="class or interface in org.opengis.referencing" class="external-link">"name"</a></td>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link"><code>ReferenceIdentifier</code></a> or <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link"><code>String</code></a></td>
<td><a href="../AbstractIdentifiedObject.html#getName()"><code>AbstractIdentifiedObject.getName()</code></a></td>
</tr><tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#ALIAS_KEY" title="class or interface in org.opengis.referencing" class="external-link">"alias"</a></td>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link"><code>GenericName</code></a> or <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link"><code>Char­Sequence</code></a> (optionally as array)</td>
<td><a href="../AbstractIdentifiedObject.html#getAlias()"><code>AbstractIdentifiedObject.getAlias()</code></a></td>
</tr><tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#IDENTIFIERS_KEY" title="class or interface in org.opengis.referencing" class="external-link">"identifiers"</a></td>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link"><code>ReferenceIdentifier</code></a> (optionally as array)</td>
<td><a href="../AbstractIdentifiedObject.html#getIdentifiers()"><code>AbstractIdentifiedObject.getIdentifiers()</code></a></td>
</tr><tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/IdentifiedObject.html#REMARKS_KEY" title="class or interface in org.opengis.referencing" class="external-link">"remarks"</a></td>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link"><code>InternationalString</code></a> or <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link"><code>String</code></a></td>
<td><a href="../AbstractIdentifiedObject.html#getRemarks()"><code>AbstractIdentifiedObject.getRemarks()</code></a></td>
</tr>
</table></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>properties</code> - the properties to be given to the identified object.</dd>
<dd><code>greenwich­Longitude</code> - the longitude value relative to the Greenwich Meridian.</dd>
<dd><code>angular­Unit</code> - the angular unit of the longitude.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../factory/GeodeticObjectFactory.html#createPrimeMeridian(java.util.Map,double,javax.measure.Unit)"><code>Geodetic­Object­Factory​.create­Prime­Meridian(Map, double, Unit)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.referencing.datum.PrimeMeridian)">
<h3>DefaultPrimeMeridian</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">DefaultPrimeMeridian</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">PrimeMeridian</a>&nbsp;meridian)</span></div>
<div class="block">Creates a new prime meridian with the same values than the specified one.
This copy constructor provides a way to convert an arbitrary implementation into a SIS one
or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API.
<p>This constructor performs a shallow copy, i.e. the properties are not cloned.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>meridian</code> - the prime meridian to copy.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#castOrCopy(org.opengis.referencing.datum.PrimeMeridian)"><code>cast­Or­Copy(Prime­Meridian)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="castOrCopy(org.opengis.referencing.datum.PrimeMeridian)">
<h3>castOrCopy</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="DefaultPrimeMeridian.html" title="class in org.apache.sis.referencing.datum">DefaultPrimeMeridian</a></span>&nbsp;<span class="element-name">castOrCopy</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">PrimeMeridian</a>&nbsp;object)</span></div>
<div class="block">Returns a SIS prime meridian implementation with the same values than the given arbitrary implementation.
If the given object is <code>null</code>, then this method returns <code>null</code>.
Otherwise if the given object is already a SIS implementation, then the given object is returned unchanged.
Otherwise a new SIS implementation is created and initialized to the attribute values of the given object.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt>Returns:</dt>
<dd>a SIS implementation containing the values of the given object (may be the
given object itself), or <code>null</code> if the argument was null.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInterface()">
<h3>getInterface</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">PrimeMeridian</a>&gt;</span>&nbsp;<span class="element-name">getInterface</span>()</div>
<div class="block">Returns the GeoAPI interface implemented by this class.
The SIS implementation returns <code>Prime­Meridian​.class</code>.
<h4 id="note-for-implementers-heading">Note for implementers</h4>
Subclasses usually do not need to override this method since GeoAPI does not define <code>Prime­Meridian</code>
sub-interface. Overriding possibility is left mostly for implementers who wish to extend GeoAPI with their
own set of interfaces.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../AbstractIdentifiedObject.html#getInterface()">get­Interface</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt>Returns:</dt>
<dd><code>Prime­Meridian​.class</code> or a user-defined sub-interface.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getGreenwichLongitude()">
<h3>getGreenwichLongitude</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getGreenwichLongitude</span>()</div>
<div class="block">Longitude of the prime meridian measured from the Greenwich meridian, positive eastward.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html#getGreenwichLongitude()" title="class or interface in org.opengis.referencing.datum" class="external-link">get­Greenwich­Longitude</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a></code></dd>
<dt>Returns:</dt>
<dd>the prime meridian Greenwich longitude, in <a href="#getAngularUnit()">angular unit</a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getGreenwichLongitude(javax.measure.Unit)">
<h3>getGreenwichLongitude</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getGreenwichLongitude</span><wbr><span class="parameters">(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;&nbsp;unit)</span></div>
<div class="block">Returns the longitude value relative to the Greenwich Meridian, expressed in the specified units.
This convenience method makes it easier to obtain longitude in decimal degrees using the following
code, regardless of the underlying angular units of this prime meridian:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">double longitudeInDegrees = primeMeridian.getGreenwichLongitude(Units.DEGREE);
</code></pre>
</div>
</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>unit</code> - the unit in which to express longitude.</dd>
<dt>Returns:</dt>
<dd>the Greenwich longitude in the given units.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAngularUnit()">
<h3>getAngularUnit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/quantity/Angle.html" title="class or interface in javax.measure.quantity" class="external-link">Angle</a>&gt;</span>&nbsp;<span class="element-name">getAngularUnit</span>()</div>
<div class="block">Returns the angular unit of the Greenwich longitude.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html#getAngularUnit()" title="class or interface in org.opengis.referencing.datum" class="external-link">get­Angular­Unit</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PrimeMeridian.html" title="class or interface in org.opengis.referencing.datum" class="external-link">Prime­Meridian</a></code></dd>
<dt>Returns:</dt>
<dd>the angular unit of the <a href="#getGreenwichLongitude()">Greenwich longitude</a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</span></div>
<div class="block">Compares this prime meridian with the specified object for equality.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="../AbstractIdentifiedObject.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dd><code>mode</code> - <a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>STRICT</code></a> for performing a strict comparison, or
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#IGNORE_METADATA"><code>IGNORE_METADATA</code></a> for comparing only properties
relevant to coordinate transformations.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../AbstractIdentifiedObject.html#computeHashCode()"><code>Abstract­Identified­Object​.compute­Hash­Code()</code></a></li>
<li><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/Utilities.html#deepEquals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)"><code>Utilities​.deep­Equals(Object, Object, Comparison­Mode)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="computeHashCode()">
<h3>computeHashCode</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">computeHashCode</span>()</div>
<div class="block">Invoked by <code>hash­Code()</code> for computing the hash code when first needed.
See <a href="../AbstractIdentifiedObject.html#computeHashCode()"><code>Abstract­Identified­Object​.compute­Hash­Code()</code></a>
for more information.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../AbstractIdentifiedObject.html#computeHashCode()">compute­Hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt>Returns:</dt>
<dd>the hash code value. This value may change in any future Apache SIS version.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="formatTo(org.apache.sis.io.wkt.Formatter)">
<h3>formatTo</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">formatTo</span><wbr><span class="parameters">(<a href="../../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</span></div>
<div class="block">Formats this prime meridian as a <cite>Well Known Text</cite> <code>Prime­Meridian[…]</code> element.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../AbstractIdentifiedObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">Abstract­Identified­Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>formatter</code> - the formatter where to format the inner content of this WKT element.</dd>
<dt>Returns:</dt>
<dd><code>"Prime­Meridian"</code> (WKT 2) or <code>"Prime­M"</code> (WKT 1).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html#53">WKT 2 specification §8.2.2</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>