content/fr/developer-guide/coverage/index.html (89 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Couvertures de données (Coverages)</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" type="text/css" href="../book.css"/>
</head>
<body>
<!--
Content below this point is copied in "/static/book/fr/developer-guide.html" file
by the 'org.apache.sis.internal.book.Assembler' class in 'sis-build-helper' module.
-->
<section>
<header>
<h1 id="Coverage">Couvertures de données (<i>Coverages</i>)</h1>
</header>
<p>
Les images, souvent nommées <i>rasters</i> en anglais, sont des cas particuliers
d’une structure de données appelée <i>coverages</i>.
On pourrait traduire ce terme anglais par « couverture de données ».
Le titre du standard les décrivant, « <i>Coverage geometry and functions</i> »
(<abbr>ISO</abbr> 19123), résume bien les deux éléments essentiels des couvertures de données:
</p>
<ul>
<li>
<p>
Un <i>coverage</i> est une fonction qui, à partir d’une coordonnée spécifiée en entrée,
retourne une valeur d’attribut. L’ensemble des valeurs pouvant être données en entrée est appelé le domaine
(<i>domain</i> en anglais), alors que l’ensemble des valeurs pouvant être retournées est appelé <i>range</i> en anglais.
Le domaine est souvent l’espace spatio-temporel couvert par les données,
mais rien dans <abbr>SIS</abbr> n’empêche les couvertures de s’étendre à d’autres dimensions.
Par exemple les études en thermodynamique utilisent souvent un espace dont les dimensions sont la température et la pression.
</p>
<div class="example"><p><b>Exemple:</b>
les valeurs des pixels d’une image pourraient contenir des mesures d’élévation du terrain.
Si une fonction <var>h</var> = <var>f</var>(φ,λ) permet d’obtenir (éventuellement à l’aide d’interpolations)
l’élévation <var>h</var> en fonction d’une coordonnée géographique (φ,λ), alors
l’enveloppe géographique de l’image définie le <i>domain</i>, la fonction <var>f</var> est le <i>coverage</i>,
et l’ensemble des valeurs de <var>h</var> que peut retourner cette fonction est le <i>range</i>.
</p></div>
</li>
<li>
<p>
Les différents types de couvertures peuvent se caractériser par la géométrie de leurs cellules.
En particulier, une couverture n’est pas nécessairement composée de cellules quadrilatérales.
Toutefois les cellules quadrilatérales étant de loin les plus fréquentes (puisque c’est la géométrie classique des pixels des images),
on utilisera souvent le terme <i>grid coverage</i> pour désigner les couvertures composées de telles cellules.
Dans <abbr>SIS</abbr>, la géométrie de ces couvertures est décrite par la classe <code>GridGeometry</code>.
</p>
</li>
</ul>
<p>
Les caractéristiques du domaine spatial sont définies par le standard <abbr>ISO</abbr> 19123,
alors que les caractéristiques du <i>range</i> ne font pas parties du standard.
Le standard mentionne simplement que les <i>ranges</i> peuvent être finis ou infinis,
et ne sont pas nécessairement numériques.
Par exemple les valeurs retournées par une couverture peuvent provenir d’une énumération
(« ceci est une forêt », « ceci est un lac », <i>etc.</i>).
Toutefois, le standard définit deux grands types de couvertures qui ont un impact
sur les types de <i>ranges</i> autorisés:
les couvertures <i>discrètes</i> et les couvertures <i>continues</i>.
Présentées simplement, les couvertures continues sont des fonctions pouvant utiliser des méthodes d’interpolations.
Or, les interpolations n’étant possibles qu’avec des valeurs numériques, les <i>ranges</i> de valeurs
non-numériques ne peuvent être utilisés qu’avec des couvertures de type <code>CV_DiscreteCoverage</code>.
En revanche, les <i>ranges</i> de valeurs numériques peuvent
être utilisés aussi avec des couvertures de type <code>CV_ContinuousCoverage</code>.
</p>
<aside>
<h2>La classe <code>Range</code> de SIS et sa relation avec les standards</h2>
<p>
La distinction entre les plages de tout type de valeurs et les plages de valeurs numériques est représentée dans <abbr>SIS</abbr>
par les classes <code>Range</code> et <code>NumberRange</code> respectivement.
La classe <code>NumberRange</code> est la plus utilisée, et elle est aussi celle qui se rapproche le plus de la
<a href="http://fr.wikipedia.org/wiki/Intervalle_%28math%C3%A9matiques%29">notion mathématique usuelle d’un intervalle</a>.
Se représentation textuelle se rapproche des spécifications du standard <abbr>ISO</abbr> 31-11,
excepté que la virgule est remplacée par le caractère “…” comme séparateur des valeurs minimales et maximales.
Par exemple “[0 … 256)” représente la plage des valeurs 0 inclusivement à 256 exclusivement.
</p>
<p>
Les objets <code>Range</code> ne sont associés aux <i>coverages</i> que indirectement.
Dans <abbr>SIS</abbr>, les valeurs que peuvent retourner les couvertures sont décrites par des
objets de type <code class="SIS">SampleDimension</code>. Ce sont ces derniers qui contiendront
des instances de <code>Range</code> ainsi que d’autres informations telles qu’une
<i>fonction de transfert</i> (décrite plus loin).
</p>
</aside>
<div class="warning">
Cette section est incomplète. Voyez la version anglaise pour une version éventuellement plus complète.
</div>
</section>
</body>
</html>