blob: e02574578dc5bb3d162cf49b06b74fa8938a3daf [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>Transliterator (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.Transliterator class">
<meta name="keywords" content="DEFAULT">
<meta name="keywords" content="IDENTITY">
<meta name="keywords" content="filter()">
<meta name="keywords" content="toShortAxisName()">
<meta name="keywords" content="toLongAxisName()">
<meta name="keywords" content="toLatinAbbreviation()">
<meta name="keywords" content="toUnicodeAbbreviation()">
<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="Transliterator (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All 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/Transliterator.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="#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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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="Class Transliterator" class="title">Class Transliterator</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>Transliterator</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></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">Transliterator</span>
extends <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>
implements <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></pre>
<div class="block">Controls the replacement of characters, abbreviations and names between the objects in memory and their
WKT representations. The mapping is not necessarily one-to-one, for example the replacement of a Unicode
character by an ASCII character may not be reversible. The mapping may also depend on the element to transliterate,
for example some Greek letters like φ, λ and θ are mapped differently when they are used as mathematical symbols in
axis abbreviations rather than texts. Some mappings may also apply to words instead than characters, when the word
come from a controlled vocabulary.
<div class="section">Permitted characters in Well Known Text</div>
The ISO 19162 standard restricts <cite>Well Known Text</cite> to the following characters in all
<a href="Formatter.html#append(java.lang.String,org.apache.sis.io.wkt.ElementKind)">quoted texts</a> except in <code>REMARKS["…"]</code> elements:
<blockquote><pre>A-Z a-z 0-9 _ [ ] ( ) { } &lt; = &gt; . , : ; + - (space) % &amp; ' " * ^ / \ ? | °</pre></blockquote>
They are ASCII codes 32 to 125 inclusive except ! (33), # (35), $ (36), @ (64) and ` (96),
plus the addition of ° (176) despite being formally outside the ASCII character set.
The only exception to this rules is for the text inside <code>REMARKS["…"]</code> elements,
where all Unicode characters are allowed.
<p>The <a href="#filter(java.lang.String)"><code>filter(String)</code></a> method is responsible for replacing or removing characters outside the above-cited
set of permitted characters.</p>
<div class="section">Application to mathematical symbols</div>
For Greek letters used as mathematical symbols in
<a href="../../referencing/cs/DefaultCoordinateSystemAxis.html#getAbbreviation()">coordinate axis abbreviations</a>,
the ISO 19162 standard recommends:
<ul>
<li>(<var>P</var>, <var>L</var>) as the transliteration of the Greek letters (<var>phi</var>, <var>lambda</var>), or
(<var>B</var>, <var>L</var>) from German “Breite” and “Länge” used in academic texts worldwide, or
(<var>lat</var>, <var>long</var>).</li>
<li>(<var>U</var>) for (θ) in <a href="../../referencing/cs/DefaultPolarCS.html" title="class in org.apache.sis.referencing.cs">polar coordinate systems</a>.</li>
<li>(<var>U</var>, <var>V</var>) for (Ω, θ) in
<a href="../../referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">spherical coordinate systems</a>.</li>
</ul>
<div class="note"><b>Note:</b> at least two conventions exist about the meaning of (<var>r</var>, θ, φ) in a
spherical coordinate system (see <a href="http://en.wikipedia.org/wiki/Spherical_coordinate_system">Wikipedia</a>
or <a href="http://mathworld.wolfram.com/SphericalCoordinates.html">MathWorld</a> for more information).
When using the <em>mathematics</em> convention, θ is the azimuthal angle in the
equatorial plane (roughly equivalent to longitude λ) while φ is an angle measured from a pole (also known as
colatitude). But when using the <em>physics</em> convention, the meaning of θ and φ are interchanged.
Furthermore some other conventions may measure the φ angle from the equatorial plane – like latitude – instead
than from the pole. This class does not need to care about the meaning of those angles. The only recommendation
is that φ is mapped to <var>U</var> and θ is mapped to <var>V</var>, regardless of their meaning.</div>
The <a href="#toLatinAbbreviation(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Latin­Abbreviation(…)</code></a> and <a href="#toUnicodeAbbreviation(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Unicode­Abbreviation(…)</code></a>
methods are responsible for doing the transliteration at formatting and parsing time, respectively.
<div class="section">Replacement of names</div>
The longitude and latitude axis names are explicitly fixed by ISO 19111:2007 to <cite>"Geodetic longitude"</cite>
and <cite>"Geodetic latitude"</cite>. But ISO 19162:2015 §7.5.3(ii) said that the <cite>"Geodetic"</cite> part in
those names shall be omitted at WKT formatting time.
The <a href="#toShortAxisName(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Short­Axis­Name(…)</code></a> and <a href="#toLongAxisName(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Long­Axis­Name(…)</code></a>
methods are responsible for doing the transliteration at formatting and parsing time, respectively.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../util/Characters.html#isValidWKT(int)"><code>Characters​.is­Valid­WKT(int)</code></a>,
<a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html#39">WKT 2 specification §7.5.3</a>,
<a href="../../../../../serialized-form.html#org.apache.sis.io.wkt.Transliterator">Serialized Form</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">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT">DEFAULT</a></span></code></th>
<td class="colLast">
<div class="block">A transliterator compliant with ISO 19162 on a <cite>"best effort"</cite> basis.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#IDENTITY">IDENTITY</a></span></code></th>
<td class="colLast">
<div class="block">A transliterator that does not perform any replacement.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Transliterator</a></span>()</code></th>
<td class="colLast">
<div class="block">For sub-class constructors.</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="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><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(java.lang.String)">filter</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;text)</code></th>
<td class="colLast">
<div class="block">Returns a character sequences with the non-ASCII characters replaced or removed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toLatinAbbreviation(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toLatinAbbreviation</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">CoordinateSystem</a>&nbsp;cs,
<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">AxisDirection</a>&nbsp;direction,
<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;abbreviation)</code></th>
<td class="colLast">
<div class="block">Returns the axis abbreviation to format in WKT, or <code>null</code> if none.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toLongAxisName(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toLongAxisName</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;csType,
<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">AxisDirection</a>&nbsp;direction,
<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 axis name to use in memory for an axis parsed from a WKT.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toShortAxisName(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toShortAxisName</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">CoordinateSystem</a>&nbsp;cs,
<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">AxisDirection</a>&nbsp;direction,
<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 axis name to format in WKT, or <code>null</code> if none.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toUnicodeAbbreviation(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">toUnicodeAbbreviation</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;csType,
<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">AxisDirection</a>&nbsp;direction,
<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;abbreviation)</code></th>
<td class="colLast">
<div class="block">Returns the axis abbreviation to use in memory for an axis parsed from a WKT.</div>
</td>
</tr>
</table>
<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#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.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/Object.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/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#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/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#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/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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT</h4>
<pre>public static final&nbsp;<a href="Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a> DEFAULT</pre>
<div class="block">A transliterator compliant with ISO 19162 on a <cite>"best effort"</cite> basis.
All methods perform the default implementation documented in this <code>Transliterator</code> class.</div>
</li>
</ul>
<a id="IDENTITY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>IDENTITY</h4>
<pre>public static final&nbsp;<a href="Transliterator.html" title="class in org.apache.sis.io.wkt">Transliterator</a> IDENTITY</pre>
<div class="block">A transliterator that does not perform any replacement.
All methods let names, abbreviations and Unicode characters pass-through unchanged.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Transliterator</h4>
<pre>protected&nbsp;Transliterator()</pre>
<div class="block">For sub-class constructors.</div>
</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="filter(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre class="methodSignature">public&nbsp;<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;filter&#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;text)</pre>
<div class="block">Returns a character sequences with the non-ASCII characters replaced or removed.
For example this method replaces “ç” by “c” in “Triangulation fran<b>ç</b>aise”.
This operation is usually not reversible; there is no converse method.
<p>Implementations shall not care about <a href="Symbols.html#getOpeningQuote(int)">opening</a> or
<a href="Symbols.html#getClosingQuote(int)">closing quotes</a>. The quotes will be doubled by the
caller if needed after this method has been invoked.</p>
<p>The default implementation invokes <a href="../../util/CharSequences.html#toASCII(java.lang.CharSequence)"><code>Char­Sequences​.to­ASCII(Char­Sequence)</code></a>,
replaces line feed and tabulations by single spaces, then remove control characters.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>text</code> - the text to format without non-ASCII characters.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the text to write in <cite>Well Known Text</cite>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../util/Characters.html#isValidWKT(int)"><code>Characters​.is­Valid­WKT(int)</code></a></dd>
</dl>
</li>
</ul>
<a id="toShortAxisName(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toShortAxisName</h4>
<pre class="methodSignature">public&nbsp;<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;toShortAxisName&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">CoordinateSystem</a>&nbsp;cs,
<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">AxisDirection</a>&nbsp;direction,
<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 axis name to format in WKT, or <code>null</code> if none. This method performs the mapping
between the names of axes in memory (designated by <cite>"long axis names"</cite> in this class)
and the names to format in the WKT (designated by <cite>"short axis names"</cite>).
<div class="note"><b>Note:</b>
the <cite>"long axis names"</cite> are defined by ISO 19111 — <cite>referencing by coordinates</cite>
while the <cite>"short axis names"</cite> are defined by ISO 19162 — <cite>Well-known text representation
of coordinate reference systems</cite>.</div>
This method can return <code>null</code> if the name should be omitted.
ISO 19162 recommends to omit the axis name when it is already given through the mandatory axis direction.
<p>The default implementation performs at least the following replacements:</p>
<ul>
<li>Replace <cite>“Geodetic latitude”</cite> (case insensitive) by <cite>“Latitude”</cite>.</li>
<li>Replace <cite>“Geodetic longitude”</cite> (case insensitive) by <cite>“Longitude”</cite>.</li>
<li>Return <code>null</code> if the axis direction is <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/AxisDirection.html?is-external=true#GEOCENTRIC_X" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>Axis­Direction​.GEOCENTRIC_X</code></a>, <code>GEOCENTRIC_Y</code>
or <code>GEOCENTRIC_Z</code> and the name is the same than the axis direction (ignoring case).</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cs</code> - the enclosing coordinate system, or <code>null</code> if unknown.</dd>
<dd><code>direction</code> - the direction of the axis to format.</dd>
<dd><code>name</code> - the axis name, to be eventually replaced by this method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the axis name to format, or <code>null</code> if the name shall be omitted.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../referencing/cs/DefaultCoordinateSystemAxis.html#formatTo(org.apache.sis.io.wkt.Formatter)"><code>Default­Coordinate­System­Axis​.format­To(Formatter)</code></a></dd>
</dl>
</li>
</ul>
<a id="toLongAxisName(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toLongAxisName</h4>
<pre class="methodSignature">public&nbsp;<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;toLongAxisName&#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;csType,
<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">AxisDirection</a>&nbsp;direction,
<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 axis name to use in memory for an axis parsed from a WKT.
Since this method is invoked before the <code>Coordinate­System</code> instance is created,
most coordinate system characteristics are known only as <code>String</code>.
In particular the <code>cs­Type</code> argument, if non-null, should be one of the following values:
<blockquote><code>"affine"</code>, <code>"Cartesian"</code> (note the upper-case <code>"C"</code>), <code>"cylindrical"</code>,
<code>"ellipsoidal"</code>, <code>"linear"</code>, <code>"parametric"</code>, <code>"polar"</code>, <code>"spherical"</code>,
<code>"temporal"</code> or <code>"vertical"</code></blockquote>
This method is the converse of <a href="#toShortAxisName(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Short­Axis­Name(Coordinate­System, Axis­Direction, String)</code></a>.
The default implementation performs at least the following replacements:
<ul>
<li>Replace <cite>“Lat”</cite> or <cite>“Latitude”</cite>
(case insensitive) by <cite>“Geodetic latitude”</cite> or <cite>“Spherical latitude”</cite>,
depending on whether the axis is part of an ellipsoidal or spherical CS respectively.</li>
<li>Replace <cite>“Lon”</cite>, <cite>“Long”</cite> or <cite>“Longitude”</cite>
(case insensitive) by <cite>“Geodetic longitude”</cite> or <cite>“Spherical longitude”</cite>,
depending on whether the axis is part of an ellipsoidal or spherical CS respectively.</li>
<li>Return <cite>“Geocentric X”</cite>, <cite>“Geocentric Y”</cite> and <cite>“Geocentric Z”</cite>
for <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/AxisDirection.html?is-external=true#GEOCENTRIC_X" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>Axis­Direction​.GEOCENTRIC_X</code></a>, <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/AxisDirection.html?is-external=true#GEOCENTRIC_Y" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>GEOCENTRIC_Y</code></a>
and <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/AxisDirection.html?is-external=true#GEOCENTRIC_Z" title="class or interface in org.opengis.referencing.cs" class="externalLink"><code>GEOCENTRIC_Z</code></a> respectively in a Cartesian CS,
if the given axis name is only an abbreviation.</li>
<li>Use unique camel-case names for axis names defined by ISO 19111 and ISO 19162. For example this method
replaces <cite><b>e</b>llipsoidal height”</cite> by <cite><b>E</b>llipsoidal height”</cite>.</li>
</ul>
<div class="note"><b>Rational:</b>
Axis names are not really free text. They are specified by ISO 19111 and ISO 19162.
SIS does not put restriction on axis names, but we nevertheless try to use a unique
name when we recognize it.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cs­Type</code> - the type of the coordinate system, or <code>null</code> if unknown.</dd>
<dd><code>direction</code> - the parsed axis direction.</dd>
<dd><code>name</code> - the parsed axis abbreviation, to be eventually replaced by this method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the axis name to use. Can not be null.</dd>
</dl>
</li>
</ul>
<a id="toLatinAbbreviation(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toLatinAbbreviation</h4>
<pre class="methodSignature">public&nbsp;<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;toLatinAbbreviation&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/cs/CoordinateSystem.html?is-external=true" title="class or interface in org.opengis.referencing.cs" class="externalLink">CoordinateSystem</a>&nbsp;cs,
<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">AxisDirection</a>&nbsp;direction,
<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;abbreviation)</pre>
<div class="block">Returns the axis abbreviation to format in WKT, or <code>null</code> if none. The given abbreviation may contain
Greek letters, in particular φ, λ and θ. This <code>to­Latin­Abbreviation(…)</code> method is responsible
for replacing Greek letters by Latin letters for ISO 19162 compliance, if desired.
<p>The default implementation performs at least the following mapping:</p>
<ul>
<li>λ → <var>L</var> (from German <cite>Länge</cite>) if used in an
<a href="../../referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">ellipsoidal CS</a>.</li>
<li>φ → <var>B</var> (from German <cite>Breite</cite>) if used in an
<a href="../../referencing/cs/DefaultEllipsoidalCS.html" title="class in org.apache.sis.referencing.cs">ellipsoidal CS</a>.</li>
<li>φ or φ′ or φ<sub>c</sub> or Ω → <var>U</var> if used in a
<a href="../../referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">spherical CS</a>, regardless of whether the
coordinate system follows <a href="http://en.wikipedia.org/wiki/Spherical_coordinate_system">physics,
mathematics or other conventions</a>.</li>
<li>θ → <var>V</var> if used in a <a href="../../referencing/cs/DefaultSphericalCS.html" title="class in org.apache.sis.referencing.cs">spherical CS</a> (regardless of above-cited coordinate system convention).</li>
<li>θ → <var>U</var> if used in a polar CS.</li>
</ul>
Note that while this method may return a string of any length, ISO 19162 requires abbreviations
to be a single Latin character.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cs</code> - the enclosing coordinate system, or <code>null</code> if unknown.</dd>
<dd><code>direction</code> - the direction of the axis to format.</dd>
<dd><code>abbreviation</code> - the axis abbreviation, to be eventually replaced by this method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the axis abbreviation to format.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../referencing/cs/DefaultCoordinateSystemAxis.html#formatTo(org.apache.sis.io.wkt.Formatter)"><code>Default­Coordinate­System­Axis​.format­To(Formatter)</code></a></dd>
</dl>
</li>
</ul>
<a id="toUnicodeAbbreviation(java.lang.String,org.opengis.referencing.cs.AxisDirection,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toUnicodeAbbreviation</h4>
<pre class="methodSignature">public&nbsp;<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;toUnicodeAbbreviation&#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;csType,
<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">AxisDirection</a>&nbsp;direction,
<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;abbreviation)</pre>
<div class="block">Returns the axis abbreviation to use in memory for an axis parsed from a WKT.
Since this method is invoked before the <code>Coordinate­System</code> instance is created,
most coordinate system characteristics are known only as <code>String</code>.
In particular the <code>cs­Type</code> argument, if non-null, should be one of the following values:
<blockquote><code>"affine"</code>, <code>"Cartesian"</code> (note the upper-case <code>"C"</code>), <code>"cylindrical"</code>,
<code>"ellipsoidal"</code>, <code>"linear"</code>, <code>"parametric"</code>, <code>"polar"</code>, <code>"spherical"</code>,
<code>"temporal"</code> or <code>"vertical"</code></blockquote>
This method is the converse of <a href="#toLatinAbbreviation(org.opengis.referencing.cs.CoordinateSystem,org.opengis.referencing.cs.AxisDirection,java.lang.String)"><code>to­Latin­Abbreviation(Coordinate­System, Axis­Direction, String)</code></a>.
The default implementation performs at least the following mapping:
<ul>
<li><var>P</var> or <var>L</var> → λ if <code>cs­Type</code> is <code>"ellipsoidal"</code>.</li>
<li><var>B</var> → φ if <code>cs­Type</code> is <code>"ellipsoidal"</code>.</li>
<li><var>U</var> → Ω if <code>cs­Type</code> is <code>"spherical"</code>, regardless of coordinate system convention.</li>
<li><var>V</var> → θ if <code>cs­Type</code> is <code>"spherical"</code>, regardless of coordinate system convention.</li>
<li><var>U</var> → θ if <code>cs­Type</code> is <code>"polar"</code>.</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cs­Type</code> - the type of the coordinate system, or <code>null</code> if unknown.</dd>
<dd><code>direction</code> - the parsed axis direction.</dd>
<dd><code>abbreviation</code> - the parsed axis abbreviation, to be eventually replaced by this method.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the axis abbreviation to use. Can not be null.</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/Transliterator.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="#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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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>