UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.49 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{formatLength as t,formatAngle as r}from"../../../core/quantityFormatUtils.js";import{createLength as a,createAngle as s}from"../../../core/quantityUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{copyToClipboard as i,getConvertedArea as c}from"../imageMeasurementUtils.js";import{ImageMeasurementMixin as u}from"./ImageMeasurementMixin.js";import{substitute as o}from"../../../intl/substitute.js";const g=g=>{let m=class extends(u(g)){copyActiveMeasurementResults(e,t){t?this.copyTriangularMeasurementResult(e):this.copyGroundMeasurementResult(e)}copyGroundMeasurementResult(e){let t,r;switch(e){case"area":t={measurement:this.getConvertedAreaString("measurement"),accuracy:this.getConvertedAreaString("accuracy")},r="{measurement} ± {accuracy}";break;case"distance":t={measurement:this.getConvertedDistanceString("measurement"),accuracy:this.getConvertedDistanceString("accuracy")},r="{measurement} ± {accuracy}";break;case"height":t={measurement:this.getConvertedHeightString("measurement"),accuracy:this.getConvertedHeightString("accuracy")},r="{measurement} ± {accuracy}"}const a=o(r,t);i(a)}copyTriangularMeasurementResult(e){let t=null;switch(e){case"area":t=this.copyTriangularAreaMeasurements();break;case"distance":t=this.copyTriangularDistanceMeasurements()}t&&i(t)}copyTriangularAreaMeasurements(){const e={measurement:this.getConvertedTriangularAreaString("measurement"),accuracy:this.getConvertedTriangularAreaString("accuracy")};return o("{measurement} ± {accuracy}",e)}copyTriangularDistanceMeasurements(){const{oiViewModel:e}=this,{triangulatedDistanceMeasurement:t,triangulatedDistanceAccuracy:r}=e;if(!t)return;const{distance:a,horizontalDistance:s,verticalDistance:n,slope:i,aspect:c}=t,{distanceAccuracy:u=0,angleAccuracy:g=0}=r??{},m={distance:this.getConvertedTriangularDistanceMeasurementString(a),distanceAccuracy:this.getConvertedTriangularDistanceMeasurementString(u),horizontal:this.getConvertedTriangularDistanceMeasurementString(s),vertical:this.getConvertedTriangularDistanceMeasurementString(n),slope:this.getConvertedTriangularDistanceAngularResultsString(i),angleAccuracy:this.getConvertedTriangularDistanceAngularResultsString(g),aspect:this.getConvertedTriangularDistanceAngularResultsString(c)};return o(" Distance : {distance} ± {distanceAccuracy} , Horizontal : {horizontal} ± {distanceAccuracy}, Vertical : {vertical} ± {distanceAccuracy}, Slope : {slope} ± {angleAccuracy}, Aspect : {aspect} ± {angleAccuracy}",m)}getConvertedTriangularDistanceMeasurementString(e){const{measurementUnitMessages:r,pixelMeasurementUnit:s}=this;return t(r,a(e,"meters"),s,3)||null}getConvertedTriangularDistanceAngularResultsString(e){return r(s(e,"degrees"),"arithmetic",3)||null}getConvertedTriangularAreaString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelAreaMeasurementUnit:a,messages:s}=this,{triangulatedAreaAccuracy:n,triangulatedAreaMeasurement:i}=t;return c(e,i,n,r,a)??s.startMeasurement}};return m=e([n("esri.widgets.OrientedImageryViewer.mixins.TriangulatedImageMeasurementMixin")],m),m};export{g as TriangulatedImageMeasurementMixin};