RNDT allows to query the resources through REST API. To query the RNDT catalog, use the following url pattern:
https://geodati.gov.it/RNDT/rest/find/document? <parametro>&<parametro>&…
where <parametro> is a placeholder for a REST parameter.
The table below lists the main parameters available.
Parametro | Descrizione | Valori accettati |
bbox | Query by extent specified as two pairs of coordinates (west-south and east-north). | Comma-delimited string of latitude and longitude. |
spatialRel | Query by spatial relationship. Used in conjunction with bbox parameter. | String value. One of esriSpatialRelWithin (default), esriSpatialRelOverlaps. |
searchText | Query by keyword. | String value representing a keyword. you can use searchText=sys.schema.key to query for documents that correspond to a specific metadata schema. Schemas available in RNDT: rndt-dataset, rndt-nuoveacq, rndt-raster, rndt-series, rndt-services. (Be aware that the character - in the Lucene syntax is a prohibit operator. So, in the request use the character ? instead of the character -). |
dataCategory | Query by data category (ISO 19115 topic category). | Comma-delimited list of strings. Keywords identified by the ISO 19115 specification. |
after, before | Query by date. | Date string in the format yyyy-mm-dd. |
orderBy | Result sort options. | String value. One of: areaAscending, areaDescending, dateAscending, dateDescending (default), format, relevance, title. |
start | Specify which item to start the response with out of the entire resultset. | Integer. When used with the max parameter, this provides for pagination of the search results. |
max | Specify max number of records to retrieve. | Integer. The limit on qualified queries is max=5000. Default: 10. When used with the start parameter, this provides for pagination of the search results. |
f | The response format. | String value. One of: georss (default), atom, json, pjson, xjson (compliant with geojson 1.0), dcat, kml, html, htmlfragment, CSV. |
maxSearchTimeMilliSec | Maximum amount of time allowed to retrieve results. | Integer. Default is 5000 milliseconds. |
filter | Can apply a persistent filter to the search interface. | Lucene-based query syntax. |
Further details are available at REST API Syntax page on the geoportal-server GitHub repository.
The search engine is based on the open source search engine Apache Lucene. To make the most of the search page, how to use Lucene search syntax for text searches could be useful.
Fielded data to be used in the RNDT search are listed here. It includes the INSPIRE search criteria (queryables) identified in the technical guidance for the discovery service.
Some examples are given below.
EXAMPLE 1
Search of data containing the INSPIRE theme "Idrografia" (searchText=INSPIRETheme:Idrografia). INSPIRETheme is one of the fielded data. The search is limited to the first 300 results (start=1 and max=300) ordered by title (orderBy=title) and the response is given in pjson format (f=pjson).
Instead of searchText parameter, filter parameter can be used retrieving the same result. The request will be:
EXAMPLE 2
Search of data containing the words "carta" and "geologica" in the title, max 50 results (max=50) starting from the 20° record (start=20) ordered by title (orderBy=title) with a response format as HTML (f=html).
We can have more cases.
If the words are surrounded by double quotes (searchText=title:"carta geologica"), then the response will return all the items containing the words carta and geologica directly after each other.
If the words are included without quotes (searchText=title:carta geologica), then the response will return all the items containing the word "carta" in the title and the word "geologica" in any text field, since text is the default field and the field indicator is not required.
If the words are included using the AND operator (searchText=title:carta AND geologica), then the response will return all the items containing both words.
EXAMPLE 3
Example using character wildcards and required/prohibit operators. Search of the first 50 metadata (start=1 e max=50) containing the word "suolo" and not containing the word "natura" (-natura). Results ordered by title (orderBy=title) and response format as json (f=json).
Search as above, but with metadata containing the string "suo" (*suo*) and not containing words beginning with "na" then two characters and the final "ra" (na??ra)
EXAMPLE 4
Search of a specific item with a known metadata file identifier (fileIdentifier) returning the metadata XML file.
https://geodati.gov.it/RNDT/rest/document?id=ispra_rm:0029CNATHB_DT
The RNDT APIs specifications according to OpenAPI standard are available here: https://developers.italia.it/it/api/geodati