LGSx SDK Release Notes


Leica Geosystems
Release Notes 2025.0.0
Product | Leica LGSx SDK 2025.0.0 (added support for the updated GeoTag data scheme) |
Date | October 1, 2025 |
Developed by | Reality Capture Software Product Management |
Changelog
Added
- Additional documentation for multiple API elements, including data types and functions.
LgsxUtil_StrDupA()
/LgsxUtil_StrDupW()
functions for duplicating strings.- Experimental support for sitemap images (status: work in progress), including:
SitemapImageType
,CYSITEMAP
,CYSITEMAPIMAGE
,Lgsx_ReaderMoveNextSitemap()
,Lgsx_ReaderGetSitemap()
,Lgsx_ReaderGetSitemapImage()
,Lgsx_ReaderEnumSetupsForSitemap()
,Lgsx_ReaderMoveNextSetupForSitemap()
. - Versions of multiple functions that duplicate strings to avoid truncating the output:
Lgsx_ReaderGetLastError2()
,Lgsx_ReaderGetProjectDescription2()
,Lgsx_ReaderGetImageLayerNames2()
,Lgsx_GetAssetAsImage2()
,Lgsx_ReaderMoveNextCoordSystems2()
. - Function to check if a file is password-protected:
Lgsx_ReaderHasPassword()
. - Support for retrieving point cloud points in strict order (if possible) via
Lgsx_ReaderEnumPointsEx()
. - Project Assets extended with mime-type, url and id attributes.
- New API for reading the Assets:
Lgsx_AssetReadImage()
,Lgsx_AssetReadBinary()
,Lgsx_ReaderAssetGetGuid()
,Lgsx_AssetHasType()
. - New API for reading the Setups:
Lgsx_ReaderGetSetupGuid()
. - New API for GeoTags:
Lgsx_ReaderGetGeoTag()
,Lgsx_GeoTagRelease()
,Lgsx_GeoTagGetGuid()
,Lgsx_GeoTagGetName()
,Lgsx_GeoTagHasDescription()
,Lgsx_GeoTagGetDescription()
,Lgsx_GeoTagGetPosition()
,Lgsx_GeoTagGetCameraPosition()
,Lgsx_GeoTagGetSetupIndex()
,Lgsx_GeoTagGetMetadata()
,Lgsx_GeoTagGetThumbnail()
,Lgsx_GeoTagEnumAssets()
,Lgsx_ReaderGetGeoTagAsset()
,Lgsx_ReaderGetGeoTagAssetThumbnail()
,Lgsx_GeoTagHasThumbnail()
,Lgsx_GeoTagEnumCategoryEntries()
,Lgsx_GeoTagGetCategoryEntry()
,Lgsx_GeoTagEnumFieldEntries()
,Lgsx_GeoTagGetFieldEntry()
,Lgsx_GeoTagGetRelativePosition()
,Lgsx_GeoTagGetCameraRelativePosition()
. - Deprecated API for Geotags:
Lgsx_ReaderGetGeoTagName()
,Lgsx_ReaderHasGeoTagDescription()
,Lgsx_ReaderGetGeoTagDescription()
. - New API for Categories:
Lgsx_ReaderEnumCategories()
,Lgsx_ReaderGetCategory()
,Lgsx_CategoryRelease()
,Lgsx_CategoryGetGuid()
,Lgsx_CategoryGetName()
,Lgsx_CategoryGetPriority()
,Lgsx_CategoryEnumValues()
,Lgsx_CategoryGetValue()
,Lgsx_CategoryValueGetValue()
,Lgsx_CategoryValueGetPriority()
,Lgsx_CategoryValueHasColor()
,Lgsx_CategoryValueGetColor()
,Lgsx_CategoryEntryGetCategory()
,Lgsx_CategoryEntryHasValue()
,Lgsx_CategoryEntryGetValue()
,Lgsx_CategoryValueGetGuid()
. - New API for Fields:
Lgsx_ReaderEnumFields()
,Lgsx_ReaderGetField()
,Lgsx_FieldRelease()
,Lgsx_FieldGetGuid()
,Lgsx_FieldGetName()
,Lgsx_FieldGetPriority()
,Lgsx_FieldEntryGetField()
,Lgsx_FieldEntryGetValue()
. - New API for metadata: enumerate without name truncation
Lgsx_MetaMoveNext2()
, getting string value without truncationLgsx_MetaGetString2()
. - Fields: id, creation and modification timestamp to CYASSET.
- Fields: cameraPosition, mimeType, url, id, creation and modification timestamp to CYGEOTAG.
- New API for getting creation/modification timestamps:
Lgsx_GeoTagGetCreationTimestamp()
,Lgsx_GeoTagGetModificationTimestamp()
,Lgsx_FieldGetCreationTimestamp()
,Lgsx_FieldGetModificationTimestamp()
,Lgsx_CategoryGetCreationTimestamp()
,Lgsx_CategoryGetModificationTimestamp()
,Lgsx_CategoryValueGetCreationTimestamp()
,Lgsx_CategoryValueGetModificationTimestamp()
.
Changed
- Functions for metadata (
Lgsx_Meta*
) accepts also longer names. No API changes required due to C array decay.
Deprecated
Lgsx_ReaderEnumSiteMaps()
renamed toLgsx_ReaderEnumSitemaps()
.Lgsx_ReaderMoveNextSiteMapImage()
renamed toLgsx_ReaderMoveNextSitemapImage()
.CYGEOTAG
replaced with the new API for GeoTags.Lgsx_ReaderMoveNextGeoTag()
replaced withLgsx_ReaderGetGeoTag()
.Lgsx_MetaMoveNext()
replaced withLgsx_MetaMoveNext2()
.
Removed
- Multiple unused type definitions:
AnyHandle
,GeomPtr
,FilterPtr
,QueryPtr
,ClusterPtr
,ObjectListPtr
.
Fixed
- Implemented missing functions in Linux packages:
Lgsx_GetProductVersion()
,Lgsx_InitProductVersion()
,Lgsx_InitProductVersionEx()
,Lgsx_InitProductName()
,Lgsx_InitProductBuildNumber()
. - Issues with handling files without point clouds.
Other
- Headers now include Doxygen-formatted documentation.
- Various cleanup and fixes related to UTF character handling.
Additional Notes
Existing owners of LGS files will need to convert them to the LGSx format before opening or importing the LGSx content. The Leica LGS Converter Tool is available online (free of charge without any license).
Packaging
- Windows Package (ZIP) - Made for Windows 10 and 11 (64-bit) using Visual Studio 2022 (19.43.34809.0).
- Linux Package (TGZ) - Made for Ubuntu 22.04 LTS version (available on the Microsoft App Store) using gcc11.
Both packages include all applicable libraries, header and source files, sample programs, LGSx dataset, documentation (release notes, API documentation, Getting Started Guide).
Only the new LGSx format is supported. LGSx allows access to HSPC point clouds and other datasets.
The latest documentation is available on the Reality Capture SDK site.
Licensing
The LGSx SDK is available only to partners who have signed up for the Geosystems Partners Network (GPN).
A developer license key will be provided to enable the API, allowing Licensee developers to access the available functionality. The developer key must not be distributed with the integrated product.
A deployment license key will be provided to enable the API in the distributed integrated product.
The Licensee must have the LGSx SDK installed to start coding against the API.
Questions or Comments? Contact LGSx SDK Support
Copyright (c) 2025, Leica Geosystems, Inc.