| 148 | } |
| 149 | |
| 150 | std::shared_ptr<arrow::Field> field() override |
| 151 | { |
| 152 | NL::json metadata { |
| 153 | { "name", m_dimName }, |
| 154 | { "description", "Packed XYZ" }, |
| 155 | { "interpretation", "double[3]" }, |
| 156 | { "size", 24 } |
| 157 | }; |
| 158 | |
| 159 | auto kvMetadata = std::make_shared<arrow::KeyValueMetadata>(); |
| 160 | if (m_pipelineMetadata.size()) |
| 161 | kvMetadata->Append("PDAL:pipeline:metadata", m_pipelineMetadata); |
| 162 | kvMetadata->Append("PDAL:dimension:metadata", metadata.dump(-1)); |
| 163 | |
| 164 | return arrow::field("xyz", arrow::fixed_size_list(arrow::float64(), 3), kvMetadata); |
| 165 | } |
| 166 | |
| 167 | Utils::StatusWithReason append(const PointRef& point) override |
| 168 | { |