blob: 70614f09c3d397dfd0d11c989aa3a3d7edad16e4 [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>DefaultGeographicBoundingBox (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.metadata.iso.extent.DefaultGeographicBoundingBox class">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getWestBoundLongitude()">
<meta name="keywords" content="setWestBoundLongitude()">
<meta name="keywords" content="getEastBoundLongitude()">
<meta name="keywords" content="setEastBoundLongitude()">
<meta name="keywords" content="getSouthBoundLatitude()">
<meta name="keywords" content="setSouthBoundLatitude()">
<meta name="keywords" content="getNorthBoundLatitude()">
<meta name="keywords" content="setNorthBoundLatitude()">
<meta name="keywords" content="setBounds()">
<meta name="keywords" content="add()">
<meta name="keywords" content="intersect()">
<meta name="keywords" content="isEmpty()">
<meta name="keywords" content="equals()">
<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="DefaultGeographicBoundingBox (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
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/DefaultGeographicBoundingBox.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><a href="#nested.class.summary">Nested</a>&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>Field&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.metadata.iso.extent</a></div>
<h2 title="Class DefaultGeographicBoundingBox" class="title">Class DefaultGeographicBoundingBox</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="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></li>
<li>
<ul class="inheritance">
<li><a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></li>
<li>
<ul class="inheritance">
<li><a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></li>
<li>
<ul class="inheritance">
<li>DefaultGeographicBoundingBox</li>
</ul>
</li>
</ul>
</li>
</ul>
</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="../../../util/Emptiable.html" title="interface in org.apache.sis.util">Emptiable</a></code>, <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="../../../xml/IdentifiedObject.html" title="interface in org.apache.sis.xml">Identified­Object</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Bounding­Box</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Extent</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">DefaultGeographicBoundingBox</span>
extends <a href="AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a></pre>
<div class="block">Geographic position of the dataset. This is only an approximate so specifying the coordinate
reference system is unnecessary. The CRS shall be geographic with Greenwich prime meridian,
but the datum doesn't need to be WGS84.
<p>The following properties are mandatory in a well-formed metadata according ISO 19115:</p>
<div class="preformat"><code>EX_Geographic­Bounding­Box</code>
<code>  ├─west­Bound­Longitude……</code> The western-most coordinate of the limit of the dataset extent.
<code>  ├─east­Bound­Longitude……</code> The eastern-most coordinate of the limit of the dataset extent.
<code>  ├─south­Bound­Latitude……</code> The southern-most coordinate of the limit of the dataset extent.
<code>  └─north­Bound­Latitude……</code> The northern-most, coordinate of the limit of the dataset extent.</div>
In addition to the standard properties, SIS provides the following methods:
<ul>
<li><a href="#setBounds(double,double,double,double)"><code>set­Bounds(double, double, double, double)</code></a> for setting the extent from (λ,φ) values.</li>
<li><a href="#setBounds(org.opengis.geometry.Envelope)"><code>set­Bounds(Envelope)</code></a> for setting the extent from the given envelope.</li>
<li><a href="#setBounds(org.opengis.metadata.extent.GeographicBoundingBox)"><code>set­Bounds(Geographic­Bounding­Box)</code></a> for setting the extent from an other bounding box.</li>
<li><a href="#add(org.opengis.metadata.extent.GeographicBoundingBox)"><code>add(Geographic­Bounding­Box)</code></a> for expanding this extent to include an other bounding box.</li>
<li><a href="#intersect(org.opengis.metadata.extent.GeographicBoundingBox)"><code>intersect(Geographic­Bounding­Box)</code></a> for the intersection between the two bounding boxes.</li>
</ul>
<div class="section">Validation and normalization</div>
All constructors and setter methods in this class perform the following argument validation or normalization:
<ul>
<li>If the <a href="#getSouthBoundLatitude()">south bound latitude</a> is greater than the
<a href="#getNorthBoundLatitude()">north bound latitude</a>, then an exception is thrown.</li>
<li>If any latitude is set to a value outside the
[<a href="../../../measure/Latitude.html#MIN_VALUE">-90</a><a href="../../../measure/Latitude.html#MAX_VALUE">90</a>]° range,
then that latitude will be clamped.</li>
<li>If any longitude is set to a value outside the
[<a href="../../../measure/Longitude.html#MIN_VALUE">-180</a><a href="../../../measure/Longitude.html#MAX_VALUE">180</a>]° range,
then a multiple of 360° will be added or subtracted to that longitude in order to bring
it back inside the range.</li>
</ul>
If the <a href="#getWestBoundLongitude()">west bound longitude</a> is greater than the
<a href="#getEastBoundLongitude()">east bound longitude</a>, then the box spans the anti-meridian.
See <a href="../../../geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry">GeneralEnvelope</a> for more information on anti-meridian spanning.
<div class="note"><b>Note: relationship with Envelope classes</b><br>
The <a href="../../../geometry/package-summary.html"><code>org​.apache​.sis​.geometry</code></a> package provides various <code>Envelope</code> classes serving a simular purpose.
The main difference is that envelopes can be expressed in any <a href="../../../referencing/crs/AbstractCRS.html" title="class in org.apache.sis.referencing.crs">Coordinate Reference System</a> (for example using any map projection), may have any number of dimensions, axes may have
any <a href="../../../referencing/cs/DefaultCoordinateSystemAxis.html#getDirection()">direction</a> (some maps are south-oriented)
and may use any units of measurement. By contrast, geographic bounding box are restricted to two-dimensional
geographic CRS with latitude and longitude in decimal degrees, inside the [-90 … +90]° and [-180 … +180]° range
respectively, increasing toward north and east respectively, and longitude measured from the <cite>international
reference meridian</cite> (Greenwich on Earth). However <code>Geographic­Bounding­Box</code> said nothing about the
<a href="../../../referencing/datum/DefaultGeodeticDatum.html" title="class in org.apache.sis.referencing.datum">geodetic datum</a>. Consequently this bounding
box should be used only as a convenient way to give an <em>approximate</em> description of a location.
Users can assume a precision of about 0.01° for the latitude and longitude values in this class.
If more precision is desired, an <code>Envelope</code> should be considered instead.
</div>
<div class="section">Limitations</div>
<ul>
<li>Instances of this class are not synchronized for multi-threading.
Synchronization, if needed, is caller's responsibility.</li>
<li>Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases.
Serialization support is appropriate for short term storage or RMI between applications running the
same version of Apache SIS. For long term storage, use <a href="../../../xml/XML.html" title="class in org.apache.sis.xml"><code>XML</code></a> instead.</li>
</ul></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry"><code>General­Envelope</code></a>,
<a href="../../../../../../serialized-form.html#org.apache.sis.metadata.iso.extent.DefaultGeographicBoundingBox">Serialized Form</a></dd>
<p><font size="-1">Defined in the <code>sis-metadata</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sis.metadata.ModifiableMetadata">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;<a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></h3>
<code><a href="../../ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">Modifiable­Metadata​.State</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.ISOMetadata">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;<a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></h3>
<code><a href="../ISOMetadata.html#identifiers">identifiers</a></code></li>
</ul>
</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">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">DefaultGeographicBoundingBox</a></span>()</code></th>
<td class="colLast">
<div class="block">Constructs an initially <a href="#isEmpty()">empty</a> geographic bounding box.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(double,double,double,double)">DefaultGeographicBoundingBox</a></span>&#8203;(double&nbsp;westBoundLongitude,
double&nbsp;eastBoundLongitude,
double&nbsp;southBoundLatitude,
double&nbsp;northBoundLatitude)</code></th>
<td class="colLast">
<div class="block">Creates a geographic bounding box initialized to the specified values.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">DefaultGeographicBoundingBox</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(org.opengis.metadata.extent.GeographicBoundingBox)">add</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)</code></th>
<td class="colLast">
<div class="block">Adds a geographic bounding box to this box.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castOrCopy(org.opengis.metadata.extent.GeographicBoundingBox)">castOrCopy</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></span>&#8203;(<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>&nbsp;object,
<a href="../../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</code></th>
<td class="colLast">
<div class="block">Compares this geographic bounding box with the specified object for equality.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEastBoundLongitude()">getEastBoundLongitude</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the eastern-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNorthBoundLatitude()">getNorthBoundLatitude</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the northern-most, coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSouthBoundLatitude()">getSouthBoundLatitude</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the southern-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWestBoundLongitude()">getWestBoundLongitude</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the western-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#intersect(org.opengis.metadata.extent.GeographicBoundingBox)">intersect</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)</code></th>
<td class="colLast">
<div class="block">Sets this bounding box to the intersection of this box with the specified one.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if this metadata is empty.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBounds(double,double,double,double)">setBounds</a></span>&#8203;(double&nbsp;westBoundLongitude,
double&nbsp;eastBoundLongitude,
double&nbsp;southBoundLatitude,
double&nbsp;northBoundLatitude)</code></th>
<td class="colLast">
<div class="block">Sets the bounding box to the specified values.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBounds(org.opengis.geometry.Envelope)">setBounds</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">Envelope</a>&nbsp;envelope)</code></th>
<td class="colLast">
<div class="block">Sets the bounding box to the specified envelope.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBounds(org.opengis.metadata.extent.GeographicBoundingBox)">setBounds</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)</code></th>
<td class="colLast">
<div class="block">Sets the bounding box to the same values than the specified box.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEastBoundLongitude(double)">setEastBoundLongitude</a></span>&#8203;(double&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets the eastern-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setNorthBoundLatitude(double)">setNorthBoundLatitude</a></span>&#8203;(double&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets the northern-most, coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSouthBoundLatitude(double)">setSouthBoundLatitude</a></span>&#8203;(double&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets the southern-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWestBoundLongitude(double)">setWestBoundLongitude</a></span>&#8203;(double&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets the western-most coordinate of the limit of the dataset extent.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractGeographicExtent">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="AbstractGeographicExtent.html" title="class in org.apache.sis.metadata.iso.extent">AbstractGeographicExtent</a></h3>
<code><a href="AbstractGeographicExtent.html#castOrCopy(org.opengis.metadata.extent.GeographicExtent)">cast­Or­Copy</a>, <a href="AbstractGeographicExtent.html#getInclusion()">get­Inclusion</a>, <a href="AbstractGeographicExtent.html#setInclusion(java.lang.Boolean)">set­Inclusion</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.ISOMetadata">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></h3>
<code><a href="../ISOMetadata.html#getIdentifier()">get­Identifier</a>, <a href="../ISOMetadata.html#getIdentifierMap()">get­Identifier­Map</a>, <a href="../ISOMetadata.html#getIdentifiers()">get­Identifiers</a>, <a href="../ISOMetadata.html#getStandard()">get­Standard</a>, <a href="../ISOMetadata.html#setIdentifier(org.opengis.metadata.Identifier)">set­Identifier</a>, <a href="../ISOMetadata.html#transitionTo(org.apache.sis.metadata.ModifiableMetadata.State)">transition­To</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.ModifiableMetadata">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></h3>
<code><a href="../../ModifiableMetadata.html#checkWritePermission()">check­Write­Permission</a>, <a href="../../ModifiableMetadata.html#checkWritePermission(java.lang.Object)">check­Write­Permission</a>, <a href="../../ModifiableMetadata.html#collectionType(java.lang.Class)">collection­Type</a>, <a href="../../ModifiableMetadata.html#copyCollection(java.util.Collection,java.lang.Class)">copy­Collection</a>, <a href="../../ModifiableMetadata.html#copyList(java.util.Collection,java.lang.Class)">copy­List</a>, <a href="../../ModifiableMetadata.html#copyMap(java.util.Map,java.lang.Class)">copy­Map</a>, <a href="../../ModifiableMetadata.html#copySet(java.util.Collection,java.lang.Class)">copy­Set</a>, <a href="../../ModifiableMetadata.html#freeze()">freeze</a>, <a href="../../ModifiableMetadata.html#isModifiable()">is­Modifiable</a>, <a href="../../ModifiableMetadata.html#nonNullCollection(java.util.Collection,java.lang.Class)">non­Null­Collection</a>, <a href="../../ModifiableMetadata.html#nonNullList(java.util.List,java.lang.Class)">non­Null­List</a>, <a href="../../ModifiableMetadata.html#nonNullMap(java.util.Map,java.lang.Class)">non­Null­Map</a>, <a href="../../ModifiableMetadata.html#nonNullSet(java.util.Set,java.lang.Class)">non­Null­Set</a>, <a href="../../ModifiableMetadata.html#singleton(E,java.lang.Class)">singleton</a>, <a href="../../ModifiableMetadata.html#state()">state</a>, <a href="../../ModifiableMetadata.html#unmodifiable()">unmodifiable</a>, <a href="../../ModifiableMetadata.html#writeCollection(java.util.Collection,java.util.Collection,java.lang.Class)">write­Collection</a>, <a href="../../ModifiableMetadata.html#writeList(java.util.Collection,java.util.List,java.lang.Class)">write­List</a>, <a href="../../ModifiableMetadata.html#writeMap(java.util.Map,java.util.Map,java.lang.Class)">write­Map</a>, <a href="../../ModifiableMetadata.html#writeSet(java.util.Collection,java.util.Set,java.lang.Class)">write­Set</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractMetadata">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></h3>
<code><a href="../../AbstractMetadata.html#asMap()">as­Map</a>, <a href="../../AbstractMetadata.html#asTreeTable()">as­Tree­Table</a>, <a href="../../AbstractMetadata.html#equals(java.lang.Object)">equals</a>, <a href="../../AbstractMetadata.html#getInterface()">get­Interface</a>, <a href="../../AbstractMetadata.html#hashCode()">hash­Code</a>, <a href="../../AbstractMetadata.html#prune()">prune</a>, <a href="../../AbstractMetadata.html#toString()">to­String</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#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#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#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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.GeographicExtent">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicExtent</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true#getInclusion()" title="class or interface in org.opengis.metadata.extent" class="externalLink">get­Inclusion</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= 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="blockList">
<li class="blockList">
<h4>DefaultGeographicBoundingBox</h4>
<pre>public&nbsp;DefaultGeographicBoundingBox()</pre>
<div class="block">Constructs an initially <a href="#isEmpty()">empty</a> geographic bounding box.
All longitude and latitude values are initialized to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a>.</div>
</li>
</ul>
<a id="&lt;init&gt;(double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultGeographicBoundingBox</h4>
<pre>public&nbsp;DefaultGeographicBoundingBox&#8203;(double&nbsp;westBoundLongitude,
double&nbsp;eastBoundLongitude,
double&nbsp;southBoundLatitude,
double&nbsp;northBoundLatitude)
throws <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">IllegalArgumentException</a></pre>
<div class="block">Creates a geographic bounding box initialized to the specified values.
The <a href="AbstractGeographicExtent.html#getInclusion()">inclusion</a> property is set to <code>true</code>.
<p><strong>Caution:</strong> Arguments are expected in the same order than they appear
in the ISO 19115 specification. This is different than the order commonly found in the
Java2D world, which is rather (<var>x</var><sub>min</sub>, <var>y</var><sub>min</sub>,
<var>x</var><sub>max</sub>, <var>y</var><sub>max</sub>).</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>west­Bound­Longitude</code> - the minimal λ value.</dd>
<dd><code>east­Bound­Longitude</code> - the maximal λ value.</dd>
<dd><code>south­Bound­Latitude</code> - the minimal φ value.</dd>
<dd><code>north­Bound­Latitude</code> - the maximal φ value.</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 (<var>south bound</var> &gt; <var>north bound</var>).
Note that <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> values are allowed.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setBounds(double,double,double,double)"><code>set­Bounds(double, double, double, double)</code></a></dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.metadata.extent.GeographicBoundingBox)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DefaultGeographicBoundingBox</h4>
<pre>public&nbsp;DefaultGeographicBoundingBox&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;object)</pre>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.
This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
given object are not recursively copied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the metadata to copy values from, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#castOrCopy(org.opengis.metadata.extent.GeographicBoundingBox)"><code>cast­Or­Copy(Geographic­Bounding­Box)</code></a>,
<a href="#setBounds(org.opengis.metadata.extent.GeographicBoundingBox)"><code>set­Bounds(Geographic­Bounding­Box)</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="castOrCopy(org.opengis.metadata.extent.GeographicBoundingBox)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>castOrCopy</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent">DefaultGeographicBoundingBox</a>&nbsp;castOrCopy&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;object)</pre>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.
This method performs the first applicable action in the following choices:
<ul>
<li>If the given object is <code>null</code>, then this method returns <code>null</code>.</li>
<li>Otherwise if the given object is already an instance of
<code>Default­Geographic­Bounding­Box</code>, then it is returned unchanged.</li>
<li>Otherwise a new <code>Default­Geographic­Bounding­Box</code> instance is created using the
<a href="#%3Cinit%3E(org.opengis.metadata.extent.GeographicBoundingBox)">copy constructor</a>
and returned. Note that this is a <cite>shallow</cite> copy operation, since the other
metadata contained in the given object are not recursively copied.</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="getWestBoundLongitude()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWestBoundLongitude</h4>
<pre class="methodSignature"><a href="../../../measure/ValueRange.html" title="annotation in org.apache.sis.measure">@ValueRange</a>(<a href="../../../measure/ValueRange.html#minimum()">minimum</a>=-180.0,
<a href="../../../measure/ValueRange.html#maximum()">maximum</a>=180.0)
public&nbsp;double&nbsp;getWestBoundLongitude()</pre>
<div class="block">Returns the western-most coordinate of the limit of the dataset extent.
The value is expressed in longitude in decimal degrees (positive east).
<p>Note that the returned value is greater than the <a href="#getEastBoundLongitude()">east bound longitude</a> if this box is spanning over the anti-meridian.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true#getWestBoundLongitude()" title="class or interface in org.opengis.metadata.extent" class="externalLink">get­West­Bound­Longitude</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Bounding­Box</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the western-most longitude between -180° and +180° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> if undefined.</dd>
</dl>
</li>
</ul>
<a id="setWestBoundLongitude(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWestBoundLongitude</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setWestBoundLongitude&#8203;(double&nbsp;newValue)</pre>
<div class="block">Sets the western-most coordinate of the limit of the dataset extent.
The value is expressed in longitude in decimal degrees (positive east).
Values outside the [-180 … 180]° range are <a href="../../../measure/Longitude.html#normalize(double)">normalized</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the western-most longitude between -180° and +180° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> to undefine.</dd>
</dl>
</li>
</ul>
<a id="getEastBoundLongitude()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEastBoundLongitude</h4>
<pre class="methodSignature"><a href="../../../measure/ValueRange.html" title="annotation in org.apache.sis.measure">@ValueRange</a>(<a href="../../../measure/ValueRange.html#minimum()">minimum</a>=-180.0,
<a href="../../../measure/ValueRange.html#maximum()">maximum</a>=180.0)
public&nbsp;double&nbsp;getEastBoundLongitude()</pre>
<div class="block">Returns the eastern-most coordinate of the limit of the dataset extent.
The value is expressed in longitude in decimal degrees (positive east).
<p>Note that the returned value is smaller than the <a href="#getWestBoundLongitude()">west bound longitude</a> if this box is spanning over the anti-meridian.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true#getEastBoundLongitude()" title="class or interface in org.opengis.metadata.extent" class="externalLink">get­East­Bound­Longitude</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Bounding­Box</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the eastern-most longitude between -180° and +180° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> if undefined.</dd>
</dl>
</li>
</ul>
<a id="setEastBoundLongitude(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEastBoundLongitude</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setEastBoundLongitude&#8203;(double&nbsp;newValue)</pre>
<div class="block">Sets the eastern-most coordinate of the limit of the dataset extent.
The value is expressed in longitude in decimal degrees (positive east).
Values outside the [-180 … 180]° range are <a href="../../../measure/Longitude.html#normalize(double)">normalized</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the eastern-most longitude between -180° and +180° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> to undefine.</dd>
</dl>
</li>
</ul>
<a id="getSouthBoundLatitude()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSouthBoundLatitude</h4>
<pre class="methodSignature"><a href="../../../measure/ValueRange.html" title="annotation in org.apache.sis.measure">@ValueRange</a>(<a href="../../../measure/ValueRange.html#minimum()">minimum</a>=-90.0,
<a href="../../../measure/ValueRange.html#maximum()">maximum</a>=90.0)
public&nbsp;double&nbsp;getSouthBoundLatitude()</pre>
<div class="block">Returns the southern-most coordinate of the limit of the dataset extent.
The value is expressed in latitude in decimal degrees (positive north).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true#getSouthBoundLatitude()" title="class or interface in org.opengis.metadata.extent" class="externalLink">get­South­Bound­Latitude</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Bounding­Box</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the southern-most latitude between -90° and +90° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> if undefined.</dd>
</dl>
</li>
</ul>
<a id="setSouthBoundLatitude(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSouthBoundLatitude</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSouthBoundLatitude&#8203;(double&nbsp;newValue)</pre>
<div class="block">Sets the southern-most coordinate of the limit of the dataset extent.
The value is expressed in latitude in decimal degrees (positive north).
Values outside the [-90 … 90]° range are <a href="../../../measure/Latitude.html#clamp(double)">clamped</a>.
If the result is greater than the <a href="#getNorthBoundLatitude()">north bound latitude</a>,
then the north bound is set to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the southern-most latitude between -90° and +90° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> to undefine.</dd>
</dl>
</li>
</ul>
<a id="getNorthBoundLatitude()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNorthBoundLatitude</h4>
<pre class="methodSignature"><a href="../../../measure/ValueRange.html" title="annotation in org.apache.sis.measure">@ValueRange</a>(<a href="../../../measure/ValueRange.html#minimum()">minimum</a>=-90.0,
<a href="../../../measure/ValueRange.html#maximum()">maximum</a>=90.0)
public&nbsp;double&nbsp;getNorthBoundLatitude()</pre>
<div class="block">Returns the northern-most, coordinate of the limit of the dataset extent.
The value is expressed in latitude in decimal degrees (positive north).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true#getNorthBoundLatitude()" title="class or interface in org.opengis.metadata.extent" class="externalLink">get­North­Bound­Latitude</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">Geographic­Bounding­Box</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the northern-most latitude between -90° and +90° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> if undefined.</dd>
</dl>
</li>
</ul>
<a id="setNorthBoundLatitude(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNorthBoundLatitude</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setNorthBoundLatitude&#8203;(double&nbsp;newValue)</pre>
<div class="block">Sets the northern-most, coordinate of the limit of the dataset extent.
The value is expressed in latitude in decimal degrees (positive north).
Values outside the [-90 … 90]° range are <a href="../../../measure/Latitude.html#clamp(double)">clamped</a>.
If the result is smaller than the <a href="#getSouthBoundLatitude()">south bound latitude</a>,
then the south bound is set to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the northern-most latitude between -90° and +90° inclusive,
or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> to undefine.</dd>
</dl>
</li>
</ul>
<a id="setBounds(double,double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBounds</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setBounds&#8203;(double&nbsp;westBoundLongitude,
double&nbsp;eastBoundLongitude,
double&nbsp;southBoundLatitude,
double&nbsp;northBoundLatitude)
throws <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">IllegalArgumentException</a></pre>
<div class="block">Sets the bounding box to the specified values.
The <a href="AbstractGeographicExtent.html#getInclusion()">inclusion</a> property is left unchanged.
<p><strong>Caution:</strong> Arguments are expected in the same order than they appear
in the ISO 19115 specification. This is different than the order commonly found in the
Java2D world, which is rather (<var>x</var><sub>min</sub>, <var>y</var><sub>min</sub>,
<var>x</var><sub>max</sub>, <var>y</var><sub>max</sub>).</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>west­Bound­Longitude</code> - the minimal λ value.</dd>
<dd><code>east­Bound­Longitude</code> - the maximal λ value.</dd>
<dd><code>south­Bound­Latitude</code> - the minimal φ value.</dd>
<dd><code>north­Bound­Latitude</code> - the maximal φ value.</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 (<var>south bound</var> &gt; <var>north bound</var>).
Note that <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> values are allowed.</dd>
</dl>
</li>
</ul>
<a id="setBounds(org.opengis.geometry.Envelope)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBounds</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setBounds&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/geometry/Envelope.html?is-external=true" title="class or interface in org.opengis.geometry" class="externalLink">Envelope</a>&nbsp;envelope)
throws <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">TransformException</a></pre>
<div class="block">Sets the bounding box to the specified envelope. If the envelope contains a CRS,
then the bounding box may be projected to a geographic CRS.
Otherwise, the envelope is assumed already in appropriate CRS.
<p>When coordinate transformation is required, the target geographic CRS is not necessarily
<a href="../../../referencing/CommonCRS.html#WGS84">WGS84</a>. This method preserves the same
<a href="../../../referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">ellipsoid</a> than in the envelope
CRS when possible. This is because geographic bounding box are only approximated and the ISO
specification does not mandates a particular CRS, so we avoid transformations that are not
strictly necessary.</p>
<p><b>Note:</b> this method is available only if the referencing module is on the classpath.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>envelope</code> - the envelope to use for setting this geographic bounding box.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Unsupported­Operation­Exception</a></code> - if the referencing module is not on the classpath.</dd>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/TransformException.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">Transform­Exception</a></code> - if the envelope can not be transformed to a geographic extent.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="DefaultExtent.html#addElements(org.opengis.geometry.Envelope)"><code>Default­Extent​.add­Elements(Envelope)</code></a>,
<a href="DefaultVerticalExtent.html#setBounds(org.opengis.geometry.Envelope)"><code>Default­Vertical­Extent​.set­Bounds(Envelope)</code></a>,
<a href="DefaultTemporalExtent.html#setBounds(org.opengis.geometry.Envelope)"><code>Default­Temporal­Extent​.set­Bounds(Envelope)</code></a></dd>
</dl>
</li>
</ul>
<a id="setBounds(org.opengis.metadata.extent.GeographicBoundingBox)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBounds</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setBounds&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)</pre>
<div class="block">Sets the bounding box to the same values than the specified box.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>box</code> - the geographic bounding box to use for setting the values of this box.</dd>
</dl>
</li>
</ul>
<a id="add(org.opengis.metadata.extent.GeographicBoundingBox)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;add&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)</pre>
<div class="block">Adds a geographic bounding box to this box.
This method behavior depends on whether the bounding boxes encompass an area covered by the data
(<cite>inclusion</cite>) or an area where data is not present (<cite>exclusion</cite>):
<ul>
<li>If the <a href="AbstractGeographicExtent.html#getInclusion()">inclusion</a> status is the same for this box and the box to be added,
then the resulting bounding box is the union of the two boxes.</li>
<li>If the inclusion/exclusion status are opposite, then this method attempts to exclude some area
of the specified box from this box. The resulting bounding box is smaller if the exclusion can
be performed without ambiguity.</li>
</ul>
In both cases, if either this box or the specified box has <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a> bounds,
then the corresponding bounds of the result will bet set to NaN.
<div class="note"><b>Rational:</b>
this class is stricter about NaN values than other classes like <a href="../../../geometry/GeneralEnvelope.html" title="class in org.apache.sis.geometry"><code>General­Envelope</code></a>.
The reason is that computations on <code>Geographic­Bounding­Box</code> instances are rare (<code>Envelope</code> instances
are preferred for this purpose). Usually, <code>Geographic­Bounding­Box</code> values come directly from some metadata
structure. Consequently NaN values in <code>Geographic­Bounding­Box</code> means <cite>"information is unknown"</cite>
more often than <cite>"not yet calculated"</cite>.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>box</code> - the geographic bounding box to add to this box.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../geometry/GeneralEnvelope.html#add(org.opengis.geometry.Envelope)"><code>General­Envelope​.add(Envelope)</code></a></dd>
</dl>
</li>
</ul>
<a id="intersect(org.opengis.metadata.extent.GeographicBoundingBox)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>intersect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;intersect&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicBoundingBox.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicBoundingBox</a>&nbsp;box)
throws <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">IllegalArgumentException</a></pre>
<div class="block">Sets this bounding box to the intersection of this box with the specified one.
The <a href="AbstractGeographicExtent.html#getInclusion()">inclusion</a> status must be the same for both boxes.
<p>If there is no intersection between the two bounding boxes, then this method sets
both longitudes and/or both latitudes to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a>. If either this
box or the specified box has NaN bounds, then the corresponding bounds of the
intersection result will bet set to NaN.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>box</code> - the geographic bounding box to intersect with this box.</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 the inclusion status is not the same for both boxes.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Extents.html#intersection(org.opengis.metadata.extent.GeographicBoundingBox,org.opengis.metadata.extent.GeographicBoundingBox)"><code>Extents​.intersection(Geographic­Bounding­Box, Geographic­Bounding­Box)</code></a>,
<a href="../../../geometry/GeneralEnvelope.html#intersect(org.opengis.geometry.Envelope)"><code>General­Envelope​.intersect(Envelope)</code></a></dd>
</dl>
</li>
</ul>
<a id="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Returns <code>true</code> if this metadata is empty. This metadata is considered empty if
every bound values are <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink">NaN</a>. Note that this is different than
the <cite>Java2D</cite> or <cite>envelope</cite> definition of "emptiness", since we
don't test if the area is greater than zero - this method is a metadata test, not a
geometric test.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../util/Emptiable.html#isEmpty()">is­Empty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../util/Emptiable.html" title="interface in org.apache.sis.util">Emptiable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../AbstractMetadata.html#isEmpty()">is­Empty</a></code>&nbsp;in class&nbsp;<code><a href="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">Abstract­Metadata</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this metadata does not define any bound value.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../geometry/AbstractEnvelope.html#isAllNaN()"><code>Abstract­Envelope​.is­All­Na­N()</code></a></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<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>&nbsp;object,
<a href="../../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</pre>
<div class="block">Compares this geographic bounding box with the specified object for equality.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../AbstractMetadata.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">Abstract­Metadata</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare for equality.</dd>
<dd><code>mode</code> - the strictness level of the comparison.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given object is equal to this box.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../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></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/DefaultGeographicBoundingBox.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><a href="#nested.class.summary">Nested</a>&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>Field&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>