Open Geospatial Consortium (OGC) Temporal Geometry API

The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature.

Operations 3

GET /collections/{collectionId}/items/{mFeatureId}/tgsequence Retrieve the movement data of the single moving feature #
POST /collections/{collectionId}/items/{mFeatureId}/tgsequence Add movement data into the moving feature #
DELETE /collections/{collectionId}/items/{mFeatureId}/tgsequence/{tGeometryId} Delete a singe temporal primitive geometry #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ogc-temporalgeometry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ogc-temporalgeometry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ogc Temporal Geometry API
  version: 1.0.0
  contact:
    name: Open Geospatial Consortium
    email: info@ogc.org
  license:
    name: OGC License
    url: https://www.ogc.org/legal/
  x-logo:
    url: https://www.ogc.org/pub/www/files/OGC_Logo_2D_Blue_x_0_0.png
  description: 'Operations tagged TemporalGeometry across 3 of this provider''s published API definitions: ogc-movingfeatures-part1-1-0-openapi-ogcapi-movingfeatures-1-bundled.json, ogc-movingfeatures-part1-1-0-openapi-ogcapi-movingfeatures-1-bundled.yaml, ogc-movingfeatures-part1-1-0-openapi-openapi-movingfeatures-1.yaml. Each path carries the servers of the definition it was published in.'
tags:
- name: TemporalGeometry
  description: The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature.
paths:
  /collections/{collectionId}/items/{mFeatureId}/tgsequence:
    get:
      operationId: retrieveTemporalGeometrySequence
      summary: Retrieve the movement data of the single moving feature
      description: 'A user can retrieve only the movement data of a moving feature with id `mFeatureId` by simple filtering and a limit.

        '
      tags:
      - TemporalGeometry
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/mFeatureId'
      - $ref: '#/components/parameters/bbox'
      - $ref: '#/components/parameters/datetime'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/leaf'
      - $ref: '#/components/parameters/subtrajectory'
      responses:
        '200':
          $ref: '#/components/responses/TemporalGeometrySequence'
        '500':
          $ref: '#/components/responses/ServerError'
    post:
      operationId: insertTemporalPrimitiveGeometry
      summary: Add movement data into the moving feature
      description: 'A user SHOULD add more movement data into a moving feature with id `mFeatureId`.


        The request body schema SHALL follows the [TemporalPrimitiveGeometry object](https://docs.ogc.org/is/19-045r3/19-045r3.html#tprimitive) in the OGC MF-JSON.

        '
      tags:
      - TemporalGeometry
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/mFeatureId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/temporalPrimitiveGeometry'
            example:
              type: MovingPoint
              datetimes:
              - '2011-07-14T22:01:06Z'
              - '2011-07-14T22:01:07Z'
              - '2011-07-14T22:01:08Z'
              - '2011-07-14T22:01:09Z'
              - '2011-07-14T22:01:10Z'
              coordinates:
              - - 139.757083
                - 35.627701
                - 0.5
              - - 139.757399
                - 35.627701
                - 2
              - - 139.757555
                - 35.627688
                - 4
              - - 139.757651
                - 35.627596
                - 4
              - - 139.757716
                - 35.627483
                - 4
              interpolation: Linear
              base:
                type: glTF
                href: https://www.opengis.net/spec/movingfeatures/json/1.0/prism/example/car3dmodel.gltf
              orientations:
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 0
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 355
                - 0
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 330
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 300
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 270
      responses:
        '201':
          description: 'Successful add more movement data into a specified moving feature.

            '
          headers:
            Location:
              description: A URI of the newly added resource
              schema:
                type: string
                example: https://data.example.org/collections/mfc-1/items/mf-1/tgsequence/tg-2
        '400':
          description: A query parameter was not validly used.
        '404':
          description: '- A collection with the specified id was not found.

            - Or a moving feature with the specified id was not found.

            '
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}/items/{mFeatureId}/tgsequence/{tGeometryId}:
    delete:
      operationId: deleteTemporalPrimitiveGeometry
      summary: Delete a singe temporal primitive geometry
      description: 'The temporal primitive geometry with id `tGeometryId` SHOULD be deleted.

        '
      tags:
      - TemporalGeometry
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/mFeatureId'
      - $ref: '#/components/parameters/tGeometryId'
      responses:
        '204':
          description: Successfully deleted.
        '404':
          description: '- A collection with the specified id was not found.

            - Or a moving feature with the specified id was not found.

            - Or a temporal primitive geometry with the specified id was not found.

            '
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    trs:
      description: The "trs" member in MovingFeature object
      title: MF-JSON TRS
      oneOf:
      - $ref: '#/components/schemas/linkedCRS'
      - type:
        - object
        - 'null'
        required:
        - type
        - properties
        properties:
          type:
            type: string
            enum:
            - Name
          properties:
            type: object
            additionalProperties: false
            required:
            - name
            properties:
              name:
                type: string
                default: urn:ogc:data:time:iso8601
    temporalGeometrySequence:
      type: object
      required:
      - type
      - geometrySequence
      properties:
        type:
          type: string
          enum:
          - TemporalGeometrySequence
        geometrySequence:
          type: array
          items:
            $ref: '#/components/schemas/temporalPrimitiveGeometry'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        timeStamp:
          type: string
          format: date-time
        numberMatched:
          type: integer
          minimum: 0
        numberReturned:
          type: integer
          minimum: 0
    motionCurve:
      description: MF-JSON Prism encoding MotionCurve Object
      title: MF-JSON MotionCurve
      oneOf:
      - type: string
        enum:
        - Discrete
        - Step
        - Linear
        - Quadratic
        - Cubic
        default: Linear
      - type: string
        format: uri
    temporalPrimitiveGeometry:
      description: MF-JSON Prism encoding TemporalPrimitiveGeometry Object
      title: MF-JSON TemporalPrimitiveGeometry
      type: object
      required:
      - type
      - coordinates
      - datetimes
      properties:
        type:
          type: string
          enum:
          - MovingPoint
          - MovingLineString
          - MovingPolygon
          - MovingPointCloud
        coordinates:
          type: array
          minItems: 2
          items:
            oneOf:
            - title: pointGeoJSON coordinates
              type: array
              minItems: 2
              items:
                type: number
            - title: linestringGeoJSON coordinates
              type: array
              minItems: 2
              items:
                type: array
                minItems: 2
                items:
                  type: number
            - title: polygonGeoJSON coordinates
              type: array
              items:
                type: array
                minItems: 4
                items:
                  type: array
                  minItems: 2
                  items:
                    type: number
            - title: multipointGeoJSON coordinates
              type: array
              items:
                type: array
                minItems: 2
                items:
                  type: number
        datetimes:
          type: array
          uniqueItems: true
          minItems: 2
          items:
            type: string
        interpolation:
          $ref: '#/components/schemas/motionCurve'
        base:
          type:
          - object
          - 'null'
          required:
          - href
          - type
          properties:
            href:
              type: string
              format: uri
            type:
              type: string
        orientations:
          type:
          - array
          - 'null'
          items:
            type: object
            required:
            - scales
            - angles
            properties:
              scales:
                type: array
                oneOf:
                - minItems: 2
                  maxItems: 2
                - minItems: 3
                  maxItems: 3
                items:
                  type: number
              angles:
                type: array
                oneOf:
                - minItems: 2
                  maxItems: 2
                - minItems: 3
                  maxItems: 3
                items:
                  type: number
        crs:
          $ref: '#/components/schemas/crs'
        trs:
          $ref: '#/components/schemas/trs'
    namedCRS:
      description: MF-JSON Prism encoding NamedCRS Object
      title: MF-JSON NamedCRS
      type:
      - object
      - 'null'
      required:
      - type
      - properties
      properties:
        type:
          type: string
          enum:
          - Name
        properties:
          type: object
          additionalProperties: false
          required:
          - name
          properties:
            name:
              type: string
              default: urn:ogc:def:crs:OGC:1.3:CRS84
    exception:
      type: object
      required:
      - code
      properties:
        code:
          type: string
        description:
          type: string
    link:
      type: object
      required:
      - href
      - rel
      properties:
        href:
          type: string
          example: http://data.example.com/buildings/123
        rel:
          type: string
          example: alternate
        type:
          type: string
          example: application/geo+json
        hreflang:
          type: string
          example: en
        title:
          type: string
          example: Trierer Strasse 70, 53115 Bonn
        length:
          type: integer
    linkedCRS:
      description: MF-JSON Prism encoding LinkedCRS Object
      title: MF-JSON LinkedCRS
      type:
      - object
      - 'null'
      required:
      - type
      - properties
      properties:
        type:
          type: string
          enum:
          - Link
        properties:
          type: object
          required:
          - href
          - type
          properties:
            href:
              type: string
              format: uri
            type:
              type: string
    crs:
      description: MF-JSON Prism encoding CoordinateReferenceSystem Object
      title: MF-JSON CRS
      oneOf:
      - $ref: '#/components/schemas/namedCRS'
      - $ref: '#/components/schemas/linkedCRS'
  parameters:
    mFeatureId:
      name: mFeatureId
      in: path
      description: local identifier of a moving feature
      required: true
      schema:
        type: string
    datetime:
      name: datetime
      in: query
      description: "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. \nIntervals may be bounded or half-bounded (double-dots at start or end).\n\nExamples:\n\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n\nOnly features that have temporal information that intersects the value of `datetime` are selected.\n\nIf a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties."
      required: true
      schema:
        type: string
      style: form
      explode: false
    subtrajectory:
      name: subTrajectory
      in: query
      required: false
      description: "The `subTrajectory` parameter is a boolean value used with the `datetime` parameter.\nIf the `subTrajectory` is \"true\", \n\n* the `datetime` must be a bounded interval, not half-bounded intervals or a date-time. \n* the `datetime` represents a specified time interval (new start time and new end time)\n* only features with a temporal geometry intersecting the given time interval will return.\n  \nThe `subTrajectory` query implements *subTrajectory* operation, which is defined in the [OGC Moving Feature Access](https://docs.ogc.org/is/16-120r3/16-120r3.html).\nThis operation returns only a subsequence of temporal geometry within a time interval contained in the `datetime` parameter, using interpolated trajectory according to the `interpolation` property.\n  \nIf the `subTrajectory` parameter is provided with a `bbox` parameter, it will only apply to resources that intersect with a `bbox` parameter. \n\nThe `subTrajectory` parameter must not be used with the `leaf` parameter. \nOnly one of these parameters can be used in the HTTP GET operation."
      schema:
        type: boolean
      style: form
      explode: false
    collectionId:
      name: collectionId
      in: path
      description: local identifier of a collection
      required: true
      schema:
        type: string
    tGeometryId:
      name: tGeometryId
      in: path
      description: local identifier of a temporal primitive geometry
      required: true
      schema:
        type: string
    leaf:
      name: leaf
      in: query
      required: false
      description: "The `leaf` is provided as a sequence of monotonic increasing instants with date-time strings.\nOnly features that have a temporal geometry and property that intersects the given date-time are selected.\n\nThe `leaf` operation implements *_pointAtTime_* operation which defined in the OGC Moving Feature Access.\nThis operation returns only temporal geometry coordinates (or temporal property values) \nat each date-time included in the `leaf` parameter, using interpolated trajectory according to the `interpolation` property.\n\nIf the `leaf` parameter is provided with a `bbox` or (and) a `datetime` parameter, \nit will only apply to resources that intersect with a `bbox` or (and) a `datetime` parameter. \n\nThe `leaf` parameter shall not be used with the `subTrajectory` and `subTemporalValue` parameter. \nOnly one of those parameters can be used in the HTTP GET operation."
      schema:
        type: array
        uniqueItems: true
        minItems: 1
        items:
          type: string
          format: date-time
      style: form
      explode: false
    bbox:
      name: bbox
      in: query
      description: "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84 \nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in the parameter `bbox-crs`.\n\nThe query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate \nReference Systems by Reference.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries."
      required: false
      schema:
        type: array
        oneOf:
        - minItems: 4
          maxItems: 4
        - minItems: 6
          maxItems: 6
        items:
          type: number
      style: form
      explode: false
    limit:
      name: limit
      in: query
      description: 'The optional limit parameter limits the number of items that are presented in the response document.


        Only items are counted that are on the first level of the collection in the response document.

        Nested objects contained within the explicitly requested items shall not be counted.


        Minimum = 1. Maximum = 10000. Default = 10.'
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 10000
        default: 10
      style: form
      explode: false
  responses:
    TemporalGeometrySequence:
      description: A TemporalGeometrySequence data.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/temporalGeometrySequence'
          example:
            type: TemporalGeometrySequence
            geometrySequence:
            - id: tg-1
              type: MovingPoint
              datetimes:
              - '2011-07-14T22:01:02Z'
              - '2011-07-14T22:01:03Z'
              - '2011-07-14T22:01:04Z'
              coordinates:
              - - 139.757399
                - 35.627701
                - 2
              - - 139.757555
                - 35.627688
                - 4
              - - 139.757651
                - 35.627596
                - 4
              interpolation: Linear
              base:
                type: glTF
                href: https://www.opengis.net/spec/movingfeatures/json/1.0/prism/example/car3dmodel.gltf
              orientations:
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 355
                - 0
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 330
              - scales:
                - 1
                - 1
                - 1
                angles:
                - 0
                - 0
                - 300
              crs:
                type: Name
                properties: urn:ogc:def:crs:OGC:1.3:CRS84
              trs:
                type: Name
                properties: urn:ogc:data:time:iso8601
            links:
            - href: https://data.example.org/collections/mfc-1/items/mf-1/tgsequence
              rel: self
              type: application/json
            - href: https://data.example.org/collections/mfc-1/items/mf-1/tgsequence&offset=10&limit=1
              rel: next
              type: application/json
            timeStamp: '2021-09-01T12:00:00Z'
            numberMatched: 100
            numberReturned: 1
    ServerError:
      description: A server error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/exception'
          example:
            code: '500'
            description: Server Internal Error
x-refined-from:
- ogc-movingfeatures-part1-1-0-openapi-ogcapi-movingfeatures-1-bundled.json
- ogc-movingfeatures-part1-1-0-openapi-ogcapi-movingfeatures-1-bundled.yaml
- ogc-movingfeatures-part1-1-0-openapi-openapi-movingfeatures-1.yaml