Files
secondo/Algebras/CDACSpatialJoin/compareSpatialJoinImpls.sec
2026-01-23 17:03:45 +08:00

3790 lines
170 KiB
Plaintext

########################################################################
#### Compare SpatialJoin Implementations
########################################################################
# This script compares the performance of the following spatial join implementations
# by executing 71 queries for each operator:
#
# operator | algebra
# ----------------------+-----------------
# CDACSpatialJoin* | CDACSpatialJoin
# CDACSpatialJoinCount* | CDACSpatialJoin
# cspatialjoin* | CSpatialJoin
# infoGrepSpatialJoin | SpatialJoin2
# itSpatialJoin* | CRel / MMRTree
# spatialjoin | SpatialJoin
# spatialJoinTouch* | SpatialJoinTOUCH
#
# (*) for these implementations, both tuple streams and TBlock streams are tested as input.
#
# Running the script takes approx. 8 hours (on a Lenovo ThinkPad W5300 with intel Core i7).
# It may be started from secondo/bin using
# SecondoTTYBDB -i ../Algebras/CDACSpatialJoin/compareSpatialJoinImpls.sec | tee ~/myOutputFile
# to see the output on the console and simultaneously store it in myOutputFile.
#
# Note that the algebras of the above operators must be activated in makefile.algebras,
# and the expected data (see below) must be provided. Ideally, PAPI should be installed and used
# by defining TIMER_USES_PAPI in Algebras/CDACSpatialJoin/Timer.h (see download and installation hints there).
#
# Timer.h can easily be used to analyse any other operator as well
# (see the "Using Timer for other operators" section in Timer.h)
########################################################################
#### expected data
########################################################################
# expected database 'nrw':
# ------------------------
# http://download.geofabrik.de/europe/germany/nordrhein-westfalen-190201-free.shp.zip (downloaded 20.02.2019 16:23)
# or for latest data: http://download.geofabrik.de/europe/germany/nordrhein-westfalen-latest-free.shp.zip
# extracted and post-processed with
# SecondoTTYBDB -i /home/fapra/secondo/bin/nrwImportShape.psec
# SecondoTTYBDB -i /home/fapra/secondo/bin/nrwCorrectShape.sec
open database nrw
# expected objects:
# -----------------
# we generally use the largest 6 objects of nrw, but prefer Waterways over Natural
# in order to get 2x region, 2x line, 2x point.
#
# relation | tuple count | GeoData | TBlock data | per tuple | attribute count by type
# ----------+-------------+---------+---------------+-----------+----------------------------------
# Buildings | 8'008'825 | region | 1'632'812 KiB | 209 bytes | 1 text, 3 string, 1 int, 1 region
# Roads | 1'812'567 | line | 1'056'223 KiB | 597 bytes | 1 text, 6 string, 3 int, 1 line
# Landuse | 673'580 | region | 129'915 KiB | 198 bytes | 1 text, 2 string, 1 int, 1 region
# Points | 303'257 | point | 25'958 KiB | 88 bytes | 1 text, 2 string, 1 int, 1 point
# Traffic | 232'411 | point | 18'909 KiB | 83 bytes | 1 text, 2 string, 1 int, 1 point
# Waterways | 111'813 | line | 100'419 KiB | 920 bytes | 1 text, 2 string, 2 int, 1 line
#
# (not used here:)
# Natural | 222'463 | point | 16'567 KiB | 76 bytes | 1 text, 2 string, 1 int, 1 point
# Railways | 49'654 | line | 30'614 KiB | 631 bytes | 1 text, 2 string, 1 int, 1 point
# Water | 45'128 | region | 8'682 KiB | 197 bytes | 1 text, 2 string, 1 int, 1 point
# ...
query Buildings count;
query Roads count;
query Landuse count;
query Points count;
query Traffic count;
query Waterways count;
# expected derived objects:
# -------------------------
# let cbuildings = Buildings feed cconsume[10];
# let croads = Roads feed cconsume[10];
# let clanduse = Landuse feed cconsume[10];
# let cpoints = Points feed cconsume[10];
# let ctraffic = Traffic feed cconsume[10];
# let cwaterways = Waterways feed cconsume[10];
query (Buildings count = cbuildings count);
query (Roads count = croads count);
query (Landuse count = clanduse count);
query (Points count = cpoints count);
query (Traffic count = ctraffic count);
query (Waterways count = cwaterways count);
# expected additional objects:
# ----------------------------
# When running this make sure there are empty lines between commands!
# The TBlock size of the following is always 48 bytes / tuple
#
# let crectanglesInput1a = createRectangles2D(2, 17, 0.60, 0.60, 1) cconsume[10];
# let crectanglesInput1b = createRectangles2D(2, 17, 0.60, 0.60, 2) cconsume[10];
# let crectanglesInput2a = createRectangles2D(2, 19, 0.55, 0.55, 1) cconsume[10];
# let crectanglesInput2b = createRectangles2D(2, 19, 0.55, 0.55, 2) cconsume[10];
# let crectanglesInput3a = createRectangles2D(2, 21, 0.55, 0.55, 1) cconsume[10];
# let crectanglesInput3b = createRectangles2D(2, 21, 0.55, 0.55, 2) cconsume[10];
# let crectanglesInput4a = createRectangles2D(2, 23, 0.58, 0.58, 1) cconsume[10];
# let crectanglesInput4b = createRectangles2D(2, 23, 0.58, 0.58, 2) cconsume[10];
# let crectanglesInput5a = createRectangles2D(2, 25, 0.55, 0.55, 1) cconsume[10];
# let crectanglesInput5b = createRectangles2D(2, 25, 0.55, 0.55, 2) cconsume[10];
# let crectanglesOutput1a = createRectangles2D(10, 5, 0.10, 0.10, 1) cconsume[10];
# let crectanglesOutput1b = createRectangles2D(10, 5, 0.10, 0.10, 2) cconsume[10];
# let crectanglesOutput2a = createRectangles2D(10, 5, 0.28, 0.37, 1) cconsume[10];
# let crectanglesOutput2b = createRectangles2D(10, 5, 0.28, 0.37, 2) cconsume[10];
# let crectanglesOutput3a = createRectangles2D(10, 5, 0.35, 0.45, 1) cconsume[10];
# let crectanglesOutput3b = createRectangles2D(10, 5, 0.35, 0.45, 2) cconsume[10];
# let crectanglesOutput4a = createRectangles2D(10, 5, 0.40, 0.59, 1) cconsume[10];
# let crectanglesOutput4b = createRectangles2D(10, 5, 0.40, 0.59, 2) cconsume[10];
# let crectanglesOutput5a = createRectangles2D(10, 5, 0.50, 0.70, 1) cconsume[10];
# let crectanglesOutput5b = createRectangles2D(10, 5, 0.50, 0.70, 2) cconsume[10];
# let crectanglesDispers1a = createRectangles2D(1000000, 1, 0.001, 0.001, 1) cconsume[10];
# let crectanglesDispers1b = createRectangles2D(1000000, 1, 0.001, 0.001, 2) cconsume[10];
# let crectanglesDispers2a = createRectangles2D(1000, 2, 0.0316, 0.0316, 1) cconsume[10];
# let crectanglesDispers2b = createRectangles2D(1000, 2, 0.0316, 0.0316, 2) cconsume[10];
# let crectanglesDispers3a = createRectangles2D(100, 3, 0.1, 0.1, 1) cconsume[10];
# let crectanglesDispers3b = createRectangles2D(100, 3, 0.1, 0.1, 2) cconsume[10];
# let crectanglesDispers4a = createRectangles2D(10, 6, 0.316, 0.316, 2) cconsume[10];
# let crectanglesDispers4b = createRectangles2D(10, 6, 0.316, 0.316, 4) cconsume[10];
# let crectanglesDispers5a = createRectangles2D(4, 10, 0.5, 0.5, 1) cconsume[10];
# let crectanglesDispers5b = createRectangles2D(4, 10, 0.5, 0.5, 6) cconsume[10];
# let crectanglesSize1a = createRectangles2D(100, 3, 0.098, 0.098, 1) cconsume[10];
# let crectanglesSize1b = createRectangles2D(100, 3, 0.098, 0.098, 2) cconsume[10];
# let crectanglesSize2a = createRectangles2D(100, 3, 0.050, 0.170, 1) cconsume[10];
# let crectanglesSize2b = createRectangles2D(100, 3, 0.050, 0.170, 2) cconsume[10];
# let crectanglesSize3a = createRectangles2D(100, 3, 0.020, 0.210, 1) cconsume[10];
# let crectanglesSize3b = createRectangles2D(100, 3, 0.020, 0.210, 2) cconsume[10];
# let crectanglesSize4a = createRectangles2D(100, 3, 0.007, 0.230, 1) cconsume[10];
# let crectanglesSize4b = createRectangles2D(100, 3, 0.007, 0.230, 2) cconsume[10];
# let crectanglesSize5a = createRectangles2D(100, 3, 0.002, 0.240, 1) cconsume[10];
# let crectanglesSize5b = createRectangles2D(100, 3, 0.002, 0.240, 2) cconsume[10];
# let crectanglesTower1a = createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) cconsume[10];
# let crectanglesTower1b = createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) cconsume[10];
# let crectanglesTower2a = createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) cconsume[10];
# let crectanglesTower2b = createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) cconsume[10];
# let crectanglesTower3a = createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) cconsume[10];
# let crectanglesTower3b = createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) cconsume[10];
# let crectanglesTower4a = createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) cconsume[10];
# let crectanglesTower4b = createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) cconsume[10];
# let crectanglesTower5a = createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) cconsume[10];
# let crectanglesTower5b = createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) cconsume[10];
# let crectanglesQueue1a = createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) cconsume[10];
# let crectanglesQueue1b = createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) cconsume[10];
# let crectanglesQueue2a = createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) cconsume[10];
# let crectanglesQueue2b = createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) cconsume[10];
# let crectanglesQueue3a = createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) cconsume[10];
# let crectanglesQueue3b = createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) cconsume[10];
# let crectanglesQueue4a = createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) cconsume[10];
# let crectanglesQueue4b = createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) cconsume[10];
# let crectanglesQueue5a = createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) cconsume[10];
# let crectanglesQueue5b = createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) cconsume[10];
# let crectanglesPlus1a = createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) cconsume[10];
# let crectanglesPlus1b = createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) cconsume[10];
# let crectanglesPlus2a = createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) cconsume[10];
# let crectanglesPlus2b = createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) cconsume[10];
# let crectanglesPlus3a = createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) cconsume[10];
# let crectanglesPlus3b = createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) cconsume[10];
# let crectanglesPlus4a = createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) cconsume[10];
# let crectanglesPlus4b = createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) cconsume[10];
# let crectanglesPlus5a = createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) cconsume[10];
# let crectanglesPlus5b = createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) cconsume[10];
query (crectanglesInput1a count = 131072);
query (crectanglesInput1b count = 131072);
query (crectanglesInput2a count = 524288);
query (crectanglesInput2b count = 524288);
query (crectanglesInput3a count = 2097152);
query (crectanglesInput3b count = 2097152);
query (crectanglesInput4a count = 8388608);
query (crectanglesInput4b count = 8388608);
query (crectanglesInput5a count = 33554432);
query (crectanglesInput5b count = 33554432);
query (crectanglesOutput1a count = 100000);
query (crectanglesOutput1b count = 100000);
query (crectanglesOutput2a count = 100000);
query (crectanglesOutput2b count = 100000);
query (crectanglesOutput3a count = 100000);
query (crectanglesOutput3b count = 100000);
query (crectanglesOutput4a count = 100000);
query (crectanglesOutput4b count = 100000);
query (crectanglesOutput5a count = 100000);
query (crectanglesOutput5b count = 100000);
query (crectanglesDispers1a count = 1000000);
query (crectanglesDispers1b count = 1000000);
query (crectanglesDispers2a count = 1000000);
query (crectanglesDispers2b count = 1000000);
query (crectanglesDispers3a count = 1000000);
query (crectanglesDispers3b count = 1000000);
query (crectanglesDispers4a count = 1000000);
query (crectanglesDispers4b count = 1000000);
query (crectanglesDispers5a count = 1048576);
query (crectanglesDispers5b count = 1048576);
query (crectanglesSize1a count = 1000000);
query (crectanglesSize1b count = 1000000);
query (crectanglesSize2a count = 1000000);
query (crectanglesSize2b count = 1000000);
query (crectanglesSize3a count = 1000000);
query (crectanglesSize3b count = 1000000);
query (crectanglesSize4a count = 1000000);
query (crectanglesSize4b count = 1000000);
query (crectanglesSize5a count = 1000000);
query (crectanglesSize5b count = 1000000);
query (crectanglesTower1a count = 4096);
query (crectanglesTower1b count = 4096);
query (crectanglesTower2a count = 16384);
query (crectanglesTower2b count = 16384);
query (crectanglesTower3a count = 65536);
query (crectanglesTower3b count = 65536);
query (crectanglesTower4a count = 262144);
query (crectanglesTower4b count = 262144);
query (crectanglesTower5a count = 1048576);
query (crectanglesTower5b count = 1048576);
query (crectanglesQueue1a count = 4096);
query (crectanglesQueue1b count = 4096);
query (crectanglesQueue2a count = 16384);
query (crectanglesQueue2b count = 16384);
query (crectanglesQueue3a count = 65536);
query (crectanglesQueue3b count = 65536);
query (crectanglesQueue4a count = 262144);
query (crectanglesQueue4b count = 262144);
query (crectanglesQueue5a count = 1048576);
query (crectanglesQueue5b count = 1048576);
query (crectanglesPlus1a count = 4096);
query (crectanglesPlus1b count = 4096);
query (crectanglesPlus2a count = 16384);
query (crectanglesPlus2b count = 16384);
query (crectanglesPlus3a count = 65536);
query (crectanglesPlus3b count = 65536);
query (crectanglesPlus4a count = 262144);
query (crectanglesPlus4b count = 262144);
query (crectanglesPlus5a count = 1048576);
query (crectanglesPlus5b count = 1048576);
########################################################################
#### A1) CDACSpatialJoinCount from crectangles
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query crectanglesInput1a feed crectanglesInput1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesInput2a feed crectanglesInput2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesInput3a feed crectanglesInput3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesInput4a feed crectanglesInput4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesInput5a feed crectanglesInput5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Output: 1 ... 500 M
query crectanglesOutput1a feed crectanglesOutput1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesOutput2a feed crectanglesOutput2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesOutput3a feed crectanglesOutput3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesOutput4a feed crectanglesOutput4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesOutput5a feed crectanglesOutput5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Dispersion: uniform ... clustered
query crectanglesDispers1a feed crectanglesDispers1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesDispers2a feed crectanglesDispers2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesDispers3a feed crectanglesDispers3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesDispers4a feed crectanglesDispers4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesDispers5a feed crectanglesDispers5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Size: equal ... diverging
query crectanglesSize1a feed crectanglesSize1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesSize2a feed crectanglesSize2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesSize3a feed crectanglesSize3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesSize4a feed crectanglesSize4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesSize5a feed crectanglesSize5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Tower: low ... high
query crectanglesTower1a feed crectanglesTower1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesTower2a feed crectanglesTower2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesTower3a feed crectanglesTower3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesTower4a feed crectanglesTower4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesTower5a feed crectanglesTower5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Queue: short ... long
query crectanglesQueue1a feed crectanglesQueue1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesQueue2a feed crectanglesQueue2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesQueue3a feed crectanglesQueue3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesQueue4a feed crectanglesQueue4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesQueue5a feed crectanglesQueue5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Plus: small ... large
query crectanglesPlus1a feed crectanglesPlus1b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesPlus2a feed crectanglesPlus2b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesPlus3a feed crectanglesPlus3b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesPlus4a feed crectanglesPlus4b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query crectanglesPlus5a feed crectanglesPlus5b feed {a} cdacspatialjoincount[Bbox, Bbox_a];
########################################################################
#### A2) CDACSpatialJoinCount from crel
########################################################################
query cbuildings feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cbuildings feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cbuildings feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cbuildings feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cbuildings feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cbuildings feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query croads feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query croads feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query croads feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query croads feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query croads feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query croads feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query clanduse feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query clanduse feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query clanduse feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query clanduse feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query clanduse feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query clanduse feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query cpoints feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cpoints feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cpoints feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cpoints feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cpoints feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cpoints feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query ctraffic feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query ctraffic feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query ctraffic feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query ctraffic feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query ctraffic feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query ctraffic feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query cwaterways feed cbuildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cwaterways feed croads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cwaterways feed clanduse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cwaterways feed cpoints feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cwaterways feed ctraffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query cwaterways feed cwaterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
########################################################################
#### B1) CDACSpatialJoinCount from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoincount[Bbox, Bbox_a];
########################################################################
#### B2) CDACSpatialJoinCount from rel
########################################################################
query Buildings feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Buildings feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query Roads feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Roads feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Roads feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query Landuse feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Landuse feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query Points feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Points feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Points feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Points feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Points feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Points feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query Traffic feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Traffic feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Traffic feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Traffic feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Traffic feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Traffic feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ======================================================================
query Waterways feed Buildings feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Waterways feed Roads feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} cdacspatialjoincount[GeoData, GeoData_a];
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} cdacspatialjoincount[GeoData, GeoData_a];
########################################################################
#### C1) CDACSpatialJoin from crectangles
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query crectanglesInput1a feed crectanglesInput1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput2a feed crectanglesInput2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput3a feed crectanglesInput3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput4a feed crectanglesInput4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput5a feed crectanglesInput5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query crectanglesOutput1a feed crectanglesOutput1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput2a feed crectanglesOutput2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput3a feed crectanglesOutput3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput4a feed crectanglesOutput4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput5a feed crectanglesOutput5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query crectanglesDispers1a feed crectanglesDispers1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers2a feed crectanglesDispers2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers3a feed crectanglesDispers3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers4a feed crectanglesDispers4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers5a feed crectanglesDispers5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query crectanglesSize1a feed crectanglesSize1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize2a feed crectanglesSize2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize3a feed crectanglesSize3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize4a feed crectanglesSize4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize5a feed crectanglesSize5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query crectanglesTower1a feed crectanglesTower1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower2a feed crectanglesTower2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower3a feed crectanglesTower3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower4a feed crectanglesTower4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower5a feed crectanglesTower5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query crectanglesQueue1a feed crectanglesQueue1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue2a feed crectanglesQueue2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue3a feed crectanglesQueue3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue4a feed crectanglesQueue4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue5a feed crectanglesQueue5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query crectanglesPlus1a feed crectanglesPlus1b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus2a feed crectanglesPlus2b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus3a feed crectanglesPlus3b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus4a feed crectanglesPlus4b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus5a feed crectanglesPlus5b feed {a} cdacspatialjoin[Bbox, Bbox_a] count;
########################################################################
#### C2) CDACSpatialJoin from crel
########################################################################
query cbuildings feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query croads feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query clanduse feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query cpoints feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query ctraffic feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query cwaterways feed cbuildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed croads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed clanduse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cpoints feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed ctraffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cwaterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
########################################################################
#### D1) CDACSpatialJoin from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} cdacspatialjoin[Bbox, Bbox_a] count;
########################################################################
#### D2) CDACSpatialJoin from rel
########################################################################
query Buildings feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Roads feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Landuse feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Points feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Traffic feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Waterways feed Buildings feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Roads feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} cdacspatialjoin[GeoData, GeoData_a] count;
########################################################################
#### E1) cspatialjoin from crectangles
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query crectanglesInput1a feed crectanglesInput1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput2a feed crectanglesInput2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput3a feed crectanglesInput3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput4a feed crectanglesInput4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput5a feed crectanglesInput5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query crectanglesOutput1a feed crectanglesOutput1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput2a feed crectanglesOutput2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput3a feed crectanglesOutput3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput4a feed crectanglesOutput4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput5a feed crectanglesOutput5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query crectanglesDispers1a feed crectanglesDispers1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers2a feed crectanglesDispers2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers3a feed crectanglesDispers3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers4a feed crectanglesDispers4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers5a feed crectanglesDispers5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query crectanglesSize1a feed crectanglesSize1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize2a feed crectanglesSize2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize3a feed crectanglesSize3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize4a feed crectanglesSize4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize5a feed crectanglesSize5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query crectanglesTower1a feed crectanglesTower1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated as it causes "Zeile 35: 9725 Getoetet $runner $*" (GlobalMemory=16384)
# query crectanglesTower2a feed crectanglesTower2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesTower3a feed crectanglesTower3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesTower4a feed crectanglesTower4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesTower5a feed crectanglesTower5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query crectanglesQueue1a feed crectanglesQueue1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue2a feed crectanglesQueue2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue3a feed crectanglesQueue3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue4a feed crectanglesQueue4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue5a feed crectanglesQueue5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query crectanglesPlus1a feed crectanglesPlus1b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated as it causes "Zeile 35: 9858 Speicherzugriffsfehler (Speicherabzug geschrieben) $runner $*" (GlobalMemory=16384)
# query crectanglesPlus2a feed crectanglesPlus2b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesPlus3a feed crectanglesPlus3b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesPlus4a feed crectanglesPlus4b feed {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query crectanglesPlus5a feed crectanglesPlus5b feed {a} cspatialjoin[Bbox, Bbox_a] count;
########################################################################
#### E2) cspatialjoin from crel
########################################################################
query cbuildings feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query croads feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query clanduse feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query cpoints feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query ctraffic feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query cwaterways feed cbuildings feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed croads feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed clanduse feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cpoints feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed ctraffic feed {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cwaterways feed {a} cspatialjoin[GeoData, GeoData_a] count;
########################################################################
#### F1) cspatialjoin from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) toblocks[10] createRectangles2D(2, 17, 0.60, 0.60, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) toblocks[10] createRectangles2D(2, 19, 0.55, 0.55, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) toblocks[10] createRectangles2D(2, 21, 0.55, 0.55, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) toblocks[10] createRectangles2D(2, 23, 0.58, 0.58, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) toblocks[10] createRectangles2D(2, 25, 0.55, 0.55, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) toblocks[10] createRectangles2D(10, 5, 0.10, 0.10, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) toblocks[10] createRectangles2D(10, 5, 0.28, 0.37, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) toblocks[10] createRectangles2D(10, 5, 0.35, 0.45, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) toblocks[10] createRectangles2D(10, 5, 0.40, 0.59, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) toblocks[10] createRectangles2D(10, 5, 0.50, 0.70, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) toblocks[10] createRectangles2D(1000000, 1, 0.001, 0.001, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) toblocks[10] createRectangles2D(1000, 2, 0.0316, 0.0316, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) toblocks[10] createRectangles2D(100, 3, 0.1, 0.1, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) toblocks[10] createRectangles2D(10, 6, 0.316, 0.316, 4) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) toblocks[10] createRectangles2D(4, 10, 0.5, 0.5, 6) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) toblocks[10] createRectangles2D(100, 3, 0.098, 0.098, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) toblocks[10] createRectangles2D(100, 3, 0.050, 0.170, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) toblocks[10] createRectangles2D(100, 3, 0.020, 0.210, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) toblocks[10] createRectangles2D(100, 3, 0.007, 0.230, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) toblocks[10] createRectangles2D(100, 3, 0.002, 0.240, 2) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) toblocks[10] createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated as it causes "Zeile 35: 9725 Getoetet $runner $*" (GlobalMemory=16384)
# query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) toblocks[10] createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) toblocks[10] createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) toblocks[10] createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) toblocks[10] createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) toblocks[10] createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) toblocks[10] createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) toblocks[10] createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) toblocks[10] createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) toblocks[10] createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) toblocks[10] createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated as it causes "Zeile 35: 9858 Speicherzugriffsfehler (Speicherabzug geschrieben) $runner $*" (GlobalMemory=16384)
# query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) toblocks[10] createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) toblocks[10] createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) toblocks[10] createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) toblocks[10] createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) toblocks[10] {a} cspatialjoin[Bbox, Bbox_a] count;
########################################################################
#### F2) cspatialjoin from rel
########################################################################
query Buildings feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Roads feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Landuse feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Points feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Traffic feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Waterways feed toblocks[10] Buildings feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed toblocks[10] Roads feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed toblocks[10] Landuse feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed toblocks[10] Points feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed toblocks[10] Traffic feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed toblocks[10] Waterways feed toblocks[10] {a} cspatialjoin[GeoData, GeoData_a] count;
########################################################################
#### G1) spatialJoinTouch from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# for the next query, spatialJoinTouch reserves 43 GB virtual memory (of which 18 GB RAM) and creates a 24'626 x 49'362 grid. cpu time is 188.57, but time elapsed 1196.67 !
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# line deactivated as it causes "Zeile 35: 11086 Getoetet $runner $*" (GlobalMemory=16384)
# query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
# a huge grid is created for these 100.000 very small rectangles, taking a lot (> 18 GB) of memory (and time)
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# line deactivated as it causes "Zeile 35: 29095 Getoetet $runner $*" (GlobalMemory=16384) after 73% matching
# (probably because all output tuples are kept in the main memory)
# query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} spatialJoinTouch[Bbox, Bbox_a] count;
########################################################################
#### G2) spatialJoinTouch from rel
########################################################################
query Buildings feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes
# "DbEnv-Tmp: BDB0137 write: 0x1f217f430, 4096: No space left on device"
# "DbEnv-Tmp: BDB3015 NativeFlobFile: write failed for page 29243288"
# "DbEnv-Tmp: BDB3018 NativeFlobFile: unwritable page 29243288 remaining in the cache after error 28"
# file secondo-databases/0tmp27017/NativeFlobFile is > 100 GB, then system crashes (out of hard disk memory)
# query Buildings feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query Roads feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# the next query works, but in the process, secondo-databases/0tmp.../NativeFlobFile grows to approx. 56 GB (but is deleted in the end)
query Roads feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query Landuse feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# the next query works, but in the process, secondo-databases/0tmp.../NativeFlobFile grows to approx. 11 GB (but is deleted in the end)
query Landuse feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Points is the first input
# query Points feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
# next line deactivated since it causes "std::bad_alloc, DbEnv: BDB4511 Error: closing the transaction region with active transactions" (GlobalMemory=16384, MaxLockObjects=1000000)
# probably because the spatial attribute GeoData is of type point and Traffic is the first input
# query Traffic feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query Traffic feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query Traffic feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query Traffic feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query Traffic feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated (see above)
# query Traffic feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
# next line deactivated since it causes
# "DbEnv-Tmp: BDB0137 write: 0x15f19be80, 4096: No space left on device"
# "DbEnv-Tmp: BDB3015 NativeFlobFile: write failed for page 29280310"
# "DbEnv-Tmp: BDB3018 NativeFlobFile: unwritable page 29280310 remaining in the cache after error 28"
# file secondo-databases/0tmp16177/NativeFlobFile is 111,7 GB, then system crashes (out of hard disk memory)
# query Waterways feed Buildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# the next query works, but in the process, secondo-databases/0tmp.../NativeFlobFile grows to over 50 GB (but is deleted in the end)
query Waterways feed Roads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
########################################################################
#### H1) itSpatialJoin from crectangles
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query crectanglesInput1a feed crectanglesInput1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput2a feed crectanglesInput2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput3a feed crectanglesInput3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput4a feed crectanglesInput4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput5a feed crectanglesInput5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query crectanglesOutput1a feed crectanglesOutput1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput2a feed crectanglesOutput2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput3a feed crectanglesOutput3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput4a feed crectanglesOutput4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput5a feed crectanglesOutput5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query crectanglesDispers1a feed crectanglesDispers1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers2a feed crectanglesDispers2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers3a feed crectanglesDispers3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers4a feed crectanglesDispers4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers5a feed crectanglesDispers5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query crectanglesSize1a feed crectanglesSize1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize2a feed crectanglesSize2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize3a feed crectanglesSize3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize4a feed crectanglesSize4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize5a feed crectanglesSize5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query crectanglesTower1a feed crectanglesTower1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower2a feed crectanglesTower2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower3a feed crectanglesTower3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower4a feed crectanglesTower4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower5a feed crectanglesTower5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query crectanglesQueue1a feed crectanglesQueue1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue2a feed crectanglesQueue2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue3a feed crectanglesQueue3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue4a feed crectanglesQueue4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue5a feed crectanglesQueue5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query crectanglesPlus1a feed crectanglesPlus1b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus2a feed crectanglesPlus2b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus3a feed crectanglesPlus3b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus4a feed crectanglesPlus4b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus5a feed crectanglesPlus5b feed {a} itSpatialJoin[Bbox, Bbox_a] count;
########################################################################
#### H2) itSpatialJoin from crel
########################################################################
query cbuildings feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query croads feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query clanduse feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query cpoints feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query ctraffic feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query cwaterways feed cbuildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed croads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed clanduse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cpoints feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed ctraffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cwaterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
########################################################################
#### I1) itSpatialJoin from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} itSpatialJoin[Bbox, Bbox_a] count;
########################################################################
#### I2) itSpatialJoin from rel
########################################################################
query Buildings feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query Roads feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query Landuse feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query Points feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query Traffic feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ======================================================================
query Waterways feed Buildings feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Roads feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} itSpatialJoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} itSpatialJoin[GeoData, GeoData_a] count;
########################################################################
#### J1) infoGrepSpatialJoin from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} infoGrepSpatialJoin[Bbox, Bbox_a, 4, 8] count;
########################################################################
#### J2) infoGrepSpatialJoin from rel
########################################################################
query Buildings feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Buildings feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ======================================================================
query Roads feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Roads feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Roads feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ======================================================================
query Landuse feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Landuse feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ======================================================================
query Points feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Points feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Points feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Points feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Points feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Points feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ======================================================================
query Traffic feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Traffic feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Traffic feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Traffic feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Traffic feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Traffic feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ======================================================================
query Waterways feed Buildings feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Waterways feed Roads feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} infoGrepSpatialJoin[GeoData, GeoData_a, 4, 8] count;
########################################################################
#### K1) spatialjoin from createRectangles2D
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query createRectangles2D(2, 17, 0.60, 0.60, 1) createRectangles2D(2, 17, 0.60, 0.60, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 19, 0.55, 0.55, 1) createRectangles2D(2, 19, 0.55, 0.55, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 21, 0.55, 0.55, 1) createRectangles2D(2, 21, 0.55, 0.55, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 23, 0.58, 0.58, 1) createRectangles2D(2, 23, 0.58, 0.58, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(2, 25, 0.55, 0.55, 1) createRectangles2D(2, 25, 0.55, 0.55, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
query createRectangles2D(10, 5, 0.10, 0.10, 1) createRectangles2D(10, 5, 0.10, 0.10, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.28, 0.37, 1) createRectangles2D(10, 5, 0.28, 0.37, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.35, 0.45, 1) createRectangles2D(10, 5, 0.35, 0.45, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.40, 0.59, 1) createRectangles2D(10, 5, 0.40, 0.59, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 5, 0.50, 0.70, 1) createRectangles2D(10, 5, 0.50, 0.70, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query createRectangles2D(1000000, 1, 0.001, 0.001, 1) createRectangles2D(1000000, 1, 0.001, 0.001, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(1000, 2, 0.0316, 0.0316, 1) createRectangles2D(1000, 2, 0.0316, 0.0316, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.1, 0.1, 1) createRectangles2D(100, 3, 0.1, 0.1, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(10, 6, 0.316, 0.316, 2) createRectangles2D(10, 6, 0.316, 0.316, 4) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.5, 0.5, 1) createRectangles2D(4, 10, 0.5, 0.5, 6) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query createRectangles2D(100, 3, 0.098, 0.098, 1) createRectangles2D(100, 3, 0.098, 0.098, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.050, 0.170, 1) createRectangles2D(100, 3, 0.050, 0.170, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.020, 0.210, 1) createRectangles2D(100, 3, 0.020, 0.210, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.007, 0.230, 1) createRectangles2D(100, 3, 0.007, 0.230, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(100, 3, 0.002, 0.240, 1) createRectangles2D(100, 3, 0.002, 0.240, 2) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query createRectangles2D(4, 6, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 6, 0.2, 0.3, 2, 3, 0) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 7, 0.2, 0.3, 2, 3, 0) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 8, 0.2, 0.3, 2, 3, 0) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 9, 0.2, 0.3, 2, 3, 0) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 3, 0) createRectangles2D(4, 10, 0.2, 0.3, 2, 3, 0) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query createRectangles2D(4, 6, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 6, 0.2, 0.3, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 7, 0.2, 0.3, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 8, 0.2, 0.3, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 9, 0.2, 0.3, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.2, 0.3, 1, 0, 3) createRectangles2D(4, 10, 0.2, 0.3, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query createRectangles2D(4, 6, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 6, 0.4, 0.55, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 7, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 7, 0.4, 0.55, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 8, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 8, 0.4, 0.55, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 9, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 9, 0.4, 0.55, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query createRectangles2D(4, 10, 0.4, 0.55, 1, 3, 0) createRectangles2D(4, 10, 0.4, 0.55, 2, 0, 3) {a} spatialjoin[Bbox, Bbox_a] count;
########################################################################
#### K2) spatialjoin from rel
########################################################################
query Buildings feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Buildings feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Roads feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Roads feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Landuse feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Landuse feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Points feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Points feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Traffic feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Traffic feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
# ======================================================================
query Waterways feed Buildings feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Roads feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Landuse feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Points feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Traffic feed {a} spatialjoin[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query Waterways feed Waterways feed {a} spatialjoin[GeoData, GeoData_a] count;
########################################################################
#### L1) spatialJoinTouch from crectangles
########################################################################
# ====================================================================== Input: 131 K ... 32 M
query crectanglesInput1a feed crectanglesInput1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput2a feed crectanglesInput2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput3a feed crectanglesInput3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesInput4a feed crectanglesInput4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# line deactivated as it causes "Zeile 35: 11086 Getoetet $runner $*" (GlobalMemory=16384)
# query crectanglesInput5a feed crectanglesInput5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Output: 1 ... 500 M
# a huge grid is created for these 100.000 very small rectangles, taking a lot (> 18 GB) of memory (and time)
query crectanglesOutput1a feed crectanglesOutput1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput2a feed crectanglesOutput2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput3a feed crectanglesOutput3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesOutput4a feed crectanglesOutput4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
# line deactivated as it causes "QP:Eval Evaluation of operator failed. DbEnv: BDB4511 Error: closing the transaction region with active transactions"
# (GlobalMemory=16384) after 54% matching (probably because all output tuples are kept in the main memory)
# query crectanglesOutput5a feed crectanglesOutput5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Dispersion: uniform ... clustered
query crectanglesDispers1a feed crectanglesDispers1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers2a feed crectanglesDispers2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers3a feed crectanglesDispers3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers4a feed crectanglesDispers4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesDispers5a feed crectanglesDispers5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Size: equal ... diverging
query crectanglesSize1a feed crectanglesSize1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize2a feed crectanglesSize2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize3a feed crectanglesSize3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize4a feed crectanglesSize4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesSize5a feed crectanglesSize5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Tower: low ... high
query crectanglesTower1a feed crectanglesTower1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower2a feed crectanglesTower2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower3a feed crectanglesTower3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower4a feed crectanglesTower4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesTower5a feed crectanglesTower5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Queue: short ... long
query crectanglesQueue1a feed crectanglesQueue1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue2a feed crectanglesQueue2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue3a feed crectanglesQueue3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue4a feed crectanglesQueue4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesQueue5a feed crectanglesQueue5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ====================================================================== Plus: small ... large
query crectanglesPlus1a feed crectanglesPlus1b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus2a feed crectanglesPlus2b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus3a feed crectanglesPlus3b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus4a feed crectanglesPlus4b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
# ----------------------------------------------------------------------
query crectanglesPlus5a feed crectanglesPlus5b feed {a} spatialJoinTouch[Bbox, Bbox_a] count;
########################################################################
#### L2) spatialJoinTouch from crel
########################################################################
query cbuildings feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cbuildings feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
# next line deactivated since it causes "Zeile 35: 4176 Getoetet $runner $*"
# query cbuildings feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query croads feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query croads feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query clanduse feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query clanduse feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query cpoints feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cpoints feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
query ctraffic feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query ctraffic feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ======================================================================
# next line deactivated since it causes "Zeile 35: 6895 Getoetet $runner $*"
# query cwaterways feed cbuildings feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed croads feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed clanduse feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cpoints feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed ctraffic feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
# ----------------------------------------------------------------------
query cwaterways feed cwaterways feed {a} spatialJoinTouch[GeoData, GeoData_a] count;
########################################################################
close database