Child pages
  • Polygon Support in CMR Search & Ingest Interfaces
Skip to end of metadata
Go to start of metadata

Overview

A polygon is a collection of points representing a two dimensional surface. A Polygon may consist of a exterior ring and a number of interior rings. For a Polygon object to be a valid instance the interior rings cannot cross one another. Additionally, exterior and interior rings of a polygon are individually valid if they do not intersect themselves..

This article is intended to document the implementation details of polygon support within CMR. CMR has support for several metadata input and output formats supported on ingest and as search result formats.

Coordinate System

The CMR has two supported coordinate systems, Geodetic and Cartesian. The coordinate system defines the surface of the earth. This impacts what paths a line connecting two points will take, point equality near the poles, and whether the earth is connected across the anti-meridan (-180 longitude to 180 longitude).

Geodetic

The Geodetic Coordinate System represents the Earth as the surface of a sphere. Paths between lines take the shortest path across a sphere. Longitude of a point at either pole is irrelevant. Polygons can contain poles or cross the antimeridian. 

Geodetic Restrictions

  • Polygon rings can not contain both the North and South Pole. Containing no poles or one poles is valid. Note that this is a limitation of the current implementation within the CMR. If this is needed the CMR implementation could be updated to allow support for polygon rings containing both poles.
  • Consecutive ring points can not be antipodal. Antipodal points are at exactly opposite sides of the earth. Paths follow the shortest path between points. Every possible path along the Earth is the same distance between antipodal points.

Cartesian

The CMR's Cartesian Coordinate System represents the Earth as a flat plane. The X axis of the plane is equivalent to longitude and the Y axis is equivalent to latitude. A path between points will follow the shortest path along a plane. The longitude is significant for points at either pole. For example the point at 0, 90 (longitude, latitude) is not the same as the point at 1,90. These are two different locations within the Cartesian Coordinate System. Polygons will never cross the anti-merdian. The CMR does allow bounding boxes in the Cartesian coordinate system to cross the anti-meridian.

Point Order

Point order defines the order points are listed in a polygon ring to indicate the interior of an area. Point order can either be clockwise or counter-clockwise. The order used is dependent on the data format and API.

Lat/Long Order

Latitude Longitude Order specifies the order or latitude or longitude in a point when a data format represents a point as a pair of numbers. This won't be applicable for formats like ECHO10 which have separate XML elements for latitude and longitude.

Closed Polygon

Polygons are closed if the last point is a duplicate of the first point.

Data Format Support

Data FormatOuter Ring Point OrderInner Ring Point OrderLat/Long OrderClosed Polygon
ECHO10ClockwiseClockwiseN/ANo

ISO 19115-2 (19139)

 MENDS Implementation (uses GML polygons)

Counterclockwise

Counterclockwise

Latitude firstYes

ISO 19115-2 (19139)

 SMAP Implementation

ClockwiseN/A (No Hole support)Latitude firstYes
GeoJSONCounterclockwiseCounterclockwiseLongitude firstYes
KMLCounterclockwiseCounterclockwiseLongitude firstYes

Search Support

Web Application and API EndpointsPoint OrderLat/Long OrderClosed Polygon
ReverbCounterclockwiseLatitude firstNo
Earthdata SearchCounterclockwiseLongitude firstYes
CMR API SearchCounterclockwiseLongitude firstYes

  • No labels