Skip to content

Repository files navigation

OpenUSD Vector Plugins

OpenUSD FileFormat Plugins and reusable C++ libraries for GIS vector data. GeoJSON is the first format target. The project keeps transport and reprojection outside the reader and authors deterministic OpenUSD geometry through a separate authoring layer.

This project is licensed under the Apache License 2.0. Third-party components and their licenses are listed in THIRD_PARTY_NOTICES.md.

Open a GeoJSON asset

After installing the vector-geojson plugin into an OpenUSD environment, GeoJSON participates in composition like any other supported asset:

#include<pxr/usd/usd/stage.h>
pxr::UsdStageRefPtr stage = pxr::UsdStage::Open("roads.geojson");

The stage contains deterministic OpenUSD geometry under a stable hierarchy:

/Vector UsdGeomXform
/Vector/Features UsdGeomXform
/Vector/Features/<featureName> Points, BasisCurves, Mesh, or Xform

See docs/guides/INSTALL.md for plugin installation and docs/architecture/USD_MAPPING.md for the complete geometry, property, and metadata mapping.

Status

The OpenUSD-independent usdVectorCore model and buffered usdGeoJson reader are implemented and tested. The authoring library emits an in-memory OpenUSD stage, and the GeoJSON FileFormat bundle is built from the generated OpenStrata template and verified against the pinned runtime.

MilestoneScopeStatus
M0Repository skeleton, CMake, CI, OpenStrata manifestsdone
M1usdVectorCore model, validation, bounds, diagnostics, identifiersdone
M2usdGeoJson FeatureCollection reader and MVP geometriesdone
M3OpenUSD authoring, triangulation, local-origin metadatadone
M4FileFormat registration, ArAsset, arguments, integration testsdone: OpenStrata L0-L5 verified
M5Scalability baseline and evidence-led bounded-memory improvementsin progress: baseline, cursor-based lazy materialization, and shared bounded batches
M6Runtime composition validation with usd-geospatial-runtimeplanned
M7FlatGeobuf architecture validationdeferred
M8Indexed partial-read and selective-composition contractdeferred

Building

The OpenUSD-free lane can be built with plain CMake:

cmake -S .-B build/core -G Ninja -DUSDVECTOR_ENABLE_OPENUSD=OFF
cmake --build build/core
ctest --test-dir build/core --output-on-failure

Build the optional M5 scalability runner with -DUSDVECTOR_ENABLE_BENCHMARKS=ON. Its reproduction procedure and captured baseline are in docs/reports/SCALABILITY_BASELINE.md.

The OpenStrata workspace manifests are provided for the pinned cy2026 / usd environment:

ost configure
ost build
ost test

See docs/README.md for the architecture and capability contracts. External dependencies are bounded under third_party and documented in THIRD_PARTY_NOTICES.md. The ordered implementation plan is documented in docs/roadmap/IMPLEMENTATION_PLAN.md.

About

OpenUSD FileFormat plugins and reusable C++ libraries for GIS vector data.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages