<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>Convention (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.io.wkt.Convention class">
<meta name="keywords" content="values()">
<meta name="keywords" content="valueOf()">
<meta name="keywords" content="majorVersion()">
<meta name="keywords" content="isSimplified()">
<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="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Convention (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":9,"i3":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Convention.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.io.wkt</a></div>
<h2 title="Enum Convention" class="title">Enum Convention</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang" class="externalLink">Enum</a>&lt;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>&gt;</li>
<li>
<ul class="inheritance">
<li>Convention</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>&gt;</code></dd>
</dl>
<hr>
<pre>public enum <span class="typeNameLabel">Convention</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang" class="externalLink">Enum</a>&lt;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>&gt;</pre>
<div class="block">The convention to use for WKT formatting.
 This enumeration specifies whether to use the <cite>Well Known Text</cite> format defined by ISO 19162
 (also known as “WKT 2”), or whether to use the format previously defined in OGC 01-009 (referenced as “WKT 1”).

 <div class="section">WKT 1 variants</div>
 The WKT 2 format should be parsed and formatted consistently by all software products.
 But the WKT 1 format has been interpreted differently by various implementers.
 Apache SIS can adapt itself to different WKT variants, sometime automatically. But some aspects can not be guessed.
 One noticeable source of confusion is the unit of measurement of <code>PRIMEM[…]</code> and <code>PARAMETER[…]</code> elements:

 <ul>
   <li>The unit of the Prime Meridian shall be the angular unit of the enclosing Geographic CRS
       according the OGC 01-009 (<cite>Coordinate transformation services</cite>) specification.</li>
   <li>An older specification — <cite>Simple Features</cite> — was unclear on this matter and has been
       interpreted by many software products as fixing the unit to decimal degrees.</li>
   <li>Some software products support only (<var>longitude</var>, <var>latitude</var>) axis order
       and ignore completely all <code>AXIS[…]</code> elements in the WKT.</li>
 </ul>

 Despite the first interpretation being specified by both OGC 01-009 and ISO 19162 standards, the second
 interpretation appears to be in wide use for WKT 1. Apache SIS uses the standard interpretation by default,
 but the <a href="#WKT1_COMMON_UNITS"><code>WKT1_COMMON_UNITS</code></a> enumeration allows parsing and formatting using the older interpretation.
 The <a href="#WKT1_IGNORE_AXES"><code>WKT1_IGNORE_AXES</code></a> enumeration mimics the most minimalist WKT 1 parsers,
 but should be avoided when not imposed by compatibility reasons.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.4</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="WKTFormat.html#getConvention()"><code>WKTFormat​.get­Convention()</code></a>, 
<a href="WKTFormat.html#setConvention(org.apache.sis.io.wkt.Convention)"><code>WKTFormat​.set­Convention(Convention)</code></a></dd>

<p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.summary">
<!--   -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum Constant</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#INTERNAL">INTERNAL</a></span></code></th>
<td class="colLast">
<div class="block">A special convention for formatting objects as stored internally by Apache SIS.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#WKT1">WKT1</a></span></code></th>
<td class="colLast">
<div class="block">The OGC 01-009 format, also known as “WKT 1”.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#WKT1_COMMON_UNITS">WKT1_COMMON_UNITS</a></span></code></th>
<td class="colLast">
<div class="block">The <cite>Simple Feature</cite> format, also known as “WKT 1”.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#WKT1_IGNORE_AXES">WKT1_IGNORE_AXES</a></span></code></th>
<td class="colLast">
<div class="block">The <cite>Simple Feature</cite> format without parsing of axis elements.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#WKT2">WKT2</a></span></code></th>
<td class="colLast">
<div class="block">The ISO 19162 format, also known as “WKT 2”.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><code><span class="memberNameLink"><a href="#WKT2_SIMPLIFIED">WKT2_SIMPLIFIED</a></span></code></th>
<td class="colLast">
<div class="block">The ISO 19162 format with omission of some optional elements.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSimplified()">isSimplified</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if this convention is one of the simplified variants of WKT.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#majorVersion()">majorVersion</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the major version of the Well Known Text represented by this convention.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Enum">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang" class="externalLink">Enum</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo(E)" title="class or interface in java.lang" class="externalLink">compare­To</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass()" title="class or interface in java.lang" class="externalLink">get­Declaring­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name()" title="class or interface in java.lang" class="externalLink">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal()" title="class or interface in java.lang" class="externalLink">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">to­String</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="externalLink">value­Of</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="enum.constant.detail">
<!--   -->
</a>
<h3>Enum Constant Detail</h3>
<a id="WKT2">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WKT2</h4>
<pre>public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> WKT2</pre>
<div class="block">The ISO 19162 format, also known as “WKT 2”.
 This convention follows the ISO recommendations.

 <p>Unless otherwise specified by <a href="WKTFormat.html#setNameAuthority(org.opengis.metadata.citation.Citation)"><code>WKTFormat​.set­Name­Authority(Citation)</code></a>, projections
 and parameters formatted with this convention will use the <a href="../../metadata/iso/citation/Citations.html#EPSG">EPSG</a>
 names when available.</p>

 <p>This is the default convention used by <a href="FormattableObject.html#toWKT()"><code>Formattable­Object​.to­WKT()</code></a>
 and for new <a href="WKTFormat.html" title="class in org.apache.sis.io.wkt"><code>WKTFormat</code></a> instances.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html">WKT 2 specification</a></dd>
</dl>
</li>
</ul>
<a id="WKT2_SIMPLIFIED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WKT2_SIMPLIFIED</h4>
<pre>public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> WKT2_SIMPLIFIED</pre>
<div class="block">The ISO 19162 format with omission of some optional elements. This convention is identical
 to the <a href="#WKT2"><code>WKT2</code></a> convention except for the following aspects:

 <ul>
   <li>By <a href="KeywordStyle.html#DEFAULT">default</a> long keywords are used instead of short ones
       (e.g. <code>"Geodetic­CRS"</code> instead of <code>"Geod­CRS"</code>) except for the <code>"Unit"</code> keyword,
       because they match the class or interface names.</li>
   <li><code>Prime­Meridian</code> element omitted if the meridian is Greenwich.</li>
   <li><code>Axis</code> element omits the <code>Order</code> sub-element.</li>
   <li><code>Unit</code> elements are less verbose:<ul>
     <li><code>Ellipsoid</code> and <code>Vertical­Extent</code> elements omit the <code>Length­Unit</code> sub-element
         if that unit is <a href="../../measure/Units.html#METRE"><code>Units​.METRE</code></a>.</li>
     <li><code>Parameter</code> elements omit the <code>Length­Unit</code> sub-element
         if that unit is the same than the unit of the <code>Projected­CRS</code> axes.</li>
     <li><code>Parameter</code> and <code>Prime­Meridian</code> elements omit the <code>Angle­Unit</code> sub-element
         if that unit is the same than the unit of the <code>Geodetic­CRS</code> axes.</li>
     <li>Axes unit is declared only once after the axes instead than repeated for each axis
         if the unit is the same for all axes.</li>
     <li><code>Angle­Unit</code>, <code>Length­Unit</code>, <code>Scale­Unit</code>, <code>Parametric­Unit</code>
         and <code>Time­Unit</code> are formatted as plain <code>Unit</code> elements.</li>
     </ul></li>
   <li><code>Id</code> is formatted only for the root element
       (omit parameters and operation methods <code>Id</code>).</li>
 </ul>

 Those modifications are allowed by the ISO 19162 standard, so the WKT is still valid.

 <p>This is the default convention used by <a href="FormattableObject.html#toString()"><code>Formattable­Object​.to­String()</code></a>.</p></div>
</li>
</ul>
<a id="WKT1">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WKT1</h4>
<pre>public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> WKT1</pre>
<div class="block">The OGC 01-009 format, also known as “WKT 1”.
 A definition for this format is shown in Extended Backus Naur Form (EBNF)
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">on GeoAPI</a>.

 <p>Unless otherwise specified by <a href="WKTFormat.html#setNameAuthority(org.opengis.metadata.citation.Citation)"><code>WKTFormat​.set­Name­Authority(Citation)</code></a>, projections
 and parameters formatted with this convention will use the <a href="../../metadata/iso/citation/Citations.html#OGC">OGC</a>
 names when available.</p>

 <div class="section">Differences compared to WKT 2</div>
 WKT 1 and WKT 2 differ in their keywords and syntax, but also in more subtle ways regarding axis names,
 parameter and code list values. For example in  <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/GeocentricCRS.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink"><code>Geocentric­CRS</code></a>, WKT 1 uses a legacy set of Cartesian axes
 which were defined in OGC 01-009. Those axes use the <var>Other</var>, <var>Easting</var> and <var>Northing</var>
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/AxisDirection.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">axis directions</a> instead than the geocentric ones.
 For more uniform handling of CRS objects in client code, SIS parser replaces some WKT 1 conventions by
 the ISO ones when possible.

 <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>
   <tr><td>Geocentric X</td> <td>Other</td>      <td>Toward prime meridian</td></tr>
   <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>
 </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>
   <tr><td>Geographic</td> <td>Lon, Lat</td>                                 <td>λ, φ</td></tr>
   <tr><td>Vertical</td>   <td><var>H</var></td>                             <td><var>H</var> or <var>h</var></td></tr>
   <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>
 </div></div></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">Legacy WKT 1</a></dd>
</dl>
</li>
</ul>
<a id="WKT1_COMMON_UNITS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WKT1_COMMON_UNITS</h4>
<pre>public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> WKT1_COMMON_UNITS</pre>
<div class="block">The <cite>Simple Feature</cite> format, also known as “WKT 1”.
 <cite>Simple Feature</cite> is anterior to OGC 01-009 and defines the same format,
 but was unclear about the unit of measurement for prime meridians and projection parameters.
 Consequently many implementations interpreted those angular units as fixed to degrees instead
 than being context-dependent.

 <p>This convention is identical to <a href="#WKT1"><code>WKT1</code></a> except for the following aspects:</p>
 <ul>
   <li>The angular units of <code>PRIMEM</code> and <code>PARAMETER</code> elements are always degrees,
       no matter the units of the enclosing <code>GEOGCS</code> element.</li>
   <li>Unit names use American spelling instead than the international ones
       (e.g. <cite>"meter"</cite> instead than <cite>"metre"</cite>).</li>
 </ul></div>
</li>
</ul>
<a id="WKT1_IGNORE_AXES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WKT1_IGNORE_AXES</h4>
<pre>public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> WKT1_IGNORE_AXES</pre>
<div class="block">The <cite>Simple Feature</cite> format without parsing of axis elements.
 This convention is identical to <a href="#WKT1_COMMON_UNITS"><code>WKT1_COMMON_UNITS</code></a> except that all <code>AXIS[…]</code> elements are ignored.
 Since the WKT 1 specification said that the default axis order shall be (<var>x</var>,<var>y</var>) or
 (<var>longitude</var>, <var>latitude</var>), ignoring <code>AXIS[…]</code> elements is equivalent to forcing
 the coordinate systems to that default order.

 <p>Note that <code>AXIS[…]</code> elements still need to be well formed even when parsing a text with this convention.
 Malformed axis elements will continue to cause a <a href="https://docs.oracle.com/javase/8/docs/api/java/text/ParseException.html?is-external=true" title="class or interface in java.text" class="externalLink"><code>Parse­Exception</code></a> despite their content being ignored.</p>

 <p>This convention may be useful for compatibility with some other software products that do not handle axis order correctly.
 But except when imposed by such compatibility reasons, this convention should be avoided as much as possible.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.6</dd>
</dl>
</li>
</ul>
<a id="INTERNAL">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INTERNAL</h4>
<pre><a href="../../util/Debug.html" title="annotation in org.apache.sis.util">@Debug</a>
public static final&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a> INTERNAL</pre>
<div class="block">A special convention for formatting objects as stored internally by Apache SIS.
 The result is similar to the one produced using the <a href="#WKT2_SIMPLIFIED"><code>WKT2_SIMPLIFIED</code></a> convention,
 with the following differences:

 <ul>
   <li>All quoted texts (not only the remarks) preserve non-ASCII characters.</li>
   <li>Map projections are shown as SIS stores them internally, i.e. with the separation between
       linear and non-linear steps, rather than as a single operation.</li>
   <li><code>Parameter</code> elements omit the unit of measurement if that unit is equal to the default unit
       (as declared in the parameter descriptor).</li>
   <li><code>Compound­CRS</code> elements show nested compound CRS if any (the structure is not flattened).</li>
   <li><code>Id</code> elements are formatted for child elements in addition to the root one.</li>
   <li><code>Id</code> element omits the <code>URI</code> sub-element if the later is derived by Apache SIS
       from the <code>Id</code> properties.</li>
   <li><code>Remarks</code> element is formatted for all
       <a href="../../referencing/AbstractIdentifiedObject.html" title="class in org.apache.sis.referencing">identified objects</a>,
       not only CRS or coordinate operations.</li>
   <li>Additional attributes not defined by ISO 19162 may be formatted:
     <ul>
       <li><code>Image­Datum</code> includes the <a href="../../referencing/datum/DefaultImageDatum.html#getPixelInCell()">Pixel in Cell</a> code.</li>
       <li><code>Temporal­Datum</code> includes the <a href="../../referencing/datum/DefaultTemporalDatum.html#getOrigin()">Origin</a> date.</li>
     </ul>
   </li>
 </ul>

 This convention is used only for debugging purpose.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../referencing/operation/projection/NormalizedProjection.html#getParameterValues()"><code>Normalized­Projection​.get­Parameter­Values()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (Convention c : Convention.values())
&nbsp;   System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="Convention.html" title="enum in org.apache.sis.io.wkt">Convention</a>&nbsp;valueOf&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type.  (Extraneous whitespace characters are 
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if this enum type has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Null­Pointer­Exception</a></code> - if the argument is null</dd>
</dl>
</li>
</ul>
<a id="majorVersion()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>majorVersion</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;majorVersion()</pre>
<div class="block">Returns the major version of the Well Known Text represented by this convention.
 In current Apache SIS implementation, this method can return only 1 or 2.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>1 if this convention is one of the WKT 1 variants, or 2 otherwise.</dd>
</dl>
</li>
</ul>
<a id="isSimplified()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isSimplified</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSimplified()</pre>
<div class="block">Returns <code>true</code> if this convention is one of the simplified variants of WKT.
 The simplifications are documented in the <a href="#WKT2_SIMPLIFIED"><code>WKT2_SIMPLIFIED</code></a> javadoc.

 <p>This methods consider version 1 of WKT as a “simplified” convention,
 since this version was indeed simpler than version 2.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> it this convention uses a simplified variant of WKT.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Convention.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
