| 198 | {} |
| 199 | |
| 200 | FieldPtr field() override |
| 201 | { |
| 202 | NL::json metadata { |
| 203 | { "name", "wkb" }, |
| 204 | { "description", "WKB points" }, |
| 205 | { "interpretation", "binary" }, |
| 206 | { "size", 29 } |
| 207 | }; |
| 208 | |
| 209 | auto kvMetadata = std::make_shared<arrow::KeyValueMetadata>(); |
| 210 | kvMetadata->Append("ARROW:extension:name", "geoarrow.wkb"); |
| 211 | kvMetadata->Append("PDAL:dimension:metadata", metadata.dump(-1)); |
| 212 | |
| 213 | // Must be binary instead of fixed-length binary to conform to GeoParquet. |
| 214 | return arrow::field("wkb", arrow::binary(), kvMetadata); |
| 215 | } |
| 216 | |
| 217 | // Write XYZ as little-endian encoded well-known binary. |
| 218 | Utils::StatusWithReason append(const PointRef& point) override |