Select any number of registered Cloud-Optimized GeoTIFFs and the builder composes them into a single virtual mosaic served as one ImageServer layer. A lightweight VRT file references the sources — GDAL reads through on every window request, so there's no pixel copy, no reprojection bake, no preprocessing step. The RemoteView "Virtual Mosaic" capability: terabytes of adjacent or overlapping scenes presented as one layer, on demand.
A GDAL Virtual Raster (VRT) is just metadata — an XML pointing at the source rasters, with the destination windows that map each source's footprint into the mosaic's pixel space. The builder hand-authors it (no gdalbuildvrt CLI dependency) so it works with the minimal GDAL runtime that ships in the box.
POST /api/mosaic {cogIds[]} builds + registers the mosaic as a new COG id and returns the ImageServer URL.# compose N registered COGs into one layer POST /api/mosaic { "cogIds": [ "wv3-tile-a", "wv3-tile-b", "wv3-tile-c", "s2-mosaic-d" ] } → { "cogId": "mosaic_a1b2c3d4", "outputCogUrl": "/arcgis/rest/services/mosaic_a1b2c3d4/ImageServer", "sourceCogIds": [ "wv3-tile-a", … ] } # served unchanged — the math path opens any GDAL dataset GET …/mosaic_a1b2c3d4/ImageServer/exportImage?bbox=…
A traditional mosaic copies and warps every source into one giant file — hours of preprocessing, doubled storage, and a stale product the moment a new scene arrives. A VRT is the opposite: it's a live view over the sources.
Building the mosaic is writing a few KB of XML — milliseconds, not hours. The sources are read on demand for each exportImage window.
No pixel is copied. A mosaic over 4 TB of source COGs is a 2 KB .vrt file. Storage cost is effectively zero.
Re-register a source COG (swap its content under the same id) and the mosaic reflects the new bytes immediately — the VRT reads through on every request.
Served via the ImageServer exportImage math path, not the range-proxy /api/cog/files/{id} path — a VRT isn't a true tiled COG, so the render path (which opens any GDAL dataset) is the right serving surface.
Pair with IMINT exploitation and stereo → DSM for a complete image-intelligence stack.
Get Started