ECHO has been replaced by the Common Metadata Repository (CMR), a high-performance, high-quality, continuously evolving metadata system that catalogs all data and service metadata records for the EOSDIS system and will be the authoritative management system for all EOSDIS metadata.
The information contained within this ECHO wiki is now archived for historical reference. Please navigate to the CMR wiki pages, or to the CMR Overview page on Earthdata.
Acronyms used in ECHO
Acronyms used in this document are contained in this appendix.
ACL | Access Control List |
API | Application Programming Interface |
AQL | Alternative Query Language |
ASF DAAC | Alaska Satellite Facility DAAC |
ASTER | Advanced Spaceborne Thermal Emission and Reflection Radiometer |
BMGT | Bulk Metadata Generation Tool |
COTS | Commercial Off The Shelf |
DAAC | Distributed Active Archive Center |
DB | DataBase |
DTD | Document Type Definition |
ECHO | EOS Clearinghouse |
ECS | EOSDIS Core System |
EDC | EROS Data Center |
EDG | EOS Data Gateway |
EJB | Enterprise JAVA Beans |
EMD | EOSDIS Maintenance and Development |
EOS | Earth Observing System |
EOSDIS | EOS Data and Information System |
EROS | Earth Resources Observation Systems |
ESDIS | Earth Science Data and Information System |
ESIP | Earth Science Information Partner |
ETC | ECHO Technical Committee |
FTP | File Transfer Protocol |
GCMD | Global Change Master Directory |
GES DAAC | GSFC Earth Sciences DAAC |
GHRC | Global Hydrology Resource Center |
GIS | Geographic Information System |
GML | Geography Markup Language |
GMT | Greenwich Mean Time |
GSFC | Goddard Space Flight Center |
GUI | Graphical User Interface |
GUID | Globally Unique Identifier |
IIMS | Independent Information Management Subsystem |
J2EE | Java 2 Enterprise Edition |
LAADS | Level 1 and Atmosphere Archive and Distribution System |
LP DAAC | Land Processes DAAC |
MISR | Multiangle Imaging SpectroRadiometer |
MODIS | Moderate Resolution Imaging Spectroradiometer |
NASA | National Aeronautics and Space Administration |
NSIDC DAAC | National Snow and Ice Data Center DAAC |
ODL | Object Description Language |
OGC | OpenGIS Consortium |
ORNL DAAC | Oak Ridge National Laboratory DAAC |
PGE | Product Generation Executives |
PO.DAAC | Physical Oceanography DAAC |
PSA | Product Specific Attribute |
PUMP | Provider User Management Program |
QA | Quality Assurance |
SEDAC | Socioeconomic Data and Applications Center |
SOAP | Simple Object Access Protocol |
SSC | Stennis Space Center |
SSL | Secure Sockets Layer |
UDDI | Universal Description, Discovery, and Integration |
UI | User Interface |
UR | Universal Reference |
URI | Uniform Resource Identifier |
URL | Uniform Resource Locator |
UTC | Universal Time, Coordinated (also called GMT/UTC) |
WIST | Warehouse Inventory Search Tool |
WGS | World Geodetic System |
WRS | Worldwide Reference System |
WSDL | Web Services Description Language |
XML | eXtensible Markup Language |
XSLT | eXtensible Style Language Transformation |
Sample queries
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE query PUBLIC "-//ECHO CatalogService (v{*}10{*})//EN" "http://api.echo.nasa.gov/echo/dtd/IIMSAQLQueryLanguage.dtd"> Search for granules from the L70R or L70RWRS or GLCF_GRANULE_METADATA datasets that have Browse data and were categorized as day granules. --> <query> <for value="granules"/> <dataCenterId> <list> <value>ORNL_DAAC</value> </list> </dataCenterId> <where> <granuleCondition> <browseOnly/> </granuleCondition> <granuleCondition> <cloudCover> <range lower="10" upper="20"/> </cloudCover> </granuleCondition> <granuleCondition> <dataSetId> <list> <value>'L70R'</value> <value>'L70RWRS'</value> <value>'GLCF_GRANULE_METADATA'</value> </list> </dataSetId> </granuleCondition> <granuleCondition> <dayNightFlag value="DAY"/> /granuleCondition> </where> </query>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE query PUBLIC "-//ECHO CatalogService (v{*}10{*})//EN" "http://api.echo.nasa.gov/echo/dtd/IIMSAQLQueryLanguage.dtd"> Search for granules the specified spatial region, and periodic temporal extent --> <query> <for value="granules"/> <dataCenterId> <list> <value>ORNL_DAAC</value> </list> </dataCenterId> <where> <granuleCondition> <spatial operator="RELATE"> <IIMSPolygon> <IIMSLRing> <IIMSPoint lon="-120" lat="-30" /> <IIMSPoint lon="-100" lat="-60" /> <IIMSPoint lon="-5" lat="-90" /> <IIMSPoint lon="5" lat="85" /> <IIMSPoint lon="-120" lat="30" /> <IIMSPoint lon="-120" lat="-30" /> </IIMSLRing> <IIMSLRing> <IIMSPoint lon="80" lat="20" /> <IIMSPoint lon="80" lat="60" /> <IIMSPoint lon="20" lat="60" /> <IIMSPoint lon="20" lat="20" /> <IIMSPoint lon="80" lat="20" /> </IIMSLRing> </IIMSPolygon> </spatial> </granuleCondition> <granuleCondition> <temporal> <startDate> <Date YYYY="1989" MM="01" DD="01"/> </startDate> <stopDate> <Date YYYY="1998" MM="12" DD="31"/> </stopDate> <startDay value="1"/> <endDay value="300"/> </temporal> </granuleCondition> </where> </query>
<?xml version="1.0" encoding="UTF-8"?> <query> <for value="granules"/> <dataCenterId> <list> <value>ORNL_DAAC</value> </list> </dataCenterId> <where> <granuleCondition> <sensorName> <list> <value>'SWIR'</value> <value>'TIR'</value> </list> </sensorName> </granuleCondition> </where> </query>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE query PUBLIC "-//ECHO CatalogService (v{*}10{*})//EN" "http://api.echo.nasa.gov/echo/dtd/IIMSAQLQueryLanguage.dtd"> Search for granules with temporal range: periodic range between Jan 1, 1990 and Dec. 31 1998 from the 1st to the 300th day of each year. --> <query> <for value="granules"/> <dataCenterId> <list> <value>ORNL_DAAC</value> </list> </dataCenterId> <where> <granuleCondition> <temporal> <startDate> <Date YYYY="1990" MM="01" DD="01"/> </startDate> <stopDate> <Date YYYY="1998" MM="12" DD="31"/> </stopDate> <startDay value="1"/> <endDay value="300"/> </temporal> </granuleCondition> </where> </query>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE query PUBLIC "-//ECHO CatalogService (v10)//EN" "http://api.echo.nasa.gov/echo/dtd/IIMSAQLQueryLanguage.dtd"> <query> <for value="granules"/> <dataCenterId> <value>ORNL_DAAC</value> </dataCenterId> <where> <granuleCondition> <additionalAttributes> <additionalAttribute> <additionalAttributeName>'COORDINATE_UNITS_NAME'</additionalAttributeName> <additionalAttributeValue> <value>'METERS'</value> </additionalAttributeValue> </additionalAttribute> </additionalAttributes> </granuleCondition> </where> </query>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE query PUBLIC "-//ECHO CatalogService (v10)//EN" "http://api.echo.nasa.gov/echo/dtd/IIMSAQLQueryLanguage.dtd"> <query> <for value="granules"/> <dataCenterId> <value>ORNL_DAAC</value> </dataCenterId> <where> <granuleCondition> <additionalAttributes> <additionalAttribute> <additionalAttributeName>'SAMPLE_DATE'</ additionalAttributeName> <additionalAttributeValue> <dateRange> <startDate> <Date YYYY="2000" MM="05" DD="12"/> </startDate> <stopDate> <Date YYYY="2000" MM="10" DD="12"/> </stopDate> </dateRange> </additionalAttributeValue> </additionalAttribute> </additionalAttributes> </granuleCondition> </where> </query>
DTD Results
ECHO Collection Results DTD
The ECHO Collection Results DTD is located at the following link: ECHO Collection Results DTD
ECHO Granule Results DTD
The ECHO Granule Results DTD is located at the following link: ECHO Granule Results DTD
Best Practices for Queries
The following tips and other recommended practices will improve the efficiency of queries.
Best Practices for Faster Queries
- Limiting the end user choices will lead the user down a logical path. This will promote efficiency by limiting the choice to those applicable to the user's needs.
- Search for collections first and limit the collection search spatially or temporally and by data center. Limiting the collection will result in a narrower search and a smaller, more focused result set.
- Queries are optimized to return as soon as the requested iterator size is found. Therefore, to do a check for the existence of data, use a small iterator size such as 1 rather than a HITS query.
- The result type HITS requires the query to be executed and the entire result set identified and counted. Use this result type extremely sparingly.
- Use the MetadataAttributes to return only the necessary attributes when presenting data. ECHO defaults to all attributes, which will take longer to return and display.
- Request only what the user would see in the first few pages. For example, if the client only supports displaying 10 pages of 10 items, use an iterator size of 100. The client may want to pre-fetch the next page of results while the user is examining the first page.
- The user of the value element will be more efficient than the use of the range element in general.
Efficient Spatial Queries
- If you are querying a single Data Partner, name the Data Partner in the query.
- If you are querying a single collection, include the name of the collection in the query.
- Queries for smaller spatial regions return faster than queries for broader regions.
- Queries for spatial regions with fewer points return faster results than queries with more point