ARLAS Exploration API

Overview

Explore the content of ARLAS collections

Version information

Version : 19.0.8

Contact information

Contact : Gisaia
Contact Email : contact@gisaia.com

License information

License : Apache 2.0
License URL : https://www.apache.org/licenses/LICENSE-2.0.html
Terms of service : null

URI scheme

BasePath : /arlas
Schemes : HTTP, HTTPS

Tags

  • collections
  • explore

Resources

Collections

Get all collection references

GET /collections
Description

Get all collection references in ARLAS

Parameters
Type Name Description Schema Default
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation < CollectionReference > array
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Get all collection references as a json file

GET /collections/export
Description

Get all collection references in ARLAS as json file

Responses
HTTP Code Description Schema
200 Successful operation < CollectionReference > array
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Add collection references from a json file

POST /collections/import
Description

Add collection references in ARLAS from a json file

Parameters
Type Name Schema
FormData file
optional
file
Responses
HTTP Code Description Schema
200 Successful operation string
500 Arlas Server Error. Error
Consumes
  • multipart/form-data
Produces
  • application/json;charset=utf-8

Get a collection reference

GET /collections/{collection}
Description

Get a collection reference in ARLAS

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation CollectionReference
404 Collection not found. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Add a collection reference

PUT /collections/{collection}
Description

Add a collection reference in ARLAS

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query pretty
optional
Pretty print boolean "false"
Body collectionParams
required
collectionParams CollectionReferenceParameters
Responses
HTTP Code Description Schema
200 Successful operation CollectionReference
400 JSON parameter malformed. Error
404 Not Found Error. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Delete a collection reference

DELETE /collections/{collection}
Description

Delete a collection reference in ARLAS

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation Success
404 Collection not found. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Explore

List

GET /explore/list
Description

List the collections configured in ARLAS.

Parameters
Type Name Description Schema Default
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation < CollectionReferenceDescription > array
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Suggest

GET /explore/{collections}/suggest
Description

Suggest the the n (n=size) most relevant terms given the filters

Parameters
Type Name Description Schema Default
Path collections
required
collections, comma separated string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided. The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

: | {fieldName} equals {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric



- The AND operator is applied between filters having different fieldNames.

- The OR operator is applied on filters having the same fieldName.

- If the fieldName starts with - then a must not filter is used

- If the fieldName starts with - then a must not filter is used

For more details, check https://gitlab.com/GISAIA.ARLAS/ARLAS-server/blob/master/doc/api/API-definition.md
< string > array(multi)
Query field
optional
Name of the field to be used for retrieving the most relevant terms string "_all"
Query from
optional
From index to start the search from. Defaults to 0. integer (int32) 0
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search string
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer (int32) 10
Responses
HTTP Code Description Schema
200 Successful operation No Content
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Aggregate

POST /explore/{collection}/aggregate
Description

Aggregate the elements in the collection(s), given the filters and the aggregation parameters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
AggregationsRequest
Responses
HTTP Code Description Schema
200 Successful operation AggregationResponse
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Aggregate

GET /explore/{collection}/aggregate
Description

Aggregate the elements in the collection(s), given the filters and the aggregation parameters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query agg
required
- The agg parameter should be given in the following formats:

{type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:fetch_hits-{fetch_hits values}

Where :

- {type}:{field} part is mandatory.

- interval must be specified only when aggregation type is datehistogram, histogram, geotile and geohash.

- format is optional for datehistogram, and must not be specified for the other types.

- (collect_field,collect_fct) couple is optional for all aggregation types.

- It's possible to apply multiple metric aggregations by defining multiple (collect_field,collect_fct) couples.

- (collect_field,collect_fct) couples should be unique in that case.

- (order,on) couple is optional for all aggregation types.

- size is optional for term and geohash/geotile, and must not be specified for the other types.

- include is optional for term, and must not be specified for the other types.

- {type} possible values are :

datehistogram, histogram, geohash, geotile and term.

- {interval} possible values depends on {type}.

If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities.

If {type} = histogram, then {interval} = {size}.

If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation.

If {type} = geotile, then {interval} = {size}. It's an integer corresponding to zoom level of the aggregation, that should be larger than or equal to {z} in the path param, and no bigger than {z}+6.

If {type} = term, then interval-{interval} is not needed.

- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.

- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}.

{collect_fct} possible values are :

avg,cardinality,max,min,sum

- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'.

- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'.

- If {on} is equal to result and two or more (collect_field,collect_fct) couples are specified, then the order is applied on the first collect_fct that is different from geobbox and geocentroid

- {size} Defines how many buckets should be returned.

- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.

- aggregated_geometries

> What it does: Allows to specify a list of aggregated forms of geometries that represent the bucket.

> Syntax: aggregated_geometries-{COMMA_SEPARATED_AGGREGATED_GEOMETRIES}.

> Available aggregated geometries: centroid, bbox, cell, cell_center.

- centroid: returns the centroid of data inside the bucket.

- bbox: returns the data extent (bbox) in each bucket.

- cell: returns the cell extent (zxy or geohash) of each bucket. This form is supported for geohash and geotile aggregation type only.

- cell_center: returns the cell center of each bucket. This form is supported for geohash and geotile aggregation type only.

> Response: the aggregated geometries are returned in geometries list in the json response. Each object inside this list has : the reference to the aggregated form, the geojson geometry and an attribute is_raw set to false

> Example: aggregated_geometries-bbox,cell

- raw_geometries

> What it does: Allows to specify a list of raw geometries provided by hits that represent the bucket and that are elected by a sort

> Syntax: raw_geometries-{GEOMETRY_FIELD}({COMMA_SEPERATED_SORT_FIELDS});{GEOMETRY_FIELD2}({COMMA_SEPERATED_SORT_FIELDS2}).

> Available raw geometries: any field of the collection whose type is geo-point or geo-shape.

- sort fields are optional. If no sort is specified, an ascending sort on collection.params.timestamp_path is applied

- a sort field can be preceded by '-' for descending sort. Otherwise the sort is ascending

> Response: the aggregated geometries are returned in geometries list in the json response. Each object inside this list has : the reference to the geometry path, the used sort, the geojson geometry and an attribute is_raw set to true

> Example: raw_geometries-geo_field1,geo_field2 \|\| raw_geometries-geo_field(-field1,field2) || raw_geometries-geo_field1(field1);geo_field2(field2,field3)

- fetch_hits

> What it does: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.

> Syntax: fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...).

> Note 1: {sizeOfHitsToFetch} is optional, if not specified, 1 is considered as default.

> Note 2: {field} can be preceded by + or - for ascending or descending sort of the hits. Order matters.

> Example: fetch_hits-3(-timestamp, geometry). Fetches the 3 last positions for each bucket.

agg parameter is multiple. Every agg parameter specified is a subaggregation of the previous one : order matters.

For more details, check https://gitlab.com/GISAIA.ARLAS/ARLAS-server/blob/master/doc/api/API-definition.md.
< string > array(multi)
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation AggregationResponse
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Compute

POST /explore/{collection}/compute
Description

Computes the given metric on a field in the collection, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
ComputationRequest
Responses
HTTP Code Description Schema
200 Successful operation ComputationResponse
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Compute

GET /explore/{collection}/compute
Description

Computes the given metric on a field in the collection, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query field
required
The field on which the metric is calculated. string
Query max-age-cache
optional
max-age-cache integer (int32)
Query metric
required
The metric to compute : max, min, avg, sum, cardinality, spanning, geobbox, geocentroid. string
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation ComputationResponse
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Count

POST /explore/{collection}/count
Description

Count the number of elements found in the collection(s), given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collections string
Query pretty
optional
Pretty print boolean "false"
Body body
optional
Count
Responses
HTTP Code Description Schema
200 Successful operation Hits
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Count

GET /explore/{collection}/count
Description

Count the number of elements found in the collection(s), given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collections string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation Hits
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Describe

GET /explore/{collection}/describe
Description

Describe the structure and the content of the given collection.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation CollectionReferenceDescription
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoAggregate

POST /explore/{collection}/geoaggregate
Description

Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
AggregationsRequest
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoAggregate

GET /explore/{collection}/geoaggregate
Description

Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query agg
required
- The agg parameter should be given in the following formats:

{type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:raw_geometries-{raw_geometries values}:aggregated_geometries-{aggregated_geometries values}:fetch_hits-{fetch_hits values}

Where :

- {type}:{field} part is mandatory.

- interval must be specified only when aggregation type is datehistogram, histogram, geotile and geohash.

- format is optional for datehistogram, and must not be specified for the other types.

- (collect_field,collect_fct) couple is optional for all aggregation types.

- (order,on) couple is optional for all aggregation types.

- size is optional for term and geohash/geotile, and must not be specified for the other types.

- include is optional for term, and must not be specified for the other types.

- {type} possible values are :

geohash, geotile, datehistogram, histogram and term. geohash or geotile must be the main aggregation.

- {interval} possible values depends on {type}.

If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities.

If {type} = histogram, then {interval} = {size}.

If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation.

If {type} = geotile, then {interval} = {size}. It's an integer corresponding to zoom level of the aggregation, that should be larger than or equal to {z} in the path param, and no bigger than {z}+6 (max 29).

If {type} = term, then interval-{interval} is not needed.

- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.

- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}.

{collect_fct} possible values are :

avg,cardinality,max,min,sum,geobbox,geocentroid

- (collect_field,collect_fct) should both be specified, except when collect_fct = geobbox or geocentroid, it could be specified alone. The metrics geobbox and geocentroid are returned as features collections.

- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'.

- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'.

- When {on} = result, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = geobbox or geocentroid, then {on}=result is prohibited

- {size} Defines how many buckets should be returned.

- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.

- aggregated_geometries

> What it does: Allows to specify a list of aggregated forms of geometries that represent the bucket.

> Syntax: aggregated_geometries-{COMMA_SEPARATED_AGGREGATED_GEOMETRIES}.

> Available aggregated geometries: centroid, bbox, cell, cell_center.

- centroid: returns the centroid of data inside the bucket.

- bbox: returns the data extent (bbox) in each bucket.

- cell: returns the cell (zxy or geohash) extent of each bucket. This form is supported for geohash and geotile aggregation type only.

- cell_center: returns the cell center of each bucket. This form is supported for geohash and geotile aggregation type only.

> Response: Each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified aggregated geometries. The properties of each feature has :

- geometry_ref attribute that informs which aggregated form is returned

- geometry_type attribute set to aggregated

> Example: aggregated_geometries-bbox,geohash

- raw_geometries

> What it does: Allows to specify a list of raw geometries provided by hits that represent the bucket and that are elected by a sort

> Syntax: raw_geometries-{GEOMETRY_FIELD}({COMMA_SEPERATED_SORT_FIELDS});{GEOMETRY_FIELD2}({COMMA_SEPERATED_SORT_FIELDS2}).

> Available raw geometries: any field of the collection whose type is geo-point or geo-shape.

- sort fields are optional. If no sort is specified, an ascending sort on collection.params.timestamp_path is applied

- a sort field can be preceded by '-' for descending sort. Otherwise the sort is ascending

> Response: each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified raw geometries. The properties of each feature has :

- geometry_ref attribute that informs which geometry path is returned

- geometry_type attribute set to raw

- geometry_sort attribute that informs how the geometry path is fetched (with what sort)

> Example: raw_geometries-geo_field1,geo_field2 \|\| raw_geometries-geo_field(-field1,field2) || raw_geometries-geo_field1(field1);geo_field2(field2,field3)

- fetch_hits

> What it does: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.

> Syntax: fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...).

> Note 1: {sizeOfHitsToFetch} is optional, if not specified, 1 is considered as default.

> Note 2: {field} can be preceded by + or - for ascending or descending sort of the hits. Order matters.

> Example: fetch_hits-3(-timestamp, geometry). Fetches the 3 last positions for each bucket.

agg parameter is multiple. The first (main) aggregation must be geohash or geotile. Every agg parameter specified is a subaggregation of the previous one : order matters.

For more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md
< string > array(multi)
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoAggregate on a geohash

GET /explore/{collection}/geoaggregate/{geohash}
Description

Aggregate the elements in the collection(s) and localized in the given geohash as features, given the filters and the aggregation parameters.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Path geohash
required
geohash string
Query agg
optional
- The agg parameter should be given in the following formats:

{type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:raw_geometries-{raw_geometries values}:aggregated_geometries-{aggregated_geometries values}:fetch_hits-{fetch_hits values}

Where :

- {type}:{field} part is mandatory.

- interval must be specified only when aggregation type is datehistogram, histogram, geotile and geohash.

- format is optional for datehistogram, and must not be specified for the other types.

- (collect_field,collect_fct) couple is optional for all aggregation types.

- (order,on) couple is optional for all aggregation types.

- size is optional for term and geohash/geotile, and must not be specified for the other types.

- include is optional for term, and must not be specified for the other types.

- {type} possible values are :

geohash, geotile, datehistogram, histogram and term. geohash or geotile must be the main aggregation.

- {interval} possible values depends on {type}.

If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities.

If {type} = histogram, then {interval} = {size}.

If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation.

If {type} = geotile, then {interval} = {size}. It's an integer corresponding to zoom level of the aggregation, that should be larger than or equal to {z} in the path param, and no bigger than {z}+6 (max 29).

If {type} = term, then interval-{interval} is not needed.

- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.

- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}.

{collect_fct} possible values are :

avg,cardinality,max,min,sum,geobbox,geocentroid

- (collect_field,collect_fct) should both be specified, except when collect_fct = geobbox or geocentroid, it could be specified alone. The metrics geobbox and geocentroid are returned as features collections.

- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'.

- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'.

- When {on} = result, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = geobbox or geocentroid, then {on}=result is prohibited

- {size} Defines how many buckets should be returned.

- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.

- aggregated_geometries

> What it does: Allows to specify a list of aggregated forms of geometries that represent the bucket.

> Syntax: aggregated_geometries-{COMMA_SEPARATED_AGGREGATED_GEOMETRIES}.

> Available aggregated geometries: centroid, bbox, cell, cell_center.

- centroid: returns the centroid of data inside the bucket.

- bbox: returns the data extent (bbox) in each bucket.

- cell: returns the cell (zxy or geohash) extent of each bucket. This form is supported for geohash and geotile aggregation type only.

- cell_center: returns the cell center of each bucket. This form is supported for geohash and geotile aggregation type only.

> Response: Each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified aggregated geometries. The properties of each feature has :

- geometry_ref attribute that informs which aggregated form is returned

- geometry_type attribute set to aggregated

> Example: aggregated_geometries-bbox,geohash

- raw_geometries

> What it does: Allows to specify a list of raw geometries provided by hits that represent the bucket and that are elected by a sort

> Syntax: raw_geometries-{GEOMETRY_FIELD}({COMMA_SEPERATED_SORT_FIELDS});{GEOMETRY_FIELD2}({COMMA_SEPERATED_SORT_FIELDS2}).

> Available raw geometries: any field of the collection whose type is geo-point or geo-shape.

- sort fields are optional. If no sort is specified, an ascending sort on collection.params.timestamp_path is applied

- a sort field can be preceded by '-' for descending sort. Otherwise the sort is ascending

> Response: each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified raw geometries. The properties of each feature has :

- geometry_ref attribute that informs which geometry path is returned

- geometry_type attribute set to raw

- geometry_sort attribute that informs how the geometry path is fetched (with what sort)

> Example: raw_geometries-geo_field1,geo_field2 \|\| raw_geometries-geo_field(-field1,field2) || raw_geometries-geo_field1(field1);geo_field2(field2,field3)

- fetch_hits

> What it does: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.

> Syntax: fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...).

> Note 1: {sizeOfHitsToFetch} is optional, if not specified, 1 is considered as default.

> Note 2: {field} can be preceded by + or - for ascending or descending sort of the hits. Order matters.

> Example: fetch_hits-3(-timestamp, geometry). Fetches the 3 last positions for each bucket.

agg parameter is multiple. The first (main) aggregation must be geohash or geotile. Every agg parameter specified is a subaggregation of the previous one : order matters.

For more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md
< string > array(multi)
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoAggregate on a geotile

GET /explore/{collection}/geoaggregate/{z}/{x}/{y}
Description

Aggregate the elements in the collection(s) and localized in the given tile as features, given the filters and the aggregation parameters.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Path x
required
x integer (int32)
Path y
required
y integer (int32)
Path z
required
z integer (int32)
Query agg
optional
- The agg parameter should be given in the following formats:

{type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:raw_geometries-{raw_geometries values}:aggregated_geometries-{aggregated_geometries values}:fetch_hits-{fetch_hits values}

Where :

- {type}:{field} part is mandatory.

- interval must be specified only when aggregation type is datehistogram, histogram, geotile and geohash.

- format is optional for datehistogram, and must not be specified for the other types.

- (collect_field,collect_fct) couple is optional for all aggregation types.

- (order,on) couple is optional for all aggregation types.

- size is optional for term and geohash/geotile, and must not be specified for the other types.

- include is optional for term, and must not be specified for the other types.

- {type} possible values are :

geohash, geotile, datehistogram, histogram and term. geohash or geotile must be the main aggregation.

- {interval} possible values depends on {type}.

If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities.

If {type} = histogram, then {interval} = {size}.

If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation.

If {type} = geotile, then {interval} = {size}. It's an integer corresponding to zoom level of the aggregation, that should be larger than or equal to {z} in the path param, and no bigger than {z}+6 (max 29).

If {type} = term, then interval-{interval} is not needed.

- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.

- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}.

{collect_fct} possible values are :

avg,cardinality,max,min,sum,geobbox,geocentroid

- (collect_field,collect_fct) should both be specified, except when collect_fct = geobbox or geocentroid, it could be specified alone. The metrics geobbox and geocentroid are returned as features collections.

- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'.

- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'.

- When {on} = result, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = geobbox or geocentroid, then {on}=result is prohibited

- {size} Defines how many buckets should be returned.

- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.

- aggregated_geometries

> What it does: Allows to specify a list of aggregated forms of geometries that represent the bucket.

> Syntax: aggregated_geometries-{COMMA_SEPARATED_AGGREGATED_GEOMETRIES}.

> Available aggregated geometries: centroid, bbox, cell, cell_center.

- centroid: returns the centroid of data inside the bucket.

- bbox: returns the data extent (bbox) in each bucket.

- cell: returns the cell (zxy or geohash) extent of each bucket. This form is supported for geohash and geotile aggregation type only.

- cell_center: returns the cell center of each bucket. This form is supported for geohash and geotile aggregation type only.

> Response: Each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified aggregated geometries. The properties of each feature has :

- geometry_ref attribute that informs which aggregated form is returned

- geometry_type attribute set to aggregated

> Example: aggregated_geometries-bbox,geohash

- raw_geometries

> What it does: Allows to specify a list of raw geometries provided by hits that represent the bucket and that are elected by a sort

> Syntax: raw_geometries-{GEOMETRY_FIELD}({COMMA_SEPERATED_SORT_FIELDS});{GEOMETRY_FIELD2}({COMMA_SEPERATED_SORT_FIELDS2}).

> Available raw geometries: any field of the collection whose type is geo-point or geo-shape.

- sort fields are optional. If no sort is specified, an ascending sort on collection.params.timestamp_path is applied

- a sort field can be preceded by '-' for descending sort. Otherwise the sort is ascending

> Response: each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified raw geometries. The properties of each feature has :

- geometry_ref attribute that informs which geometry path is returned

- geometry_type attribute set to raw

- geometry_sort attribute that informs how the geometry path is fetched (with what sort)

> Example: raw_geometries-geo_field1,geo_field2 \|\| raw_geometries-geo_field(-field1,field2) || raw_geometries-geo_field1(field1);geo_field2(field2,field3)

- fetch_hits

> What it does: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.

> Syntax: fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...).

> Note 1: {sizeOfHitsToFetch} is optional, if not specified, 1 is considered as default.

> Note 2: {field} can be preceded by + or - for ascending or descending sort of the hits. Order matters.

> Example: fetch_hits-3(-timestamp, geometry). Fetches the 3 last positions for each bucket.

agg parameter is multiple. The first (main) aggregation must be geohash or geotile. Every agg parameter specified is a subaggregation of the previous one : order matters.

For more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md
< string > array(multi)
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoSearch

POST /explore/{collection}/geosearch
Description

Search and return the elements found in the collection(s) as features, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
Search
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

GeoSearch

GET /explore/{collection}/geosearch
Description

Search and return the elements found in the collection(s) as features, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query after
optional
List of values of fields present in sort param that are used to search after.

> What it does: Retrieve the data placed after the pointed element, given the provided order (sort).

> Restriction 1: after param works only combined with sort param.

> Syntax: after={value1},{value2},...,{valueN} & sort={field1},{field2},...,{fieldN}.

> Note 1: {value1}and{value2}are the values of{field1}and{field2}in the last hit returned in the previous search<br> <br>> **Note 2**: The order of fields and values matters. *{value1},{value2}* must be in the same order of *{field1},{field2}* in **sort** param<br> <br>> **Note 3**: The last field{fieldN}must be the id field specified in the collection **collection.params.idPath** (returned as **md.id**) and{valueN}its corresponding value.<br> <br>> __**Example**__: *sort=-date,id& **after**=01/02/2019,abcd1234`. Gets the following hits of the previous search that stopped at date 01/02/2019 and id abcd1234.

> Restriction 2: from param must be set to 0 or kept unset
string
Query before
optional
Same idea that after param, but to retrieve the data placed before the pointed element, given the provided order (sort). string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query exclude
optional
List the name patterns of the field to be excluded in the result. Separate patterns with a comma. < string > array(multi)
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query from
optional
From index to start the search from. Defaults to 0. integer 0
Query include
optional
List the name patterns of the field to be included in the result. Separate patterns with a comma. < string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Query returned_geometries
optional
Comma separated geometry field_paths to be included in the result. If not specified, only geometry_path is returned. If geometry_path is null, then centroid_path is returned string
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer 10
Query sort
optional
Sorts the resulted hits on the given fields and/or by distance to a given point:

> Syntax: {field1},{field2},-{field3},geodistance:{lat} {lon},{field4} ....

> Note 1: {field} can be preceded by '-' for descending sort. By default, sort is ascending.

> Note 2: The order of fields matters.

> Note 3 geodistance sort: Sorts the hits centroids by distance to the given {lat} {lon} (ascending distance sort). It can be specified at most 1 time.

> Example 1: sort=age,-timestamp. Resulted hits are sorted by age. For same age hits, they are decreasingly sorted in time.

> Example 2: sort=age,geodistance:89 179. Resulted hits are sorted by age. For same age hits, they are sorted by closest distance to the point(89°,179°)
< string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Tiled GeoSearch

GET /explore/{collection}/geosearch/{z}/{x}/{y}
Description

Search and return the elements found in the collection(s) and localized in the given tile(x,y,z) as features, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Path x
required
x integer (int32)
Path y
required
y integer (int32)
Path z
required
z integer (int32)
Query after
optional
List of values of fields present in sort param that are used to search after.

> What it does: Retrieve the data placed after the pointed element, given the provided order (sort).

> Restriction 1: after param works only combined with sort param.

> Syntax: after={value1},{value2},...,{valueN} & sort={field1},{field2},...,{fieldN}.

> Note 1: {value1}and{value2}are the values of{field1}and{field2}in the last hit returned in the previous search<br> <br>> **Note 2**: The order of fields and values matters. *{value1},{value2}* must be in the same order of *{field1},{field2}* in **sort** param<br> <br>> **Note 3**: The last field{fieldN}must be the id field specified in the collection **collection.params.idPath** (returned as **md.id**) and{valueN}its corresponding value.<br> <br>> __**Example**__: *sort=-date,id& **after**=01/02/2019,abcd1234`. Gets the following hits of the previous search that stopped at date 01/02/2019 and id abcd1234.

> Restriction 2: from param must be set to 0 or kept unset
string
Query before
optional
Same idea that after param, but to retrieve the data placed before the pointed element, given the provided order (sort). string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query exclude
optional
List the name patterns of the field to be excluded in the result. Separate patterns with a comma. < string > array(multi)
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query from
optional
From index to start the search from. Defaults to 0. integer 0
Query include
optional
List the name patterns of the field to be included in the result. Separate patterns with a comma. < string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Query returned_geometries
optional
Comma separated geometry field_paths to be included in the result. If not specified, only geometry_path is returned. If geometry_path is null, then centroid_path is returned string
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer 10
Query sort
optional
Sorts the resulted hits on the given fields and/or by distance to a given point:

> Syntax: {field1},{field2},-{field3},geodistance:{lat} {lon},{field4} ....

> Note 1: {field} can be preceded by '-' for descending sort. By default, sort is ascending.

> Note 2: The order of fields matters.

> Note 3 geodistance sort: Sorts the hits centroids by distance to the given {lat} {lon} (ascending distance sort). It can be specified at most 1 time.

> Example 1: sort=age,-timestamp. Resulted hits are sorted by age. For same age hits, they are decreasingly sorted in time.

> Example 2: sort=age,geodistance:89 179. Resulted hits are sorted by age. For same age hits, they are sorted by closest distance to the point(89°,179°)
< string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation FeatureCollection
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

POST /explore/{collection}/search
Description

Search and return the elements found in the collection, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
Search
Responses
HTTP Code Description Schema
200 Successful operation Hits
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Search

GET /explore/{collection}/search
Description

Search and return the elements found in the collection, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query after
optional
List of values of fields present in sort param that are used to search after.

> What it does: Retrieve the data placed after the pointed element, given the provided order (sort).

> Restriction 1: after param works only combined with sort param.

> Syntax: after={value1},{value2},...,{valueN} & sort={field1},{field2},...,{fieldN}.

> Note 1: {value1}and{value2}are the values of{field1}and{field2}in the last hit returned in the previous search<br> <br>> **Note 2**: The order of fields and values matters. *{value1},{value2}* must be in the same order of *{field1},{field2}* in **sort** param<br> <br>> **Note 3**: The last field{fieldN}must be the id field specified in the collection **collection.params.idPath** (returned as **md.id**) and{valueN}its corresponding value.<br> <br>> __**Example**__: *sort=-date,id& **after**=01/02/2019,abcd1234`. Gets the following hits of the previous search that stopped at date 01/02/2019 and id abcd1234.

> Restriction 2: from param must be set to 0 or kept unset
string
Query before
optional
Same idea that after param, but to retrieve the data placed before the pointed element, given the provided order (sort). string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query exclude
optional
List the name patterns of the field to be excluded in the result. Separate patterns with a comma. < string > array(multi)
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query from
optional
From index to start the search from. Defaults to 0. integer 0
Query include
optional
List the name patterns of the field to be included in the result. Separate patterns with a comma. < string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Query returned_geometries
optional
Comma separated geometry field_paths to be included in the result. If not specified, only geometry_path is returned. If geometry_path is null, then centroid_path is returned string
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer 10
Query sort
optional
Sorts the resulted hits on the given fields and/or by distance to a given point:

> Syntax: {field1},{field2},-{field3},geodistance:{lat} {lon},{field4} ....

> Note 1: {field} can be preceded by '-' for descending sort. By default, sort is ascending.

> Note 2: The order of fields matters.

> Note 3 geodistance sort: Sorts the hits centroids by distance to the given {lat} {lon} (ascending distance sort). It can be specified at most 1 time.

> Example 1: sort=age,-timestamp. Resulted hits are sorted by age. For same age hits, they are decreasingly sorted in time.

> Example 2: sort=age,geodistance:89 179. Resulted hits are sorted by age. For same age hits, they are sorted by closest distance to the point(89°,179°)
string
Responses
HTTP Code Description Schema
200 Successful operation Hits
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8
  • application/atom+xml

ShapeAggregate

POST /explore/{collection}/shapeaggregate
Description

Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters, and returns a shapefile of it.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
AggregationsRequest
Responses
HTTP Code Description Schema
200 Successful operation No Content
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/zip

ShapeAggregate

GET /explore/{collection}/shapeaggregate
Description

Aggregate the elements in the collection(s) as features, given the filters and the aggregation parameters, and returns a shapefile of it.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query agg
required
- The agg parameter should be given in the following formats:

{type}:{field}:interval-{interval}:format-{format}:collect_field-{collect_field}:collect_fct-{function}:order-{order}:on-{on}:size-{size}:raw_geometries-{raw_geometries values}:aggregated_geometries-{aggregated_geometries values}:fetch_hits-{fetch_hits values}

Where :

- {type}:{field} part is mandatory.

- interval must be specified only when aggregation type is datehistogram, histogram, geotile and geohash.

- format is optional for datehistogram, and must not be specified for the other types.

- (collect_field,collect_fct) couple is optional for all aggregation types.

- (order,on) couple is optional for all aggregation types.

- size is optional for term and geohash/geotile, and must not be specified for the other types.

- include is optional for term, and must not be specified for the other types.

- {type} possible values are :

geohash, geotile, datehistogram, histogram and term. geohash or geotile must be the main aggregation.

- {interval} possible values depends on {type}.

If {type} = datehistogram, then {interval} = {size}(year,quarter,month,week,day,hour,minute,second). Size value must be equal to 1 for year,quarter,month and week unities.

If {type} = histogram, then {interval} = {size}.

If {type} = geohash, then {interval} = {size}. It's an integer between 1 and 12. Lower the length, greater is the surface of aggregation.

If {type} = geotile, then {interval} = {size}. It's an integer corresponding to zoom level of the aggregation, that should be larger than or equal to {z} in the path param, and no bigger than {z}+6 (max 29).

If {type} = term, then interval-{interval} is not needed.

- format-{format} is the date format for key aggregation. The default value is yyyy-MM-dd-hh:mm:ss.

- {collect_fct} is the aggregation function to apply to collections on the specified {collect_field}.

{collect_fct} possible values are :

avg,cardinality,max,min,sum,geobbox,geocentroid

- (collect_field,collect_fct) should both be specified, except when collect_fct = geobbox or geocentroid, it could be specified alone. The metrics geobbox and geocentroid are returned as features collections.

- {order} is set to sort the aggregation buckets on the field name, on the count of the buckets or on the the result of a metric sub-aggregation. Its values are 'asc' or 'desc'.

- {on} is set to specify whether the {order} is on the field name, on the count of the aggregation or on the result of a metric sub-aggregation. Its values are 'field', 'count' or 'result'.

- When {on} = result, then (collect_field,collect_fct) should be specified. Except when {collect_fct} = geobbox or geocentroid, then {on}=result is prohibited

- {size} Defines how many buckets should be returned.

- {include} Specifies the values for which buckets will be created. This values are comma separated. If one value is specified then regular expressions can be used (only in this case) and buckets matching them will be created. If more than one value are specified then only buckets matching the exact values will be created.

- aggregated_geometries

> What it does: Allows to specify a list of aggregated forms of geometries that represent the bucket.

> Syntax: aggregated_geometries-{COMMA_SEPARATED_AGGREGATED_GEOMETRIES}.

> Available aggregated geometries: centroid, bbox, cell, cell_center.

- centroid: returns the centroid of data inside the bucket.

- bbox: returns the data extent (bbox) in each bucket.

- cell: returns the cell (zxy or geohash) extent of each bucket. This form is supported for geohash and geotile aggregation type only.

- cell_center: returns the cell center of each bucket. This form is supported for geohash and geotile aggregation type only.

> Response: Each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified aggregated geometries. The properties of each feature has :

- geometry_ref attribute that informs which aggregated form is returned

- geometry_type attribute set to aggregated

> Example: aggregated_geometries-bbox,geohash

- raw_geometries

> What it does: Allows to specify a list of raw geometries provided by hits that represent the bucket and that are elected by a sort

> Syntax: raw_geometries-{GEOMETRY_FIELD}({COMMA_SEPERATED_SORT_FIELDS});{GEOMETRY_FIELD2}({COMMA_SEPERATED_SORT_FIELDS2}).

> Available raw geometries: any field of the collection whose type is geo-point or geo-shape.

- sort fields are optional. If no sort is specified, an ascending sort on collection.params.timestamp_path is applied

- a sort field can be preceded by '-' for descending sort. Otherwise the sort is ascending

> Response: each bucket of the aggregation will be represented with as many features (in a feature collection) as there are specified raw geometries. The properties of each feature has :

- geometry_ref attribute that informs which geometry path is returned

- geometry_type attribute set to raw

- geometry_sort attribute that informs how the geometry path is fetched (with what sort)

> Example: raw_geometries-geo_field1,geo_field2 \|\| raw_geometries-geo_field(-field1,field2) || raw_geometries-geo_field1(field1);geo_field2(field2,field3)

- fetch_hits

> What it does: Specifies the number of hits to retrieve inside each aggregation bucket and which fields to include in the hits.

> Syntax: fetch_hits-{sizeOfHitsToFetch}(+{field1}, {field2}, -{field3}, ...).

> Note 1: {sizeOfHitsToFetch} is optional, if not specified, 1 is considered as default.

> Note 2: {field} can be preceded by + or - for ascending or descending sort of the hits. Order matters.

> Example: fetch_hits-3(-timestamp, geometry). Fetches the 3 last positions for each bucket.

agg parameter is multiple. The first (main) aggregation must be geohash or geotile. Every agg parameter specified is a subaggregation of the previous one : order matters.

For more details, check https://github.com/gisaia/ARLAS-server/blob/master/docs/arlas-api-exploration.md
< string > array(multi)
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation No Content
400 Bad request. Error
500 Arlas Server Error. Error
501 Not implemented functionality. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/zip

ShapeSearch

POST /explore/{collection}/shapesearch
Description

Search and return the elements found in the collection(s) as features, given the filters, exported as a Shapefile

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Body body
optional
Search
Responses
HTTP Code Description Schema
200 Successful operation No Content
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/zip

ShapeSearch

GET /explore/{collection}/shapesearch
Description

Search and return the elements found in the collection(s) as features, given the filters, exported as a Shapefile

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Query after
optional
List of values of fields present in sort param that are used to search after.

> What it does: Retrieve the data placed after the pointed element, given the provided order (sort).

> Restriction 1: after param works only combined with sort param.

> Syntax: after={value1},{value2},...,{valueN} & sort={field1},{field2},...,{fieldN}.

> Note 1: {value1}and{value2}are the values of{field1}and{field2}in the last hit returned in the previous search<br> <br>> **Note 2**: The order of fields and values matters. *{value1},{value2}* must be in the same order of *{field1},{field2}* in **sort** param<br> <br>> **Note 3**: The last field{fieldN}must be the id field specified in the collection **collection.params.idPath** (returned as **md.id**) and{valueN}its corresponding value.<br> <br>> __**Example**__: *sort=-date,id& **after**=01/02/2019,abcd1234`. Gets the following hits of the previous search that stopped at date 01/02/2019 and id abcd1234.

> Restriction 2: from param must be set to 0 or kept unset
string
Query before
optional
Same idea that after param, but to retrieve the data placed before the pointed element, given the provided order (sort). string
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query exclude
optional
List the name patterns of the field to be excluded in the result. Separate patterns with a comma. < string > array(multi)
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query from
optional
From index to start the search from. Defaults to 0. integer 0
Query include
optional
List the name patterns of the field to be included in the result. Separate patterns with a comma. < string > array(multi)
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Query returned_geometries
optional
Comma separated geometry field_paths to be included in the result. If not specified, only geometry_path is returned. If geometry_path is null, then centroid_path is returned string
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer 10
Query sort
optional
Sorts the resulted hits on the given fields and/or by distance to a given point:

> Syntax: {field1},{field2},-{field3},geodistance:{lat} {lon},{field4} ....

> Note 1: {field} can be preceded by '-' for descending sort. By default, sort is ascending.

> Note 2: The order of fields matters.

> Note 3 geodistance sort: Sorts the hits centroids by distance to the given {lat} {lon} (ascending distance sort). It can be specified at most 1 time.

> Example 1: sort=age,-timestamp. Resulted hits are sorted by age. For same age hits, they are decreasingly sorted in time.

> Example 2: sort=age,geodistance:89 179. Resulted hits are sorted by age. For same age hits, they are sorted by closest distance to the point(89°,179°)
< string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation No Content
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/zip

Tiled GeoSearch

GET /explore/{collection}/tile/{z}/{x}/{y}.png
Description

Search and return the elements found in the collection(s) and localized in the given tile(x,y,z) as features, given the filters

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Path x
required
x integer (int32)
Path y
required
y integer (int32)
Path z
required
z integer (int32)
Query after
optional
List of values of fields present in sort param that are used to search after.

> What it does: Retrieve the data placed after the pointed element, given the provided order (sort).

> Restriction 1: after param works only combined with sort param.

> Syntax: after={value1},{value2},...,{valueN} & sort={field1},{field2},...,{fieldN}.

> Note 1: {value1}and{value2}are the values of{field1}and{field2}in the last hit returned in the previous search<br> <br>> **Note 2**: The order of fields and values matters. *{value1},{value2}* must be in the same order of *{field1},{field2}* in **sort** param<br> <br>> **Note 3**: The last field{fieldN}must be the id field specified in the collection **collection.params.idPath** (returned as **md.id**) and{valueN}its corresponding value.<br> <br>> __**Example**__: *sort=-date,id& **after**=01/02/2019,abcd1234`. Gets the following hits of the previous search that stopped at date 01/02/2019 and id abcd1234.

> Restriction 2: from param must be set to 0 or kept unset
string
Query before
optional
Same idea that after param, but to retrieve the data placed before the pointed element, given the provided order (sort). string
Query coverage
optional
Percentage (]0-100]) of acceptable transparent pixels. Higher the percentage, more tiles could be used for filling the tile integer (int32) 70
Query dateformat
optional
The format of dates. This parameter should be set only if a date field is queried in f param; when using gt, lt, gte, lte and range operations string
Query f
optional
- A triplet for filtering the result. Multiple filter can be provided in distinct parameters (AND operator is applied) or in the same parameter separated by semi-colons (OR operator is applied). The order does not matter.

- A triplet is composed of a field name, a comparison operator and a value.

The possible values of the comparison operator are :

Operator | Description | value type

:eq: | {fieldName} equals {comma separated values}. OR operation is applied for the specified values | numeric or strings

:ne: | {fieldName} must not equal {comma separated values }. AND operation is applied for the specified values | numeric or strings

:like: | {fieldName} is like {value} | numeric or strings

:gte: | {fieldName} is greater than or equal to {value} | numeric

:gt: | {fieldName} is greater than {value} | numeric

:lte: | {fieldName} is less than or equal to {value} | numeric

:lt: | {fieldName} is less than {value} | numeric

:range: | {fieldName} is between {comma separated [min<max] values}. OR operation is applied for the specified ranges | numeric or strings. If the field's type is date, then min & max should be timestamps in millisecond or a Date expression

:within: | {GeofieldName}is within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notwithin:\| {GeofieldName} is not within the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :intersects:\| {GeofieldName} intersects the{given WKT string or the given BBOX }\| a WKT string or the BBOX string :"west, south, east, north"<br> <br> :notintersects:\| {GeofieldName} does not intersect the{given WKT string or the given }\| a WKT string or the BBOX string :"west, south, east, north"`
< string > array(multi)
Query from
optional
From index to start the search from. Defaults to 0. integer 0
Query max-age-cache
optional
max-age-cache integer (int32)
Query q
optional
A full text search. Optionally, it's possible to search on a field using this syntax: {fieldname}:{text} < string > array(multi)
Query sampling
optional
Size of the sampling for testing transparency: 1: test every pixel, 10: test 1 pixel every 10 pixels, etc. integer (int32) 10
Query size
optional
The maximum number of entries or sub-entries to be returned. The default value is 10 integer 10
Query sort
optional
Sorts the resulted hits on the given fields and/or by distance to a given point:

> Syntax: {field1},{field2},-{field3},geodistance:{lat} {lon},{field4} ....

> Note 1: {field} can be preceded by '-' for descending sort. By default, sort is ascending.

> Note 2: The order of fields matters.

> Note 3 geodistance sort: Sorts the hits centroids by distance to the given {lat} {lon} (ascending distance sort). It can be specified at most 1 time.

> Example 1: sort=age,-timestamp. Resulted hits are sorted by age. For same age hits, they are decreasingly sorted in time.

> Example 2: sort=age,geodistance:89 179. Resulted hits are sorted by age. For same age hits, they are sorted by closest distance to the point(89°,179°)
< string > array(multi)
Responses
HTTP Code Description Schema
200 Successful operation No Content
400 Bad request. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • image/png

Get an Arlas document

GET /explore/{collection}/{identifier}
Description

Returns a raw indexed document.

Parameters
Type Name Description Schema Default
Path collection
required
collection string
Path identifier
required
identifier string
Query flat
optional
Flats the property map: only key/value on one level boolean "false"
Query max-age-cache
optional
max-age-cache integer (int32)
Query pretty
optional
Pretty print boolean "false"
Responses
HTTP Code Description Schema
200 Successful operation Hit
400 Bad request. Error
404 Not Found Error. Error
500 Arlas Server Error. Error
Consumes
  • application/json;charset=utf-8
Produces
  • application/json;charset=utf-8

Definitions

Aggregation

Name Schema
aggregated_geometries
optional
< enum (BBOX, CENTROID, CELL, CELLCENTER, GEOHASH, GEOHASH_CENTER) > array
fetch_hits
optional
HitsFetcher
field
optional
string
format
optional
string
include
optional
string
interval
optional
Interval
metrics
optional
< Metric > array
on
optional
enum (field, count, result)
order
optional
enum (asc, desc)
raw_geometries
optional
< RawGeometry > array
size
optional
string
type
optional
enum (datehistogram, geohash, geotile, histogram, term, h3)

AggregationMetric

Name Schema
field
optional
string
type
optional
string
value
optional
object

AggregationResponse

Name Schema
count
optional
integer (int64)
elements
optional
< AggregationResponse > array
flattened_elements
optional
< string, object > map
geometries
optional
< ReturnedGeometry > array
hits
optional
< object > array
key
optional
object
key_as_string
optional
object
metrics
optional
< AggregationMetric > array
name
optional
string
query_time
optional
integer (int64)
sumotherdoccounts
optional
integer (int64)
total_time
optional
integer (int64)
totalnb
optional
integer (int64)

AggregationsRequest

Name Schema
aggregations
optional
< Aggregation > array
filter
optional
Filter
form
optional
Form

Bbox

Name Schema
east
required
number (double)
north
required
number (double)
south
required
number (double)
west
required
number (double)

CollectionReference

Name Schema
collection_name
required
string
params
required
CollectionReferenceParameters

CollectionReferenceDescription

Name Schema
collection_name
required
string
params
required
CollectionReferenceParameters
properties
optional
< string, CollectionReferenceDescriptionProperty > map

CollectionReferenceDescriptionProperty

Name Schema
format
optional
string
indexed
optional
boolean
properties
optional
< string, CollectionReferenceDescriptionProperty > map
taggable
optional
boolean
type
optional
enum (TEXT, KEYWORD, LONG, INTEGER, SHORT, BYTE, DOUBLE, FLOAT, DATE, BOOLEAN, BINARY, INT_RANGE, FLOAT_RANGE, LONG_RANGE, DOUBLE_RANGE, DATE_RANGE, OBJECT, NESTED, GEO_POINT, GEO_SHAPE, IP, COMPLETION, TOKEN_COUNT, MAPPER_MURMUR3, UNKNOWN, VARCHAR, CHAR, CHARACTER, BIT, TINYINT, SMALLINT, INT, BIGINT, DECIMAL, NUMERIC, REAL, DOUBLEPRECISION, TIMESTAMP, TIME, INTERVAL, GEOMETRY, GEOGRAPHY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION)

CollectionReferenceParameters

Name Schema
atom_feed
optional
Feed
centroid_path
optional
string
custom_params
optional
< string, string > map
dublin_core_element_name
optional
DublinCoreElementName
exclude_fields
optional
string
exclude_wfs_fields
optional
string
filter
optional
Filter
geometry_path
optional
string
h3_path
optional
string
id_path
required
string
index_name
required
string
inspire
optional
Inspire
open_search
optional
OpenSearch
raster_tile_height
optional
integer (int32)
raster_tile_url
optional
RasterTileURL
raster_tile_width
optional
integer (int32)
taggable_fields
optional
string
timestamp_path
optional
string
update_max_hits
optional
integer (int32)

ComputationRequest

Name Schema
field
optional
string
filter
optional
Filter
form
optional
Form
metric
optional
enum (AVG, MAX, MIN, SUM, CARDINALITY, SPANNING, GEOBBOX, GEOCENTROID)

ComputationResponse

Name Schema
field
optional
string
geometry
optional
GeoJsonObject
metric
optional
enum (AVG, MAX, MIN, SUM, CARDINALITY, SPANNING, GEOBBOX, GEOCENTROID)
query_time
optional
integer (int64)
total_time
optional
integer (int64)
totalnb
optional
integer (int64)
value
optional
number (double)

Count

Name Schema
filter
optional
Filter
form
optional
Form

Crs

Name Schema
properties
optional
< string, object > map
type
optional
enum (name, link)

DublinCoreElementName

Name Schema
bbox
optional
Bbox
contributor
optional
string
coverage
optional
< string, object > map
coverage_centroid
optional
string
creator
optional
string
date
optional
string
description
optional
string
format
optional
string
identifier
optional
string
language
optional
string
publisher
optional
string
source
optional
string
subject
optional
string
title
optional
string
type
optional
string

Error

Name Schema
error
optional
string
message
optional
string
status
optional
integer (int32)

Expression

Name Schema
field
optional
string
op
optional
enum (eq, gte, gt, lte, lt, like, ne, range, within, notwithin, intersects, notintersects)
value
optional
string

Feature

Name Schema
bbox
optional
< number (double) > array
crs
optional
Crs
geometry
optional
GeoJsonObject
id
optional
string
properties
optional
< string, object > map

FeatureCollection

Name Schema
bbox
optional
< number (double) > array
crs
optional
Crs
features
optional
< Feature > array

Feed

Name Schema
author
optional
Person
contributor
optional
Person
generator
optional
Generator
icon
optional
string
logo
optional
string
rights
optional
string
subtitle
optional
string

Filter

Name Schema
dateformat
optional
string
f
optional
< < Expression > array > array
q
optional
< < string > array > array

Form

Name Schema
flat
optional
boolean
pretty
optional
boolean

Generator

Name Schema
name
optional
string
uri
optional
string
version
optional
string

Geo

Name Schema
geometry
optional
GeoJsonObject
path
optional
string

GeoJsonObject

Name Schema
bbox
optional
< number (double) > array
crs
optional
Crs

GeometryCollection

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
crs
optional
Crs
geometries
optional
< GeoJsonObject > array

Hit

Name Schema
data
optional
object
md
optional
MD

Hits

Name Schema
collection
optional
string
hits
optional
< Hit > array
links
optional
< string, Link > map
nbhits
optional
integer (int64)
totalnb
optional
integer (int64)

HitsFetcher

Name Schema
include
optional
< string > array
size
optional
integer (int32)

Inspire

Name Schema
inspire_limitation_access
optional
InspireLimitationAccess
inspire_uri
optional
InspireURI
inspire_use_conditions
optional
string
keywords
optional
< Keyword > array
languages
optional
< string > array
lineage
optional
string
spatial_resolution
optional
InspireSpatialResolution
topic_categories
optional
< string > array

InspireLimitationAccess

Name Schema
access_constraints
optional
string
classification
optional
string
other_constraints
optional
string

InspireSpatialResolution

Name Schema
unit_of_measure
optional
string
value
optional
Number

InspireURI

Name Schema
code
optional
string
namespace
optional
string

Interval

Name Schema
unit
optional
enum (year, quarter, month, week, day, hour, minute, second)
value
optional
Number

Keyword

Name Schema
date_of_publication
optional
string
value
optional
string
vocabulary
optional
string

LineString

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
< LngLatAlt > array
crs
optional
Crs

Name Schema
body
optional
object
href
required
string
method
required
string

LngLatAlt

Type : object

MD

Name Schema
centroid
optional
GeoJsonObject
geometry
optional
GeoJsonObject
id
optional
string
returned_geometries
optional
< Geo > array
timestamp
optional
integer (int64)

Metric

Name Schema
collect_fct
optional
enum (AVG, CARDINALITY, MAX, MIN, SUM, GEOCENTROID, GEOBBOX)
collect_field
optional
string

MultiLineString

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
< < LngLatAlt > array > array
crs
optional
Crs

MultiPoint

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
< LngLatAlt > array
crs
optional
Crs

MultiPolygon

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
< < < LngLatAlt > array > array > array
crs
optional
Crs

Number

Type : object

OpenSearch

Name Schema
adult_content
optional
string
attribution
optional
string
contact
optional
string
description
optional
string
developer
optional
string
image_height
optional
string
image_type
optional
string
image_url
optional
string
image_width
optional
string
input_encoding
optional
string
language
optional
string
long_name
optional
string
output_encoding
optional
string
short_name
optional
string
syndication_right
optional
string
tags
optional
string

Page

Name Schema
after
optional
string
before
optional
string
from
optional
integer (int32)
size
optional
integer (int32)
sort
optional
string

Person

Name Schema
email
optional
string
name
optional
string
uri
optional
string

Point

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
LngLatAlt
crs
optional
Crs

Polygon

Polymorphism : Inheritance
Discriminator : type

Name Schema
bbox
optional
< number (double) > array
coordinates
optional
< < LngLatAlt > array > array
crs
optional
Crs

Projection

Name Schema
excludes
optional
string
includes
optional
string

RasterTileURL

Name Schema
check_geometry
optional
boolean
id_path
required
string
max_z
optional
integer (int32)
min_z
optional
integer (int32)
url
required
string

RawGeometry

Name Schema
geometry
optional
string
sort
optional
string

ReturnedGeometry

Name Schema
geometry
optional
GeoJsonObject
is_raw
optional
boolean
reference
optional
string
sort
optional
string

Search

Name Schema
filter
optional
Filter
form
optional
Form
page
optional
Page
projection
optional
Projection
returned_geometries
optional
string

Success

Name Schema
message
optional
string
status
optional
integer (int32)