<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Rename products using a shorten convention — safe_shortname • sen2r</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Rename products using a shorten convention — safe_shortname"><meta property="og:description" content='This function renames a Sentinel-2 product in order to
obtain shorten names. See the details for the structure of the
adopted schema (named "sen2r naming convention").
The function applies only to compact product names (not to single granule
names), since it is thought to be applied to entire products.
Old long names are no more supported.'><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
    

    <div class="container template-reference-topic">
      <header><div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">sen2r</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">1.6.0</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav"></ul><ul class="nav navbar-nav navbar-right"><li>
  <a href="../index.html">
    <span class="fa fa-home fa-lg"></span>
     
  </a>
</li>
<li>
  <a href="../reference/index.html">
    <span class="fa fa-file-code"></span>
     
     Reference
  </a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    <span class="fa fa-book"></span>
     
     Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu"><li>
      <a href="../articles/installation.html">Installation</a>
    </li>
    <li>
      <a href="../articles/docker.html">Run in a Docker container</a>
    </li>
    <li>
      <a href="../articles/sen2r_gui.html">Using sen2r() from the GUI</a>
    </li>
    <li>
      <a href="../articles/sen2r_cmd.html">Using sen2r() from the command line</a>
    </li>
    <li>
      <a href="../articles/outstructure.html">Output file structure</a>
    </li>
  </ul></li>
<li>
  <a href="../news/index.html">
    <span class="fa fa-newspaper"></span>
     
     Changelog
  </a>
</li>
<li>
  <a href="http://luigi.ranghetti.info" class="external-link">
    <span class="fa fa-user"></span>
     
  </a>
</li>
<li>
  <a href="https://github.com/ranghetti/sen2r/" class="external-link">
    <span class="fa fa-github fa-lg"></span>
     
  </a>
</li>
      </ul></div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header><div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Rename products using a shorten convention</h1>
    <small class="dont-index">Source: <a href="https://github.com/ranghetti/sen2r/blob/HEAD/R/safe_shortname.R" class="external-link"><code>R/safe_shortname.R</code></a></small>
    <div class="hidden name"><code>safe_shortname.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>This function renames a Sentinel-2 product in order to
obtain shorten names. See the details for the structure of the
adopted schema (named "sen2r naming convention").
The function applies only to compact product names (not to single granule
names), since it is thought to be applied to entire products.
Old long names are no more supported.</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">safe_shortname</span><span class="op">(</span></span>
<span>  <span class="va">prod_name</span>,</span>
<span>  prod_type <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  ext <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  res <span class="op">=</span> <span class="st">"10m"</span>,</span>
<span>  tiles <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  force_tiles <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  full.name <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span>  allow_duplicated <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span>  set.seed <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  multiple_names <span class="op">=</span> <span class="cn">NULL</span>,</span>
<span>  abort <span class="op">=</span> <span class="cn">FALSE</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div id="arguments">
    <h2>Arguments</h2>
    <dl><dt>prod_name</dt>
<dd><p>Input Sentinel-2 product name (it is not required
that the file exists).</p></dd>


<dt>prod_type</dt>
<dd><p>(optional) Output product (default: <code>TOA</code> for L1C, <code>BOA</code>
for L2A); see the details for the list of accepted products.</p></dd>


<dt>ext</dt>
<dd><p>(optional) Extension of the output filename (default: none).</p></dd>


<dt>res</dt>
<dd><p>(optional) Spatial resolution (one between '10m', '20m' or '60m');
default is '10m'. Notice that, choosing '10m' or '20m', bands with lower
resolution will be rescaled to <code>res</code>. Band 08 is used with <code>res = '10m'</code>,
band 08A with <code>res = '20m'</code> and <code>res = '60m'</code>.</p></dd>


<dt>tiles</dt>
<dd><p>Deprecated (no more used).</p></dd>


<dt>force_tiles</dt>
<dd><p>Deprecated (no more used).</p></dd>


<dt>full.name</dt>
<dd><p>Logical value: if TRUE (default), all the input path
is maintained (if existing); if FALSE, only basename is returned.</p></dd>


<dt>allow_duplicated</dt>
<dd><p>Logical value: if TRUE, duplicated values are
maintained; if FALSE (default), in case of duplicated value a suffix is
added to the tile ID (see <code><a href="add_tile_suffix.html">add_tile_suffix()</a></code>).</p></dd>


<dt>set.seed</dt>
<dd><p>Deprecated (no more used).</p></dd>


<dt>multiple_names</dt>
<dd><p>Deprecated (no more used).</p></dd>


<dt>abort</dt>
<dd><p>Logical parameter: if TRUE, the function aborts in case
<code>prod_type</code> is not recognised; if FALSE (default), a warning is shown.</p></dd>

</dl></div>
    <div id="value">
    <h2>Value</h2>
    

<p>Output product name</p>
    </div>
    <div id="details">
    <h2>Details</h2>
    <p><a href="https://sentinels.copernicus.eu/web/sentinel/user-guides/sentinel-2-msi/naming-convention" class="external-link">ESA Sentinel-2 naming convention</a>
is particularly long-winded.
So, the convention here adopted, named "sen2r naming convention",
follows this schema:</p>
<p><code>S2mll_yyyymmdd_rrr_ttttt_ppp_rr.fff</code></p>
<p>where:</p><ul><li><p><code>S2mll</code> (length: 5) shows the mission ID (<code>S2A</code> or <code>S2B</code>) and the product level
(<code>1C</code> or <code>2A</code>);</p></li>
<li><p><code>yyyymmdd</code> (length: 8) is the sensing date (e.g. <code>20170603</code> for 2017-06-03) ; the
hour is skipped, since a single sensor can not pass two times in a
day on the same tile);</p></li>
<li><p><code>rrr</code> (length: 3) is the relative orbit number (e.g. <code>022</code>);</p></li>
<li><p><code>ttttt</code> (length: 5) is the tile number (e.g. <code>32TQQ</code>);</p></li>
<li><p><code>ppp</code> (length: 3) is the output product, being one of these:
<em>for level 1C:</em></p><ul><li><p><code>TOA</code>: 13-bands Top-Of-Atmosphere Reflectance;
<em>for level 2A:</em></p></li>
<li><p><code>BOA</code>: 13-bands Bottom-Of-Atmosphere Reflectance;</p></li>
<li><p><code>TCI</code>: True Colour Image (3-band RGB 8-bit image);</p></li>
<li><p><code>AOT</code>: Aerosol Optical Thickness;</p></li>
<li><p><code>WVP</code>: Water Vapour;</p></li>
<li><p><code>SCL</code>: Scene Classification Map;</p></li>
<li><p><code>CLD</code>: Quality Indicators for cloud probabilities;</p></li>
<li><p><code>SNW</code>: Quality Indicators for snow probabilities;</p></li>
<li><p><code>VIS</code>: TODO Visibility (used for AOT);
<em>for both levels:</em></p></li>
<li><p><code>SZA</code>: Sun Zenith Angles;</p></li>
<li><p><code>SAA</code>: Sun Azimuth Angles;</p></li>
<li><p><code>OZA</code>: averaged Viewing Incidence Zenith Angles;</p></li>
<li><p><code>OAA</code>: averaged Viewing Incidence Azimuth Angles.</p></li>
</ul></li>
<li><p><code>rr</code> (length: 2) is the original minimum spatial resolution in metres
(10, 20 or 60);</p></li>
<li><p><code>fff</code> (length: variable, generally 3) is the file extension.</p></li>
</ul></div>
    <div id="note">
    <h2>Note</h2>
    <p>License: GPL 3.0</p>
    </div>
    <div id="references">
    <h2>References</h2>
    <p>L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020).
"sen2r": An R toolbox for automatically downloading and preprocessing
Sentinel-2 satellite data. <em>Computers &amp; Geosciences</em>, 139, 104473.
<a href="https://doi.org/10.1016/j.cageo.2020.104473" class="external-link">doi:10.1016/j.cageo.2020.104473</a>
, URL: <a href="https://sen2r.ranghetti.info/" class="external-link">https://sen2r.ranghetti.info/</a>.</p>
    </div>
    <div id="author">
    <h2>Author</h2>
    <p>Luigi Ranghetti, phD (2019)</p>
    </div>

    <div id="ref-examples">
    <h2>Examples</h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="fu">safe_shortname</span><span class="op">(</span><span class="st">"S2A_MSIL1C_20170603T101031_N0205_R022_T32TQQ_20170603T101026.SAFE"</span>, ext<span class="op">=</span><span class="st">"tif"</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> [1] "S2A1C_20170603_022_32TQQ_TOA_10.tif"</span>
</code></pre></div>
    </div>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
    </nav></div>
</div>


      <footer><div class="copyright">
  <p></p><p>Developed by Luigi Ranghetti, Lorenzo Busetto.</p>
</div>

<div class="pkgdown">
  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>

      </footer></div>

  


  

  </body></html>

