#include "DatasetDimension.hpp" namespace geopro::app { namespace { // 与 LocalSample3dRepository::dimensionOf 同一映射(spec §6.1)。 enum class Dim { D3, D2, Analysis, Other }; Dim dimOf(const std::string& c) { if (c == "dd_voxel" || c == "dd_Structual3D" || c == "dd_Property3D" || c == "dd_section" || c == "dd_inversion_data") return Dim::D3; if (c == "dd_slice") return Dim::Analysis; if (c == "dd_trajectory_data") return Dim::D2; return Dim::Other; } } // namespace DimBuckets splitByDimension(const std::vector& rows) { DimBuckets b; for (const auto& r : rows) { switch (dimOf(r.ddCode)) { case Dim::D3: b.dim3D.push_back(r); break; case Dim::D2: b.dim2D.push_back(r); break; case Dim::Analysis: b.analysis.push_back(r); break; case Dim::Other: break; } } return b; } } // namespace geopro::app