@@ -33,7 +33,7 @@ def setup_class(self):
33
33
{
34
34
"geom_type" : "LineString" ,
35
35
"target_rows" : num_geoms ,
36
- "vertices_per_linestring_range" : [2 , 2 ],
36
+ "vertices_per_linestring_range" : [2 , 10 ],
37
37
},
38
38
),
39
39
(
@@ -70,33 +70,41 @@ def setup_class(self):
70
70
),
71
71
]:
72
72
# Generate synthetic data with two different geometry sets that have overlapping spatial distribution
73
- # This creates more realistic workloads for spatial predicates
74
-
73
+ # The intersection rate between geom1 and geom2 will be around 2%.
74
+ # This creates more realistic workloads for spatial predicates.
75
+
75
76
# Options for first geometry set (geom1) - left-leaning distribution
76
77
options1 = base_options .copy ()
77
- options1 .update ({
78
- "seed" : 42 ,
79
- "bounds" : [0.0 , 0.0 , 80.0 , 100.0 ], # Slightly left-leaning
80
- "size_range" : [1.0 , 15.0 ] # Medium-sized geometries for good intersection chance
81
- })
82
-
83
- # Options for second geometry set (geom2) - right-leaning distribution
78
+ options1 .update (
79
+ {
80
+ "seed" : 42 ,
81
+ "bounds" : [0.0 , 0.0 , 80.0 , 100.0 ], # Slightly left-leaning
82
+ "size_range" : [
83
+ 1.0 ,
84
+ 15.0 ,
85
+ ], # Medium-sized geometries for good intersection chance
86
+ }
87
+ )
88
+
89
+ # Options for second geometry set (geom2) - right-leaning distribution
84
90
options2 = base_options .copy ()
85
- options2 .update ({
86
- "seed" : 1337 ,
87
- "bounds" : [20.0 , 0.0 , 100.0 , 100.0 ], # Slightly right-leaning
88
- "size_range" : [1.0 , 15.0 ] # Same size range for fair comparison
89
- })
90
-
91
+ options2 .update (
92
+ {
93
+ "seed" : 43 ,
94
+ "bounds" : [20.0 , 0.0 , 100.0 , 100.0 ], # Slightly right-leaning
95
+ "size_range" : [1.0 , 15.0 ], # Same size range for fair comparison
96
+ }
97
+ )
98
+
91
99
query = f"""
92
100
WITH geom1_data AS (
93
- SELECT
101
+ SELECT
94
102
geometry as geom1,
95
103
row_number() OVER () as id
96
104
FROM sd_random_geometry('{ json .dumps (options1 )} ')
97
105
),
98
106
geom2_data AS (
99
- SELECT
107
+ SELECT
100
108
geometry as geom2,
101
109
row_number() OVER () as id
102
110
FROM sd_random_geometry('{ json .dumps (options2 )} ')
@@ -111,7 +119,7 @@ def setup_class(self):
111
119
tab = self .sedonadb .execute_and_collect (query )
112
120
113
121
self .sedonadb .create_table_arrow (name , tab )
114
- # self.postgis.create_table_arrow(name, tab)
122
+ self .postgis .create_table_arrow (name , tab )
115
123
self .duckdb .create_table_arrow (name , tab )
116
124
117
125
def _get_eng (self , eng ):
0 commit comments