<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on async-geotiff</title><link>https://async-geotiff-rs.pages.dev/docs/reference/</link><description>Recent content in Reference on async-geotiff</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 31 Aug 2026 11:52:18 +0800</lastBuildDate><atom:link href="https://async-geotiff-rs.pages.dev/docs/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>Example HTTP API</title><link>https://async-geotiff-rs.pages.dev/docs/reference/tile-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://async-geotiff-rs.pages.dev/docs/reference/tile-api/</guid><description>&lt;p&gt;The HTTP API belongs to &lt;code&gt;examples/serve.rs&lt;/code&gt;; it is not part of the library’s&#10;dependency surface.&lt;/p&gt;&#10;&lt;h2 id="routes"&gt;Routes&#10;&lt;/h2&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Method and path&lt;/th&gt;&#10; &lt;th scope="col"&gt;Purpose&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /tiles/{tms}/{z}/{x}/{y}.{ext}&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Render a tile from the selected single COG.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /mosaic/tiles/{tms}/{z}/{x}/{y}.{ext}&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Render a tile from the configured mosaic or STAC source.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /datasets&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;List local TIFF files discovered under &lt;code&gt;data/&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /cache/stats&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Return decoded-block cache statistics.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /formats&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Return output formats compiled into the server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET /bounds&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Return bounds used by the example viewers.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;HEAD /data/{name}&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Serve a discovered local TIFF with range support.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Supported TMS names are &lt;code&gt;WebMercatorQuad&lt;/code&gt; and &lt;code&gt;WorldCRS84Quad&lt;/code&gt;. Supported&#10;extensions are &lt;code&gt;png&lt;/code&gt;, feature-gated &lt;code&gt;webp&lt;/code&gt;, and feature-gated &lt;code&gt;jpg&lt;/code&gt;/&lt;code&gt;jpeg&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Cargo features</title><link>https://async-geotiff-rs.pages.dev/docs/reference/cargo-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://async-geotiff-rs.pages.dev/docs/reference/cargo-features/</guid><description>&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Feature&lt;/th&gt;&#10; &lt;th scope="col" style="text-align: right"&gt;Default&lt;/th&gt;&#10; &lt;th scope="col"&gt;Effect&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;proj&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;yes&lt;/td&gt;&#10; &lt;td&gt;Enables general CRS transformation through system &lt;code&gt;libproj&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;mosaic&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;yes&lt;/td&gt;&#10; &lt;td&gt;Enables &lt;code&gt;MosaicTiler&lt;/code&gt;, &lt;code&gt;MosaicSource&lt;/code&gt;, MosaicJSON, and async asset fan-out.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;webp&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;no&lt;/td&gt;&#10; &lt;td&gt;Enables lossless WebP encoding through &lt;code&gt;image&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;jpeg&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;no&lt;/td&gt;&#10; &lt;td&gt;Enables JPEG encoding; alpha is flattened because JPEG has no alpha channel.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;stac&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;no&lt;/td&gt;&#10; &lt;td&gt;Adds the STAC client and implies &lt;code&gt;mosaic&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;perf-tracing&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;no&lt;/td&gt;&#10; &lt;td&gt;Emits detailed internal timing events.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;tokio-console&lt;/code&gt;&lt;/td&gt;&#10; &lt;td style="text-align: right"&gt;no&lt;/td&gt;&#10; &lt;td&gt;Enables Tokio Console integration and implies &lt;code&gt;perf-tracing&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Examples:&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-7cfcfdcf-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="bash" data-td-line-count="14"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-7cfcfdcf-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Default: projection + mosaics + PNG&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo build --release&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Minimal library without general PROJ or mosaics&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo build --release --no-default-features&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Example server with all image formats&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo run --release --example serve --features webp,jpeg&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# STAC-backed mosaic demo&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo run --release --example serve --features stac&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Full verification surface&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo &lt;span class="nb"&gt;test&lt;/span&gt; --all-features --locked&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;The &lt;code&gt;serve&lt;/code&gt;, &lt;code&gt;mosaic_source&lt;/code&gt;, and &lt;code&gt;mosaic_json&lt;/code&gt; examples require the &lt;code&gt;mosaic&lt;/code&gt;&#10;feature. PNG support is always compiled.&lt;/p&gt;</description></item><item><title>Example server configuration</title><link>https://async-geotiff-rs.pages.dev/docs/reference/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://async-geotiff-rs.pages.dev/docs/reference/runtime-configuration/</guid><description>&lt;p&gt;These variables configure &lt;code&gt;cargo run --example serve&lt;/code&gt;. They are example-server&#10;contracts, not global library configuration.&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;Variable&lt;/th&gt;&#10; &lt;th scope="col"&gt;Default&lt;/th&gt;&#10; &lt;th scope="col"&gt;Meaning&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_BIND&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;127.0.0.1:8080&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Socket address for the HTTP server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_BLOCK_CACHE_MB&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;512&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Shared decoded-block cache capacity in MiB; must be positive.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_MAX_DECODE_TASKS&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;available parallelism&lt;/td&gt;&#10; &lt;td&gt;Maximum concurrent decode/stitch CPU jobs; must be positive.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_MAX_TILE_TASKS&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;available parallelism&lt;/td&gt;&#10; &lt;td&gt;Maximum concurrent tile warp/render CPU jobs; must be positive.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_PREFETCH_RING&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Number of native-block rings prefetched around a read; &lt;code&gt;0&lt;/code&gt; disables it.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_SLOW_TILE_MS&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;unset&lt;/td&gt;&#10; &lt;td&gt;Emit a slow-tile warning above this positive millisecond threshold.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_MOSAIC&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;unset&lt;/td&gt;&#10; &lt;td&gt;Path to a MosaicJSON file loaded at startup.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_STAC_URL&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;unset&lt;/td&gt;&#10; &lt;td&gt;Fixed STAC API URL; requires the &lt;code&gt;stac&lt;/code&gt; feature and the next two variables.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_STAC_COLLECTION&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;unset&lt;/td&gt;&#10; &lt;td&gt;Fixed STAC collection ID.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_STAC_ASSET_KEY&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;unset&lt;/td&gt;&#10; &lt;td&gt;Fixed STAC COG asset key.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;ASYNC_GEOTIFF_TOKIO_CONSOLE&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;off&lt;/td&gt;&#10; &lt;td&gt;Enable Tokio Console with &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;yes&lt;/code&gt;, or &lt;code&gt;on&lt;/code&gt; when compiled with &lt;code&gt;tokio-console&lt;/code&gt;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;RUST_LOG&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;async_geotiff=debug,warn&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;Standard tracing filter for the example server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;&lt;code&gt;ASYNC_GEOTIFF_MOSAIC&lt;/code&gt; and the STAC configuration are mutually exclusive. All&#10;three STAC variables must be supplied together.&lt;/p&gt;</description></item></channel></rss>