SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
joinspec.h File Reference

Typed config for the Layer Properties โ†’ Joins tab (Slice Z.16). More...

#include <QJsonObject>
#include <QString>
#include <QStringList>
Include dependency graph for joinspec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenSWMM::Render::JoinSpec
 One external-table join. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Detailed Description

Typed config for the Layer Properties โ†’ Joins tab (Slice Z.16).

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later
    RENDERING_RULE_MODEL_PLAN.md ยง11.5 โ€” join external
    CSV / DBF / SQLite to a layer's attribute table on a key
    field. SWMM use cases:
      - Join observed-depth CSV to a node layer; symbology can
        target the joined `observed_depth` field
      - Join calibration metadata to subcatchments
      - Cross-reference cost data on conduits

    Joins are lazy (rebuilt on attribute access at paint time
    / Identify hover). The join definition lives in the layer's
    `.oswp` block.

    A layer may have multiple Join specs (different sources or
    different key pairs). This spec describes one join; the
    Joins tab manages a `QList<JoinSpec>` per layer.

    Slice Z.16-data ships the value type + JSON round-trip. The
    tab UI widget, runtime join engine, and `.oswp` persistence
    are separate slices.