@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.03 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{l as r}from"../../chunks/vec32.js";import{getProjectorClassification as t,ProjectionID as e,invPlateCarreeScale as s}from"./projectors.js";import{earth as o}from"../support/Ellipsoid.js";import{equals as i}from"../support/spatialReferenceUtils.js";function n(n,f,u,c){const p=t(f,c);if(null==p)return!1;const a=p.source.spatialReferenceId,E=p.dest.spatialReferenceId;if(a===E&&a!==e.UNKNOWN||i(f,c))return u[0]=1,u[1]=1,u[2]=1,!0;if(a===e.SPHERICAL_ECEF){const t=r(n),i=t/Math.sqrt(n[0]*n[0]+n[1]*n[1]),f=t/o.radius;if(E===e.WEB_MERCATOR)return u[0]=i*f,u[1]=i*f,u[2]=1,!0;if(E===e.WGS84||E===e.CGCS2000){const r=s;return u[0]=r*i*f,u[1]=r*f,u[2]=1,!0}}else if(a===e.PLATE_CARREE){if(E===e.WGS84||E===e.CGCS2000)return u[0]=s,u[1]=s,u[2]=1,!0;if(E===e.WEB_MERCATOR){const r=n[1]/o.radius;return u[0]=1,u[1]=1/Math.cos(r),u[2]=1,!0}}return!1}export{n as localLinearScaleFactors};