<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">So, a vrt of a vrt?<div class=""><br class=""></div><div class="">I wanted to avoid that, because as I understand the source, it reads each raster in the derived band as a single numpy array, which would be all the tiled rasters together.  Most of the vrts that I want to process this way are huge, GBs.</div><div class=""><br class=""></div><div class="">I guess I can make a derived band vrt of each tile, then merge those together as a normal vrt.</div><div class=""><br class=""></div><div class="">I already tried running gdal_calc.py on the normal vrts to do the same thing into a geotiff, but it takes forever, while the pixel functions (also python) appear to be much faster.</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 26, 2018, at 12:41 PM, Even Rouault <<a href="mailto:even.rouault@spatialys.com" class="">even.rouault@spatialys.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">On jeudi 26 avril 2018 08:22:05 CEST William Kyngesburye wrote:</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> I'm trying to add a pixel function (Python) to a vrt where there are</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> multiple rasters (ComplexSource) tiled together (that is, not stacked like</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> an RGB image).  When I translate the vrt to a tif, only the first</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> ComplexSource is processed, the rest on the raster is set to 0.</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> </div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> I got the basics of the functin from the vrt docs, and it does work, for the</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> first raster tile.  Maybe the python notation for calculating the numpy</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> array is wrong?</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> </div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> The original vrt is created from gdalbuildvrt.  This is the vrt thru the</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">> first 2 rasters:</div><p style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""> </p><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">William,</div><p style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""> </p><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">in a VRTDerivedRasterBand, the sources are considered to be a stack, and in_ar[0] will return the first source and in_ar[1] the seconded one.</div><p style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""> </p><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">What you need to do is create a regular tiled VRT, and use that one has the single source of a VRTDerivedRasterBand</div><p style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""> </p><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">Even</div><p style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""> </p><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">-- </div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">Spatialys - Geospatial professional services</div><div style="white-space: pre-wrap; font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><a href="http://www.spatialys.com/" class="">http://www.spatialys.com</a></div><span style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">gdal-dev mailing list</span><br style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:gdal-dev@lists.osgeo.org" style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">gdal-dev@lists.osgeo.org</a><br style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" style="font-family: 'Sans Serif'; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a></div></blockquote></div><br class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div class="">-----</div><div class="">William Kyngesburye <kyngchaos*at*kyngchaos*dot*com></div><div class=""><a href="http://www.kyngchaos.com/" class="">http://www.kyngchaos.com/</a></div><div class=""><br class=""></div><div class="">"Time is an illusion - lunchtime doubly so."</div><div class=""><br class=""></div><div class="">- Ford Prefect</div><br class="Apple-interchange-newline"></span></span>
</div>

<br class=""></div></body></html>