39class EmptyGeometryColumnBase {
43 EmptyGeometryColumnBase(rmm::cuda_stream_view stream)
47 std::tie(_, empty_point_column) = make_point_column<T>({}, stream);
48 std::tie(_, empty_linestring_column) = make_linestring_column<T>({0}, {}, stream);
49 std::tie(_, empty_polygon_column) = make_polygon_column<T>({0}, {0}, {}, stream);
50 std::tie(_, empty_multipoint_column) = make_point_column<T>({0}, {}, stream);
51 std::tie(_, empty_multilinestring_column) = make_linestring_column<T>({0}, {0}, {}, stream);
52 std::tie(_, empty_multipolygon_column) = make_polygon_column<T>({0}, {0}, {0}, {}, stream);
59 empty_point_column->view(), collection_type_id::SINGLE, geometry_type_id::POINT);
65 empty_multipoint_column->view(), collection_type_id::MULTI, geometry_type_id::POINT);
71 empty_linestring_column->view(), collection_type_id::SINGLE, geometry_type_id::LINESTRING);
77 collection_type_id::MULTI,
78 geometry_type_id::LINESTRING);
84 empty_polygon_column->view(), collection_type_id::SINGLE, geometry_type_id::POLYGON);
90 empty_multipolygon_column->view(), collection_type_id::MULTI, geometry_type_id::POLYGON);
93 std::unique_ptr<cudf::column> empty_linestring_column;
94 std::unique_ptr<cudf::column> empty_polygon_column;
95 std::unique_ptr<cudf::column> empty_multipoint_column;
96 std::unique_ptr<cudf::column> empty_multilinestring_column;
97 std::unique_ptr<cudf::column> empty_multipolygon_column;
106class OneGeometryColumnBase {
110 OneGeometryColumnBase(rmm::cuda_stream_view stream)
114 std::tie(_, one_point_column) = make_point_column<T>({0, 0}, stream);
115 std::tie(_, one_linestring_column) = make_linestring_column<T>({0, 2}, {0, 0, 1, 1}, stream);
116 std::tie(_, one_polygon_column) =
117 make_polygon_column<T>({0, 1}, {0, 4}, {0, 0, 1, 0, 1, 1, 0, 0}, stream);
118 std::tie(_, one_multipoint_column) = make_point_column<T>({0, 1}, {0, 0}, stream);
119 std::tie(_, one_multilinestring_column) =
120 make_linestring_column<T>({0, 1}, {0, 2}, {0, 0, 1, 1}, stream);
121 std::tie(_, one_multipolygon_column) =
122 make_polygon_column<T>({0, 1}, {0, 1}, {0, 4}, {0, 0, 1, 0, 1, 1, 0, 0}, stream);
129 one_point_column->view(), collection_type_id::SINGLE, geometry_type_id::POINT);
135 one_multipoint_column->view(), collection_type_id::MULTI, geometry_type_id::POINT);
141 one_linestring_column->view(), collection_type_id::SINGLE, geometry_type_id::LINESTRING);
147 one_multilinestring_column->view(), collection_type_id::MULTI, geometry_type_id::LINESTRING);
161 std::unique_ptr<cudf::column> one_point_column;
162 std::unique_ptr<cudf::column> one_linestring_column;
163 std::unique_ptr<cudf::column> one_polygon_column;
164 std::unique_ptr<cudf::column> one_multipoint_column;
165 std::unique_ptr<cudf::column> one_multilinestring_column;
166 std::unique_ptr<cudf::column> one_multipolygon_column;
170struct EmptyGeometryColumnFixture :
public BaseFixture,
public EmptyGeometryColumnBase<T> {
171 EmptyGeometryColumnFixture() : EmptyGeometryColumnBase<T>(this->
stream()) {}
175struct OneGeometryColumnFixture :
public BaseFixture,
public OneGeometryColumnBase<T> {