qd-changjing/public/static/Build/Documentation/WebMercatorProjection.html

1007 lines
60 KiB
HTML
Raw Normal View History

2022-07-05 16:56:29 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>WebMercatorProjection - Cesium Documentation</title>
<!--[if lt IE 9]>
<script src="javascript/html5.js"></script>
<![endif]-->
<link href="styles/jsdoc-default.css" rel="stylesheet">
<link href="styles/prism.css" rel="stylesheet">
</head>
<body>
<div id="main">
<h1 class="page-title">
<a href="index.html"><img src="Images/CesiumLogo.png" class="cesiumLogo"></a>
WebMercatorProjection
<div class="titleCenterer"></div>
</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
<div class="nameContainer">
<h4 class="name" id="WebMercatorProjection">
<a href="#WebMercatorProjection" class="doc-link"></a>
new Cesium.WebMercatorProjection<span class="signature">(<span class="optional">ellipsoid</span>)</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L21">Core/WebMercatorProjection.js 21</a>
</div>
</h4>
</div>
<div class="description">
The map projection used by Google Maps, Bing Maps, and most of ArcGIS Online, EPSG:3857. This
projection use longitude and latitude expressed with the WGS84 and transforms them to Mercator using
the spherical (rather than ellipsoidal) equations.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>ellipsoid</code></td>
<td class="type">
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
</td>
<td class="default">
<code class="language-javascript">Ellipsoid.WGS84</code>
</td>
<td class="description last">
<span class="optional">optional</span>
The ellipsoid.</td>
</tr>
</tbody>
</table>
<dl class="details">
<h5>See:</h5>
<ul class="see-list">
<li><a href="GeographicProjection.html">GeographicProjection</a></li>
</ul>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<div class="nameContainer">
<h4 class="name" id=".MaximumLatitude">
<a href="#.MaximumLatitude" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.WebMercatorProjection.MaximumLatitude<span class="type-signature"> : Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L88">Core/WebMercatorProjection.js 88</a>
</div>
</h4>
</div>
<div class="description">
The maximum latitude (both North and South) supported by a Web Mercator
(EPSG:3857) projection. Technically, the Mercator projection is defined
for any latitude up to (but not including) 90 degrees, but it makes sense
to cut it off sooner because it grows exponentially with increasing latitude.
The logic behind this particular cutoff value, which is the one used by
Google Maps, Bing Maps, and Esri, is that it makes the projection
square. That is, the rectangle is equal in the X and Y directions.
The constant value is computed by calling:
WebMercatorProjection.mercatorAngleToGeodeticLatitude(Math.PI)
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="ellipsoid">
<a href="#ellipsoid" class="doc-link"></a>
<span class="type-signature attribute-readonly">readonly</span> ellipsoid<span class="type-signature"> : <a href="Ellipsoid.html">Ellipsoid</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L36">Core/WebMercatorProjection.js 36</a>
</div>
</h4>
</div>
<div class="description">
Gets the <a href="Ellipsoid.html"><code>Ellipsoid</code></a>.
</div>
<dl class="details">
</dl>
<h3 class="subsection-title">Methods</h3>
<div class="nameContainer">
<h4 class="name" id=".geodeticLatitudeToMercatorAngle">
<a href="#.geodeticLatitudeToMercatorAngle" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.WebMercatorProjection.geodeticLatitudeToMercatorAngle<span class="signature">(latitude)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L63">Core/WebMercatorProjection.js 63</a>
</div>
</h4>
</div>
<div class="description">
Converts a geodetic latitude in radians, in the range -PI/2 to PI/2, to a Mercator
angle in the range -PI to PI.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>latitude</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The geodetic latitude in radians.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The Mercator angle.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id=".mercatorAngleToGeodeticLatitude">
<a href="#.mercatorAngleToGeodeticLatitude" class="doc-link"></a>
<span class="type-signature attribute-static">static</span> Cesium.WebMercatorProjection.mercatorAngleToGeodeticLatitude<span class="signature">(mercatorAngle)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L50">Core/WebMercatorProjection.js 50</a>
</div>
</h4>
</div>
<div class="description">
Converts a Mercator angle, in the range -PI to PI, to a geodetic latitude
in the range -PI/2 to PI/2.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>mercatorAngle</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The angle to convert.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The geodetic latitude in radians.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="project">
<a href="#project" class="doc-link"></a>
project<span class="signature">(cartographic, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L102">Core/WebMercatorProjection.js 102</a>
</div>
</h4>
</div>
<div class="description">
Converts geodetic ellipsoid coordinates, in radians, to the equivalent Web Mercator
X, Y, Z coordinates expressed in meters and returned in a <a href="Cartesian3.html"><code>Cartesian3</code></a>. The height
is copied unmodified to the Z coordinate.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>cartographic</code></td>
<td class="type">
<span class="param-type"><a href="Cartographic.html">Cartographic</a></span>
</td>
<td class="description last">
The cartographic coordinates in radians.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The instance to which to copy the result, or undefined if a
new instance should be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The equivalent web mercator X, Y, Z coordinates, in meters.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="unproject">
<a href="#unproject" class="doc-link"></a>
unproject<span class="signature">(cartesian, <span class="optional">result</span>)</span> &rarr; <span class="type-signature returnType"><a href="Cartographic.html">Cartographic</a></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/WebMercatorProjection.js#L131">Core/WebMercatorProjection.js 131</a>
</div>
</h4>
</div>
<div class="description">
Converts Web Mercator X, Y coordinates, expressed in meters, to a <a href="Cartographic.html"><code>Cartographic</code></a>
containing geodetic ellipsoid coordinates. The Z coordinate is copied unmodified to the
height.
</div>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>cartesian</code></td>
<td class="type">
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
</td>
<td class="description last">
The web mercator Cartesian position to unrproject with height (z) in meters.</td>
</tr>
<tr>
<td class="name"><code>result</code></td>
<td class="type">
<span class="param-type"><a href="Cartographic.html">Cartographic</a></span>
</td>
<td class="description last">
<span class="optional">optional</span>
The instance to which to copy the result, or undefined if a
new instance should be created.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The equivalent cartographic coordinates.
</div>
<dl class="details">
</dl>
</article>
</section>
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a>
</footer>
</div>
<div class="nav">
<div class="menu">
<input type="text" class="classFilter" id="ClassFilter" placeholder="Search">
<ul id="ClassList"><li data-name="Animation"><a href="Animation.html">Animation</a></li><li data-name="AnimationViewModel"><a href="AnimationViewModel.html">AnimationViewModel</a></li><li data-name="Appearance"><a href="Appearance.html">Appearance</a></li><li data-name="ArcGisMapServerImageryProvider"><a href="ArcGisMapServerImageryProvider.html">ArcGisMapServerImageryProvider</a></li><li data-name="ArcGISTiledElevationTerrainProvider"><a href="ArcGISTiledElevationTerrainProvider.html">ArcGISTiledElevationTerrainProvider</a></li><li data-name="ArcType"><a href="global.html#ArcType">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="Axis"><a href="global.html#Axis">Axis</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="backFaceCulling"><a href="global.html#backFaceCulling">backFaceCulling</a></li><li data-name="barycentricCoordinates"><a href="global.html#barycentricCoordinates">barycentricCoordinates</a></li><li data-name="BaseLayerPicker"><a href="BaseLayerPicker.html">BaseLayerPicker</a></li><li data-name="BaseLayerPickerViewModel"><a href="BaseLayerPickerViewModel.html">BaseLayerPickerViewModel</a></li><li data-name="Billboard"><a href="Billboard.html">Billboard</a></li><li data-name="BillboardCollection"><a href="BillboardCollection.html">BillboardCollection</a></li><li data-name="BillboardGraphics"><a href="BillboardGraphics.html">BillboardGraphics</a></li><li data-name="BillboardVisualizer"><a href="BillboardVisualizer.html">BillboardVisualizer</a></li><li data-name="binarySearch"><a href="global.html#binarySearch">binarySearch</a></li><li data-name="binarySearchComparator"><a href="global.html#binarySearchComparator">binarySearchComparator</a></li><li data-name="BingMapsGeocoderService"><a href="BingMapsGeocoderService.html">BingMapsGeocoderService</a></li><li data-name="BingMapsImageryProvider"><a href="BingMapsImageryProvider.html">BingMapsImageryProvider</a></li><li data-name="BingMapsStyle"><a href="global.html#BingMapsStyle">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="global.html#BlendEquation">BlendEquation</a></li><li data-name="BlendFunction"><a href="global.html#BlendFunction">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="global.html#BlendOption">BlendOption</a></li><li data-name="BoundingRectangle"><a href="BoundingRectangle.html">BoundingRectangle</a></li><li data-name="BoundingSphere"><a href="BoundingSphere.html">BoundingSphere</a></li><li data-name="boundingSphere"><a href="global.html#boundingSphere">boundingSphere</a></li><li data-name="BoxEmitter"><a href="BoxEmitter.html">BoxEmitter</a></li><li data-name="BoxGeometry"><a href="BoxGeometry.html">BoxGeometry</a></li><li data-name="BoxGeometryUpdater"><a href="BoxGeometryUpdater.html">BoxGeometryUpdater</a></li><li data-name="BoxGraphics"><a href="BoxGraphics.html">BoxGraphics</a></li><li data-name="BoxOutlineGeometry"><a href="BoxOutlineGeometry.html">BoxOutlineGeometry</a></li><li data-name="buildModuleUrl"><a href="global.html#buildModuleUrl">buildModuleUrl</a></li><li data-name="CallbackProperty"><a href="CallbackProperty.html">CallbackProperty</a></li><li data-name="Camera"><a href="Camera.html">Camera</a></li><li data-name="CameraEventAggregator"><a href="CameraEventAggregator.html">CameraEventAggregator</a></li><li data-name="CameraEventType"><a href="global.html#CameraEventType">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="global.html#cancelAnimationFrame">cancelAnimationFrame</a></li><li data-name="Cartesian2"><a href="Cartesian2.html">Cartesian2</a></li><li data-name="Cartesian3"><a href="Cartesian3.html">Cartesian3</a></li><li data-name="Cartesian4"><a href="Cartesian4.html">Cartesian4</a></li><li data-name="Cartographic"><a href="Cartographic.html">Cartographic</a></li><li data-name="CartographicGeocoderService"><a href="CartographicGeocoderServic
</div>
</div>
<script>
if (window.frameElement) {
document.body.className = 'embedded';
var ele = document.createElement('a');
ele.className = 'popout';
ele.target = '_blank';
ele.href = window.location.href;
ele.title = 'Pop out';
document.getElementById('main').appendChild(ele);
}
// Set targets on external links. Sandcastle and GitHub shouldn't be embedded in any iframe.
Array.prototype.forEach.call(document.getElementsByTagName('a'), function(a) {
if (/^https?:/i.test(a.getAttribute('href'))) {
a.target='_blank';
}
});
</script>
<script src="javascript/prism.js"></script>
<script src="javascript/cesiumDoc.js"></script>
</body>
</html>