32 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Provides utilities related to coordinates."><meta name="keywords" content="rust, rustlang, rust-lang, coords"><title>maplibre::coords - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module coords</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="coords" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../maplibre/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">maplibre</a>::<wbr><a class="mod" href="#">coords</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/maplibre/coords.rs.html#1-720">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Provides utilities related to coordinates.</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AlignedWorldTileCoords.html" title="maplibre::coords::AlignedWorldTileCoords struct">AlignedWorldTileCoords</a></div><div class="item-right docblock-short"><p>An aligned world tile coordinate aligns a world coordinate at a 4x4 tile raster within the
world. The aligned coordinates is defined by the coordinates of the upper left tile in the 4x4
tile raster divided by 2 and rounding to the ceiling.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.InnerCoords.html" title="maplibre::coords::InnerCoords struct">InnerCoords</a></div><div class="item-right docblock-short"><p>Within each tile there is a separate coordinate system. Usually this coordinate system is
within <a href="constant.EXTENT.html" title="crate::coords::EXTENT"><code>crate::coords::EXTENT</code></a>. Therefore, <code>x</code> and <code>y</code> must be within the bounds of
<a href="constant.EXTENT.html" title="crate::coords::EXTENT"><code>crate::coords::EXTENT</code></a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.LatLon.html" title="maplibre::coords::LatLon struct">LatLon</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Quadkey.html" title="maplibre::coords::Quadkey struct">Quadkey</a></div><div class="item-right docblock-short"><p>Represents the position of a node within a quad tree. The first u8 defines the <code>ZoomLevel</code> of the node.
The remaining bytes define which part (north west, south west, south east, north east) of each
subdivision of the quadtree is concerned.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.TileCoords.html" title="maplibre::coords::TileCoords struct">TileCoords</a></div><div class="item-right docblock-short"><p>Every tile has tile coordinates. These tile coordinates are also called
<a href="https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames">Slippy map tilenames</a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ViewRegion.html" title="maplibre::coords::ViewRegion struct">ViewRegion</a></div><div class="item-right docblock-short"><p>Defines a bounding box on a tiled map with a <a href="struct.ZoomLevel.html" title="ZoomLevel"><code>ZoomLevel</code></a> and a padding.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WorldCoords.html" title="maplibre::coords::WorldCoords struct">WorldCoords</a></div><div class="item-right docblock-short"><p>Actual coordinates within the 3D world. The <code>z</code> value of the [<code>WorldCoors</code>] is not related to
the <code>z</code> value of the [<code>WorldTileCoors</code>]. In the 3D world all tiles are rendered at <code>z</code> values
which are determined only by the render engine and not by the zoom level.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.WorldTileCoords.html" title="maplibre::coords::WorldTileCoords struct">WorldTileCoords</a></div><div class="item-right docblock-short"><p>Every tile has tile coordinates. Every tile coordinate can be mapped to a coordinate within
the world. This provides the freedom to map from <a href="https://wiki.openstreetmap.org/wiki/TMS">TMS</a>
to <a href="https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames">Slippy_map_tilenames</a>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Zoom.html" title="maplibre::coords::Zoom struct">Zoom</a></div><div class="item-right docblock-short"><p><code>Zoom</code> is an exponential scale that defines the zoom of the camera on the map.
We can derive the <code>ZoomLevel</code> from <code>Zoom</code> by using the <code>[crate::coords::ZOOM_BOUNDS]</code>.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.ZoomLevel.html" title="maplibre::coords::ZoomLevel struct">ZoomLevel</a></div><div class="item-right docblock-short"></div></div></div><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXTENT.html" title="maplibre::coords::EXTENT constant">EXTENT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXTENT_SINT.html" title="maplibre::coords::EXTENT_SINT constant">EXTENT_SINT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXTENT_UINT.html" title="maplibre::coords::EXTENT_UINT constant">EXTENT_UINT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.MAX_ZOOM.html" title="maplibre::coords::MAX_ZOOM constant">MAX_ZOOM</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.TILE_SIZE.html" title="maplibre::coords::TILE_SIZE constant">TILE_SIZE</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.ZOOM_BOUNDS.html" title="maplibre::coords::ZOOM_BOUNDS constant">ZOOM_BOUNDS</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.create_zoom_bounds.html" title="maplibre::coords::create_zoom_bounds fn">create_zoom_bounds</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.tiles_with_z.html" title="maplibre::coords::tiles_with_z fn">tiles_with_z</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="maplibre" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0 (a8314ef7d 2022-06-27)" ></div>
</body></html>