cedadev / archive-opensearch Goto Github PK
View Code? Open in Web Editor NEWPrototype Opensearch Application for the CEDA Archive
Prototype Opensearch Application for the CEDA Archive
At the moment, if you do not include httpAccept=application/geo%2Bjson
in your request or Accept: application/geo+json
in your header then opensearch will throw an error.
Make it so that if no Accept
header or query parameter is supplied, the server defaults to application/atom+xml
Difficult to know which settings are coming from where and deployment specific settings are buried in the code.
GET /opensearch/description.xml
At this address there are references to localhost in the URL section. This should say the name of the running service.
<Url rel="results" template="http://localhost:8000/opensearch/request?httpAccept=application/geo+json&query={searchTerms?}&maximumRecords={count?}&startPage={startPage?}&startRecord={startRecord?}&startDate={time:start?}&endDate=
/opensearch/request?parentIdentifier=cci&httpAccept=application/geo%2Bjson&maximumRecords=1
Inside the features list there is an id
field. This provides a url:
/opensearch/request?uuid=vuYkom4BcOMeJ4iyUiwT
The theory is, that if you went to that link in your browser, you would get that exact result back again. At the moment this does not work.
It looks like the uuid query is not working at all. I have checked what happens if you add the parentIdentifier to the id url and that does not respond correctly either. eg.
/opensearch/request?uuid=vuYkom4BcOMeJ4iyUiwT&httpAccept=application/geo%2Bjson&parentIdentifier=cci
Not sure that the cci-tagger is successfully providing the separate labels
following up our TC I send you links with which I encountered problems. The behaviour is the same for dds and das.
I get an empty result for this link: http://cci-odp-data2.ceda.ac.uk/thredds/dodsC/esacci/cloud/data/phase-2/L3C/MODIS-TERRA/v2.0/2000/200002-ESACCI-L3C_CLOUD-CLD_PRODUCTS-MODIS_TERRA-fv2.0.nc.dds . The uuid of that feature collection is Z39o6XAB5l1700gahU5G, the identifier is 34090d316d514b55b7080a4181a28f8f.
I can open in my browser, but weirdly not via Python, where the content is also empty. A code snippet to reproduce:
import requests
response = requests.get(
'http://cci-odp-data2.ceda.ac.uk/thredds/dodsC/esacci/ozone/data/nadir_profiles/l3/merged/v0002/1997/ESACCI-OZONE-L3-NP-MERGED-KNMI-199701-fv0002.nc.das')
print(response.content)
Not sure what's wrong with the second one, but it seems to a similar problem as the first one.
"startRecord": 1,
"subtitle": "Showing 30 - 39 of 37",
"totalResults": 37
/opensearch/description.xml?parentIdentifier=7c114fc6e2884c1f9ca107e7a502fdbf
GET /opensearch/request?parentIdentifier=cci&ecv=SST&httpAccept=application/geo%2Bjson
The links section at the bottom should contain navigation links eg:
GET /opensearch/request?parentIdentifier=cci&ecv=SST&httpAccept=application/geo%2Bjson&maximumRecords=1
At the moment, if you include the httpAccept
parameter in your request you have to manually URL encode the +
character. +
becomes %2B
.
See if there is a way that you could supply the response type using the +
symbol so your parameter becomes httpAccept=application/geo+json
instead of httpAccept=application/geo%2Bjson
Email from Graeme
When I retrieve the ‘Features’ file collection, I see the following: e.g. Should all these feature file types be present? Should I just grab the features with a ‘title’ with ‘.nc’ suffix?
{
"files": [
{
"identifier": "2b90d80506b72583fdf02d14fe934c7193080582",
"title": "README",
"filesize": 1772,
"Download": "http://cci-odp-data2.ceda.ac.uk/thredds/fileServer/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/README"
},
{
"identifier": "fb3e307d2a71770cf7292fc45b80d0106b2756ec",
"title": "greenland_iv_500m_s1_20151001_20161031_v1_2_vv_quicklook.png",
"filesize": 206200,
"Download": "http://cci-odp-data2.ceda.ac.uk/thredds/fileServer/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/greenland_iv_500m_s1_20151001_20161031_v1_2_vv_quicklook.png",
"Opendap": "http://cci-odp-data2.ceda.ac.uk/thredds/dodsC/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/greenland_iv_500m_s1_20151001_20161031_v1_2_vv_quicklook.png"
},
{
"identifier": "bf3bfd18acf26ff07c9a2595e1546a95d1f6b5ce",
"title": "greenland_iv_500m_s1_20151001_20161031_v1_2.nc",
"filesize": 149662813,
"Download": "http://cci-odp-data2.ceda.ac.uk/thredds/fileServer/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/greenland_iv_500m_s1_20151001_20161031_v1_2.nc",
"Opendap": "http://cci-odp-data2.ceda.ac.uk/thredds/dodsC/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/greenland_iv_500m_s1_20151001_20161031_v1_2.nc"
},
{
"identifier": "97d09ac421f553fa5f1e98d1c671dabe29ed662a",
"title": "00README_catalogue_and_licence.txt",
"filesize": 908,
"Download": "http://cci-odp-data2.ceda.ac.uk/thredds/fileServer/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/00README_catalogue_and_licence.txt"
},
{
"identifier": "749c0ab87a58d645be926079b3d300d80bd3a8da",
"title": "DESCRIPTION",
"filesize": 85,
"Download": "http://cci-odp-data2.ceda.ac.uk/thredds/fileServer/esacci/ice_sheets_greenland/data/greenland_ice_velocity/greenland_ice_velocity_map_winter_2015_2016/v1.2/DESCRIPTION"
}
]
}
Add a search representation to return a list of files covered by a specific aggregation.
&drsId=<drs_id>
Waiting for comment from Tonio to know whether this is desired at the MOLES dataset level or the file level
Lower priority as bounding boxes are usually global.
Hello Richard,
when I run this request:
http://opensearch-test.ceda.ac.uk/opensearch/request?parentIdentifier=4eb4e801424a47f7b77434291921f889&httpAccept=application%2Fgeo%2Bjson&startDate=1997-01-01T00:00:00.000Z
I get no results. I should actually get all features (as with
http://opensearch-test.ceda.ac.uk/opensearch/request?parentIdentifier=4eb4e801424a47f7b77434291921f889&httpAccept=application%2Fgeo%2Bjson
). Likewise, using endDate (or both) does not get me any results. I
tried with another feature collection and I don't get any results with
that, neither. Can you have a look at this or give me a hint?
tag all associated files with shapefiles as shapefiles
Difficult to know which settings are coming from where and deployment specific settings are buried in the code.
Data types
Navigation links are not showing up in atom response
Applicable to collections.
Collection has a child if there is a collection below.
Collections have parent if there are collections above
Related to #39
I have not managed to find any documentation describing how to handle searching for two values in a facet category. Our own implementation, fedEO and NASA implementations do not handle this situation.
I would think that this is fairly useful behaviour when designing a user interface which enables the faceted search.
I have chosen to implement a system whereby entering "project=output&project=output1" as a query string will perform a search where results must contain either "project=output" OR "project=output1".
CEOS-BP-017 - Exception codes [Recommended]
OpenSearch Geo and Time Extensions [OGC 10-032r8] recommends the use of HTTP status
codes as following, 4xx for client errors, and 5xx for server errors.
● 400 Bad Request: The request has an invalid syntax (i.e. badly formatted geometry)
● 413 Request Entity Too Large: The request originates too many returnable hits
● 415 Unsupported media type: Media type in the request is not available or valid.
● 500 Internal Server Error: Default code for the server side for an execution error.
● 501 Not Implemented: When requesting an unimplemented feature
(e.g. relation operator not supported).
● 503 Service Unavailable: When the search service is temporarily not available
(due to overload or other reasons).
● 504 Gateway Timeout: When the search engine is a broker or aggregator to other services
that fail to produce an answer within a giving time frame.
CEOS OpenSearch implementations are recommended to support these codes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.