@arcgis/core 5.2.0-next.163 → 5.2.0-next.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PopupTemplate.js +1 -1
- package/analysis/LineOfSightAnalysis.d.ts +1 -1
- package/analysis/LineOfSightAnalysisObserver.d.ts +5 -4
- package/analysis/LineOfSightAnalysisTarget.d.ts +4 -4
- package/analysis/Viewshed.d.ts +4 -4
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{8e19629899a5becf8e19.js → 150e7a7bd5df25693da7.js} +1 -1
- package/assets/esri/core/workers/chunks/226f862bbeb33fc7c597.js +1 -0
- package/assets/esri/core/workers/chunks/{2e096537a3a5555a4a93.js → 4cb751dc8d00bdaeb04c.js} +1 -1
- package/assets/esri/core/workers/chunks/{85bba551057366cd00ae.js → 4db829a0238024736fe6.js} +1 -1
- package/assets/esri/core/workers/chunks/{8aa80b892fde552577e8.js → 700b1d5bc67b7e1b3ff3.js} +1 -1
- package/assets/esri/core/workers/chunks/{f528ac5c648ca6a98582.js → 711cfb84659cb4437679.js} +1 -1
- package/assets/esri/core/workers/chunks/ad96132bc89671e595f3.js +1 -0
- package/assets/esri/core/workers/chunks/b736046c6b4ede73ea46.js +1 -0
- package/assets/esri/core/workers/chunks/c070d2ddf290b4f92916.js +1 -0
- package/assets/esri/core/workers/chunks/d77c68e0fc3b259bf4f9.js +1 -0
- package/assets/esri/core/workers/chunks/{e0351753f6b4d1adf11e.js → fc0dbb588a4062615cb6.js} +1 -1
- package/chunks/GlobalIllumination.glsl.js +2 -17
- package/config.js +1 -1
- package/geometry/support/clipRay.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/kernel.js +1 -1
- package/layers/GeoJSONLayer.d.ts +2 -107
- package/layers/SceneLayer.d.ts +40 -16
- package/layers/ViewshedLayer.d.ts +10 -4
- package/layers/WMSLayer.d.ts +2 -69
- package/layers/mixins/TemporalLayer.d.ts +70 -48
- package/layers/mixins/TiledImagery.d.ts +0 -11
- package/package.json +2 -2
- package/popup/content.d.ts +38 -1
- package/popup/content.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +2 -2
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/support/timeUtils.d.ts +11 -0
- package/symbols/cim/CIMCursor.js +1 -1
- package/views/2d/engine/webgl/GlyphWorker.js +1 -1
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/3d/environment/SunLighting.d.ts +0 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/VirtualLighting.d.ts +0 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +9 -4
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/worldSizedRibbonLineIntersectionUtils.js +2 -0
- package/views/layers/LineOfSightLayerView.d.ts +2 -2
- package/views/layers/ViewshedLayerView.d.ts +2 -1
- package/views/support/screenshotUtils.js +1 -1
- package/webscene/Slide.d.ts +1 -2
- package/widgets/DirectionalPad/VisibleElements.d.ts +5 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +3 -3
- package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
- package/assets/esri/core/workers/chunks/0cb50bc2b2125c5fedf2.js +0 -1
- package/assets/esri/core/workers/chunks/2f04b8679c9f15390517.js +0 -1
- package/assets/esri/core/workers/chunks/42045cf46497828cd3c0.js +0 -1
- package/assets/esri/core/workers/chunks/e01fc1c31bc023dd0e33.js +0 -1
- package/assets/esri/core/workers/chunks/e077e321a3109c2fbbe2.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{clamp as e}from"../../core/mathUtils.js";import{exactEquals as t,subtract as n,normalize as r,dot as i,lerp as a,copy as o,add as s,scale as c,cross as l,set as u,scaleAndAdd as d}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as f}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{equals as p,exactEquals as m}from"../../core/libs/gl-matrix-2/math/vec4.js";import{projectPointSignedLength as h}from"./vector.js";import{sv3d as g,sv4d as
|
|
2
|
+
import{clamp as e}from"../../core/mathUtils.js";import{exactEquals as t,subtract as n,normalize as r,dot as i,lerp as a,copy as o,add as s,scale as c,cross as l,set as u,scaleAndAdd as d}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as f}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{equals as p,exactEquals as m}from"../../core/libs/gl-matrix-2/math/vec4.js";import{projectPointSignedLength as h}from"./vector.js";import{sv3d as g,sv4d as _}from"./vectorStacks.js";import{tangentFrame as ee}from"../../views/3d/support/mathUtils.js";function v(e=Z){return[e[0],e[1],e[2],e[3]]}const te=m,ne=p;function re(e=Z[0],t=Z[1],n=Z[2],r=Z[3]){return x(e,t,n,r,_.get())}function y(e,t){return x(t[0],t[1],t[2],t[3],e)}function b(e){return e}function x(e,t,n,r,i=v()){return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}function S(e,t,n){return o(n,e),n[3]=t,n}function C(e,t,n){let r=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=Math.abs(r-1)>1e-5&&r>1e-12?1/Math.sqrt(r):1;return n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n[3]=-(n[0]*e[0]+n[1]*e[1]+n[2]*e[2]),n}function w(e,t,n,r=v()){let i=n[0]-t[0],a=n[1]-t[1],o=n[2]-t[2],s=e[0]-t[0],c=e[1]-t[1],l=e[2]-t[2],u=a*l-o*c,d=o*s-i*l,f=i*c-a*s,p=u*u+d*d+f*f,m=Math.abs(p-1)>1e-5&&p>1e-12?1/Math.sqrt(p):1;return r[0]=u*m,r[1]=d*m,r[2]=f*m,r[3]=-(r[0]*e[0]+r[1]*e[1]+r[2]*e[2]),r}function T(e,a,o,s=0,c=Math.floor(1/3*o),l=Math.floor(2/3*o)){if(o<3)return!1;a(D,s);let u=c,d=!1;for(;u<o-1&&!d;)a(O,u),u++,d=!t(D,O);if(!d)return!1;for(u=Math.max(u,l),d=!1;u<o&&!d;)a(k,u),u++,n(A,D,O),r(A,A),n(j,O,k),r(j,j),d=!t(D,k)&&!t(O,k)&&Math.abs(i(A,j))<ie;return d?(w(D,O,k,e),!0):s===0&&c===1&&l===2?!1:T(e,a,o,0,1,2)}function E(e,t,n=!0){let r=t.length/3;return T(e,(e,n)=>u(e,t[n*3+0],t[n*3+1],t[n*3+2]),n?r-1:r)}const ie=.99619469809,D=f(),O=f(),k=f(),A=f(),j=f();function ae(e,t,n){return t!==e&&y(e,t),e[3]=-i(b(e),n),e}function oe(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}function se(e,t,n,r){return l(k,t,e),C(n,k,r)}function M(e,t,r,i){return Y(X(e,t,n(g.get(),r,t),ue,i))}function N(e,t,n){return t!=null&&Y(X(e,t.origin,t.direction,de,n))}function P(e,t,n){return Y(X(e,t.origin,t.vector,0,n))}function F(e,t,n){return Y(X(e,t.origin,t.vector,1,n))}function I(e,t){return q(e,t)<=0}function L(e,t){return q(e,t)>=0}function R(e,t){return V(e,t.ray.origin,t.ray.direction,t,!1,!1,!0,1e-6)}function z(e,t){return V(e,t.ray.origin,t.ray.direction,t,!1,!1,!1,1e-6)}function B(e,t){return t.c0<=t.c1&&V(e,t.ray.origin,t.ray.direction,t,!1,!0,!1,0)}function V(e,t,n,r,a,o,s,c){let l=i(b(e),n),u=q(e,t);if(l>=-c&&l<=c)return H(u,a,o);let d=-u/l,f=H(l,a,!1);return s&&!f&&!H(u,a,o)?!1:(f?d>r.c0&&(r.c0=d):d<r.c1&&(r.c1=d),r.c0<=r.c1)}function H(e,t,n){return n?t?e>=0:e<=0:t?e>0:e<0}function U(e,t,n,r=!1){let i=t.at(-1),s=q(e,i),c=r?s>0:s<=0;for(let l=0;l<t.length;l++){let u=t.at(l),d=q(e,u),f=r?d>0:d<=0;c!==f&&a(n(),i,u,s/(s-d)),f&&o(n(),u),i=u,s=d,c=f}}function W(e,t,r,i,a,o=!1){return n(Q,r,t),$.c0=0,$.c1=1,V(e,t,Q,$,o,!o,!1,1e-6)?(d(i,t,Q,$.c0),d(a,t,Q,$.c1),!0):!1}function G(e,t,r){let i=c(g.get(),b(e),-e[3]),a=K(e,n(g.get(),t,i),g.get());return s(r,a,i),r}function ce(e,t,r,i){let a=b(e),o=g.get(),s=g.get();ee(a,o,s);let c=n(g.get(),r,t),l=h(o,c),d=h(s,c),f=h(a,c);return u(i,l,d,f)}function K(e,t,r){let a=c(g.get(),b(e),i(b(e),t));return n(r,t,a),r}function le(e,t){return Math.abs(q(e,t))}function q(e,t){return i(b(e),t)+e[3]}function J(e,t,n){for(let r=0;r<n;++r)if(I(e,t[r]))return!1;return!0}function Y(e){return e===0||e===1}function X(t,n,r,a,o){let l=i(b(t),r),u=q(t,n);if(l===0)return u>=0?2:3;let d=-u/l;return a&1&&(d=e(d,0,1)),!(a&4)&&d<0||!(a&8)&&d>1?u>=0?2:3:(s(o,n,c(o,r,d)),u>=0?0:1)}const Z=[0,0,1,0],ue=12,de=8,Q=f(),$={c0:0,c1:1};export{J as areAllPointsOutside,R as clip,B as clipClosedNegativeHalfspace,z as clipInfinite,W as clipLineSegment,U as clipPolygon,y as copy,v as create,le as distance,ne as equals,te as exactEquals,E as fromArray,T as fromManyPoints,S as fromNormalAndOffset,w as fromPoints,C as fromPositionAndNormal,x as fromValues,se as fromVectorsAndPoint,b as getNormal,M as intersectLine,X as intersectLineOrRay,P as intersectLineSegment,F as intersectLineSegmentClamp,N as intersectRay,L as isPointInClosedPositiveHalfspace,I as isPointInside,oe as negate,G as projectPoint,ce as projectPointLocal,K as projectVector,ae as setOffsetFromPoint,q as signedDistance,Z as up,re as wrap};
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.
|
|
2
|
+
import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.164`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}});export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
|
package/layers/GeoJSONLayer.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ import type FeatureTemplate from "./support/FeatureTemplate.js";
|
|
|
6
6
|
import type Field from "./support/Field.js";
|
|
7
7
|
import type FieldsIndex from "./support/FieldsIndex.js";
|
|
8
8
|
import type LabelClass from "./support/LabelClass.js";
|
|
9
|
-
import type TimeInfo from "./support/TimeInfo.js";
|
|
10
9
|
import type PortalItem from "../portal/PortalItem.js";
|
|
11
10
|
import type AttributeBinsFeatureSet from "../rest/support/AttributeBinsFeatureSet.js";
|
|
12
11
|
import type FeatureSet from "../rest/support/FeatureSet.js";
|
|
@@ -43,7 +42,6 @@ import type { TimeZone } from "../time/types.js";
|
|
|
43
42
|
import type { ObjectId } from "../views/types.js";
|
|
44
43
|
import type { TimeExtentProperties } from "../time/TimeExtent.js";
|
|
45
44
|
import type { TimeIntervalProperties } from "../time/TimeInterval.js";
|
|
46
|
-
import type { TimeInfoProperties } from "./support/TimeInfo.js";
|
|
47
45
|
import type { AttributeTableTemplateProperties } from "../tables/AttributeTableTemplate.js";
|
|
48
46
|
import type { ElevationInfoProperties } from "../symbols/support/ElevationInfo.js";
|
|
49
47
|
import type { FieldProperties } from "./support/Field.js";
|
|
@@ -400,58 +398,6 @@ export interface GeoJSONLayerProperties extends LayerProperties, PortalLayerProp
|
|
|
400
398
|
* });
|
|
401
399
|
*/
|
|
402
400
|
timeExtent?: TimeExtentProperties | null;
|
|
403
|
-
/**
|
|
404
|
-
* TimeInfo provides information such as date fields that store [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField)
|
|
405
|
-
* and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField) time
|
|
406
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
407
|
-
* for the layer. The `timeInfo` property, along with its `startField` and `endField` properties, must be set at the
|
|
408
|
-
* time of layer initialization if it is being set for a [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/).
|
|
409
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/#loaded).
|
|
410
|
-
* The [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
411
|
-
* automatically calculated based on its `startField` and `endField` properties.
|
|
412
|
-
*
|
|
413
|
-
* @since 4.11
|
|
414
|
-
* @example
|
|
415
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
416
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
417
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
418
|
-
* copyright: "USGS Earthquakes",
|
|
419
|
-
* fields: [
|
|
420
|
-
* { "name": "mag", "type": "double" },
|
|
421
|
-
* { "name": "place", "type": "string" },
|
|
422
|
-
* { "name": "time", "type": "date" }, // date field
|
|
423
|
-
* { "name": "depth", "type": "double" }
|
|
424
|
-
* ],
|
|
425
|
-
* // timeInfo can be used to do temporal queries
|
|
426
|
-
* // set the startField.
|
|
427
|
-
* // timeExtent is automatically calculated from the start and end date fields
|
|
428
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
429
|
-
* timeInfo: {
|
|
430
|
-
* startField: "time"
|
|
431
|
-
* }
|
|
432
|
-
* });
|
|
433
|
-
* @example
|
|
434
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
435
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
436
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
437
|
-
* copyright: "USGS Earthquakes",
|
|
438
|
-
* fields: [
|
|
439
|
-
* { "name": "mag", "type": "double" },
|
|
440
|
-
* { "name": "place", "type": "string" },
|
|
441
|
-
* { "name": "time", "type": "date" }, // date field
|
|
442
|
-
* { "name": "depth", "type": "double" }
|
|
443
|
-
* ],
|
|
444
|
-
* // timeInfo can be used to do temporal queries
|
|
445
|
-
* // set the startField and endField.
|
|
446
|
-
* // timeExtent is automatically calculated from the
|
|
447
|
-
* // the start and end date fields
|
|
448
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
449
|
-
* timeInfo: {
|
|
450
|
-
* startField: "time"
|
|
451
|
-
* }
|
|
452
|
-
* });
|
|
453
|
-
*/
|
|
454
|
-
timeInfo?: TimeInfoProperties | null;
|
|
455
401
|
/**
|
|
456
402
|
* A temporary offset of the time data based on a certain [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/). This allows
|
|
457
403
|
* users to overlay features from two or more time-aware layers with different time extents.
|
|
@@ -484,6 +430,7 @@ export interface GeoJSONLayerProperties extends LayerProperties, PortalLayerProp
|
|
|
484
430
|
* }
|
|
485
431
|
* }
|
|
486
432
|
* });
|
|
433
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
487
434
|
* @example
|
|
488
435
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
489
436
|
* let layer = new CSVLayer({
|
|
@@ -1214,59 +1161,6 @@ export default class GeoJSONLayer extends GeoJSONLayerSuperclass {
|
|
|
1214
1161
|
*/
|
|
1215
1162
|
get timeExtent(): TimeExtent | null | undefined;
|
|
1216
1163
|
set timeExtent(value: TimeExtentProperties | null | undefined);
|
|
1217
|
-
/**
|
|
1218
|
-
* TimeInfo provides information such as date fields that store [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField)
|
|
1219
|
-
* and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField) time
|
|
1220
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
1221
|
-
* for the layer. The `timeInfo` property, along with its `startField` and `endField` properties, must be set at the
|
|
1222
|
-
* time of layer initialization if it is being set for a [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/).
|
|
1223
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/#loaded).
|
|
1224
|
-
* The [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
1225
|
-
* automatically calculated based on its `startField` and `endField` properties.
|
|
1226
|
-
*
|
|
1227
|
-
* @since 4.11
|
|
1228
|
-
* @example
|
|
1229
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
1230
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
1231
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
1232
|
-
* copyright: "USGS Earthquakes",
|
|
1233
|
-
* fields: [
|
|
1234
|
-
* { "name": "mag", "type": "double" },
|
|
1235
|
-
* { "name": "place", "type": "string" },
|
|
1236
|
-
* { "name": "time", "type": "date" }, // date field
|
|
1237
|
-
* { "name": "depth", "type": "double" }
|
|
1238
|
-
* ],
|
|
1239
|
-
* // timeInfo can be used to do temporal queries
|
|
1240
|
-
* // set the startField.
|
|
1241
|
-
* // timeExtent is automatically calculated from the start and end date fields
|
|
1242
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
1243
|
-
* timeInfo: {
|
|
1244
|
-
* startField: "time"
|
|
1245
|
-
* }
|
|
1246
|
-
* });
|
|
1247
|
-
* @example
|
|
1248
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
1249
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
1250
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
1251
|
-
* copyright: "USGS Earthquakes",
|
|
1252
|
-
* fields: [
|
|
1253
|
-
* { "name": "mag", "type": "double" },
|
|
1254
|
-
* { "name": "place", "type": "string" },
|
|
1255
|
-
* { "name": "time", "type": "date" }, // date field
|
|
1256
|
-
* { "name": "depth", "type": "double" }
|
|
1257
|
-
* ],
|
|
1258
|
-
* // timeInfo can be used to do temporal queries
|
|
1259
|
-
* // set the startField and endField.
|
|
1260
|
-
* // timeExtent is automatically calculated from the
|
|
1261
|
-
* // the start and end date fields
|
|
1262
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
1263
|
-
* timeInfo: {
|
|
1264
|
-
* startField: "time"
|
|
1265
|
-
* }
|
|
1266
|
-
* });
|
|
1267
|
-
*/
|
|
1268
|
-
get timeInfo(): TimeInfo | null | undefined;
|
|
1269
|
-
set timeInfo(value: TimeInfoProperties | null | undefined);
|
|
1270
1164
|
/**
|
|
1271
1165
|
* A temporary offset of the time data based on a certain [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/). This allows
|
|
1272
1166
|
* users to overlay features from two or more time-aware layers with different time extents.
|
|
@@ -1299,6 +1193,7 @@ export default class GeoJSONLayer extends GeoJSONLayerSuperclass {
|
|
|
1299
1193
|
* }
|
|
1300
1194
|
* }
|
|
1301
1195
|
* });
|
|
1196
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
1302
1197
|
* @example
|
|
1303
1198
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
1304
1199
|
* let layer = new CSVLayer({
|
package/layers/SceneLayer.d.ts
CHANGED
|
@@ -266,21 +266,33 @@ export interface SceneLayerProperties extends LayerProperties, APIKeyMixinProper
|
|
|
266
266
|
*/
|
|
267
267
|
timeExtent?: TimeExtentProperties | null;
|
|
268
268
|
/**
|
|
269
|
-
*
|
|
270
|
-
* [
|
|
271
|
-
* and
|
|
272
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
273
|
-
* for the layer.
|
|
269
|
+
* Defines temporal information for a layer, such as [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
270
|
+
* date fields used to track when features remain visible, as well as the layer's [full time extent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent).
|
|
271
|
+
* If `timeInfo` is configured on the underlying service, it is automatically read and used by the layer.
|
|
274
272
|
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
273
|
+
* The `timeInfo` property can be set or overridden in the scene layer constructor or at runtime.
|
|
274
|
+
* When overriding `timeInfo`, ensure that `startField` and `endField` correspond to valid date fields in the layer's schema.
|
|
275
|
+
* To calculate a `fullTimeExtent` that covers all dates in the configured `startField` and `endField`, call
|
|
276
|
+
* the [getTimeExtentFromLayers()](https://developers.arcgis.com/javascript/latest/references/core/support/timeUtils/#getTimeExtentFromLayers) function. Then assign the result to `layer.timeInfo.fullTimeExtent`.
|
|
278
277
|
*
|
|
279
278
|
* TimeInfo's [startField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [endField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
280
279
|
* can be `date`, `date-only` or `timestamp-offset` [field type](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type) for [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/)
|
|
281
280
|
* and [BuildingComponentSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingComponentSublayer/).
|
|
282
281
|
*
|
|
283
282
|
* @since 4.30
|
|
283
|
+
* @example
|
|
284
|
+
* // update layer's timeInfo at runtime
|
|
285
|
+
* sceneLayer.timeInfo = {
|
|
286
|
+
* startField: "DateField",
|
|
287
|
+
* timeZone: "UTC"
|
|
288
|
+
* };
|
|
289
|
+
*
|
|
290
|
+
* // calculate the fullTimeExtent based on startField
|
|
291
|
+
* const fullTimeExtent = getTimeExtentFromLayers([sceneLayer]);
|
|
292
|
+
* sceneLayer.timeInfo.fullTimeExtent = fullTimeExtent;
|
|
293
|
+
* @example
|
|
294
|
+
* // set layer's timeInfo to null
|
|
295
|
+
* sceneLayer.timeInfo = null;
|
|
284
296
|
*/
|
|
285
297
|
timeInfo?: TimeInfoProperties | null;
|
|
286
298
|
/**
|
|
@@ -1043,21 +1055,33 @@ export default class SceneLayer extends SceneLayerSuperclass {
|
|
|
1043
1055
|
get timeExtent(): TimeExtent | null | undefined;
|
|
1044
1056
|
set timeExtent(value: TimeExtentProperties | null | undefined);
|
|
1045
1057
|
/**
|
|
1046
|
-
*
|
|
1047
|
-
* [
|
|
1048
|
-
* and
|
|
1049
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
1050
|
-
* for the layer.
|
|
1058
|
+
* Defines temporal information for a layer, such as [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
1059
|
+
* date fields used to track when features remain visible, as well as the layer's [full time extent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent).
|
|
1060
|
+
* If `timeInfo` is configured on the underlying service, it is automatically read and used by the layer.
|
|
1051
1061
|
*
|
|
1052
|
-
*
|
|
1053
|
-
*
|
|
1054
|
-
*
|
|
1062
|
+
* The `timeInfo` property can be set or overridden in the scene layer constructor or at runtime.
|
|
1063
|
+
* When overriding `timeInfo`, ensure that `startField` and `endField` correspond to valid date fields in the layer's schema.
|
|
1064
|
+
* To calculate a `fullTimeExtent` that covers all dates in the configured `startField` and `endField`, call
|
|
1065
|
+
* the [getTimeExtentFromLayers()](https://developers.arcgis.com/javascript/latest/references/core/support/timeUtils/#getTimeExtentFromLayers) function. Then assign the result to `layer.timeInfo.fullTimeExtent`.
|
|
1055
1066
|
*
|
|
1056
1067
|
* TimeInfo's [startField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [endField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
1057
1068
|
* can be `date`, `date-only` or `timestamp-offset` [field type](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type) for [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/)
|
|
1058
1069
|
* and [BuildingComponentSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingComponentSublayer/).
|
|
1059
1070
|
*
|
|
1060
1071
|
* @since 4.30
|
|
1072
|
+
* @example
|
|
1073
|
+
* // update layer's timeInfo at runtime
|
|
1074
|
+
* sceneLayer.timeInfo = {
|
|
1075
|
+
* startField: "DateField",
|
|
1076
|
+
* timeZone: "UTC"
|
|
1077
|
+
* };
|
|
1078
|
+
*
|
|
1079
|
+
* // calculate the fullTimeExtent based on startField
|
|
1080
|
+
* const fullTimeExtent = getTimeExtentFromLayers([sceneLayer]);
|
|
1081
|
+
* sceneLayer.timeInfo.fullTimeExtent = fullTimeExtent;
|
|
1082
|
+
* @example
|
|
1083
|
+
* // set layer's timeInfo to null
|
|
1084
|
+
* sceneLayer.timeInfo = null;
|
|
1061
1085
|
*/
|
|
1062
1086
|
get timeInfo(): TimeInfo | null | undefined;
|
|
1063
1087
|
set timeInfo(value: TimeInfoProperties | null | undefined);
|
|
@@ -84,16 +84,22 @@ export interface ViewshedLayerProperties extends LayerProperties, OperationalLay
|
|
|
84
84
|
*
|
|
85
85
|
* > [!WARNING]
|
|
86
86
|
* >
|
|
87
|
-
* > **
|
|
88
|
-
* >
|
|
89
|
-
* >
|
|
90
|
-
* >
|
|
87
|
+
* > **Things to consider:**
|
|
88
|
+
* > * This analysis is only supported in a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
|
|
89
|
+
* > * The results of the tool vary depending on the zoom level, as changes in zoom level affect the level of detail (LOD) of the scene geometry.
|
|
90
|
+
* > * Snapping, tooltips, display units, and input units used during interactive placement and editing are inherited from
|
|
91
|
+
* [ViewOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ViewOptions/).
|
|
92
|
+
* > * Snapping is enabled by default. This can be temporarily disabled by holding the `CTRL` key.
|
|
93
|
+
* > * Layer types currently supported for snapping are: [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [GraphicsLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GraphicsLayer/) (except Mesh geometries),
|
|
94
|
+
* > [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/),
|
|
95
|
+
* > [3D Object SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/), and [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/BuildingSceneLayer/).
|
|
91
96
|
*
|
|
92
97
|
* @since 4.31
|
|
93
98
|
* @see [ViewshedLayerView](https://developers.arcgis.com/javascript/latest/references/core/views/layers/ViewshedLayerView/)
|
|
94
99
|
* @see [Viewshed](https://developers.arcgis.com/javascript/latest/references/core/analysis/Viewshed/)
|
|
95
100
|
* @see [ViewshedAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/ViewshedAnalysis/)
|
|
96
101
|
* @see [ViewshedAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/ViewshedAnalysisView3D/)
|
|
102
|
+
* @see [ViewOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ViewOptions/)
|
|
97
103
|
* @see [Sample - ViewshedLayer in slides](https://developers.arcgis.com/javascript/latest/sample-code/layers-viewshed/)
|
|
98
104
|
*/
|
|
99
105
|
export default class ViewshedLayer extends ViewshedLayerSuperclass {
|
package/layers/WMSLayer.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type Collection from "../core/Collection.js";
|
|
|
3
3
|
import type Extent from "../geometry/Extent.js";
|
|
4
4
|
import type SpatialReference from "../geometry/SpatialReference.js";
|
|
5
5
|
import type Layer from "./Layer.js";
|
|
6
|
-
import type TimeInfo from "./support/TimeInfo.js";
|
|
7
6
|
import type WMSSublayer from "./support/WMSSublayer.js";
|
|
8
7
|
import type TimeExtent from "../time/TimeExtent.js";
|
|
9
8
|
import type TimeInterval from "../time/TimeInterval.js";
|
|
@@ -17,7 +16,6 @@ import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js
|
|
|
17
16
|
import type { RefreshableLayer, RefreshableLayerEvents, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
|
|
18
17
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
19
18
|
import type { TemporalLayer, TemporalLayerProperties } from "./mixins/TemporalLayer.js";
|
|
20
|
-
import type { TimeInfoProperties } from "./support/TimeInfo.js";
|
|
21
19
|
import type { WMSDimension } from "./wms/types.js";
|
|
22
20
|
import type { TimeExtentProperties } from "../time/TimeExtent.js";
|
|
23
21
|
import type { TimeIntervalProperties } from "../time/TimeInterval.js";
|
|
@@ -150,39 +148,6 @@ export interface WMSLayerProperties extends LayerProperties, PortalLayerProperti
|
|
|
150
148
|
* });
|
|
151
149
|
*/
|
|
152
150
|
timeExtent?: TimeExtentProperties | null;
|
|
153
|
-
/**
|
|
154
|
-
* TimeInfo provides information such as date fields that store
|
|
155
|
-
* [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField)
|
|
156
|
-
* and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField) time
|
|
157
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
158
|
-
* for the layer. The `timeInfo` property is automatically set at layer initialization if the layer has one or more time dimensions.
|
|
159
|
-
* The [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
160
|
-
* automatically set to the union of all time dimension extents.
|
|
161
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/WMSLayer/#load).
|
|
162
|
-
*
|
|
163
|
-
* @since 4.17
|
|
164
|
-
* @example
|
|
165
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
166
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
167
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
168
|
-
* copyright: "USGS Earthquakes",
|
|
169
|
-
* fields: [
|
|
170
|
-
* { "name": "mag", "type": "double" },
|
|
171
|
-
* { "name": "place", "type": "string" },
|
|
172
|
-
* { "name": "time", "type": "date" }, // date field
|
|
173
|
-
* { "name": "depth", "type": "double" }
|
|
174
|
-
* ],
|
|
175
|
-
* // timeInfo can be used to do temporal queries
|
|
176
|
-
* // set the startField and endField.
|
|
177
|
-
* // timeExtent is automatically calculated from the
|
|
178
|
-
* // the start and end date fields
|
|
179
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
180
|
-
* timeInfo: {
|
|
181
|
-
* startField: "time"
|
|
182
|
-
* }
|
|
183
|
-
* });
|
|
184
|
-
*/
|
|
185
|
-
timeInfo?: TimeInfoProperties | null;
|
|
186
151
|
/**
|
|
187
152
|
* A temporary offset of the time data based on a certain [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/). This allows
|
|
188
153
|
* users to overlay features from two or more time-aware layers with different time extents.
|
|
@@ -215,6 +180,7 @@ export interface WMSLayerProperties extends LayerProperties, PortalLayerProperti
|
|
|
215
180
|
* }
|
|
216
181
|
* }
|
|
217
182
|
* });
|
|
183
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
218
184
|
* @example
|
|
219
185
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
220
186
|
* let layer = new CSVLayer({
|
|
@@ -678,40 +644,6 @@ export default class WMSLayer extends WMSLayerSuperclass {
|
|
|
678
644
|
*/
|
|
679
645
|
get timeExtent(): TimeExtent | null | undefined;
|
|
680
646
|
set timeExtent(value: TimeExtentProperties | null | undefined);
|
|
681
|
-
/**
|
|
682
|
-
* TimeInfo provides information such as date fields that store
|
|
683
|
-
* [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField)
|
|
684
|
-
* and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField) time
|
|
685
|
-
* for each feature and the [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
686
|
-
* for the layer. The `timeInfo` property is automatically set at layer initialization if the layer has one or more time dimensions.
|
|
687
|
-
* The [TimeInfo.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
688
|
-
* automatically set to the union of all time dimension extents.
|
|
689
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/WMSLayer/#load).
|
|
690
|
-
*
|
|
691
|
-
* @since 4.17
|
|
692
|
-
* @example
|
|
693
|
-
* // create geojson layer from usgs earthquakes geojson feed
|
|
694
|
-
* const geojsonLayer = new GeoJSONLayer({
|
|
695
|
-
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
696
|
-
* copyright: "USGS Earthquakes",
|
|
697
|
-
* fields: [
|
|
698
|
-
* { "name": "mag", "type": "double" },
|
|
699
|
-
* { "name": "place", "type": "string" },
|
|
700
|
-
* { "name": "time", "type": "date" }, // date field
|
|
701
|
-
* { "name": "depth", "type": "double" }
|
|
702
|
-
* ],
|
|
703
|
-
* // timeInfo can be used to do temporal queries
|
|
704
|
-
* // set the startField and endField.
|
|
705
|
-
* // timeExtent is automatically calculated from the
|
|
706
|
-
* // the start and end date fields
|
|
707
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
708
|
-
* timeInfo: {
|
|
709
|
-
* startField: "time"
|
|
710
|
-
* }
|
|
711
|
-
* });
|
|
712
|
-
*/
|
|
713
|
-
get timeInfo(): TimeInfo | null | undefined;
|
|
714
|
-
set timeInfo(value: TimeInfoProperties | null | undefined);
|
|
715
647
|
/**
|
|
716
648
|
* A temporary offset of the time data based on a certain [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/). This allows
|
|
717
649
|
* users to overlay features from two or more time-aware layers with different time extents.
|
|
@@ -744,6 +676,7 @@ export default class WMSLayer extends WMSLayerSuperclass {
|
|
|
744
676
|
* }
|
|
745
677
|
* }
|
|
746
678
|
* });
|
|
679
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
747
680
|
* @example
|
|
748
681
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
749
682
|
* let layer = new CSVLayer({
|
|
@@ -57,28 +57,24 @@ export interface TemporalLayerProperties extends Partial<Pick<TemporalLayer, "us
|
|
|
57
57
|
*/
|
|
58
58
|
timeExtent?: TimeExtentProperties | null;
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
61
|
-
* [
|
|
62
|
-
* and
|
|
63
|
-
* for each feature and the [fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
64
|
-
* for the layer. The `timeInfo` property, along with its `startField` and `endField` properties, must be set at the
|
|
65
|
-
* time of layer initialization if it is being set for a
|
|
66
|
-
* [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/),
|
|
67
|
-
* [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/),
|
|
68
|
-
* [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/) or
|
|
69
|
-
* [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/)
|
|
70
|
-
* initialized from [client-side features](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#creating-a-featurelayer).
|
|
71
|
-
* The [fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
72
|
-
* automatically calculated based on its `startField` and `endField` properties.
|
|
73
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#load).
|
|
60
|
+
* Defines temporal information for a layer, such as [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
61
|
+
* date fields used to track when features remain visible, as well as the layer's [full time extent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent).
|
|
62
|
+
* If `timeInfo` is configured on the underlying service, it is automatically read and used by the layer.
|
|
74
63
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
64
|
+
* The `timeInfo` can be set or overridden on the following feature based layers in the layer constructor or at runtime: [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/),
|
|
65
|
+
* [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [CatalogLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/), [DimensionFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/), [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/),
|
|
66
|
+
* [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/), [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/),
|
|
67
|
+
* [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), and [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/).
|
|
78
68
|
*
|
|
79
|
-
*
|
|
69
|
+
* When overriding a layer's `timeInfo`, ensure that `startField` and `endField` correspond to valid date fields in the layer's schema.
|
|
70
|
+
* To calculate a `fullTimeExtent` that covers all dates in the configured `startField` and `endField`, call
|
|
71
|
+
* [getTimeExtentFromLayers()](https://developers.arcgis.com/javascript/latest/references/core/support/timeUtils/#getTimeExtentFromLayers) method. Then assign the result to `layer.timeInfo.fullTimeExtent`.
|
|
72
|
+
*
|
|
73
|
+
* The `startField` and `endField` properties accept `date`, `date-only`, or `timestamp-offset` field types.
|
|
74
|
+
*
|
|
75
|
+
* @see [Samples using time-aware layers](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-time-bar)
|
|
80
76
|
* @example
|
|
81
|
-
* // create geojson layer from
|
|
77
|
+
* // create geojson layer from USGS earthquakes GeoJSON feed
|
|
82
78
|
* const geojsonLayer = new GeoJSONLayer({
|
|
83
79
|
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
84
80
|
* copyright: "USGS Earthquakes",
|
|
@@ -89,14 +85,28 @@ export interface TemporalLayerProperties extends Partial<Pick<TemporalLayer, "us
|
|
|
89
85
|
* { "name": "depth", "type": "double" }
|
|
90
86
|
* ],
|
|
91
87
|
* // timeInfo can be used to do temporal queries
|
|
92
|
-
* // set the startField and endField.
|
|
93
|
-
* // timeExtent is automatically calculated from the
|
|
94
|
-
* // the start and end date fields
|
|
95
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
96
88
|
* timeInfo: {
|
|
97
|
-
* startField: "time"
|
|
89
|
+
* startField: "time",
|
|
90
|
+
* fullTimeExtent: {
|
|
91
|
+
* start: new Date(1970, 0, 1),
|
|
92
|
+
* end: new Date(2000, 11, 31)
|
|
93
|
+
* },
|
|
94
|
+
* timeZone: "UTC"
|
|
98
95
|
* }
|
|
99
96
|
* });
|
|
97
|
+
* @example
|
|
98
|
+
* // update layer's timeInfo at runtime after the feature layer is loaded
|
|
99
|
+
* featureLayer.timeInfo = {
|
|
100
|
+
* startField: "DateField",
|
|
101
|
+
* timeZone: "UTC"
|
|
102
|
+
* };
|
|
103
|
+
*
|
|
104
|
+
* // calculate the fullTimeExtent based on startField
|
|
105
|
+
* const fullTimeExtent = getTimeExtentFromLayers([featureLayer]);
|
|
106
|
+
* featureLayer.timeInfo.fullTimeExtent = fullTimeExtent;
|
|
107
|
+
* @example
|
|
108
|
+
* // set layer's timeInfo to null
|
|
109
|
+
* layer.timeInfo = null;
|
|
100
110
|
*/
|
|
101
111
|
timeInfo?: TimeInfoProperties | null;
|
|
102
112
|
/**
|
|
@@ -107,6 +117,7 @@ export interface TemporalLayerProperties extends Partial<Pick<TemporalLayer, "us
|
|
|
107
117
|
* A time offset can be used for display purposes only. The query and selection are not affected by the offset.
|
|
108
118
|
*
|
|
109
119
|
* @since 4.14
|
|
120
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
110
121
|
* @example
|
|
111
122
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
112
123
|
* let layer = new CSVLayer({
|
|
@@ -195,28 +206,24 @@ export abstract class TemporalLayer {
|
|
|
195
206
|
get timeExtent(): TimeExtent | null | undefined;
|
|
196
207
|
set timeExtent(value: TimeExtentProperties | null | undefined);
|
|
197
208
|
/**
|
|
198
|
-
*
|
|
199
|
-
* [
|
|
200
|
-
* and
|
|
201
|
-
* for each feature and the [fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent)
|
|
202
|
-
* for the layer. The `timeInfo` property, along with its `startField` and `endField` properties, must be set at the
|
|
203
|
-
* time of layer initialization if it is being set for a
|
|
204
|
-
* [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/),
|
|
205
|
-
* [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/),
|
|
206
|
-
* [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/) or
|
|
207
|
-
* [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/)
|
|
208
|
-
* initialized from [client-side features](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#creating-a-featurelayer).
|
|
209
|
-
* The [fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent) for `timeInfo` is
|
|
210
|
-
* automatically calculated based on its `startField` and `endField` properties.
|
|
211
|
-
* The timeInfo parameters cannot be changed after the layer is [loaded](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#load).
|
|
209
|
+
* Defines temporal information for a layer, such as [start](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#startField) and [end](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#endField)
|
|
210
|
+
* date fields used to track when features remain visible, as well as the layer's [full time extent](https://developers.arcgis.com/javascript/latest/references/core/layers/support/TimeInfo/#fullTimeExtent).
|
|
211
|
+
* If `timeInfo` is configured on the underlying service, it is automatically read and used by the layer.
|
|
212
212
|
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
213
|
+
* The `timeInfo` can be set or overridden on the following feature based layers in the layer constructor or at runtime: [AnnotationFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/),
|
|
214
|
+
* [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [CatalogLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CatalogLayer/), [DimensionFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/), [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/),
|
|
215
|
+
* [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/), [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/),
|
|
216
|
+
* [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), and [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/).
|
|
216
217
|
*
|
|
217
|
-
*
|
|
218
|
+
* When overriding a layer's `timeInfo`, ensure that `startField` and `endField` correspond to valid date fields in the layer's schema.
|
|
219
|
+
* To calculate a `fullTimeExtent` that covers all dates in the configured `startField` and `endField`, call
|
|
220
|
+
* [getTimeExtentFromLayers()](https://developers.arcgis.com/javascript/latest/references/core/support/timeUtils/#getTimeExtentFromLayers) method. Then assign the result to `layer.timeInfo.fullTimeExtent`.
|
|
221
|
+
*
|
|
222
|
+
* The `startField` and `endField` properties accept `date`, `date-only`, or `timestamp-offset` field types.
|
|
223
|
+
*
|
|
224
|
+
* @see [Samples using time-aware layers](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=arcgis-time-bar)
|
|
218
225
|
* @example
|
|
219
|
-
* // create geojson layer from
|
|
226
|
+
* // create geojson layer from USGS earthquakes GeoJSON feed
|
|
220
227
|
* const geojsonLayer = new GeoJSONLayer({
|
|
221
228
|
* url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
|
|
222
229
|
* copyright: "USGS Earthquakes",
|
|
@@ -227,14 +234,28 @@ export abstract class TemporalLayer {
|
|
|
227
234
|
* { "name": "depth", "type": "double" }
|
|
228
235
|
* ],
|
|
229
236
|
* // timeInfo can be used to do temporal queries
|
|
230
|
-
* // set the startField and endField.
|
|
231
|
-
* // timeExtent is automatically calculated from the
|
|
232
|
-
* // the start and end date fields
|
|
233
|
-
* // The date values must be in milliseconds number from the UNIX epoch specified in UTC.
|
|
234
237
|
* timeInfo: {
|
|
235
|
-
* startField: "time"
|
|
238
|
+
* startField: "time",
|
|
239
|
+
* fullTimeExtent: {
|
|
240
|
+
* start: new Date(1970, 0, 1),
|
|
241
|
+
* end: new Date(2000, 11, 31)
|
|
242
|
+
* },
|
|
243
|
+
* timeZone: "UTC"
|
|
236
244
|
* }
|
|
237
245
|
* });
|
|
246
|
+
* @example
|
|
247
|
+
* // update layer's timeInfo at runtime after the feature layer is loaded
|
|
248
|
+
* featureLayer.timeInfo = {
|
|
249
|
+
* startField: "DateField",
|
|
250
|
+
* timeZone: "UTC"
|
|
251
|
+
* };
|
|
252
|
+
*
|
|
253
|
+
* // calculate the fullTimeExtent based on startField
|
|
254
|
+
* const fullTimeExtent = getTimeExtentFromLayers([featureLayer]);
|
|
255
|
+
* featureLayer.timeInfo.fullTimeExtent = fullTimeExtent;
|
|
256
|
+
* @example
|
|
257
|
+
* // set layer's timeInfo to null
|
|
258
|
+
* layer.timeInfo = null;
|
|
238
259
|
*/
|
|
239
260
|
get timeInfo(): TimeInfo | null | undefined;
|
|
240
261
|
set timeInfo(value: TimeInfoProperties | null | undefined);
|
|
@@ -246,6 +267,7 @@ export abstract class TemporalLayer {
|
|
|
246
267
|
* A time offset can be used for display purposes only. The query and selection are not affected by the offset.
|
|
247
268
|
*
|
|
248
269
|
* @since 4.14
|
|
270
|
+
* @see [Sample - Time Bar with actions and layer timeOffset](https://developers.arcgis.com/javascript/latest/sample-code/time-bar-time-offset/)
|
|
249
271
|
* @example
|
|
250
272
|
* // Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
|
|
251
273
|
* let layer = new CSVLayer({
|