| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 --> |
| <title>org.apache.sis.feature (Apache SIS 1.4 API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2023-10-05"> |
| <meta name="description" content="declaration: module: org.apache.sis.feature, package: org.apache.sis.feature"> |
| <meta name="generator" content="javadoc/PackageWriterImpl"> |
| <meta name="keywords" content="org.apache.sis.feature package"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="package-declaration-page"> |
| <script type="text/javascript">var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="../../../../module-summary.html">Module</a></li> |
| <li class="nav-bar-cell1-rev">Package</li> |
| <li>Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html#package">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Package:</p> |
| <ul> |
| <li><a href="#package-description">Description</a></li> |
| <li><a href="#related-package-summary">Related Packages</a></li> |
| <li><a href="#class-summary">Classes and Interfaces</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Package: </li> |
| <li><a href="#package-description">Description</a> | </li> |
| <li><a href="#related-package-summary">Related Packages</a> | </li> |
| <li><a href="#class-summary">Classes and Interfaces</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><a href="../../../../../search.html">SEARCH</a> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <div class="header"> |
| <div class="sub-title"><span class="module-label-in-package">Module</span> <a href="../../../../module-summary.html">org.apache.sis.feature</a></div> |
| <h1 title="Package org.apache.sis.feature" class="title">Package org.apache.sis.feature</h1> |
| </div> |
| <hr> |
| <div class="package-signature">package <span class="element-name">org.apache.sis.feature</span></div> |
| <section class="package-description" id="package-description"> |
| <div class="block">Defines the structure and content of views of real-world phenomenon. |
| The phenomenon to represent (or a fundamental unit of information) is called <cite>a feature</cite>. |
| The term “feature” may be used in different contexts: |
| |
| <ul class="verbose"> |
| <li><b><a href="DefaultFeatureType.html" title="class in org.apache.sis.feature">Feature types</a></b><br> |
| Define the <em>structure</em> of real-world representations. A feature type lists the |
| <a href="DefaultAttributeType.html" title="class in org.apache.sis.feature">attributes</a>, |
| <a href="AbstractOperation.html" title="class in org.apache.sis.feature">operations</a> or |
| <a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">associations to other features</a> |
| (collectively called “<a href="DefaultFeatureType.html#getProperties(boolean)">properties</a>” |
| or “characteristics”) that a feature can have. |
| |
| <div class="note"><b>Analogy:</b> a <code>FeatureType</code> in a Spatial Information System is equivalent to a |
| <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link"><code>Class</code></a> in the Java language. By extension, <code>AttributeType</code> and <code>Operation</code> are |
| equivalent to <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Field.html" title="class or interface in java.lang.reflect" class="external-link"><code>Field</code></a> and <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link"><code>Method</code></a> respectively.</div></li> |
| |
| <li><b><a href="AbstractFeature.html" title="class in org.apache.sis.feature">Feature instances</a></b> (often called only Features)<br> |
| Hold the <em>content</em> (or values) that describe one specific real-world object. |
| |
| <div class="note"><b>Example:</b> the “Eiffel tower” is a <em>feature instance</em> belonging |
| to the “Tower” <em>feature type</em>.</div></li> |
| |
| <li><b><a href="DefaultFeatureType.html#isSimple()">Simple features</a></b><br> |
| Are instances of a feature type with no association to other features, and where all attributes |
| have [1 … 1] multiplicity. Such simple features are very common.</li> |
| </ul> |
| |
| In addition, a feature type can inherit the properties of one or more other feature types. |
| Properties defined in the sub-type can override properties of the same name defined in the |
| <a href="DefaultFeatureType.html#getSuperTypes()">super-types</a>, provided |
| that values of the sub-type property are assignable to the super-type property. |
| |
| <h2 id="naming-heading">Naming</h2> |
| Each feature type has a <a href="AbstractIdentifiedType.html#getName()">name</a>, |
| which should be unique. Those names are the main criterion used for checking if a feature type |
| <a href="DefaultFeatureType.html#isAssignableFrom(org.apache.sis.feature.DefaultFeatureType)">is assignable from</a> another type. |
| Names can be <a href="../../../../../org.apache.sis.metadata/org/apache/sis/util/iso/DefaultScopedName.html" title="class in org.apache.sis.util.iso">scoped</a> for avoiding name collision. |
| |
| <h2 id="class-hierarchy-heading">Class hierarchy</h2> |
| The class hierarchy for feature <cite>types</cite> is derived from ISO 19109 specification. |
| The class hierarchy for feature <cite>instances</cite> is closely related: |
| |
| <table class="sis"> |
| <caption>Feature class hierarchy</caption> |
| <tr> |
| <th>Types</th> |
| <th class="sep">Instances</th> |
| </tr><tr><td style="width: 50%; white-space: nowrap"> |
| <a href="AbstractIdentifiedType.html" title="class in org.apache.sis.feature">Identified type</a><br> |
| <code> ├─</code> <a href="DefaultFeatureType.html" title="class in org.apache.sis.feature">Feature type</a><br> |
| <code> └─</code> Property type<br> |
| <code> ├─</code> <a href="DefaultAttributeType.html" title="class in org.apache.sis.feature">Attribute type</a><br> |
| <code> ├─</code> <a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">Feature association role</a><br> |
| <code> └─</code> <a href="AbstractOperation.html" title="class in org.apache.sis.feature">Operation</a><br> |
| </td><td class="sep" style="width: 50%; white-space: nowrap"> |
| Object<br> |
| <code> ├─</code> <a href="AbstractFeature.html" title="class in org.apache.sis.feature">Feature</a> (<cite>sparse</cite> or <cite>dense</cite>)<br> |
| <code> └─</code> Property<br> |
| <code> ├─</code> <a href="AbstractAttribute.html" title="class in org.apache.sis.feature">Attribute</a> (<cite>singleton</cite> or <cite>multi-valued</cite>)<br> |
| <code> └─</code> <a href="AbstractAssociation.html" title="class in org.apache.sis.feature">Feature association</a> (<cite>singleton</cite> or <cite>multi-valued</cite>)<br> |
| </td></tr></table> |
| |
| <h2 id="instantiation-heading">Instantiation</h2> |
| Classes defined in this package are rarely instantiated directly (by a <code>new</code> statement). |
| Instead, those classes are instantiated indirectly by invoking a method on a parent container, |
| or by using a builder. The starting point is <code>FeatureType</code>, which may be created by a |
| <a href="builder/FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder"><code>FeatureTypeBuilder</code></a> or may be provided by a |
| <a href="../../../../../org.apache.sis.storage/org/apache/sis/storage/DataStore.html" title="class in org.apache.sis.storage"><code>DataStore</code></a> reading a data file. |
| Once a <code>FeatureType</code> has been obtained, <code>Feature</code>s can be instantiated by calls to the |
| <a href="DefaultFeatureType.html#newInstance()"><code>FeatureType.newInstance()</code></a> method. |
| Once a <code>Feature</code> instance has been obtained, <code>Attribute</code>s can be instantiated indirectly |
| by calls to the <a href="AbstractFeature.html#setPropertyValue(java.lang.String,java.lang.Object)"><code>Feature.setPropertyValue(…)</code></a> method.</div> |
| <dl class="notes"> |
| <dt>Since:</dt> |
| <dd>0.5</dd> |
| </dl> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <li> |
| <div id="related-package-summary"> |
| <div class="caption"><span>Related Packages</span></div> |
| <div class="summary-table two-column-summary"> |
| <div class="table-header col-first">Package</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><a href="builder/package-summary.html">org.apache.sis.feature.builder</a></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Helper classes for creating <code>FeatureType</code> instances.</div> |
| </div> |
| </div> |
| </div> |
| </li> |
| <li> |
| <div id="class-summary"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button></div> |
| <div id="class-summary.tabpanel" role="tabpanel"> |
| <div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0"> |
| <div class="table-header col-first">Class</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">An instance of an <a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">feature association role</a> containing the associated feature.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AbstractAttribute.html" title="class in org.apache.sis.feature">AbstractAttribute</a><V></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">An instance of an <a href="DefaultAttributeType.html" title="class in org.apache.sis.feature">attribute type</a> containing the value of an attribute in a feature.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">An instance of a <a href="DefaultFeatureType.html" title="class in org.apache.sis.feature">feature type</a> containing values for a real-world phenomena.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Identification and description information inherited by property types and feature types.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="AbstractOperation.html" title="class in org.apache.sis.feature">AbstractOperation</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Describes the behaviour of a feature type as a function or a method.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Indicates the role played by the association between two features.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a><V></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Definition of an attribute in a feature type.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DefaultFeatureType.html" title="class in org.apache.sis.feature">DefaultFeatureType</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Abstraction of a real-world phenomena.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="FeatureFormat.html" title="class in org.apache.sis.feature">FeatureFormat</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">Formats <a href="AbstractFeature.html" title="class in org.apache.sis.feature">features</a> or <a href="DefaultFeatureType.html" title="class in org.apache.sis.feature">feature types</a> in a tabular format.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab3"><a href="FeatureFormat.Column.html" title="enum class in org.apache.sis.feature">FeatureFormat.Column</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab3"> |
| <div class="block">Identifies the columns to include in the table formatted by <code>FeatureFormat</code>.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab2"><a href="FeatureOperations.html" title="class in org.apache.sis.feature">FeatureOperations</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab2"> |
| <div class="block">A set of predefined operations expecting a <code>Feature</code> as input and producing an <code>Attribute</code> as output.</div> |
| </div> |
| <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Features.html" title="class in org.apache.sis.feature">Features</a></div> |
| <div class="col-last odd-row-color class-summary class-summary-tab2"> |
| <div class="block">Static methods working on features or attributes.</div> |
| </div> |
| <div class="col-first even-row-color class-summary class-summary-tab3"><a href="FoliationRepresentation.html" title="enum class in org.apache.sis.feature">FoliationRepresentation</a></div> |
| <div class="col-last even-row-color class-summary class-summary-tab3"> |
| <div class="block">Specifies whether trajectories are represented in a single <cite>moving feature</cite> instance |
| or fragmented in distinct static feature instances.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </section> |
| </main> |
| </div> |
| </div> |
| </body> |
| </html> |