2025.0.01

ImprovementLuciadRIA

RIA-5218
Added support for runtime configuration of axes via Map.xAxisConfiguration and Map.yAxisConfiguration.

2025.0

2025.0

New featureLuciadRIA

RIA-5071

HSPC attribute mapping is now decoded and can be accessed through the HSPCTilesModelDescriptor.

New featureLuciadRIA

The AxisConfiguration for axes in a 2D cartesian map now supports styling and labeling sub-ticks in addition to main ticks. This feature includes these enhancements:

  • Draw labels on axis sub-ticks. Previously, you could only label main ticks. Now, you can label both main ticks and sub-ticks.
  • Style the sub-ticks differently. You can now specify two TextStyle values - one for main tick labels and another one for sub-tick labels.
  • Dynamically change the number of sub-ticks. The number of sub-ticks can now change at runtime if you provide a callback function instead of a number.

New featureLuciadRIA

It is now possible to connect to Azure Maps and use its data in your LuciadRIA application. A new class @luciad/ria/model/tileset/AzureMapsTileSetModel allows you to create a model for the desired Azure Maps data, which can you can then add to a LuciadRIA map using a RasterTileSetLayer. More information can be found in the new Visualize Azure Maps data article.

Different Azure maps showing aerial imagery, roads and traffic data.

Please note that Azure Maps is introduced by Microsoft as the successor of Bing Maps. Only enterprise account customers can continue using Bing Maps for Enterprise services until June 30th, 2028. Free (Basic) account customers can no longer use Bing Maps and need to switch to Azure Maps.

New featureLuciadRIA

When selecting features from a 3D Tile Set Layer, any associated metadata properties that are stored within textures or vertices will now be preserved. These properties can be accessed through the FeatureProperties attribute found in PickInfo objects.

New featureLuciadRIA

In OGC 3D Tiles, tiles that contain metadata properties stored in textures can now be used in any expression of MeshStyle with the attribute expression. The same MeshStyle can be used for tiles that contain metadata properties stored in vertices.

New featureLuciadRIA

Improved support for the EXT_structural_metadata extension that is part of the OGC 3D Tiles specification version 1.1:
  • Property Textures are now supported.
  • More than one Property Texture per object is also supported.
  • Property Textures that use floating point values stored in PNG textures are also supported.
Property Textures must use the first texture coordinates attribute defined in the mesh of glTF data. They will not work with any other texture coordinates attribute. See the OGC3DTilesModel class documentation for a complete list of supported features.

New featureLuciadRIA

On a 2D cartesian map, such as a vertical view, you can now render a shape as a line along the horizontal or vertical axis of the border using the BorderGeoCanvas.drawLine method.

ImprovementLuciadRIA

The Map.pickAt() function can now retrieve elements from point clouds within a TileSet3DLayer. The PickInfo object will contain a Feature with:
  • the identifier set as "unknown"
  • a Point representing the point location in the map's reference frame as Feature.Shape
  • all the properties defined for this point
  • an extra property called pointLocation, indicating the point's location as it appears in the original data

ImprovementLuciadRIA

RIA-5056
You can now use the getMetadata method of HSPCTilesModel and OGC3DTilesModel to get the reference before creating the model.

ImprovementLuciadRIA

RIA-5053
You can now create Mercator and Pseudo Mercator references with an extent different from the default of (-85.06, 85.06) degrees latitude. See ReferenceProvider's parseWellKnownText and the following options for more detail:
  • ReferenceOptions.mercatorLatitudeExtentMin
  • ReferenceOptions.mercatorLatitudeExtentMax
  • ReferenceOptions.pseudoMercatorLatitudeExtentMin
  • ReferenceOptions.pseudoMercatorLatitudeExtentMax

ImprovementLuciadRIA

RIA-5180
GeoJsonCodec now enforces the RFC 7946 right‑hand rule on LinearRings during encoding: exterior rings are counterclockwise and holes are clockwise when GeoJsonCodecConstructorOptions.encodeWindingOrder is set to `true`.

ImprovementLuciadRIA

RIA-5181
You can now set the wrapAroundWorld property of WebGLMap after the map has been created, instead of only at construction time.

ImprovementLuciadRIA

RIA-5026

Improved the type definitions and documentation of the HSPCTilesModelDescriptor properties using a new HSPCModelPropertyDescription type.

ImprovementLuciadRIA

RIA-5099
Enhanced the quality of compressed textures for 3D Tiles on desktop platforms. Compressed textures now exhibit fewer visible artifacts, with a slight increase in computational requirements.

ImprovementLuciadRIA

A RasterImageModel can now be visualized on a hardware-accelerated WebGLMap using a RasterImageLayer.

ImprovementLuciadRIA

RIA-5139
You can now load coordinate references based on a OGC URN with WKT inside, using getReference(urnString). An example of such a URN is
urn:ogc:def:crs:WKT::LOCAL_CS%5B%22Generic+Cartesian+3D%22%2CLOCAL_DATUM%5B%22Unknown%22%2C0%5D%2CUNIT%5B%22m%22%2C1.0%5D%2CAXIS%5B%22x%22%2CEAST%5D%2CAXIS%5B%22y%22%2CNORTH%5D%2CAXIS%5B%22z%22%2CUP%5D%5D
which defines a simple 3D cartesian reference.

ImprovementLuciadRIA

RIA-5141

You can now create an OrientedBox based on a Bounds object with ShapeFactory.createOrientedBoxFromBounds(bounds).

You can also transform a box using any coordinate transformation with OrientedBox.transformOrientedBox(box, transformation), which will return a new box in the output reference of the transformation.

Note that oriented boxes can only represent cartesian, topocentric, geocentric and projected grid coordinates properly, but not geodetic. The edges of a geodetic box are not geodesic lines and don't follow earth curvature, so for larger geodetic boxes, contains checks and transformations can produce inaccurate results. On small scales, geodetic boxes can still be used and transformed with good accuracy.

ImprovementLuciadRIA

You can now create a combined transformation using TransformationFactory.createChainedTransformation(transformation1, transformation2). It will do the two subsequent transformations in one go.

ImprovementLuciadRIA

The inView and restrictToBounds properties of InPathLabelStyle are now supported by WebGLMap.

Bug fixLuciadRIA

RIA-5197
glTF meshes with triangle strips are now properly loaded.

Bug fixLuciadRIA

drawLabelInPath can now be used to draw labels on polyline for WebGL map

Bug fixLuciadRIA

RIA-3480
The GeoBuffer shape now supports a width value of 0. In this case, the buffer's base shape will be drawn on the map. Previously, no shape was visualized when the width was set to 0.

Upgrade considerationLuciadRIA

LuciadRIA now uses STB version 20240531 to improve image processing.

Upgrade considerationLuciadRIA

PickInfo from TileSet3DLayer will now contain properties if your dataset has metadata, even if no idProperty has been defined.

Upgrade considerationLuciadRIA

The zstd library has been updated to 1.5.7.

Upgrade considerationLuciadRIA

LuciadRIA now uses myVRPointCloud and myVRArchive version 2025.3 for decoding HSPC point clouds.

Upgrade considerationLuciadRIA

RIA-1833
Axes in a vertical view map can now be rendered on a single border — either the bottom or the left. Previously, either both axes were always rendered or none. An axis is now rendered only if a configuration is provided for the respective axis. For more details, refer to the MapConstructorOptions.axes parameter.