A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.arcgis.com/javascript/latest/4.24/ below:

Release notes for 4.24 | Overview | ArcGIS Maps SDK for JavaScript 4.33

June 2022

Pie chart rendering

The PieChartRenderer allows you to visualize multiple attribute values of a feature in a point or polygon layer in a 2D MapView. The value of each pie slice can be determined by a field value or Arcade expression. Use the PieChartRenderer with visualVariables to vary the size of the pie chart based on an Arcade expression, such as the sum of its fields.

MediaLayer (released in beta) is used to add static image and video elements on the map the specified geographic location. Coordinates of the image and video elements are projected to the view's spatial reference.

To see the MediaLayer in action, check out the new MediaLayer with images and MediaLayer with video samples.

Client-side binning

Binning (released in beta) is a new feature reduction method added as an alternative to clustering and heatmaps in 2D MapViews. Binning visualizations aggregate point data client-side by geohash cell based on a provided level of detail. You can define how you want to aggregate the numerical fields within each bin, and use them in the configuration of the bin's labels, popups, and rendering.

Server-side binning, which will allow you to display aggregates of very large datasets, will be added at a future release.

To learn more about binning, be sure to check out the following new samples: Intro to binning, Binning with aggregate fields, Binning - Filter by category, and Summarize binned data using Arcade

Improved HeatmapRenderer

HeatmapRenderer now renders with WebGL, which means it can now take advantage of the following benefits:

Static heatmaps

HeatmapRenderer added a referenceScale property, which allows you to lock the heatmap visualization at a specific scale so it will appear consistent when zooming in and out.

See the images below to compare the differences between static and dynamic (default) heatmaps at various scales above and below the reference scale, or check out the Create a static heatmap sample to see it in action.

API updates

The HeatmapRenderer's underlying algorithm for calculating density was updated to use kernel density instead of Gaussian blur. This will improve consistency between heatmaps created in web apps when loaded in future versions of ArcGIS Pro. This update required the following updates to the HeatmapRenderer's properties:

3D updates Weather effects

Make your scenes more immersive by adding weather effects for rain and snowfall. Besides changing the cloud coverage, you can adjust the amount of precipitation or cover your 3D content in snow. Weather settings are now persisted in web scenes and slides, making it easier to author and share different scenarios.

A new weather sample uses effects to visualize extreme weather scenarios in Utrecht.

OpenStreetMap buildings and trees

Enhance your 3D visualizations with globally available 3D buildings and trees using new OpenStreetMap (OSM) layers from the ArcGIS Living Atlas. Explore the data using preformatted popup information and detailed 3D building models where available. Use the new layers as context in your scenes and apply spatial filters for areas where you want to place your own data.

Visit your favorite places in the new OSM buildings and trees scene:

Voxel layer variables

Change the appearance of your voxel data using previously published variables. Toggle between visualizing the variables as surfaces or using the full volume of the layer. In addition, a new class VoxelVolumeStyle allows you to exaggerate and offset the rendered voxels to better understand its spatial characteristics.

Try out these new rendering capabilities in a new voxel layer sample:

Improved editing

New tooltips and labels provide useful information when creating or updating existing features with the Sketch or Editor widgets. Labels indicate the length of Polygon and Polyline segments while tooltips show information about the overall geometry and tool in use. This can be total length for lines or area for polygons, as well as rotation, scale, and distance. Additionally, elevation is shown when editing absolute heights.

Try out these new capabilities using the Sketch in 3D sample:

Blend modes

Create new and aesthetically pleasing visualizations of the ground using blend modes in 3D. You can use the same blend modes already available in 2D to combine multiple tiled layers in your scene.

Check out a new sample that blends a hillshade layer over an OSM basemap to provide more contrast and spatial awareness.

Daylight widget

Explore your scenes by changing the lighting type directly in the Daylight widget. Instead of using a realistic sun position, minimize shadows and evenly light your scene by positioning the light source relative to the camera. Virtual light settings are now also persisted in web scenes and slides.

Try out the different lighting options in the updated Daylight widget sample:

Persist line of sight layer

Line of sight analyses can be persisted as a LineOfSightLayer in web scenes to share and present your analyses. LineOfSightLayer can be used as any other layer. For example, it can be visible or invisible per slide in a web scene. With a new interactive property on LineOfSightAnalysisView3D you can enable interacting with the analysis without creating a widget or view model.

Persist scene layer filters (beta)

Persist spatial- and object id based filters for SceneLayer, either through the web scene or layer item directly. Two different types of spatial relationships allow you to mask a selected area ("disjoint") or display only a selected area ("contains"), for example to evaluate different scenarios in urban planning.

Routing

The Directions widget is now integrated with the RouteLayer, which means that it should now be instantiated with a new or existing RouteLayer. New functionality includes the ability to save routes and modify the visibleElements in the Directions widget UI. The Directions widget can also open and edit existing route portal items. RouteLayer can use custom symbology with the defaultSymbols property, and now works in both 2D MapViews and 3D SceneViews.

The old workflow of creating a Directions widget without a RouteLayer is deprecated and will be a breaking change at a future release. Additionally, some properties on Directions have been deprecated in favor of using the RouteLayer properties, such as routeServiceUrl, routeSymbol, and stopSymbols. To customize symbology with the Directions widget, we recommend using the RouteLayer defaultSymbols property.

Execute Arcade expressions

Arcade is an expression language that allows you to calculate values and create custom content in various profiles, such as popups, renderers, labels, and forms. Most of the time, the Arcade profiles that are part of the API are adequate for application requirements. However, sometimes developers need the ability to execute Arcade expressions in their own custom profiles. Starting at version 4.24, app developers now have the ability to compile and execute Arcade expressions in their own custom profiles. That means you can use Arcade where you want, how you want. In your custom profile, you get to define the valid data inputs, functions, and return types in addition to the context where expressions can execute.

This has been a highly requested feature since Arcade was first released. With the Arcade executor API, you will be able to do the following:

The following sample demonstrates how to execute an expression from a webmap and summarize the results in a chart.

Saving feature layers

FeatureLayers can be saved to ArcGIS Online and ArcGIS Enterprise with the save() and saveAs() methods. This allows you to define a renderer with 2D symbology, popupTemplate, featureReduction, etc. on your feature layer and then save it to a PortalItem.

Use dark colors for code blocks Copy

1
2
3
4
const portalItem = new PortalItem({
  title: "My feature layer",
});
featureLayer.saveAs(portalItem);
MapView and SceneView hitTest updates

MapView.hitTest and SceneView.hitTest hit test results now return GraphicHit, MediaHit, and RouteHit results. The existing apps that use hitTest() method should be updated to check for the result type.

CIMSymbol enhancements

At this release, we made the following enhancements to CIMSymbol:

FlowRenderer - support for round caps

We added support for a trailCap property on FlowRenderer that allows you to change the starting cap of the streamlines. Round caps will only be applied to the renderer if the trailWidth is greater than 3 pts.

Popup Renderer colors reflected in Popup charts

Charts within a popup's MediaContent now respect the renderer colors of the configured fields in the chart when visualizing data with predominance, dot density, or the new pie chart renderer. Fields represented by Arcade expressions are not supported at this time and are planned for a future release.

Feature menu

When hovering over items within the popup feature menu, the corresponding feature will automatically be highlighted in the map.

FeatureTable

The FeatureTable widget has been updated to provide more extensibility for table and column configuration. New classes were added to allow this via template configurations. Similar to how popup and FeatureForm widgets use templates, the FeatureTable's template follows the same premise and provides the ability to configure individual columns, and starting at 4.24, grouped columns via their respective templates.

Print - north arrow

The Print widget now has an option to Include north arrow in the Advanced options. Note that the print service must have a north arrow configured on a per-layout basis for this option to be available.

Note that print also has a north arrow option when using the PrintTemplate.layoutOptions.elementOverrides property.

ScaleRangeSlider

The ScaleRangeSlider widget now provides a UI when working with layers that are not available at all scales. When used with a layer with lods that differ from the map, the ScaleRangeSlider will display the unavailable ranges with a dashed line. The minScaleLimit and maxScaleLimit properties can be used to determine the beginning and end of the available range.

We also added a new property to ScaleRangeSlider.visibleElements, scaleMenus, that allows you to hide the scale dropdown menus from the widget's UI.

FloorFilter

If a WebMap is configured with a default site (without a default facility or level), then the FloorFilter widget will display the list of facilities for that site instead of the list of sites.

Layer updates MapImageLayer

If MapServer layers do not support the query operation, popups can now be opened using the identify operation if the layers support it. This can be checked with the MapImageLayer.capabilities.operations.supportsIdentify property.

WCSLayer

WCSLayer has improved third party server compatibility, and is now out of beta.

WebGL2 update

Starting at version 4.24, the API uses WebGL2 where possible, otherwise falls back to WebGL1. WebGL2 support is integrated into modern browsers and provides improved support for the capabilities of modern GPUs.

If you are building custom WebGL layers, to take advantage of version-specific features or extensions your code will need to be updated to detect the context version, and to use the correct extension or native WebGL feature. Here is an example code snippet using the WebGL1-only extension WEBGL_color_buffer_float:

Use dark colors for code blocks Copy

1
2
3
4
5
6
7
8
9
10
// Only needed for custom WebGL layers
const gl = this.context;
if (gl.getParameter(gl.VERSION).startsWith("WebGL 1.0")) {
  const floatBufExt = gl.getExtension("WEBGL_color_buffer_float");
  gl.renderbufferStorage(gl.RENDERBUFFER, floatBufExt.RGBA32F_EXT, 256, 256);
} else {
  // Float render targets use different extension
  const floatBufExt2 = gl.getExtension("EXT_color_buffer_float");
  gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA32F, 256, 256);
}
Added classes, properties, methods, events Deprecated classes, properties, methods, events Breaking changes

The following classes, methods, properties and events have been deprecated for at least 2 releases and have now been removed from the API:

The following tasks have been deprecated for at least 3 releases and have now been removed from the API (expand to read more):

Please refer to the Breaking changes guide topic for a complete list of breaking changes across all releases of the 4.x API.

Bug fixes and enhancements Additional packages

Version 4.24 of the ArcGIS Maps SDK for JavaScript uses ArcGIS Arcade 1.17 (since 4.23).

Version 4.24 of the ArcGIS Maps SDK for JavaScript uses Calcite Design System (Beta), version 1.0.0-beta.82.

How to access the SDK Previous releases

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4