This is an old revision of the document!


iSPEED Features

3D Spatial Query Processing

Query operations in iSPEED are implemented as a combination of a framework query processor and MapReduce jobs.

3D Spatial Query Types

Currently there are three main query types that iSPEED supports:

  • Spatial join / cross-matching
  • Nearest neighbor search
  • Spatial proximity estimation

Input 3D Data Format

Data Format.

  • HadoopGIS currently supports the OFF data format.

Data Preparation. The data format that iSPEED can accept or re-process must be have the following properties:

  • Each record is located on a separate line; a record representing a spatial object must be contained in a single line.
  • Each line starts with a unique object ID followed by the object geometry.
  • The geometry of objects must be in OFF format (other data formats will be supported later).
  • There is a delimiter (|) between each line in the OFF format.

If you have existing data satisfying the above requirements, stage your data on HDFS. e.g.:

hdfs dfs -mkdir /user/testuser

hdfs dfs -mkdir /user/testuser/rawdata1

hdfs dfs -put testdata.off /user/testuser/rawdata1/

If you do not have data, you can download the data from Examples page.

Query Parameters

Arguments are passed to iSPEED via command line arguments. The full list of arguments for the framework manager can be found by executing ../build/bin/queryproc3d –-help.

The following output will be displayed. Detailed explanations of these parameters are presented in Examples page.

Options:
  --help                    This help message
  -n [ --numreducers ] arg  The number of reducers
  -p [ --bucket ] arg       Bucket size for partitioning
  -a [ --input1 ] arg       HDFS file path to data set 1
  -b [ --input2 ] arg       HDFS file path to data set 2
  -i [ --geom1 ] arg        Field number of data set 1 containing the geometry
  -j [ --geom2 ] arg        Field number of data set 2 containing the geometry
  -d [ --distance ] arg     Distance (used for certain predicates)
  -f [ --outputfields ] arg Fields to be output. See the full documentation.
  -h [ --outputpath ] arg   Output path
  -t [ --predicate ] arg    Predicate for spatial join and nn queries
  -q [ --querytype ] arg    Query type [spjoin]
  -s [ --samplingrate ] arg Sampling rate (0, 1]
  -u [ --partitioner ] arg  Partitioning method ([fg | bsp | hc | str | bos ]
  -o [ --overwrite ]        Overwrite existing hdfs directory.