8000 GitHub - tum-rsa/topo4d: The STAC extension for 4D point clouds metadata curation
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

tum-rsa/topo4d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topographic 4D Extension Specification

This repository explains the Topographic 4D (topo4d) Extension to the SpatioTemporal Asset Catalog (STAC) specification, developed as part of the research project: Development of Standardized Metadata for 3D Time Series Workflows (4D-WORKS).

This extension provides a standardized approach for handling time-dependent metadata in diverse 4D datasets (time series of 3D data). While it includes support for point clouds, it is designed to be broadly applicable to various types of 4D geospatial data including photogrammetry, and multi-sensor integrated datasets. It addresses the challenge of managing metadata for topographic observations collected over time, where hundreds or thousands of epochs may exist without consistent standards for critical time-dependent information like timestamps and transformation matrices.

By standardizing metadata formats, this extension makes 4D datasets more accessible, interoperable, and reusable across different projects and tools, regardless of data sources, acquisition techniques, or temporal sampling intervals. The extension supports automated metadata generation for workflows in fields such as geomorphology, hydrology, ecology, and other disciplines requiring time-series analysis of 3D spatial data.

This work is funded by the German Research Foundation (DFG) in the frame of the National Research Data Infrastructure program NFDI4Earth (project number: 460036893).

* the data in examples are only for test, not real values.

Fields

The fields in the table below can be used in these parts of STAC documents:

  • Catalogs
  • Collections
  • Item Properties (incl. Summaries in Collections)
  • Assets (for both Collections and Items, incl. Item Asset Definitions in Collections)
  • Links

Collection Summaries

Field Name Type Description
num_items Integer Number of items
timestamp_list Array list of datetime
temporal_resolution String Temporal resolution of multiple acquisiton (e.g., monthly, weekly, 1hr)

Item Properties

Field Name Type Description
datetime String REQUIRED. Timestamp of data collection
topo4d:data_type String REQUIRED. The type of data, e.g., pointcloud, mesh, raster, vector, text
topo4d:native_crs String REQUIRED. The spatial reference to apply to the data, e.g., "EPSG:32634 (PDAL example)", "Local", "Undefined".
topo4d:sensor String e.g., Zenmuse L2, Camera
topo4d:tz String The timezone of the data. It can be the string like "UTC+1" or "Europe/Munich"
topo4d:acquisition_mode String The mode of acquisition, e.g., ULS, UPH, TLS"
topo4d:duration Number The time duration of the measurement
topo4d:trajectory Array Flight trajectory with timestamps. UAV only.
topo4d:scan_positions Array List of scan positions (X, Y, Z)
topo4d:orientation String The orientation of the scan, e.g., nadir, oblique, mixed
topo4d:point_count Integer Number of points
topo4d:spatial_resolution Number The spatial resolution, e.g., sampling interval
topo4d:measurement_error Number System error during measurement or sensor accuracy
topo4d:global_trafo Array Global transformation matrix, e.g., offset
topo4d:trafometa Object An object including all relevant meta information for transformation
topo4d:productmeta Object Exists if this item is a generated product. This object describe relavant meta information of the product e.g., parameters used to generate products

trafometa Object

Field Name Type Description
reference_epoch Object/Link REQUIRED. e.g., link to other item
registration_error Number Exists if it's a co-registered point cloud
transformation Array A transformation object that describes the transformation to apply. If this is given, the other arguments are ignored.
affine_transformation Array A 4x4 or 3x4 matrix representing the affine transformation. Given as a numpy array. If this argument is given, the rotation and translation arguments are ignored.
rotation Array A 3x3 matrix specifying the rotation to apply
translation Array A vector specifying the translation to apply
reduction_point Array A translation vector to apply before applying rotation and scaling. This is used to increase the numerical accuracy of transformation. If a transformation is given, this argument is ignored.

productmeta Object

Field Name Type Description
product_name String e.g., m3c2, DEM, etc
lastupdate String e.g., generated datetime
param Object/Dict e.g., product-related parameters
derived_from Object/Link e.g., the data source
product_level String e.g., processing level

Contributing

All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.

Running tests

The same checks that run as checks on PR's are part of the repository and can be run locally to verify that changes are valid. To run tests locally, you'll need npm, which is a standard part of any node.js installation.

First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:

npm install

Then to check markdown formatting and test the examples against the JSON schema, you can run:

npm test

This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.

If the tests reveal formatting problems with the examples, you can fix them with:

npm run format-examples

About

The STAC extension for 4D point clouds metadata curation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0