The Greyhound Reader allows you to query point data from a Greyhound server.

## Example¶

{
"pipeline":[
{
"url":"data.greyhound.io",
"resource":"autzen"
},
{
"type":"writers.text",
"filename":"outputfile.txt"
}
]
}


## Options¶

url
Greyhound server URL string. [Required]
resource
Name of the Greyhound resource to access. [Required]
bounds
Spatial bounds to query, expressed as a string, e.g. ([xmin, xmax], [ymin, ymax]) or ([xmin, xmax], [ymin, ymax], [zmin, zmax]). By default, the entire resource is queried.
depth_begin
Beginning octree depth to query, inclusive. Lower depth values have coarser resolution, so a depth range of [0, 8) could provide a low-resolution overview of the entire resource, for example. [Default: 0]
depth_end
Ending octree depth to query, non-inclusive. A value of 0 will search all depths greater-than or equal-to depth_begin. If non-zero, this value should be greater than depth_begin or the result will always be empty. [Default: 0]
tile_path
A Greyhound resource may be an aggregation of multiple input files. If a tile_path option is present, then only points belonging to that file will be queried. This search is spatially optimized, so no bounds option needs to be present to limit the query bounds.
filter

Server-side filtering may be requested which may further limit the data selected by the query. The filter is represented as JSON, and performs filtering on dimensions present in the resource, or the pseudo-dimension Path, corresponding to tile_path values.

Arbitrary logic combinations may be created using comparison and logical query operators with syntax matching that of MongoDB. Some sample filters follow.

{
"Path":{"$in":["tile-845.laz", "tile-846.laz"]}, "Classification":{"$ne":18}
}

{"$or":[ {"Red":{"$gt":200}},
{"Blue":{"$gt":120,"$lt":130}},
{"Classification":{"\$nin":[2,3]}}
]}