Skip to content

Commit 9319fac

Browse files
committed
Bring in OGC API Processes profiled API example
1 parent e8567dd commit 9319fac

File tree

16 files changed

+390
-0
lines changed

16 files changed

+390
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "Custom OGC API processes instance",
3+
"abstract": "An example of an OGC API Processes implementation using building blocks",
4+
"status": "under-development",
5+
"dateTimeAddition": "2025-12-17T00:00:00Z",
6+
"itemClass": "api",
7+
"register": "ogc-incubator",
8+
"version": "1.0",
9+
"dateOfLastChange": "2025-12-17",
10+
"maturity": "development",
11+
"tags": [
12+
"examples",
13+
"ogc api",
14+
"ogc api processes"
15+
],
16+
"isProfileOf": [
17+
"ogc.api.processes.v1.api"
18+
],
19+
"extensionPoints": {
20+
"baseBuildingBlock": "ogc.api.processes.v1.api",
21+
"extensions": {
22+
"ogc.api.processes.v1.schemas.inputDescription": "ogc.osc.ogcapi-processes.profiled-api.schemas.inputDescriptions",
23+
"ogc.api.processes.v1.schemas.outputDescription": "ogc.osc.ogcapi-processes.profiled-api.schemas.outputDescriptions"
24+
}
25+
}
26+
}
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
openapi: 3.1.0
2+
info:
3+
title: "A sample OGC API - Processes 1.0 implementation"
4+
version: 1.0.0
5+
description: |-
6+
This is a sample implementation of OGC API - Processes 1.0 using Building Blocks.
7+
contact:
8+
name: "Open Geospatial Consortium (OGC)"
9+
email: avillar@ogc.org
10+
url: 'https://github.com/avillar'
11+
license:
12+
name: Apache License, Version 2.0
13+
url: "https://www.apache.org/licenses/LICENSE-2.0.txt"
14+
15+
paths:
16+
/:
17+
$ref: "bblocks://ogc.api.processes.v1.paths.LandingPage"
18+
19+
/conformance:
20+
$ref: "bblocks://ogc.api.processes.v1.paths.Conformance"
21+
22+
/processes:
23+
$ref: "bblocks://ogc.api.processes.v1.paths.ProcessList"
24+
25+
/processes/buffer-geometry:
26+
get:
27+
summary: Get buffer-geometry process description
28+
description: Retrieves detailed information about the buffer-geometry process
29+
operationId: getBufferGeometryProcess
30+
tags:
31+
- Processes
32+
responses:
33+
'200':
34+
description: Buffer geometry process description
35+
content:
36+
application/json:
37+
schema:
38+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.processDescription
39+
40+
/processes/buffer-geometry/execution:
41+
post:
42+
summary: Execute buffer-geometry process
43+
description: Creates a buffer polygon around a geometry at a specified distance
44+
operationId: executeBufferGeometry
45+
tags:
46+
- Execution
47+
parameters:
48+
- name: Prefer
49+
in: header
50+
required: false
51+
schema:
52+
type: string
53+
enum:
54+
- respond-async
55+
- wait=10
56+
description: Execution preference (async or sync with timeout)
57+
requestBody:
58+
required: true
59+
content:
60+
application/json:
61+
schema:
62+
allOf:
63+
- $ref: bblocks://ogc.api.processes.v1.schemas.execute
64+
- required: [inputs]
65+
properties:
66+
inputs:
67+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.inputSchema
68+
example:
69+
inputs:
70+
geometry:
71+
type: Point
72+
coordinates: [ -122.4194, 37.7749 ]
73+
distance: 1000
74+
units: meters
75+
responses:
76+
'200':
77+
description: Synchronous execution completed
78+
content:
79+
application/json:
80+
schema:
81+
properties:
82+
outputs:
83+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.outputSchema
84+
201:
85+
$ref: "bblocks://ogc.api.processes.v1.responses.ExecuteAsync"
86+
404:
87+
$ref: "bblocks://ogc.api.processes.v1.responses.NotFound"
88+
500:
89+
$ref: "bblocks://ogc.api.processes.v1.responses.ServerError"
90+
91+
/jobs:
92+
$ref: "bblocks://ogc.api.processes.v1.paths.JobList"
93+
94+
/jobs/{jobId}:
95+
$ref: "bblocks://ogc.api.processes.v1.api#paths/~1jobs~1{jobId}"
96+
97+
/jobs/{jobId}/results:
98+
get:
99+
summary: retrieve the result(s) of a job
100+
description: |
101+
Lists available results of a job. In case of a failure, lists exceptions instead.
102+
103+
For more information, see [Section 7.13](https://docs.ogc.org/is/18-062/18-062.html#sc_retrieve_job_results).
104+
operationId: getResult
105+
tags:
106+
- Result
107+
parameters:
108+
- $ref: "bblocks://ogc.api.processes.v1.parameters.jobId"
109+
responses:
110+
200:
111+
description: Job results
112+
content:
113+
application/json:
114+
schema:
115+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.outputDescriptions
116+
404:
117+
$ref: "bblocks://ogc.api.processes.v1.responses.NotFound"
118+
500:
119+
$ref: "bblocks://ogc.api.processes.v1.responses.ServerError"
120+
121+
servers:
122+
- description: Example server
123+
url: http://example.org/ogcapi
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "Buffer geometry process input description",
3+
"abstract": "Description for the inputs of the buffer geometry process",
4+
"status": "under-development",
5+
"dateTimeAddition": "2025-12-17T00:00:00Z",
6+
"itemClass": "schema",
7+
"register": "ogc-incubator",
8+
"version": "1.0",
9+
"dateOfLastChange": "2025-12-17",
10+
"maturity": "development",
11+
"tags": [
12+
"examples",
13+
"ogc api",
14+
"ogc api processes"
15+
]
16+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
allOf:
2+
- $ref: bblocks://ogc.api.processes.v1.schemas.inputDescription
3+
type: object
4+
properties:
5+
geometry:
6+
type: object
7+
properties:
8+
title:
9+
type: string
10+
const: Area for the buffer geometry
11+
minOccurs:
12+
type: integer
13+
const: 1
14+
maxOccurs:
15+
type: integer
16+
const: 1
17+
schema:
18+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.inputSchema#/properties/geometry
19+
distance:
20+
type: object
21+
properties:
22+
title:
23+
type: string
24+
const: Buffer Distance
25+
description:
26+
type: string
27+
const: The distance from the geometry to create the buffer
28+
minOccurs:
29+
type: integer
30+
const: 1
31+
maxOccurs:
32+
type: integer
33+
const: 1
34+
schema:
35+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.inputSchema#/properties/distance
36+
units:
37+
type: object
38+
properties:
39+
title:
40+
type: string
41+
example: Distance Units
42+
description:
43+
type: string
44+
minOccurs:
45+
type: integer
46+
const: 0
47+
maxOccurs:
48+
type: integer
49+
const: 1
50+
schema:
51+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.inputSchema#/properties/units
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "Buffer geometry process input schema",
3+
"abstract": "Input schema for the buffer geometry process",
4+
"status": "under-development",
5+
"dateTimeAddition": "2025-12-17T00:00:00Z",
6+
"itemClass": "schema",
7+
"register": "ogc-incubator",
8+
"version": "1.0",
9+
"dateOfLastChange": "2025-12-17",
10+
"maturity": "development",
11+
"tags": [
12+
"examples",
13+
"ogc api",
14+
"ogc api processes"
15+
]
16+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
type: object
2+
required: [geometry, distance]
3+
properties:
4+
geometry:
5+
allOf:
6+
- $ref: bblocks://ogc.geo.common.data_types.geojson
7+
- required: [type, coordinates]
8+
properties:
9+
type:
10+
enum: [Point, LineString, polygon]
11+
distance:
12+
type: object
13+
properties:
14+
type:
15+
type: string
16+
example: number
17+
minimum:
18+
type: number
19+
example: 0
20+
units:
21+
$ref: bblocks://ogc.ogc-utils.iri-or-curie
22+
enum: [ meters, kilometers, feet, miles ]
23+
default: meters
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "Buffer geometry process output description",
3+
"abstract": "Description for the output of the buffer geometry process",
4+
"status": "under-development",
5+
"dateTimeAddition": "2025-12-17T00:00:00Z",
6+
"itemClass": "schema",
7+
"register": "ogc-incubator",
8+
"version": "1.0",
9+
"dateOfLastChange": "2025-12-17",
10+
"maturity": "development",
11+
"tags": [
12+
"examples",
13+
"ogc api",
14+
"ogc api processes"
15+
]
16+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
allOf:
2+
- $ref: bblocks://ogc.api.processes.v1.schemas.outputDescription
3+
properties:
4+
schema:
5+
type: object
6+
properties:
7+
bufferedGeometry:
8+
type: object
9+
properties:
10+
title:
11+
type: string
12+
const: Buffered Geometry
13+
description:
14+
type: string
15+
schema:
16+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.outputSchema#/properties/bufferedGeometry
17+
area:
18+
type: object
19+
properties:
20+
title:
21+
type: string
22+
const: Buffer Area
23+
description:
24+
type: string
25+
schema:
26+
$ref: bblocks://ogc.osc.ogcapi-processes.profiled-api.schemas.buffer-geometry.outputSchema#/properties/area
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "Buffer geometry process output schema",
3+
"abstract": "Output schema for the buffer geometry process",
4+
"status": "under-development",
5+
"dateTimeAddition": "2025-12-17T00:00:00Z",
6+
"itemClass": "schema",
7+
"register": "ogc-incubator",
8+
"version": "1.0",
9+
"dateOfLastChange": "2025-12-17",
10+
"maturity": "development",
11+
"tags": [
12+
"examples",
13+
"ogc api",
14+
"ogc api processes"
15+
]
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
type: object
2+
properties:
3+
bufferedGeometry:
4+
type: object
5+
properties:
6+
type:
7+
type: string
8+
const: Polygon
9+
coordinates:
10+
type: array
11+
minItems: 2
12+
items:
13+
type: number
14+
area:
15+
type: number
16+
minimum: 0

0 commit comments

Comments
 (0)