├── .gitignore
├── CHARTER.adoc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── asciidoctor.json
├── core
├── README.md
├── examples
│ ├── README.md
│ ├── json
│ │ ├── Collection.json
│ │ ├── Collections.json
│ │ ├── ConformsTo.json
│ │ └── LandingPage.json
│ ├── openapi
│ │ ├── README.md
│ │ ├── ogcapi-features-1-example1.yaml
│ │ └── ogcapi-features-1-example2.yaml
│ └── xml
│ │ ├── Api.xml
│ │ ├── Collection.xml
│ │ ├── Collections.xml
│ │ ├── ConformsTo.xml
│ │ ├── FeatureCollection.xml
│ │ ├── LandingPage.xml
│ │ └── README.md
├── openapi
│ ├── README.md
│ ├── ogcapi-features-1-oas30.yaml
│ ├── ogcapi-features-1-oas31.yaml
│ ├── ogcapi-features-1.yaml
│ ├── parameters
│ │ ├── bbox.yaml
│ │ ├── collectionId.yaml
│ │ ├── datetime.yaml
│ │ ├── featureId.yaml
│ │ └── limit.yaml
│ └── schemas
│ │ ├── collection.yaml
│ │ ├── collections.yaml
│ │ ├── confClasses.yaml
│ │ ├── exception.yaml
│ │ ├── extent.yaml
│ │ ├── featureCollectionGeoJSON.yaml
│ │ ├── featureGeoJSON.yaml
│ │ ├── geometryGeoJSON.yaml
│ │ ├── geometrycollectionGeoJSON.yaml
│ │ ├── landingPage.yaml
│ │ ├── linestringGeoJSON.yaml
│ │ ├── link.yaml
│ │ ├── linkBase.yaml
│ │ ├── linkTemplate.yaml
│ │ ├── multilinestringGeoJSON.yaml
│ │ ├── multipointGeoJSON.yaml
│ │ ├── multipolygonGeoJSON.yaml
│ │ ├── numberMatched.yaml
│ │ ├── numberReturned.yaml
│ │ ├── pointGeoJSON.yaml
│ │ ├── polygonGeoJSON.yaml
│ │ └── timeStamp.yaml
├── release-notes.md
├── standard
│ ├── 17-069.adoc
│ ├── ISO19168_draft_ogc.docx
│ ├── README.md
│ ├── abstract_tests
│ │ ├── ATS_class_core.adoc
│ │ ├── ATS_class_geojson.adoc
│ │ ├── ATS_class_gmlsf0.adoc
│ │ ├── ATS_class_gmlsf2.adoc
│ │ ├── ATS_class_html.adoc
│ │ ├── ATS_class_oas30.adoc
│ │ ├── ATS_class_oas31.adoc
│ │ ├── README.md
│ │ ├── core
│ │ │ ├── ATS_api-definition-op.adoc
│ │ │ ├── ATS_api-definition-success.adoc
│ │ │ ├── ATS_conformance-op.adoc
│ │ │ ├── ATS_conformance-success.adoc
│ │ │ ├── ATS_crs84.adoc
│ │ │ ├── ATS_f-links.adoc
│ │ │ ├── ATS_f-op.adoc
│ │ │ ├── ATS_f-success.adoc
│ │ │ ├── ATS_fc-bbox-definition.adoc
│ │ │ ├── ATS_fc-bbox-response.adoc
│ │ │ ├── ATS_fc-limit-definition.adoc
│ │ │ ├── ATS_fc-limit-response.adoc
│ │ │ ├── ATS_fc-links.adoc
│ │ │ ├── ATS_fc-md-extent-multi.adoc
│ │ │ ├── ATS_fc-md-extent.adoc
│ │ │ ├── ATS_fc-md-items-links.adoc
│ │ │ ├── ATS_fc-md-items.adoc
│ │ │ ├── ATS_fc-md-links.adoc
│ │ │ ├── ATS_fc-md-op.adoc
│ │ │ ├── ATS_fc-md-success.adoc
│ │ │ ├── ATS_fc-numberMatched.adoc
│ │ │ ├── ATS_fc-numberReturned.adoc
│ │ │ ├── ATS_fc-op.adoc
│ │ │ ├── ATS_fc-response.adoc
│ │ │ ├── ATS_fc-time-definition.adoc
│ │ │ ├── ATS_fc-time-response.adoc
│ │ │ ├── ATS_fc-timeStamp.adoc
│ │ │ ├── ATS_http.adoc
│ │ │ ├── ATS_query-param-invalid.adoc
│ │ │ ├── ATS_query-param-unknown.adoc
│ │ │ ├── ATS_root-op.adoc
│ │ │ ├── ATS_root-success.adoc
│ │ │ ├── ATS_sfc-md-op.adoc
│ │ │ └── ATS_sfc-md-success.adoc
│ │ ├── geojson
│ │ │ ├── ATS_content.adoc
│ │ │ └── ATS_definition.adoc
│ │ ├── gmlsf0
│ │ │ ├── ATS_content.adoc
│ │ │ └── ATS_definition.adoc
│ │ ├── gmlsf2
│ │ │ ├── ATS_content.adoc
│ │ │ └── ATS_definition.adoc
│ │ ├── html
│ │ │ ├── ATS_content.adoc
│ │ │ └── ATS_definition.adoc
│ │ ├── oas30
│ │ │ ├── ATS_completeness.adoc
│ │ │ ├── ATS_definition-1.adoc
│ │ │ ├── ATS_definition-2.adoc
│ │ │ ├── ATS_exception-codes.adoc
│ │ │ ├── ATS_oas-impl.adoc
│ │ │ └── ATS_security.adoc
│ │ └── oas31
│ │ │ ├── ATS_completeness.adoc
│ │ │ ├── ATS_definition-1.adoc
│ │ │ ├── ATS_definition-2.adoc
│ │ │ ├── ATS_exception-codes.adoc
│ │ │ ├── ATS_oas-impl.adoc
│ │ │ └── ATS_security.adoc
│ ├── annex_ats.adoc
│ ├── annex_bibliography.adoc
│ ├── annex_history.adoc
│ ├── clause_0_front_material.adoc
│ ├── clause_10_media_types.adoc
│ ├── clause_11_security_considerations.adoc
│ ├── clause_1_scope.adoc
│ ├── clause_2_conformance.adoc
│ ├── clause_3_references.adoc
│ ├── clause_4_terms_and_definitions.adoc
│ ├── clause_5_conventions.adoc
│ ├── clause_6_overview.adoc
│ ├── clause_7_core.adoc
│ ├── clause_8_encodings.adoc
│ ├── clause_9_oas.adoc
│ ├── images
│ │ └── clause_4_terms_and_definitions-2028d.png
│ ├── recomendations
│ │ ├── core
│ │ │ ├── PER_additional-status-codes.adoc
│ │ │ ├── PER_api-definition-uri.adoc
│ │ │ ├── PER_f-id.adoc
│ │ │ ├── PER_fc-bbox-default.adoc
│ │ │ ├── PER_fc-filters-default.adoc
│ │ │ ├── PER_fc-limit-default-minimum-maximum.adoc
│ │ │ ├── PER_fc-limit-response-2.adoc
│ │ │ ├── PER_fc-md-extent-extensions.adoc
│ │ │ ├── PER_fc-md-items.adoc
│ │ │ ├── PER_fc-prev.adoc
│ │ │ ├── PER_fc-time-default.adoc
│ │ │ ├── REC_api-definition-oas.adoc
│ │ │ ├── REC_cross-origin.adoc
│ │ │ ├── REC_etag.adoc
│ │ │ ├── REC_fc-extent.adoc
│ │ │ ├── REC_fc-filters.adoc
│ │ │ ├── REC_fc-md-descriptions.adoc
│ │ │ ├── REC_fc-md-extent-single.adoc
│ │ │ ├── REC_fc-md-item-link-templates.adoc
│ │ │ ├── REC_fc-md-license.adoc
│ │ │ ├── REC_fc-md-self-links.adoc
│ │ │ ├── REC_fc-next-1.adoc
│ │ │ ├── REC_fc-next-2.adoc
│ │ │ ├── REC_fc-next-3.adoc
│ │ │ ├── REC_geojson.adoc
│ │ │ ├── REC_head.adoc
│ │ │ ├── REC_html.adoc
│ │ │ ├── REC_link-header.adoc
│ │ │ ├── REC_rfc3339.adoc
│ │ │ ├── REC_rfc9457.adoc
│ │ │ ├── REC_root-links.adoc
│ │ │ ├── REC_sfc-md-links.adoc
│ │ │ └── REC_string_i18n.adoc
│ │ ├── html
│ │ │ └── REC_schema-org.adoc
│ │ └── oas
│ │ │ └── REC_f-key-properties.adoc
│ ├── requirements
│ │ ├── README.md
│ │ ├── core
│ │ │ ├── REQ_api-definition-op.adoc
│ │ │ ├── REQ_api-definition-success.adoc
│ │ │ ├── REQ_conformance-op.adoc
│ │ │ ├── REQ_conformance-success.adoc
│ │ │ ├── REQ_crs84.adoc
│ │ │ ├── REQ_f-links.adoc
│ │ │ ├── REQ_f-op.adoc
│ │ │ ├── REQ_f-success.adoc
│ │ │ ├── REQ_fc-bbox-definition.adoc
│ │ │ ├── REQ_fc-bbox-response.adoc
│ │ │ ├── REQ_fc-limit-definition.adoc
│ │ │ ├── REQ_fc-limit-response-1.adoc
│ │ │ ├── REQ_fc-links.adoc
│ │ │ ├── REQ_fc-md-extent-multi.adoc
│ │ │ ├── REQ_fc-md-extent.adoc
│ │ │ ├── REQ_fc-md-items-links.adoc
│ │ │ ├── REQ_fc-md-items.adoc
│ │ │ ├── REQ_fc-md-links.adoc
│ │ │ ├── REQ_fc-md-op.adoc
│ │ │ ├── REQ_fc-md-success.adoc
│ │ │ ├── REQ_fc-numberMatched.adoc
│ │ │ ├── REQ_fc-numberReturned.adoc
│ │ │ ├── REQ_fc-op.adoc
│ │ │ ├── REQ_fc-rel-type.adoc
│ │ │ ├── REQ_fc-response.adoc
│ │ │ ├── REQ_fc-time-definition.adoc
│ │ │ ├── REQ_fc-time-response.adoc
│ │ │ ├── REQ_fc-timeStamp.adoc
│ │ │ ├── REQ_http.adoc
│ │ │ ├── REQ_query-param-invalid.adoc
│ │ │ ├── REQ_query-param-unknown.adoc
│ │ │ ├── REQ_root-op.adoc
│ │ │ ├── REQ_root-success.adoc
│ │ │ ├── REQ_sfc-md-op.adoc
│ │ │ └── REQ_sfc-md-success.adoc
│ │ ├── geojson
│ │ │ ├── REQ_content.adoc
│ │ │ └── REQ_definition.adoc
│ │ ├── gmlsf0
│ │ │ ├── REQ_content.adoc
│ │ │ ├── REQ_definition.adoc
│ │ │ └── REQ_headers.adoc
│ │ ├── gmlsf2
│ │ │ ├── REQ_content.adoc
│ │ │ ├── REQ_definition.adoc
│ │ │ └── REQ_headers.adoc
│ │ ├── html
│ │ │ ├── REQ_content.adoc
│ │ │ └── REQ_definition.adoc
│ │ ├── oas
│ │ │ ├── REQ_completeness.adoc
│ │ │ ├── REQ_exception-codes.adoc
│ │ │ ├── REQ_oas-definition.adoc
│ │ │ ├── REQ_oas-impl.adoc
│ │ │ └── REQ_security.adoc
│ │ ├── oas30
│ │ │ └── REQ_oas-definition.adoc
│ │ ├── oas31
│ │ │ └── REQ_oas-definition.adoc
│ │ ├── requirements_class_core.adoc
│ │ ├── requirements_class_geojson.adoc
│ │ ├── requirements_class_gmlsf0.adoc
│ │ ├── requirements_class_gmlsf2.adoc
│ │ ├── requirements_class_html.adoc
│ │ ├── requirements_class_oas.adoc
│ │ ├── requirements_class_oas30.adoc
│ │ └── requirements_class_oas31.adoc
│ └── standard.css
└── xml
│ ├── core-sf.xsd
│ └── core.xsd
├── cql2
├── README.md
├── cql2-cc.png
└── standard
│ ├── 21-065.adoc
│ ├── README.md
│ ├── annex_ats.adoc
│ ├── annex_ats_accent-insensitive-comparison.adoc
│ ├── annex_ats_advanced-comparison-operators.adoc
│ ├── annex_ats_arithmetic.adoc
│ ├── annex_ats_array-functions.adoc
│ ├── annex_ats_basic-cql2.adoc
│ ├── annex_ats_basic-spatial-functions-plus.adoc
│ ├── annex_ats_basic-spatial-functions.adoc
│ ├── annex_ats_case-insensitive-comparison.adoc
│ ├── annex_ats_cql2-json.adoc
│ ├── annex_ats_cql2-text.adoc
│ ├── annex_ats_functions.adoc
│ ├── annex_ats_property-property.adoc
│ ├── annex_ats_spatial-functions.adoc
│ ├── annex_ats_temporal-functions.adoc
│ ├── annex_bibliography.adoc
│ ├── annex_bnf.adoc
│ ├── annex_history.adoc
│ ├── annex_js.adoc
│ ├── clause_0_front_material.adoc
│ ├── clause_1_scope.adoc
│ ├── clause_2_conformance.adoc
│ ├── clause_3_references.adoc
│ ├── clause_4_terms_and_definitions.adoc
│ ├── clause_5_conventions.adoc
│ ├── clause_6_basic_cql2.adoc
│ ├── clause_7_enhanced.adoc
│ ├── clause_8_encodings.adoc
│ ├── clause_9_media_types.adoc
│ ├── data
│ ├── ne110m4cql2.gpkg
│ ├── ne_110m_admin_0_countries.json
│ ├── ne_110m_populated_places_simple.json
│ └── ne_110m_rivers_lake_centerlines.json
│ ├── images
│ ├── DE9IM_Matrix.png
│ ├── crosses.png
│ ├── overlaps.png
│ ├── temporal_ops.png
│ ├── touches.png
│ └── within.png
│ ├── recommendations
│ ├── accent-insensitive-comparison
│ │ └── REC_special_japanese_non_spacing_marks.adoc
│ ├── advanced-comparison-operators
│ │ ├── PER_between-predicate.adoc
│ │ ├── PER_in-predicate.adoc
│ │ └── PER_like-predicate.adoc
│ ├── array-functions
│ │ └── PER_array-predicates.adoc
│ ├── basic-cql2
│ │ ├── PER_cql2-filter.adoc
│ │ ├── PER_type-casts.adoc
│ │ └── REC_string-normalization.adoc
│ ├── basic-spatial-functions
│ │ ├── PER_spatial-data-types.adoc
│ │ └── PER_spatial-predicates.adoc
│ ├── cql2-json
│ │ └── PER_basic-cql2.adoc
│ └── temporal-functions
│ │ └── PER_temporal-predicates.adoc
│ ├── requirements
│ ├── README.md
│ ├── accent-insensitive-comparison
│ │ └── REQ_accenti-function.adoc
│ ├── advanced-comparison-operators
│ │ ├── REQ_between-predicate.adoc
│ │ ├── REQ_in-predicate.adoc
│ │ └── REQ_like-predicate.adoc
│ ├── arithmetic
│ │ └── REQ_arithmetic.adoc
│ ├── array-functions
│ │ └── REQ_array-predicates.adoc
│ ├── basic-cql2
│ │ ├── REQ_binary-comparison-predicate.adoc
│ │ ├── REQ_cql2-filter.adoc
│ │ ├── REQ_null-predicate.adoc
│ │ └── REQ_property.adoc
│ ├── basic-spatial-functions-plus
│ │ └── REQ_spatial-data-types.adoc
│ ├── basic-spatial-functions
│ │ ├── REQ_spatial-functions.adoc
│ │ └── REQ_spatial-predicate.adoc
│ ├── case-insensitive-comparison
│ │ └── REQ_casei-function.adoc
│ ├── cql2-json
│ │ ├── REQ_accent-insensitive-comparison.adoc
│ │ ├── REQ_advanced-comparison-operators.adoc
│ │ ├── REQ_arithmetic.adoc
│ │ ├── REQ_array-functions.adoc
│ │ ├── REQ_basic-cql2.adoc
│ │ ├── REQ_basic-spatial-functions-plus.adoc
│ │ ├── REQ_basic-spatial-functions.adoc
│ │ ├── REQ_case-insensitive-comparison.adoc
│ │ ├── REQ_functions.adoc
│ │ ├── REQ_property-property.adoc
│ │ ├── REQ_spatial-functions.adoc
│ │ └── REQ_temporal-functions.adoc
│ ├── cql2-text
│ │ ├── REQ_accent-insensitive-comparison.adoc
│ │ ├── REQ_advanced-comparison-operators.adoc
│ │ ├── REQ_arithmetic.adoc
│ │ ├── REQ_array-functions.adoc
│ │ ├── REQ_basic-cql2.adoc
│ │ ├── REQ_basic-spatial-functions-plus.adoc
│ │ ├── REQ_basic-spatial-functions.adoc
│ │ ├── REQ_case-insensitive-comparison.adoc
│ │ ├── REQ_escaping.adoc
│ │ ├── REQ_functions.adoc
│ │ ├── REQ_property-property.adoc
│ │ ├── REQ_spatial-functions.adoc
│ │ └── REQ_temporal-functions.adoc
│ ├── functions
│ │ ├── REQ_functions.adoc
│ │ ├── REQ_get-functions-operation.adoc
│ │ └── REQ_get-functions-response-json.adoc
│ ├── property-property
│ │ └── REQ_withdraw-permissions.adoc
│ ├── requirements_class_accent-insensitive-comparison.adoc
│ ├── requirements_class_advanced_comparison_operators.adoc
│ ├── requirements_class_arithmetic.adoc
│ ├── requirements_class_array-functions.adoc
│ ├── requirements_class_basic-cql2.adoc
│ ├── requirements_class_basic-spatial-functions-plus.adoc
│ ├── requirements_class_basic-spatial-functions.adoc
│ ├── requirements_class_case-insensitive-comparison.adoc
│ ├── requirements_class_cql2-json.adoc
│ ├── requirements_class_cql2-text.adoc
│ ├── requirements_class_functions.adoc
│ ├── requirements_class_property_property.adoc
│ ├── requirements_class_spatial-functions.adoc
│ ├── requirements_class_temporal-functions.adoc
│ ├── spatial-functions
│ │ └── REQ_spatial-functions.adoc
│ └── temporal-functions
│ │ ├── REQ_temporal-functions.adoc
│ │ └── REQ_temporal-predicates.adoc
│ ├── schema
│ ├── cql2.bnf
│ ├── cql2.json
│ ├── cql2.yml
│ ├── examples
│ │ ├── json
│ │ │ ├── clause6_01.json
│ │ │ ├── clause6_02a.json
│ │ │ ├── clause6_02b.json
│ │ │ ├── clause6_02c.json
│ │ │ ├── clause6_02d.json
│ │ │ ├── clause6_03.json
│ │ │ ├── clause7_01.json
│ │ │ ├── clause7_02.json
│ │ │ ├── clause7_03a.json
│ │ │ ├── clause7_03b.json
│ │ │ ├── clause7_04.json
│ │ │ ├── clause7_05.json
│ │ │ ├── clause7_07.json
│ │ │ ├── clause7_10.json
│ │ │ ├── clause7_12.json
│ │ │ ├── clause7_13.json
│ │ │ ├── clause7_15.json
│ │ │ ├── clause7_16.json
│ │ │ ├── clause7_17.json
│ │ │ ├── clause7_18.json
│ │ │ ├── clause7_19.json
│ │ │ ├── example01.json
│ │ │ ├── example02.json
│ │ │ ├── example03.json
│ │ │ ├── example04.json
│ │ │ ├── example05a.json
│ │ │ ├── example05b.json
│ │ │ ├── example06a.json
│ │ │ ├── example06b.json
│ │ │ ├── example07.json
│ │ │ ├── example08.json
│ │ │ ├── example09.json
│ │ │ ├── example10.json
│ │ │ ├── example11.json
│ │ │ ├── example12.json
│ │ │ ├── example13.json
│ │ │ ├── example14.json
│ │ │ ├── example15.json
│ │ │ ├── example16.json
│ │ │ ├── example17.json
│ │ │ ├── example18.json
│ │ │ ├── example19.json
│ │ │ ├── example20.json
│ │ │ ├── example21.json
│ │ │ ├── example22.json
│ │ │ ├── example23.json
│ │ │ ├── example24.json
│ │ │ ├── example25.json
│ │ │ ├── example26.json
│ │ │ ├── example27.json
│ │ │ ├── example28.json
│ │ │ ├── example29.json
│ │ │ ├── example30.json
│ │ │ ├── example31.json
│ │ │ ├── example32.json
│ │ │ ├── example33.json
│ │ │ ├── example34.json
│ │ │ ├── example35.json
│ │ │ ├── example36.json
│ │ │ ├── example37.json
│ │ │ ├── example38.json
│ │ │ ├── example39.json
│ │ │ ├── example40.json
│ │ │ ├── example41.json
│ │ │ ├── example42.json
│ │ │ ├── example43.json
│ │ │ ├── example44.json
│ │ │ ├── example45.json
│ │ │ ├── example46.json
│ │ │ ├── example47.json
│ │ │ ├── example48.json
│ │ │ ├── example49.json
│ │ │ ├── example50.json
│ │ │ ├── example51.json
│ │ │ ├── example52.json
│ │ │ ├── example53.json
│ │ │ ├── example54.json
│ │ │ ├── example55.json
│ │ │ ├── example56.json
│ │ │ ├── example57.json
│ │ │ ├── example58.json
│ │ │ ├── example59.json
│ │ │ ├── example60.json
│ │ │ ├── example61.json
│ │ │ ├── example62.json
│ │ │ ├── example63.json
│ │ │ ├── example64.json
│ │ │ ├── example65.json
│ │ │ ├── example66.json
│ │ │ ├── example67.json
│ │ │ ├── example68.json
│ │ │ ├── example69.json
│ │ │ ├── example70.json
│ │ │ ├── example71.json
│ │ │ ├── example72.json
│ │ │ ├── example73.json
│ │ │ ├── example74.json
│ │ │ ├── example75.json
│ │ │ ├── example76.json
│ │ │ ├── example77.json
│ │ │ ├── example78.json
│ │ │ ├── example79.json
│ │ │ ├── example80.json
│ │ │ ├── example81.json
│ │ │ ├── example82.json
│ │ │ ├── example83.json
│ │ │ ├── example84.json
│ │ │ ├── example85.json
│ │ │ ├── example86.json
│ │ │ └── validate.sh
│ │ └── text
│ │ │ ├── clause6_01.txt
│ │ │ ├── clause6_02a.txt
│ │ │ ├── clause6_02b.txt
│ │ │ ├── clause6_02c.txt
│ │ │ ├── clause6_02d.txt
│ │ │ ├── clause6_03.txt
│ │ │ ├── clause7_01.txt
│ │ │ ├── clause7_02.txt
│ │ │ ├── clause7_03a.txt
│ │ │ ├── clause7_03b.txt
│ │ │ ├── clause7_04.txt
│ │ │ ├── clause7_05.txt
│ │ │ ├── clause7_07.txt
│ │ │ ├── clause7_10.txt
│ │ │ ├── clause7_12.txt
│ │ │ ├── clause7_13.txt
│ │ │ ├── clause7_15.txt
│ │ │ ├── clause7_16.txt
│ │ │ ├── clause7_17.txt
│ │ │ ├── clause7_18.txt
│ │ │ ├── clause7_19.txt
│ │ │ ├── example01.txt
│ │ │ ├── example02.txt
│ │ │ ├── example03.txt
│ │ │ ├── example04.txt
│ │ │ ├── example05a.txt
│ │ │ ├── example05b.txt
│ │ │ ├── example06a.txt
│ │ │ ├── example06b.txt
│ │ │ ├── example07.txt
│ │ │ ├── example08.txt
│ │ │ ├── example09.txt
│ │ │ ├── example10.txt
│ │ │ ├── example11.txt
│ │ │ ├── example12.txt
│ │ │ ├── example13.txt
│ │ │ ├── example14.txt
│ │ │ ├── example15.txt
│ │ │ ├── example16.txt
│ │ │ ├── example17.txt
│ │ │ ├── example18.txt
│ │ │ ├── example19.txt
│ │ │ ├── example20.txt
│ │ │ ├── example21.txt
│ │ │ ├── example22.txt
│ │ │ ├── example23.txt
│ │ │ ├── example24.txt
│ │ │ ├── example25.txt
│ │ │ ├── example26.txt
│ │ │ ├── example27.txt
│ │ │ ├── example28.txt
│ │ │ ├── example29.txt
│ │ │ ├── example30.txt
│ │ │ ├── example31.txt
│ │ │ ├── example32.txt
│ │ │ ├── example33.txt
│ │ │ ├── example34.txt
│ │ │ ├── example35.txt
│ │ │ ├── example36-alt01.txt
│ │ │ ├── example36.txt
│ │ │ ├── example37.txt
│ │ │ ├── example38-alt01.txt
│ │ │ ├── example38.txt
│ │ │ ├── example39.txt
│ │ │ ├── example40-alt01.txt
│ │ │ ├── example40.txt
│ │ │ ├── example41.txt
│ │ │ ├── example42-alt01.txt
│ │ │ ├── example42.txt
│ │ │ ├── example43-alt01.txt
│ │ │ ├── example43.txt
│ │ │ ├── example44-alt01.txt
│ │ │ ├── example44.txt
│ │ │ ├── example45.txt
│ │ │ ├── example46-alt01.txt
│ │ │ ├── example46.txt
│ │ │ ├── example47.txt
│ │ │ ├── example48.txt
│ │ │ ├── example49-alt01.txt
│ │ │ ├── example49.txt
│ │ │ ├── example50.txt
│ │ │ ├── example51.txt
│ │ │ ├── example52.txt
│ │ │ ├── example53.txt
│ │ │ ├── example54-alt01.txt
│ │ │ ├── example54.txt
│ │ │ ├── example55-alt01.txt
│ │ │ ├── example55.txt
│ │ │ ├── example56.txt
│ │ │ ├── example57.txt
│ │ │ ├── example58.txt
│ │ │ ├── example59.txt
│ │ │ ├── example60.txt
│ │ │ ├── example61.txt
│ │ │ ├── example62.txt
│ │ │ ├── example63.txt
│ │ │ ├── example64.txt
│ │ │ ├── example65.txt
│ │ │ ├── example66.txt
│ │ │ ├── example67.txt
│ │ │ ├── example68.txt
│ │ │ ├── example69.txt
│ │ │ ├── example70.txt
│ │ │ ├── example71.txt
│ │ │ ├── example72.txt
│ │ │ ├── example73.txt
│ │ │ ├── example74.txt
│ │ │ ├── example75.txt
│ │ │ ├── example76.txt
│ │ │ ├── example77.txt
│ │ │ ├── example78.txt
│ │ │ ├── example79.txt
│ │ │ ├── example80.txt
│ │ │ ├── example81.txt
│ │ │ ├── example82.txt
│ │ │ ├── example83.txt
│ │ │ ├── example84.txt
│ │ │ ├── example85-alt01.txt
│ │ │ ├── example85.txt
│ │ │ └── example86.txt
│ └── functions.yml
│ └── standard.css
├── docs
├── background.md
├── ogc-web-api-guidelines-assessment.md
├── outdated
│ ├── Parts.md
│ └── placeholder-additional-conformance-class
│ │ ├── examples
│ │ └── dummy.yaml
│ │ ├── parameters
│ │ ├── dummy.yaml
│ │ ├── f.yaml
│ │ ├── resultType.yaml
│ │ ├── startIndex.yaml
│ │ └── zzz_save.yaml
│ │ └── schemas
│ │ └── dummy.yaml
├── overview.md
└── uml
│ ├── README.md
│ ├── data_types.png
│ ├── links_to_external_resources.png
│ ├── ogc-api-features-core.eap
│ ├── ogc-api-features-core.xml
│ └── resources.png
├── extensions
├── README.md
├── crs
│ ├── README.md
│ ├── openapi
│ │ ├── headers
│ │ │ └── Content-Crs.yaml
│ │ ├── ogcapi-features-2.yaml
│ │ ├── parameters
│ │ │ ├── bbox-crs.yaml
│ │ │ └── crs.yaml
│ │ └── schemas
│ │ │ ├── collection.yaml
│ │ │ ├── collectionExtensionCrs.yaml
│ │ │ ├── collections.yaml
│ │ │ └── collectionsExtensionCrs.yaml
│ ├── release-notes.md
│ └── standard
│ │ ├── 18-058.adoc
│ │ ├── README.md
│ │ ├── abstract_tests
│ │ ├── ATS_class_crs.adoc
│ │ ├── README.md
│ │ └── crs
│ │ │ ├── ATS_bbox-crs-parameter-default.adoc
│ │ │ ├── ATS_bbox-crs-parameter-invalid.adoc
│ │ │ ├── ATS_bbox-crs-parameter.adoc
│ │ │ ├── ATS_crs-parameter-default.adoc
│ │ │ ├── ATS_crs-parameter-invalid.adoc
│ │ │ ├── ATS_crs-parameter-transform.adoc
│ │ │ ├── ATS_crs-parameter.adoc
│ │ │ ├── ATS_crs-uri.adoc
│ │ │ ├── ATS_default-crs.adoc
│ │ │ └── ATS_storageCrs.adoc
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── annex_n.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_crs.adoc
│ │ ├── clause_7_media_types.adoc
│ │ ├── clause_8_security_considerations.adoc
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── recommendations
│ │ └── crs
│ │ │ ├── PER_fc-crs-action.adoc
│ │ │ ├── REC_crs-format-model.adoc
│ │ │ └── REC_fc-md-coordinateEpoch.adoc
│ │ ├── requirements
│ │ ├── README.md
│ │ ├── crs
│ │ │ ├── REQ_bbox-crs-exception.adoc
│ │ │ ├── REQ_crs-exception.adoc
│ │ │ ├── REQ_crs-uri.adoc
│ │ │ ├── REQ_fc-bbox-crs-action.adoc
│ │ │ ├── REQ_fc-bbox-crs-default-value.adoc
│ │ │ ├── REQ_fc-bbox-crs-definition.adoc
│ │ │ ├── REQ_fc-bbox-crs-valid-values.adoc
│ │ │ ├── REQ_fc-crs-action.adoc
│ │ │ ├── REQ_fc-crs-default-value.adoc
│ │ │ ├── REQ_fc-crs-definition.adoc
│ │ │ ├── REQ_fc-crs-valid-value.adoc
│ │ │ ├── REQ_fc-md-crs-list-global.adoc
│ │ │ ├── REQ_fc-md-crs-list.adoc
│ │ │ ├── REQ_fc-md-storageCrs-valid-value.adoc
│ │ │ ├── REQ_fc-md-storageCrs.adoc
│ │ │ ├── REQ_geojson.adoc
│ │ │ ├── REQ_ogc-crs-header-value.adoc
│ │ │ └── REQ_ogc-crs-header.adoc
│ │ └── requirements_class_crs.adoc
│ │ └── standard.css
├── filtering
│ ├── README.md
│ └── standard
│ │ ├── 19-079.adoc
│ │ ├── README.md
│ │ ├── abstract_tests
│ │ ├── README.md
│ │ └── cc
│ │ │ └── TEST001.adoc
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_10_media_types.adoc
│ │ ├── clause_11_security_considerations.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_queryables.adoc
│ │ ├── clause_7_queryables-query-parameters.adoc
│ │ ├── clause_8_filter.adoc
│ │ ├── clause_9_features.adoc
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── openapi
│ │ ├── ogcapi-features-3.yaml
│ │ ├── parameters
│ │ │ ├── filter-crs.yml
│ │ │ ├── filter-lang.yml
│ │ │ └── filter.yml
│ │ └── schemas
│ │ │ └── functions.yml
│ │ ├── recommendations
│ │ ├── features-filter
│ │ │ ├── REC_json-encoding.adoc
│ │ │ └── REC_text-encoding.adoc
│ │ ├── filter
│ │ │ ├── PER_filter-default.adoc
│ │ │ └── REC_filter-crs-list.adoc
│ │ └── queryables
│ │ │ └── REC_queryables-schema.adoc
│ │ ├── requirements
│ │ ├── README.md
│ │ ├── features-filter
│ │ │ ├── REQ_filter-crs-param.adoc
│ │ │ ├── REQ_filter-lang-param.adoc
│ │ │ ├── REQ_filter-param.adoc
│ │ │ ├── REQ_get-queryables-op.adoc
│ │ │ ├── REQ_queryables-link.adoc
│ │ │ └── REQ_response.adoc
│ │ ├── filter
│ │ │ ├── REQ_filter-crs-param.adoc
│ │ │ ├── REQ_filter-crs-wgs84.adoc
│ │ │ ├── REQ_filter-lang-param.adoc
│ │ │ ├── REQ_filter-param.adoc
│ │ │ ├── REQ_get-functions-operation.adoc
│ │ │ ├── REQ_get-functions-response-json.adoc
│ │ │ ├── REQ_mixing-expressions.adoc
│ │ │ └── REQ_response.adoc
│ │ ├── queryables-query-parameters
│ │ │ └── REQ_parameters.adoc
│ │ ├── queryables
│ │ │ ├── REQ_expression-construction.adoc
│ │ │ ├── REQ_get-queryables-op.adoc
│ │ │ ├── REQ_get-queryables-response.adoc
│ │ │ └── REQ_queryables-link.adoc
│ │ ├── requirements_class_features-filter.adoc
│ │ ├── requirements_class_filter.adoc
│ │ ├── requirements_class_queryables-query-parameters.adoc
│ │ └── requirements_class_queryables.adoc
│ │ └── standard.css
├── geometry-simplification
│ ├── README.md
│ └── standard
│ │ ├── 24-020.adoc
│ │ ├── README.md
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_zoom_level.adoc
│ │ ├── clause_7_zoom_level_features.adoc
│ │ ├── clause_8_security_considerations.adoc
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── schema
│ │ └── zoom-level.yaml
│ │ └── standard.css
├── property-selection
│ ├── README.md
│ └── standard
│ │ ├── 24-019.adoc
│ │ ├── README.md
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_properties.adoc
│ │ ├── clause_7_properties_features.adoc
│ │ ├── clause_8_security_considerations.adoc
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── schema
│ │ └── properties.yaml
│ │ └── standard.css
├── schemas
│ ├── README.md
│ └── standard
│ │ ├── 23-058.adoc
│ │ ├── README.md
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_10_returnables_and_receivables.adoc
│ │ ├── clause_11_queryables.adoc
│ │ ├── clause_12_sortables.adoc
│ │ ├── clause_13_profile_parameter.adoc
│ │ ├── clause_14_profile_references.adoc
│ │ ├── clause_15_profile_codelists.adoc
│ │ ├── clause_16_profile_domains.adoc
│ │ ├── clause_17_media_types.adoc
│ │ ├── clause_18_security_considerations.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_overview.adoc
│ │ ├── clause_7_schemas.adoc
│ │ ├── clause_8_core_roles_for_features.adoc
│ │ ├── clause_9_feature_references.adoc
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ └── standard.css
├── sorting
│ ├── README.md
│ └── standard
│ │ ├── 24-030.adoc
│ │ ├── README.md
│ │ ├── abstract_tests
│ │ ├── README.md
│ │ └── cc
│ │ │ └── TEST001.adoc
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_10_security_considerations.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_sortables.adoc
│ │ ├── clause_7_sorting.adoc
│ │ ├── clause_8_features.adoc
│ │ ├── clause_9_media_types.adoc
│ │ ├── examples
│ │ ├── README.md
│ │ └── json
│ │ │ ├── defaultSortOrder.json
│ │ │ └── sortables.json
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── openapi
│ │ ├── ogcapi-features-3.yaml
│ │ ├── parameters
│ │ │ └── sortby.yaml
│ │ ├── responses
│ │ │ └── Sortables.yaml
│ │ └── schemas
│ │ │ └── schema.yaml
│ │ ├── recommendations
│ │ ├── features-sorting
│ │ │ ├── REC_json-encoding.adoc
│ │ │ └── REC_text-encoding.adoc
│ │ └── sortables
│ │ │ ├── PER_synthetic.adoc
│ │ │ └── REC_sortables-schema.adoc
│ │ ├── requirements
│ │ ├── README.md
│ │ ├── features-sorting
│ │ │ ├── REQ_get-sortables-op.adoc
│ │ │ ├── REQ_response.adoc
│ │ │ ├── REQ_sortables-link.adoc
│ │ │ └── REQ_sortby-param.adoc
│ │ ├── requirements_class_features-sorting.adoc
│ │ ├── requirements_class_sortables.adoc
│ │ ├── requirements_class_sorting.adoc
│ │ ├── sortables
│ │ │ ├── REQ_defaultSortOrder-definition.adoc
│ │ │ ├── REQ_get-sortables-op.adoc
│ │ │ ├── REQ_get-sortables-success.adoc
│ │ │ └── REQ_sortables-link.adoc
│ │ └── sorting
│ │ │ ├── REQ_sortby-definition.adoc
│ │ │ └── REQ_sortby-response.adoc
│ │ └── standard.css
├── text-search
│ ├── README.md
│ └── standard
│ │ ├── 24-031.adoc
│ │ ├── README.md
│ │ ├── abstract_tests
│ │ ├── README.md
│ │ └── cc
│ │ │ └── TEST001.adoc
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_text-search.adoc
│ │ ├── clause_7_features.adoc
│ │ ├── clause_8_media_types.adoc
│ │ ├── clause_9_security_considerations.adoc
│ │ ├── examples
│ │ ├── README.md
│ │ ├── json
│ │ │ ├── defaultSortOrder.json
│ │ │ └── sortables.json
│ │ └── yaml
│ │ │ ├── collections
│ │ │ ├── localResourcesCatalog.yaml
│ │ │ └── localResourcesItem.yaml
│ │ │ └── processes
│ │ │ ├── localResourcesCatalog.yaml
│ │ │ └── localResourcesItem.yaml
│ │ ├── figures
│ │ └── README.md
│ │ ├── images
│ │ └── README.md
│ │ ├── openapi
│ │ ├── ogcapi-features-3.yaml
│ │ ├── parameters
│ │ │ └── sortby.yaml
│ │ ├── responses
│ │ │ └── Sortables.yaml
│ │ └── schemas
│ │ │ └── schema.yaml
│ │ ├── recommendations
│ │ ├── features-sorting
│ │ │ ├── REC_json-encoding.adoc
│ │ │ └── REC_text-encoding.adoc
│ │ └── text-search
│ │ │ └── REC_param-q.adoc
│ │ ├── requirements
│ │ ├── README.md
│ │ ├── features-text-search
│ │ │ ├── REQ_q-param.adoc
│ │ │ └── REQ_response.adoc
│ │ ├── requirements_class_features-text-search.adoc
│ │ ├── requirements_class_text-search.adoc
│ │ └── text-search
│ │ │ ├── REQ_query-param-q-definition.adoc
│ │ │ └── REQ_query-param-q-response.adoc
│ │ └── standard.css
└── transactions
│ ├── README.md
│ ├── archive
│ └── TX_Notes.adoc
│ ├── atomic-batch
│ └── README.md
│ ├── create-replace-update-delete
│ ├── README.md
│ ├── examples
│ │ ├── json
│ │ │ ├── README.md
│ │ │ ├── ex01_create.adoc
│ │ │ ├── ex02_replace.adoc
│ │ │ ├── ex03_update.adoc
│ │ │ ├── ex04_delete.adoc
│ │ │ ├── ex05_create-crs.adoc
│ │ │ ├── ex06a_options.adoc
│ │ │ ├── ex06b_options.adoc
│ │ │ ├── ex07_supportsNonAutogeneratedResourceIds.adoc
│ │ │ └── schema.adoc
│ │ ├── openapi
│ │ │ └── ogcapi-features-4-example1.yaml
│ │ └── xml
│ │ │ ├── README.md
│ │ │ ├── create_schema.adoc
│ │ │ ├── ex01_create.adoc
│ │ │ ├── ex02_replace.adoc
│ │ │ └── ex03_update.adoc
│ ├── openapi
│ │ ├── examples
│ │ │ └── README.md
│ │ ├── parameters
│ │ │ └── README.md
│ │ ├── responses
│ │ │ └── README.md
│ │ └── schemas
│ │ │ └── README.md
│ ├── standard
│ │ ├── 20-002.adoc
│ │ ├── README.md
│ │ ├── abstract_tests
│ │ │ ├── ATS_class_features.adoc
│ │ │ ├── ATS_class_patch-update.adoc
│ │ │ ├── ATS_class_simpletx.adoc
│ │ │ ├── README.md
│ │ │ ├── features
│ │ │ │ ├── ATS_collection-items-end-point.adoc
│ │ │ │ ├── ATS_resource-end-point.adoc
│ │ │ │ └── crs
│ │ │ │ │ ├── ATS_crs84.adoc
│ │ │ │ │ ├── ATS_geojson.adoc
│ │ │ │ │ └── ATS_storage-crs.adoc
│ │ │ └── simpletx
│ │ │ │ ├── delete
│ │ │ │ ├── ATS_delete-op.adoc
│ │ │ │ └── ATS_response.adoc
│ │ │ │ ├── insert
│ │ │ │ ├── ATS_body.adoc
│ │ │ │ ├── ATS_content-type.adoc
│ │ │ │ ├── ATS_post-op.adoc
│ │ │ │ ├── ATS_response-rid.adoc
│ │ │ │ └── ATS_response.adoc
│ │ │ │ └── update
│ │ │ │ └── put
│ │ │ │ ├── ATS_body.adoc
│ │ │ │ ├── ATS_content-type.adoc
│ │ │ │ ├── ATS_put-op.adoc
│ │ │ │ ├── ATS_response.adoc
│ │ │ │ └── ATS_rid-exception.adoc
│ │ ├── annex_ats.adoc
│ │ ├── annex_bibliography.adoc
│ │ ├── annex_history.adoc
│ │ ├── clause_0_front_material.adoc
│ │ ├── clause_10_media_types.adoc
│ │ ├── clause_11_security_considerations.adoc
│ │ ├── clause_1_scope.adoc
│ │ ├── clause_2_conformance.adoc
│ │ ├── clause_3_references.adoc
│ │ ├── clause_4_terms_and_definitions.adoc
│ │ ├── clause_5_conventions.adoc
│ │ ├── clause_6_create-replace-delete.adoc
│ │ ├── clause_7_update.adoc
│ │ ├── clause_8_optimistic-locking.adoc
│ │ ├── clause_9_features.adoc
│ │ ├── figures
│ │ │ └── README.md
│ │ ├── images
│ │ │ └── README.md
│ │ ├── recommendations
│ │ │ ├── create-replace-delete
│ │ │ │ ├── PER_additional-status-codes.adoc
│ │ │ │ ├── create
│ │ │ │ │ ├── PER_body.adoc
│ │ │ │ │ └── PER_rid.adoc
│ │ │ │ ├── delete
│ │ │ │ │ └── REC_no-feature.adoc
│ │ │ │ ├── options
│ │ │ │ │ ├── PER_other-methods.adoc
│ │ │ │ │ ├── PER_req-body.adoc
│ │ │ │ │ └── PER_res-body.adoc
│ │ │ │ └── replace
│ │ │ │ │ ├── PER_body.adoc
│ │ │ │ │ └── PER_create.adoc
│ │ │ ├── features
│ │ │ │ ├── PER_other_update_vocabs.adoc
│ │ │ │ └── REC_storage-crs.adoc
│ │ │ ├── optimistic-locking-etags
│ │ │ │ ├── PER_ifmatch-missing.adoc
│ │ │ │ └── PER_ifmatch-star.adoc
│ │ │ ├── optimistic-locking-timestamps
│ │ │ │ └── PER_ifunmodifiedsince-missing.adoc
│ │ │ └── update
│ │ │ │ ├── REC_body-json-merge-patch.adoc
│ │ │ │ ├── REC_body-xml-patch.adoc
│ │ │ │ └── REC_schema.adoc
│ │ ├── requirements
│ │ │ ├── README.md
│ │ │ ├── create-replace-delete
│ │ │ │ ├── REQ_methods.adoc
│ │ │ │ ├── create
│ │ │ │ │ ├── REQ_body.adoc
│ │ │ │ │ ├── REQ_content-type.adoc
│ │ │ │ │ ├── REQ_post-op.adoc
│ │ │ │ │ ├── REQ_response-rid.adoc
│ │ │ │ │ └── REQ_response.adoc
│ │ │ │ ├── delete
│ │ │ │ │ ├── REQ_delete-op.adoc
│ │ │ │ │ └── REQ_response.adoc
│ │ │ │ ├── options
│ │ │ │ │ ├── REQ_op.adoc
│ │ │ │ │ └── REQ_response.adoc
│ │ │ │ └── replace
│ │ │ │ │ ├── REQ_body.adoc
│ │ │ │ │ ├── REQ_content-type.adoc
│ │ │ │ │ ├── REQ_put-op.adoc
│ │ │ │ │ ├── REQ_response.adoc
│ │ │ │ │ ├── REQ_rid-exception.adoc
│ │ │ │ │ └── REQ_rid.adoc
│ │ │ ├── features
│ │ │ │ ├── REQ_collection-endpoint.adoc
│ │ │ │ ├── REQ_geojson-create-replace.adoc
│ │ │ │ ├── REQ_gml-create-replace.adoc
│ │ │ │ ├── REQ_representation-geojson-replace.adoc
│ │ │ │ ├── REQ_resource-endpoint.adoc
│ │ │ │ ├── REQ_resources-endpoint.adoc
│ │ │ │ ├── REQ_schema.adoc
│ │ │ │ ├── REQ_update-json-merge-patch.adoc
│ │ │ │ └── crs
│ │ │ │ │ ├── REQ_content-crs-header.adoc
│ │ │ │ │ ├── REQ_crs84.adoc
│ │ │ │ │ ├── REQ_default-crs.adoc
│ │ │ │ │ ├── REQ_gml-srsname.adoc
│ │ │ │ │ └── REQ_other-crs.adoc
│ │ │ ├── optimistic-locking-etags
│ │ │ │ ├── REQ_etag-get-response.adoc
│ │ │ │ ├── REQ_etag-patch-response.adoc
│ │ │ │ ├── REQ_etag-put-response.adoc
│ │ │ │ ├── REQ_ifmatch-patch-eval.adoc
│ │ │ │ ├── REQ_ifmatch-patch-op.adoc
│ │ │ │ ├── REQ_ifmatch-put-eval.adoc
│ │ │ │ └── REQ_ifmatch-put-op.adoc
│ │ │ ├── optimistic-locking-timestamps
│ │ │ │ ├── REQ_ifunmodifiedsince-patch-eval.adoc
│ │ │ │ ├── REQ_ifunmodifiedsince-patch-op.adoc
│ │ │ │ ├── REQ_ifunmodifiedsince-put-eval.adoc
│ │ │ │ ├── REQ_ifunmodifiedsince-put-op.adoc
│ │ │ │ ├── REQ_lastmodified-get-response.adoc
│ │ │ │ ├── REQ_lastmodified-patch-response.adoc
│ │ │ │ └── REQ_lastmodified-put-response.adoc
│ │ │ ├── requirements_class_create-replace-delete.adoc
│ │ │ ├── requirements_class_features.adoc
│ │ │ ├── requirements_class_optimistic-locking-etags.adoc
│ │ │ ├── requirements_class_optimistic-locking-timestamps.adoc
│ │ │ ├── requirements_class_update.adoc
│ │ │ └── update
│ │ │ │ ├── REQ_body.adoc
│ │ │ │ ├── REQ_methods.adoc
│ │ │ │ ├── REQ_patch-op.adoc
│ │ │ │ ├── REQ_response.adoc
│ │ │ │ └── REQ_rid.adoc
│ │ └── standard.css
│ └── xml
│ │ ├── core.xsd
│ │ └── wsdl
│ │ └── README.md
│ └── simple
│ └── standard
│ ├── clause_7a_optimistic-locking.adoc
│ └── recommendations
│ └── optimistic-locking
│ ├── PER_ifmatch-star.adoc
│ └── REC_last-modified.adoc
├── guide
├── README.md
├── annex_bibliography.adoc
├── annex_history.adoc
├── conformance_checklist.md
├── figures
│ ├── PT1_FIG01.png
│ └── README.md
├── images
│ ├── Cookbook_Figure_10.png
│ ├── Cookbook_Figure_10_2.png
│ ├── Cookbook_Figure_11.png
│ ├── Cookbook_Figure_5.png
│ ├── Cookbook_Figure_6.png
│ ├── Cookbook_Figure_7.png
│ ├── Cookbook_Figure_8.png
│ ├── Cookbook_Figure_9.png
│ └── README.md
├── section_0_introduction.adoc
├── section_10_information_assurance.adoc
├── section_11_conformance_checklists.adoc
├── section_12_mediaTypes.adoc
├── section_1_scope.adoc
├── section_2_audience.adoc
├── section_3_references.adoc
├── section_4_terms_and_definitions.adoc
├── section_5_conventions.adoc
├── section_6_introduction_to_geospatial.adoc
├── section_7_introduction_to_OpenAPI.adoc
├── section_8_WFS_2_0_v_3_0.adoc
├── section_9_OpenAPI_v_Capabilities.adoc
├── standard.css
└── user_guide.adoc
├── implementations
├── README.adoc
├── clients
│ ├── README.md
│ ├── arcgis-js.md
│ ├── arcgis-pro.md
│ ├── arcgis-runtime.md
│ ├── fme.md
│ ├── gdal.md
│ ├── images
│ │ ├── ArcGISPro-1-add-server.PNG
│ │ ├── ArcGISPro-2-add-server-options.PNG
│ │ ├── ArcGISPro-2-edit-properties.PNG
│ │ ├── ArcGISPro-3-add-collection-to-map.PNG
│ │ ├── ArcGISPro-3-data-catalog.PNG
│ │ ├── ArcGISPro-4-vineyards.PNG
│ │ ├── Kaoto-1-add-step.png
│ │ ├── Kaoto-2-open-properties.png
│ │ ├── Kaoto-3-load-collections.png
│ │ ├── Kaoto-4-create-query.png
│ │ ├── qgis-add-api.png
│ │ ├── qgis-data-source-manager.png
│ │ ├── qgis-select-layers.png
│ │ └── qgis-zoomstack-national-roads.gif
│ ├── kaoto.md
│ ├── leaflet-featuregroup-ogcapi.md
│ ├── leaflet.md
│ ├── mapbox-gl-js.md
│ ├── mapbox-gl-ogc-feature-collection.md
│ ├── ogc-client.md
│ ├── ogcapi-js.md
│ ├── openlayers.md
│ ├── other.md
│ ├── owslib.md
│ └── qgis.md
└── servers
│ ├── README.md
│ ├── cubewerx.md
│ ├── deegree.md
│ ├── geoserver.md
│ ├── hakunapi.md
│ ├── ldproxy.md
│ ├── mapserver.md
│ ├── other.md
│ ├── pg_featureserv.md
│ ├── pygeoapi.md
│ ├── qgis.md
│ ├── sdirp.md
│ └── sofp.md
├── ogcapi-ogc-org-features-overview.md
├── proposals
├── 000_OGC-proposal-template.md
├── README.md
├── archive
│ ├── Alternative Schema
│ │ ├── 001_Alternative-Schema-Proposal.md
│ │ ├── CONTRIBUTORS.md
│ │ ├── DEVELOPMENT.md
│ │ ├── alternative_schema_examples.md
│ │ ├── alternative_schema_object.md
│ │ ├── implementations.md
│ │ └── schema_object.md
│ ├── README.md
│ └── schemas
│ │ └── README.md
├── geometry-simplification
│ └── README.md
├── property-selection
│ └── README.md
├── query-by-ids
│ └── README.md
└── search
│ ├── README.md
│ ├── examples
│ └── README.md
│ ├── global-list-of-queryables.adoc
│ ├── openapi
│ ├── examples
│ │ └── README.md
│ ├── parameters
│ │ ├── README.md
│ │ └── limit.yaml
│ ├── responses
│ │ └── README.md
│ └── schemas
│ │ ├── README.md
│ │ ├── cql.yaml
│ │ ├── parameter.yaml
│ │ ├── parameters.yaml
│ │ ├── queries.yaml
│ │ ├── query-md.yaml
│ │ └── query.yaml
│ └── standard
│ ├── 20-096.adoc
│ ├── 20-096.html
│ ├── 20-096.pdf
│ ├── README.md
│ ├── abstract_tests
│ └── README.md
│ ├── annex_ats.adoc
│ ├── annex_bibliography.adoc
│ ├── annex_history.adoc
│ ├── clause_00_front_material.adoc
│ ├── clause_01_scope.adoc
│ ├── clause_02_conformance.adoc
│ ├── clause_03_references.adoc
│ ├── clause_04_terms_and_definitions.adoc
│ ├── clause_05_conventions.adoc
│ ├── clause_06_search.adoc
│ ├── clause_07_multi-collection-search.adoc
│ ├── clause_08_stored_query.adoc
│ ├── clause_09_multi-collection-stored-query.adoc
│ ├── clause_10_parameterized-stored-query.adoc
│ ├── clause_11_parameterized-multi-collection-stored-query.adoc
│ ├── clause_12_parameterized-query-expression.adoc
│ ├── clause_13_query_expression.adoc
│ ├── clause_14_standing-query.adoc
│ ├── clause_15_oas.adoc
│ ├── clause_16_media_types.adoc
│ ├── clause_17_security_considerations.adoc
│ ├── examples.txt
│ ├── figures
│ └── README.md
│ ├── images
│ └── README.md
│ ├── recommendations
│ └── ogc-json-query-expression
│ │ └── REC_ogc-json-query-expression.adoc
│ ├── requirements
│ ├── multi-collection-search
│ │ ├── REQ_limit-definition.adoc
│ │ ├── REQ_limit-response.adoc
│ │ ├── REQ_post-body.adoc
│ │ ├── REQ_post-op.adoc
│ │ └── REQ_response.adoc
│ ├── multi-collection-stored-query
│ │ ├── REQ_delete-op.adoc
│ │ ├── REQ_delete-success.adoc
│ │ ├── REQ_get-op.adoc
│ │ ├── REQ_get-success.adoc
│ │ ├── REQ_limit-definition.adoc
│ │ ├── REQ_limit-response.adoc
│ │ ├── REQ_post-op.adoc
│ │ ├── REQ_put-body.adoc
│ │ ├── REQ_put-create-success.adoc
│ │ ├── REQ_put-create.adoc
│ │ ├── REQ_put-update-success.adoc
│ │ ├── REQ_put-update.adoc
│ │ ├── REQ_queries-op.adoc
│ │ └── REQ_queries-success.adoc
│ ├── ogc-json-query-expression
│ │ ├── REQ_crs.adoc
│ │ └── REQ_schema.adoc
│ ├── parameterized-multi-collection-stored-query
│ │ ├── REQ_parameter-define-body.adoc
│ │ ├── REQ_parameter-define-success.adoc
│ │ ├── REQ_parameter-define.adoc
│ │ ├── REQ_parameter-delete-success.adoc
│ │ ├── REQ_parameter-delete.adoc
│ │ ├── REQ_parameter-update-body.adoc
│ │ ├── REQ_parameter-update-success.adoc
│ │ ├── REQ_parameter-update.adoc
│ │ ├── REQ_parameters-op.adoc
│ │ └── REQ_parameters-success.adoc
│ ├── parameterized-query-expression
│ │ ├── REQ_substitution-variable.adoc
│ │ └── REQ_url-query-parameter.adoc
│ ├── parameterized-stored-query
│ │ ├── REQ_parameter-define-body.adoc
│ │ ├── REQ_parameter-define-success.adoc
│ │ ├── REQ_parameter-define.adoc
│ │ ├── REQ_parameter-delete-success.adoc
│ │ ├── REQ_parameter-delete.adoc
│ │ ├── REQ_parameter-update-body.adoc
│ │ ├── REQ_parameter-update-success.adoc
│ │ ├── REQ_parameter-update.adoc
│ │ ├── REQ_parameters-op.adoc
│ │ └── REQ_parameters-success.adoc
│ ├── requirements_class_geojson.adoc
│ ├── requirements_class_gmlsf0.adoc
│ ├── requirements_class_gmlsf2.adoc
│ ├── requirements_class_html.adoc
│ ├── requirements_class_multi-collection-search.adoc
│ ├── requirements_class_multi-collection-stored-query.adoc
│ ├── requirements_class_ogc-json-query-expression.adoc
│ ├── requirements_class_parameterized-multi-collection-stored-query.adoc
│ ├── requirements_class_parameterized-query-expression.adoc
│ ├── requirements_class_parameterized-stored-query.adoc
│ ├── requirements_class_search.adoc
│ ├── requirements_class_standing-query.adoc
│ ├── requirements_class_stored-query.adoc
│ ├── search
│ │ ├── REQ_limit-definition.adoc
│ │ ├── REQ_limit-response.adoc
│ │ ├── REQ_post-body.adoc
│ │ ├── REQ_post-op.adoc
│ │ └── REQ_response.adoc
│ ├── standing-query
│ │ ├── REQ_period.adoc
│ │ └── REQ_response-handler.adoc
│ └── stored-query
│ │ ├── REQ_delete-op.adoc
│ │ ├── REQ_delete-success.adoc
│ │ ├── REQ_get-op.adoc
│ │ ├── REQ_get-success.adoc
│ │ ├── REQ_immutablr
│ │ ├── REQ_limit-definition.adoc
│ │ ├── REQ_limit-response.adoc
│ │ ├── REQ_post-op.adoc
│ │ ├── REQ_put-body.adoc
│ │ ├── REQ_put-create-success.adoc
│ │ ├── REQ_put-create.adoc
│ │ ├── REQ_put-update-success.adoc
│ │ ├── REQ_put-update.adoc
│ │ ├── REQ_queries-op.adoc
│ │ └── REQ_queries-success.adoc
│ ├── schemas
│ └── query.json
│ └── standard.css
├── specification-elements
├── 17-069r3.csv
├── 17-069r4.csv
├── 18-058.csv
├── 18-058r1.csv
└── README.md
└── template
├── README.md
├── examples
├── json
│ └── README.md
└── xml
│ └── README.md
├── openapi
├── examples
│ └── README.md
├── parameters
│ └── README.md
├── responses
│ └── README.md
└── schemas
│ └── README.md
├── standard
├── 19-xxx.adoc
├── README.md
├── abstract_tests
│ ├── README.md
│ └── cc
│ │ └── TEST001.adoc
├── annex_ats.adoc
├── annex_bibliography.adoc
├── annex_history.adoc
├── annex_n.adoc
├── clause_0_front_material.adoc
├── clause_1_scope.adoc
├── clause_2_conformance.adoc
├── clause_3_references.adoc
├── clause_4_terms_and_definitions.adoc
├── clause_5_conventions.adoc
├── clause_6_cc.adoc
├── clause_7_media_types.adoc
├── clause_8_security_considerations.adoc
├── figures
│ └── README.md
├── images
│ └── README.md
├── recommendations
│ └── cc
│ │ ├── PER_per.adoc
│ │ └── REC_rec.adoc
├── requirements
│ ├── README.md
│ ├── cc
│ │ └── REQ_req.adoc
│ └── requirements_class_cc.adoc
└── standard.css
└── xml
├── core.xsd
└── wsdl
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | Thumbs.db
3 | *.code-workspace
4 | *.html
5 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | See the [OGC Principles of Conduct](https://www.ogc.org/ogc/policies/conduct)
2 |
--------------------------------------------------------------------------------
/core/examples/README.md:
--------------------------------------------------------------------------------
1 | # Examples
2 |
3 | The sub-folders contain examples of responses of implementations of
4 | OGC API - Features - Part 1: Core.
5 |
6 | * [OpenAPI 3.1 examples](openapi)
7 | * [JSON/GeoJSON examples](json)
8 | * [XML/GML examples](xml)
9 |
--------------------------------------------------------------------------------
/core/examples/json/ConformsTo.json:
--------------------------------------------------------------------------------
1 | {
2 | "conformsTo": [
3 | "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/core",
4 | "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/oas31",
5 | "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/html",
6 | "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/geojson"
7 | "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/gmlsf0"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/core/examples/xml/Api.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/core/openapi/parameters/collectionId.yaml:
--------------------------------------------------------------------------------
1 | name: collectionId
2 | in: path
3 | description: local identifier of a collection
4 | required: true
5 | schema:
6 | type: string
7 |
--------------------------------------------------------------------------------
/core/openapi/parameters/featureId.yaml:
--------------------------------------------------------------------------------
1 | name: featureId
2 | in: path
3 | description: local identifier of a feature
4 | required: true
5 | schema:
6 | type: string
7 |
--------------------------------------------------------------------------------
/core/openapi/schemas/collections.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - links
4 | - collections
5 | properties:
6 | links:
7 | type: array
8 | items:
9 | $ref: link.yaml
10 | collections:
11 | type: array
12 | items:
13 | $ref: collection.yaml
14 |
--------------------------------------------------------------------------------
/core/openapi/schemas/confClasses.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - conformsTo
4 | properties:
5 | conformsTo:
6 | type: array
7 | items:
8 | type: string
9 | example: "http://www.opengis.net/spec/ogcapi-features-1/1.1/conf/core"
10 |
--------------------------------------------------------------------------------
/core/openapi/schemas/geometryGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | oneOf:
2 | - $ref: 'pointGeoJSON.yaml'
3 | - $ref: 'multipointGeoJSON.yaml'
4 | - $ref: 'linestringGeoJSON.yaml'
5 | - $ref: 'multilinestringGeoJSON.yaml'
6 | - $ref: 'polygonGeoJSON.yaml'
7 | - $ref: 'multipolygonGeoJSON.yaml'
8 | - $ref: 'geometrycollectionGeoJSON.yaml'
9 |
--------------------------------------------------------------------------------
/core/openapi/schemas/geometrycollectionGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - geometries
5 | properties:
6 | type:
7 | type: string
8 | const: GeometryCollection
9 | geometries:
10 | type: array
11 | items:
12 | $ref: 'geometryGeoJSON.yaml'
--------------------------------------------------------------------------------
/core/openapi/schemas/landingPage.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - links
4 | properties:
5 | title:
6 | type: string
7 | example: Buildings in Bonn
8 | description:
9 | type: string
10 | example: Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.
11 | links:
12 | type: array
13 | items:
14 | $ref: link.yaml
15 |
--------------------------------------------------------------------------------
/core/openapi/schemas/linestringGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: LineString
9 | coordinates:
10 | type: array
11 | minItems: 2
12 | items:
13 | type: array
14 | minItems: 2
15 | items:
16 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/link.yaml:
--------------------------------------------------------------------------------
1 | allOf:
2 | - $ref: 'linkBase.yaml'
3 | - type: object
4 | required:
5 | - href
6 | properties:
7 | href:
8 | type: string
9 | description: The URI of the link target.
10 | example: https://data.example.com/buildings/123
11 |
--------------------------------------------------------------------------------
/core/openapi/schemas/multilinestringGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: MultiLineString
9 | coordinates:
10 | type: array
11 | items:
12 | type: array
13 | minItems: 2
14 | items:
15 | type: array
16 | minItems: 2
17 | items:
18 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/multipointGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: MultiPoint
9 | coordinates:
10 | type: array
11 | items:
12 | type: array
13 | minItems: 2
14 | items:
15 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/multipolygonGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: MultiPolygon
9 | coordinates:
10 | type: array
11 | items:
12 | type: array
13 | items:
14 | type: array
15 | minItems: 4
16 | items:
17 | type: array
18 | minItems: 2
19 | items:
20 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/numberMatched.yaml:
--------------------------------------------------------------------------------
1 | description: |-
2 | The number of features of the feature type that match the selection
3 | parameters like `bbox`.
4 | type: integer
5 | minimum: 0
6 | example: 127
7 |
--------------------------------------------------------------------------------
/core/openapi/schemas/numberReturned.yaml:
--------------------------------------------------------------------------------
1 | description: |-
2 | The number of features in the feature collection.
3 |
4 | A server may omit this information in a response, if the information
5 | about the number of features is not known or difficult to compute.
6 |
7 | If the value is provided, the value shall be identical to the number
8 | of items in the "features" array.
9 | type: integer
10 | minimum: 0
11 | example: 10
12 |
--------------------------------------------------------------------------------
/core/openapi/schemas/pointGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: Point
9 | coordinates:
10 | type: array
11 | minItems: 2
12 | items:
13 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/polygonGeoJSON.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - type
4 | - coordinates
5 | properties:
6 | type:
7 | type: string
8 | const: Polygon
9 | coordinates:
10 | type: array
11 | items:
12 | type: array
13 | minItems: 4
14 | items:
15 | type: array
16 | minItems: 2
17 | items:
18 | type: number
--------------------------------------------------------------------------------
/core/openapi/schemas/timeStamp.yaml:
--------------------------------------------------------------------------------
1 | description: This property indicates the time and date when the response was generated.
2 | type: string
3 | format: date-time
4 | example: '2017-08-17T08:05:32Z'
5 |
--------------------------------------------------------------------------------
/core/standard/ISO19168_draft_ogc.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/core/standard/ISO19168_draft_ogc.docx
--------------------------------------------------------------------------------
/core/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 1 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/core/standard/abstract_tests/core/ATS_fc-timeStamp.adoc:
--------------------------------------------------------------------------------
1 | [[ats_core_fc-timeStamp]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Abstract Test {counter:ats-id}* |*/conf/core/fc-timeStamp*
5 | ^|Test Purpose |Validate the timeStamp parameter returned with a Features response
6 | ^|Requirement |<>
7 | ^|Test Method |Validate that the `timeStamp` value is set to the time when the response was generated.
8 | |===
9 |
--------------------------------------------------------------------------------
/core/standard/abstract_tests/html/ATS_definition.adoc:
--------------------------------------------------------------------------------
1 | [[ats_html_definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Abstract Test {counter:ats-id}* |*/conf/html/definition*
5 | ^|Test Purpose |Verify support for HTML
6 | ^|Requirement |<>
7 | ^|Test Method |Verify that every `200`-response of every operation of the API where HTML was requested is of media type `text/html`
8 | |===
9 |
--------------------------------------------------------------------------------
/core/standard/abstract_tests/oas30/ATS_definition-2.adoc:
--------------------------------------------------------------------------------
1 | [[ats_oas30_oas-definition-2]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Abstract Test {counter:ats-id}* |*/conf/oas31/oas-definition-2*
5 | ^|Test Purpose |Verify that the OpenAPI document is valid JSON.
6 | ^|Requirement |<>
7 | ^|Test Method |Verify that the JSON representation conforms to the <>.
8 | |===
9 |
--------------------------------------------------------------------------------
/core/standard/abstract_tests/oas31/ATS_definition-2.adoc:
--------------------------------------------------------------------------------
1 | [[ats_oas31_oas-definition-2]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Abstract Test {counter:ats-id}* |*/conf/oas31/oas-definition-2*
5 | ^|Test Purpose |Verify that the OpenAPI document is valid JSON.
6 | ^|Requirement |<>
7 | ^|Test Method |Verify that the JSON representation conforms to the <>.
8 | |===
9 |
--------------------------------------------------------------------------------
/core/standard/images/clause_4_terms_and_definitions-2028d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/core/standard/images/clause_4_terms_and_definitions-2028d.png
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_additional-status-codes.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_additional-status-codes]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/additional-status-codes*
5 | ^|A |Servers MAY support other capabilities of the HTTP protocol and, therefore, MAY return other status codes than those listed in <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_f-id.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_f-id]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/f-id*
5 | ^|A |The Core requirements class only requires that the feature URI is unique. Implementations MAY apply stricter rules and, for example, use unique `id` values per dataset or collection.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-bbox-default.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-bbox-default]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-bbox-default*
5 | ^|A |The `bbox` parameter MAY specify a default value.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-filters-default.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-filters-default]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-time-default*
5 | ^|A |A parameter definition based on a feature property MAY specify a default value.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-limit-default-minimum-maximum.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-limit-default-minimum-maximum]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-limit-default-minimum-maximum*
5 | ^|A |The values for `minimum`, `maximum` and `default` in requirement `/req/core/fc-limit-definition` are only examples and MAY be changed.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-limit-response-2.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-limit-response-2]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-limit-response-2*
5 | ^|A |The server MAY return less features than requested (but not more).
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-md-items.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-md-items]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-md-items*
5 | ^|A |To support servers with many collections, servers MAY limit the number of items in the property `collections`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-prev.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-prev]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-prev*
5 | ^|A |A response to a `next` link MAY include a `prev` link to the resource that included the `next` link.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/PER_fc-time-default.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_fc-time-default]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/fc-time-default*
5 | ^|A |The `datetime` parameter MAY specify a default value.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_cross-origin.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_cross-origin]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/cross-origin*
5 | ^|A |If the server is intended to be accessed from the browser, cross-origin requests SHOULD be supported. Note that support can also be added in a proxy layer on top of the server.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_etag.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_etag]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/etag*
5 | ^|A |The service SHOULD support entity tags and the associated headers as specified by HTTP/1.1.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_fc-md-self-links.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_fc-md-self-links]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/fc-md-self-links*
5 | ^|A |For each feature collection included in the response, the `links` property of the collection SHOULD include a link to the URI of the feature collection (relation: `self`).
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_fc-next-1.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_fc-next-1]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/fc-next-1*
5 | ^|A |A `200`-response SHOULD include a link to the next "page" (relation: `next`), if more features have been selected than returned in the response.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_fc-next-2.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_fc-next-2]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/fc-next-2*
5 | ^|A |Dereferencing a `next` link SHOULD return additional features from the set of selected features that have not yet been returned.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_fc-next-3.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_fc-next-3]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/fc-next-3*
5 | ^|A |The number of features in a response to a `next` link SHOULD follow the same rules as for the response to the original query and again include a `next` link, if there are more features in the selection that have not yet been returned.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_geojson.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_geojson]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/geojson*
5 | ^|A |If the feature data can be represented for the intended use in GeoJSON, implementations SHOULD consider to support GeoJSON as an encoding for features and feature collections.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_head.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_head]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/head*
5 | ^|A |The server SHOULD support the HTTP 1.1 method HEAD for all resources that support the method GET.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_html.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_html]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/html*
5 | ^|A |To support browsing the dataset and its features with a web browser and to enable search engines to crawl and index the dataset, implementations SHOULD consider to support an HTML encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_rfc3339.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_rfc3339]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/rfc3339*
5 | ^|A |RFC 3339 SHOULD also be used for feature properties that are temporal instants or intervals, where applicable, but feature properties MAY be represented in another format or in other temporal coordinate reference systems, too.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_rfc9457.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_rfc9457]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/rfc9457*
5 | ^|A |Errors in requests SHOULD be reported in accordance with <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_root-links.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_root-links]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendations {counter:rec-id}* |*/req/core/root-links*
5 | ^|A |A `200`-response SHOULD include the following links in the `links` property of the response:
6 |
7 | * a link to this response document (relation: `self`),
8 | * a link to the response document in every other media type supported by the server (relation: `alternate`).
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/recomendations/core/REC_string_i18n.adoc:
--------------------------------------------------------------------------------
1 | [[rec_core_string-i18n]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/core/string-i18n*
5 | ^|A |For encodings that support string internationalization, the server SHOULD include information about the language for each string value that includes linguistic text.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/recomendations/html/REC_schema-org.adoc:
--------------------------------------------------------------------------------
1 | [[rec_html_schema-org]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/html/schema-org*
5 | ^|A |A `200`-response with the media type `text/html`, SHOULD include <> annotations.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_api-definition-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_api-definition-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/api-definition-op*
5 | ^|A |The URIs of all API definitions referenced from the landing page SHALL support the HTTP GET method.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_conformance-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_conformance-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/conformance-op*
5 | ^|A |The server SHALL support the HTTP GET operation at the path `/conformance`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_f-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_f-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/f-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-links.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-links]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-links*
5 | ^|A |A `200`-response SHALL include the following links:
6 |
7 | * a link to this response document (relation: `self`),
8 | * a link to the response document in every other media type supported by the service (relation: `alternate`).
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-md-items.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-md-items]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-md-items*
5 | ^|A |For each feature collection provided by the server, an item SHALL be provided in the property `collections`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-md-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-md-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-md-op*
5 | ^|A |The server SHALL support the HTTP GET operation at the path `/collections`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-rel-type.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-rel-type]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-rel-type*
5 | ^|A |All links in a `200`-response where `rel` is `self`, `alternate`, `next`, or `prev` SHALL include the `type` link parameter.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-response.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-response]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-response*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | ^|B |The response SHALL only include features selected by the request.
7 | |===
8 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_fc-timeStamp.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_fc-timeStamp]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/fc-timeStamp*
5 | ^|A |If a property `timeStamp` is included in the response, the value SHALL be set to the time stamp when the response was generated.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_http.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_http]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/http*
5 | ^|A |The server SHALL conform to <> and <>.
6 | ^|B |If the server supports HTTPS, the server SHALL also conform to <>.
7 | |===
8 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_query-param-invalid.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_query-param-invalid]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/query-param-invalid*
5 | ^|A |The server SHALL respond with a response with the status code `400`, if the request URI includes a query parameter that has an invalid value.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_query-param-unknown.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_query-param-unknown]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/query-param-unknown*
5 | ^|A |The server SHALL respond with a response with the status code `400`, if the request URI includes a query parameter that is not specified in the API definition.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_root-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_root-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/root-op*
5 | ^|A |The server SHALL support the HTTP GET operation at the path `/`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/core/REQ_sfc-md-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_sfc-md-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/sfc-md-op*
5 | ^|A |The server SHALL support the HTTP GET operation at the path `/collections/{collectionId}`.
6 | ^|B |The parameter `collectionId` is each `id` property in the feature collections response (JSONPath: `$.collections[*].id`).
7 | |===
8 |
--------------------------------------------------------------------------------
/core/standard/requirements/geojson/REQ_definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_geojson_definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/geojson/definition*
5 | ^|A |`200`-responses of the server SHALL support the following media types:
6 |
7 | * `application/geo+json` for resources that include feature content, and
8 | * `application/json` for all other resources.
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/gmlsf0/REQ_definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_gmlsf0_definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/gmlsf0/definition*
5 | ^|A |`200`-responses of the server SHALL support the following media types:
6 |
7 | * `application/gml+xml; version=3.2; profile="http://www.opengis.net/def/profile/ogc/2.0/gml-sf0"` for resources that include feature content,
8 | * `application/xml` for all other resources.
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/gmlsf2/REQ_definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_gmlsf2_definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/gmlsf2/definition*
5 | ^|A |`200`-responses of the server SHALL support the following media types:
6 |
7 | * `application/gml+xml; version=3.2; profile="http://www.opengis.net/def/profile/ogc/2.0/gml-sf2"` for resources that include feature content,
8 | * `application/xml` for all other resources.
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/gmlsf2/REQ_headers.adoc:
--------------------------------------------------------------------------------
1 | [[req_gmlsf2_headers]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/gmlsf2/headers*
5 | ^|A |The <> applies.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/html/REQ_definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_html_definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/html/definition*
5 | ^|A |Every `200`-response of an operation of the server SHALL support the media type `text/html`.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas/REQ_completeness.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas_completeness]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* | */req/oas/completeness*
5 | ^|A |The OpenAPI definition SHALL specify for each operation all HTTP Status Codes and Response Objects that the server uses in responses. This includes the successful execution of an operation as well as all error situations that originate from the server.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas/REQ_exception-codes.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas_exceptions-codes]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* | */req/oas/exceptions-codes*
5 | ^|A |For error situations that originate from the server, the API definition SHALL cover all applicable HTTP Status Codes.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas/REQ_oas-impl.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas_oas-impl]]
2 | [width="90%",cols="2,6"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/oas/oas-impl*
5 | ^|A |The server SHALL implement all capabilities specified in the OpenAPI definition.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas/REQ_security.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas_security]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/oas/security*
5 | ^|A |For cases, where the operations of the server are access-controlled, the security scheme(s) SHALL be documented in the OpenAPI definition.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas30/REQ_oas-definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas30_oas-definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* | */req/oas30/oas-definition*
5 | ^|A |The JSON representation SHALL conform to the <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/oas31/REQ_oas-definition.adoc:
--------------------------------------------------------------------------------
1 | [[req_oas31_oas-definition]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* | */req/oas31/oas-definition*
5 | ^|A |The JSON representation SHALL conform to the <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_geojson.adoc:
--------------------------------------------------------------------------------
1 | [[rc_geojson]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/geojson
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_gmlsf0.adoc:
--------------------------------------------------------------------------------
1 | [[rc_gmlsf0]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/gmlsf0
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_gmlsf2.adoc:
--------------------------------------------------------------------------------
1 | [[rc_gmlsf2]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/gmlsf2
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_html.adoc:
--------------------------------------------------------------------------------
1 | [[rc_html]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/html
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |Dependency |<>
10 | |===
11 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_oas.adoc:
--------------------------------------------------------------------------------
1 | [[rc_oas]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/oas
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_oas30.adoc:
--------------------------------------------------------------------------------
1 | [[rc_oas30]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/oas30
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/core/standard/requirements/requirements_class_oas31.adoc:
--------------------------------------------------------------------------------
1 | [[rc_oas31]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.1/req/oas31
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/cql2/cql2-cc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/cql2-cc.png
--------------------------------------------------------------------------------
/cql2/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 3 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/cql2/standard/clause_9_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | No media type has been registered for the CQL2 encodings. The reason is the assumption that filter expressions as such will rarely be used as
5 | standalone documents, but usually be part of another document, e.g. a HTTP request or response, and be embedded in it.
6 |
--------------------------------------------------------------------------------
/cql2/standard/data/ne110m4cql2.gpkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/data/ne110m4cql2.gpkg
--------------------------------------------------------------------------------
/cql2/standard/images/DE9IM_Matrix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/DE9IM_Matrix.png
--------------------------------------------------------------------------------
/cql2/standard/images/crosses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/crosses.png
--------------------------------------------------------------------------------
/cql2/standard/images/overlaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/overlaps.png
--------------------------------------------------------------------------------
/cql2/standard/images/temporal_ops.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/temporal_ops.png
--------------------------------------------------------------------------------
/cql2/standard/images/touches.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/touches.png
--------------------------------------------------------------------------------
/cql2/standard/images/within.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/cql2/standard/images/within.png
--------------------------------------------------------------------------------
/cql2/standard/recommendations/accent-insensitive-comparison/REC_special_japanese_non_spacing_marks.adoc:
--------------------------------------------------------------------------------
1 | [[rec_accent-insensitive-comparison_japanese-non-spacing-marks]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/accent-insensitive-comparison/japanese-non-spacing-marks*
5 | Implementations of the ACCENTI() function SHOULD not remove the Japanese non-spacing marks dakuten U+3099[ ゛] and handakuten U+309A[゜].
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/recommendations/advanced-comparison-operators/PER_like-predicate.adoc:
--------------------------------------------------------------------------------
1 | [[per_advanced-comparison-operators_like-predicate]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/advanced-comparison-operators/like-predicate*
5 | ^|A |The server MAY not support `characterLiteral` as the character expression (rule `characterExpression`) in rule `isLikePredicate`.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/recommendations/array-functions/PER_array-predicates.adoc:
--------------------------------------------------------------------------------
1 | [[per_array-predicates]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/array-functions/array-predicates*
5 | ^|A |The server MAY not support an `array` as the first operand (rule `arrayExpression`) in rule `arrayPredicate`.
6 | ^|B |The server MAY not support a `propertyName` as the second operand (rule `arrayOperand`) in rule `arrayPredicate`.
7 | |===
8 |
--------------------------------------------------------------------------------
/cql2/standard/recommendations/basic-cql2/PER_type-casts.adoc:
--------------------------------------------------------------------------------
1 | [[per_basic-cql2_type-casts]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/basic-cql2/type-casts*
5 | ^|A |If an operator or function has operands that have incompatible data types, the server MAY either return an error or it MAY cast the operands to compatible data types.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/recommendations/basic-spatial-functions/PER_spatial-data-types.adoc:
--------------------------------------------------------------------------------
1 | [[per_basic-spatial-functions_spatial-data-types]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/basic-spatial-functions/spatial-data-types*
5 | ^|A |The server MAY only support `pointTaggedText` and `bboxTaggedText` in rule `spatialInstance`.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/basic-cql2/REQ_property.adoc:
--------------------------------------------------------------------------------
1 | [[req_basic-cql2_property]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/basic-cql2/property*
5 | ^|A |The property name (rule `propertyName`) SHALL be a queryable of the data.
6 | ^|B |The property name reference SHALL evaluate to its corresponding value, or `NULL` if unset.
7 | |===
8 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/basic-spatial-functions-plus/REQ_spatial-data-types.adoc:
--------------------------------------------------------------------------------
1 | [[req_basic-spatial-functions-plus_spatial-data-types]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/basic-spatial-functions-plus/spatial-data-types*
5 | ^|A |The server SHALL support all spatial literals as defined by the BNF rule `spatialInstance` in <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/cql2-text/REQ_basic-cql2.adoc:
--------------------------------------------------------------------------------
1 | [[req_cql2-text_basic-cql2]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/cql2-text/basic-cql2*
5 | ^|A |The server SHALL be able to parse and evaluate all filter expressions encoded as a text string that validate against the BNF rules identified in the <> requirements class.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/functions/REQ_get-functions-operation.adoc:
--------------------------------------------------------------------------------
1 | [[req_functions_get-functions-operation]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/functions/get-functions-operation*
5 | ^|A |A server SHALL support the HTTP GET operation at the `/functions` path.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_accent-insensitive-comparison.adoc:
--------------------------------------------------------------------------------
1 | [[rc_accent-insensitive-comparison]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/accent-insensitive-comparison
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_advanced_comparison_operators.adoc:
--------------------------------------------------------------------------------
1 | [[rc_advanced-comparison-operators]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/advanced-comparison-operators
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_arithmetic.adoc:
--------------------------------------------------------------------------------
1 | [[rc_arithmetic]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/arithmetic
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_array-functions.adoc:
--------------------------------------------------------------------------------
1 | [[rc_array-functions]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/array-functions
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_case-insensitive-comparison.adoc:
--------------------------------------------------------------------------------
1 | [[rc_case-insensitive-comparison]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/case-insensitive-comparison
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_functions.adoc:
--------------------------------------------------------------------------------
1 | [[rc_functions]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/functions
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/requirements_class_temporal-functions.adoc:
--------------------------------------------------------------------------------
1 | [[rc_temporal-functions]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/cql2/1.0/req/temporal-functions
6 | |Target type |Servers that evaluate filter expressions
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/cql2/standard/requirements/spatial-functions/REQ_spatial-functions.adoc:
--------------------------------------------------------------------------------
1 | [[req_spatial-functions_spatial-functions]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/spatial-functions/spatial-functions*
5 | ^|A |The server SHALL support all standardized spatial comparison functions as defined by the BNF rule `spatialFunction` in <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_01.json:
--------------------------------------------------------------------------------
1 | { "op": "avg", "args": [ { "property": "windSpeed" } ] }
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_02a.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "property": "city" },
5 | "Toronto"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_02b.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<",
3 | "args": [
4 | {
5 | "op": "avg",
6 | "args": [ { "property": "windSpeed" } ]
7 | },
8 | 4
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_02c.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">",
3 | "args": [
4 | {
5 | "op": "-",
6 | "args": [
7 | { "property": "balance" },
8 | 150.0
9 | ]
10 | },
11 | 0
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_02d.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">=",
3 | "args": [
4 | { "property": "updated" },
5 | { "date": "1970-01-01" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause6_03.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "isNull",
6 | "args": [ { "property": "geometry" } ]
7 | }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_01.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "name" },
5 | "Smith%"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_02.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "between",
3 | "args": [
4 | { "property": "depth" },
5 | 100.0,
6 | 150.0
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_03a.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | { "property": "cityName" },
5 | [ "Toronto", "Frankfurt", "Tokyo", "New York" ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_03b.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "in",
6 | "args": [
7 | { "property": "category" },
8 | [ 1, 2, 3, 4 ]
9 | ]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_04.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | {
5 | "op": "casei",
6 | "args": [ { "property": "road_class" } ]
7 | },
8 | [
9 | { "op": "casei", "args": [ "Οδος" ] },
10 | { "op": "casei", "args": [ "Straße" ] }
11 | ]
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_05.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | {
5 | "op": "accenti",
6 | "args": [ { "property": "etat_vol" } ]
7 | },
8 | {
9 | "op": "accenti",
10 | "args": [ "débárquér" ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_07.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_intersects",
3 | "args": [
4 | { "property": "geometry" },
5 | {
6 | "type": "Point",
7 | "coordinates": [ 36.319836, 32.288087 ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_12.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_intersects",
3 | "args": [
4 | { "property": "event_time" },
5 | { "interval": [ "1969-07-16T05:32:00Z", "1969-07-24T16:50:35Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_13.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_during",
3 | "args": [
4 | { "interval": [ { "property": "touchdown" }, { "property": "liftOff" } ] },
5 | { "interval": [ "1969-07-16T13:32:00Z", "1969-07-24T16:50:35Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_15.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "a_contains",
3 | "args": [
4 | { "property": "layer:ids" },
5 | [ "layers-ca", "layers-us" ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_17.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_during",
3 | "args": [
4 | { "interval": [ "1969-07-20T20:17:40Z", "1969-07-21T17:54:00Z" ] },
5 | { "interval": [ "1969-07-16T13:32:00Z", "1969-07-24T16:50:35Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_18.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_within",
3 | "args": [
4 | { "property": "road" },
5 | {
6 | "op": "Buffer",
7 | "args": [
8 | { "property": "geometry" },
9 | 10,
10 | "m"
11 | ]
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/clause7_19.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">",
3 | "args": [
4 | { "property": "vehicle_height" },
5 | {
6 | "op": "-",
7 | "args": [
8 | { "property": "bridge_clearance" },
9 | 1
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example01.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "property": "landsat:scene_id" },
5 | "LC82030282019133LGN00"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example02.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "eo:instrument" },
5 | "OLI%"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example03.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | { "property": "landsat:wrs_path" },
5 | [ "153", "154", "15X" ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example05a.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "or",
3 | "args": [
4 | {
5 | "op": "=",
6 | "args": [
7 | { "property": "eo:cloud_cover" },
8 | 0.1
9 | ]
10 | },
11 | {
12 | "op": "=",
13 | "args": [
14 | { "property": "eo:cloud_cover" },
15 | 0.2
16 | ]
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example05b.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | { "property": "eo:cloud_cover" },
5 | [ 0.1, 0.2 ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example09.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">",
3 | "args": [
4 | { "property": "floors" },
5 | 5
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example10.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<=",
3 | "args": [
4 | { "property": "taxes" },
5 | 500
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example11.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "owner" },
5 | "%Jones%"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example12.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "owner" },
5 | "Mike%"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example13.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "like",
6 | "args": [
7 | { "property": "owner" },
8 | "%Mike%"
9 | ]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example14.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "property": "swimming_pool" },
5 | true
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example15.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "and",
3 | "args": [
4 | {
5 | "op": ">",
6 | "args": [
7 | { "property": "floors" },
8 | 5
9 | ]
10 | },
11 | {
12 | "op": "=",
13 | "args": [
14 | { "property": "swimming_pool" },
15 | true
16 | ]
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example20.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_before",
3 | "args": [
4 | { "property": "built" },
5 | { "date": "2015-01-01" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example21.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_after",
3 | "args": [
4 | { "property": "built" },
5 | { "date": "2012-06-05" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example22.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_during",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "2017-06-10T07:30:00Z", "2017-06-11T10:30:00Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example23.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_within",
3 | "args": [
4 | { "property": "location" },
5 | { "bbox": [ -118, 33.8, -117.9, 34 ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example24.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_intersects",
3 | "args": [
4 | { "property": "geometry" },
5 | {
6 | "type": "Polygon",
7 | "coordinates": [ [ [ -10, -10 ], [ 10, -10 ], [ 10, 10 ], [ -10, -10 ] ] ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example25.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "and",
3 | "args": [
4 | {
5 | "op": ">",
6 | "args": [
7 | { "property": "floors" },
8 | 5
9 | ]
10 | },
11 | {
12 | "op": "s_within",
13 | "args": [
14 | { "property": "geometry" },
15 | { "bbox": [ -118, 33.8, -117.9, 34 ] }
16 | ]
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example26.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | { "op": "casei", "args": [ { "property": "road_class" } ] },
5 | [
6 | { "op": "casei", "args": [ "Οδος" ] },
7 | { "op": "casei", "args": [ "Straße" ] }
8 | ]
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example27.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "op": "accenti", "args": [ { "property": "etat_vol" } ] },
5 | { "op": "accenti", "args": [ "débárquér" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example28.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "op": "casei", "args": [ { "property": "geophys:SURVEY_NAME" } ] },
5 | { "op": "casei", "args": [ "%calcutta%" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example29.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "property": "id" },
5 | "fa7e1920-9107-422d-a3db-c468cbc5d6df"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example30.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<>",
3 | "args": [
4 | { "property": "id" },
5 | "fa7e1920-9107-422d-a3db-c468cbc5d6df"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example31.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<",
3 | "args": [
4 | { "property": "value" },
5 | 10
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example32.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">",
3 | "args": [
4 | { "property": "value" },
5 | 10
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example33.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<=",
3 | "args": [
4 | { "property": "value" },
5 | 10
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example34.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">=",
3 | "args": [
4 | { "property": "value" },
5 | 10
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example35.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "name" },
5 | "foo%"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example36.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "like",
6 | "args": [
7 | { "property": "name" },
8 | "foo%"
9 | ]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example37.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "between",
3 | "args": [
4 | { "property": "value" },
5 | 10, 20
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example38.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "between",
6 | "args": [
7 | { "property": "value" },
8 | 10, 20
9 | ]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example39.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "in",
3 | "args": [
4 | { "property": "value" },
5 | [ 1.0, 2.0, 3.0 ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example40.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "in",
6 | "args": [
7 | { "property": "value" },
8 | [ "a", "b", "c" ]
9 | ]
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example41.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "isNull",
3 | "args": [ { "property": "value" } ]
4 | }
5 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example42.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "not",
3 | "args": [
4 | {
5 | "op": "isNull",
6 | "args": [ { "property": "value" } ]
7 | }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example44.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "or",
3 | "args": [
4 | {
5 | "op": "isNull",
6 | "args": [ { "property": "value" } ]
7 | },
8 | {
9 | "op": "between",
10 | "args": [
11 | { "property": "value" },
12 | 10, 20
13 | ]
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example45.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_intersects",
3 | "args": [
4 | { "property": "geometry" },
5 | { "bbox": [ -128.098193, -1.1, -99999.0, 180.0, 90.0, 100000.0 ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example47.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_disjoint",
3 | "args": [
4 | { "property": "geometry" },
5 | {
6 | "type": "MultiPolygon",
7 | "coordinates": [ [ [ [ 144.022387, 45.176126 ],
8 | [ -1.1, 0.0 ],
9 | [ 180.0, 47.808086 ],
10 | [ 144.022387, 45.176126 ] ] ] ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example50.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_overlaps",
3 | "args": [
4 | { "property": "geometry" },
5 | { "bbox": [ -179.912109, 1.9, 180.0, 16.897016 ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example52.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_contains",
3 | "args": [
4 | { "property": "geometry" },
5 | {
6 | "type": "Point",
7 | "coordinates": [ -3.508362, -1.754181 ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example53.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_after",
3 | "args": [
4 | { "property": "updated_at" },
5 | { "date": "2010-02-10" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example54.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_before",
3 | "args": [
4 | { "property": "updated_at" },
5 | { "timestamp": "2012-08-10T05:30:00Z" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example55.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_contains",
3 | "args": [
4 | { "interval": [ "2000-01-01T00:00:00Z", "2005-01-10T01:01:01.393216Z" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 |
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example56.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_disjoint",
3 | "args": [
4 | { "interval": [ "..", "2005-01-10T01:01:01.393216Z" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example57.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_during",
3 | "args": [
4 | {"interval": [{ "property": "starts_at" }, { "property": "ends_at" }]},
5 | {"interval": ["2005-01-10", "2010-02-10"]
6 | }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example58.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_equals",
3 | "args": [
4 | { "property": "updated_at" },
5 | { "date": "1851-04-29" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example59.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_finishedBy",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "1991-10-07T08:21:06.393262Z", "2010-02-10T05:29:20.073225Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example60.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_finishes",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "1991-10-07", "2010-02-10T05:29:20.073225Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example61.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_intersects",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "1991-10-07T08:21:06.393262Z", "2010-02-10T05:29:20.073225Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example62.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_meets",
3 | "args": [
4 | { "interval": [ "2005-01-10", "2010-02-10" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example63.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_metBy",
3 | "args": [
4 | { "interval": [ "2010-02-10T05:29:20.073225Z", "2010-10-07" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example64.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_overlappedBy",
3 | "args": [
4 | { "interval": [ "1991-10-07T08:21:06.393262Z", "2010-02-10T05:29:20.073225Z" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example65.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_overlaps",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "1991-10-07T08:21:06.393262Z", "1992-10-09T08:08:08.393473Z" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example66.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_startedBy",
3 | "args": [
4 | { "interval": [ "1991-10-07T08:21:06.393262Z", "2010-02-10T05:29:20.073225Z" ] },
5 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example67.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "t_starts",
3 | "args": [
4 | { "interval": [ { "property": "starts_at" }, { "property": "ends_at" } ] },
5 | { "interval": [ "1991-10-07T08:21:06.393262Z", ".." ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example68.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | {
5 | "op": "Foo",
6 | "args": [ { "property": "geometry" } ]
7 | },
8 | true
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example69.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<>",
3 | "args": [
4 | false,
5 | {
6 | "op": "Bar",
7 | "args": [ { "property": "geometry" }, 100, "a", "b", false ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example70.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "op": "accenti", "args": [ { "property": "owner" } ] },
5 | { "op": "accenti", "args": [ "Beyoncé" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example71.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "op": "casei", "args": [ { "property": "owner" } ] },
5 | { "op": "casei", "args": [ "somebody else" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example72.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": ">",
3 | "args": [
4 | { "property": "value" },
5 | {
6 | "op": "+",
7 | "args": [
8 | { "property": "foo" },
9 | 10
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example73.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<",
3 | "args": [
4 | { "property": "value" },
5 | {
6 | "op": "-",
7 | "args": [
8 | { "property": "foo" },
9 | 10
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example74.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<>",
3 | "args": [
4 | { "property": "value" },
5 | {
6 | "op": "*",
7 | "args": [
8 | 22.1,
9 | { "property": "foo" }
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example75.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | { "property": "value" },
5 | {
6 | "op": "/",
7 | "args": [
8 | 2,
9 | { "property": "foo" }
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example76.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "<=",
3 | "args": [
4 | { "property": "value" },
5 | {
6 | "op": "^",
7 | "args": [ 2, { "property": "foo" } ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example77.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | 0,
5 | {
6 | "op": "%",
7 | "args": [ { "property": "foo" }, 2 ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example78.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "=",
3 | "args": [
4 | 1,
5 | {
6 | "op": "div",
7 | "args": [ { "property": "foo" }, 2 ]
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example79.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "a_containedBy",
3 | "args": [
4 | { "property": "values" },
5 | [ "a", "b", "c" ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example80.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "a_contains",
3 | "args": [
4 | { "property": "values" },
5 | [ "a", "b", "c" ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example81.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "a_equals",
3 | "args": [
4 | [ "a", true, 1.0, 8 ],
5 | { "property": "values" }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example82.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "a_overlaps",
3 | "args": [
4 | { "property": "values" },
5 | [ { "timestamp": "2012-08-10T05:30:00Z" }, { "date": "2010-02-10" }, false ]
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example83.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "s_equals",
3 | "args": [
4 | {
5 | "type": "MultiPoint",
6 | "coordinates": [ [ 180.0, -0.5 ],
7 | [ 179.0, -47.121701 ],
8 | [ 180.0, -0.0 ],
9 | [ 33.470475, -0.99999 ],
10 | [ 179.0, -15.333062 ] ]
11 | },
12 | { "property": "geometry" }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/example86.json:
--------------------------------------------------------------------------------
1 | {
2 | "op": "like",
3 | "args": [
4 | { "property": "name" },
5 | { "op": "casei", "args": [ "FOO%" ] }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/json/validate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # validation using https://www.npmjs.com/package/ajv-cli
4 |
5 | # validate all examples
6 | for f in *.json
7 | do
8 | ajv validate -s "../../cql2.json" --spec=draft2020 --validateFormats=false --strict=true --errors=no -d $f
9 | done
10 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_01.txt:
--------------------------------------------------------------------------------
1 | avg(windSpeed)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_02a.txt:
--------------------------------------------------------------------------------
1 | city='Toronto'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_02b.txt:
--------------------------------------------------------------------------------
1 | avg(windSpeed) < 4
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_02c.txt:
--------------------------------------------------------------------------------
1 | balance-150.0 > 0
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_02d.txt:
--------------------------------------------------------------------------------
1 | updated >= date('1970-01-01')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause6_03.txt:
--------------------------------------------------------------------------------
1 | geometry IS NOT NULL
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_01.txt:
--------------------------------------------------------------------------------
1 | name LIKE 'Smith%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_02.txt:
--------------------------------------------------------------------------------
1 | depth BETWEEN 100.0 and 150.0
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_03a.txt:
--------------------------------------------------------------------------------
1 | cityName IN ('Toronto','Frankfurt','Tokyo','New York')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_03b.txt:
--------------------------------------------------------------------------------
1 | category NOT IN (1,2,3,4)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_04.txt:
--------------------------------------------------------------------------------
1 | CASEI(road_class) IN (CASEI('Οδος'),CASEI('Straße'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_05.txt:
--------------------------------------------------------------------------------
1 | ACCENTI(etat_vol) = ACCENTI('débárquér')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_07.txt:
--------------------------------------------------------------------------------
1 | S_INTERSECTS(geometry,POINT(36.319836 32.288087))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_12.txt:
--------------------------------------------------------------------------------
1 | T_INTERSECTS(event_time, INTERVAL('1969-07-16T05:32:00Z', '1969-07-24T16:50:35Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_13.txt:
--------------------------------------------------------------------------------
1 | T_DURING(INTERVAL(touchdown, liftOff), INTERVAL('1969-07-16T13:32:00Z', '1969-07-24T16:50:35Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_15.txt:
--------------------------------------------------------------------------------
1 | A_CONTAINS(layer:ids, ('layers-ca','layers-us'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_17.txt:
--------------------------------------------------------------------------------
1 | T_DURING(INTERVAL('1969-07-20T20:17:40Z', '1969-07-21T17:54:00Z'), INTERVAL('1969-07-16T13:32:00Z', '1969-07-24T16:50:35Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_18.txt:
--------------------------------------------------------------------------------
1 | S_WITHIN(road,Buffer(geometry,10,'m'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/clause7_19.txt:
--------------------------------------------------------------------------------
1 | vehicle_height > (bridge_clearance-1)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example01.txt:
--------------------------------------------------------------------------------
1 | landsat:scene_id = 'LC82030282019133LGN00'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example02.txt:
--------------------------------------------------------------------------------
1 | eo:instrument LIKE 'OLI%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example03.txt:
--------------------------------------------------------------------------------
1 | landsat:wrs_path IN ('153','154','15X')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example04.txt:
--------------------------------------------------------------------------------
1 | eo:cloud_cover < 0.1 AND landsat:wrs_row=28 AND landsat:wrs_path=203
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example05a.txt:
--------------------------------------------------------------------------------
1 | eo:cloud_cover=0.1 OR eo:cloud_cover=0.2
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example05b.txt:
--------------------------------------------------------------------------------
1 | eo:cloud_cover IN (0.1,0.2)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example06a.txt:
--------------------------------------------------------------------------------
1 | eo:cloud_cover BETWEEN 0.1 AND 0.2
2 | AND landsat:wrs_row=28
3 | AND landsat:wrs_path=203
4 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example06b.txt:
--------------------------------------------------------------------------------
1 | eo:cloud_cover >= 0.1
2 | AND eo:cloud_cover <= 0.2
3 | AND landsat:wrs_row=28
4 | AND landsat:wrs_path=203
5 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example09.txt:
--------------------------------------------------------------------------------
1 | floors>5
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example10.txt:
--------------------------------------------------------------------------------
1 | taxes <= 500
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example11.txt:
--------------------------------------------------------------------------------
1 | owner LIKE '%Jones%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example12.txt:
--------------------------------------------------------------------------------
1 | owner LIKE 'Mike%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example13.txt:
--------------------------------------------------------------------------------
1 | owner NOT LIKE '%Mike%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example14.txt:
--------------------------------------------------------------------------------
1 | swimming_pool = true
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example15.txt:
--------------------------------------------------------------------------------
1 | floors>5 AND swimming_pool=true
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example16.txt:
--------------------------------------------------------------------------------
1 | swimming_pool=true AND (floors>5
2 | OR material LIKE 'brick%'
3 | OR material LIKE '%brick')
4 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example17.txt:
--------------------------------------------------------------------------------
1 | (floors>5 AND material='brick') OR swimming_pool=true
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example18.txt:
--------------------------------------------------------------------------------
1 | NOT (floors<5) OR swimming_pool=true
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example19.txt:
--------------------------------------------------------------------------------
1 | (owner LIKE 'mike%' OR owner LIKE 'Mike%') AND floors<4
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example20.txt:
--------------------------------------------------------------------------------
1 | T_BEFORE(built, DATE('2015-01-01'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example21.txt:
--------------------------------------------------------------------------------
1 | T_AFTER(built,DATE('2012-06-05'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example22.txt:
--------------------------------------------------------------------------------
1 | T_DURING(INTERVAL(starts_at, ends_at), INTERVAL('2017-06-10T07:30:00Z', '2017-06-11T10:30:00Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example23.txt:
--------------------------------------------------------------------------------
1 | S_WITHIN(location,BBOX(-118,33.8,-117.9,34))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example24.txt:
--------------------------------------------------------------------------------
1 | S_INTERSECTS(geometry,POLYGON((-10.0 -10.0,10.0 -10.0,10.0 10.0,-10.0 -10.0)))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example25.txt:
--------------------------------------------------------------------------------
1 | floors>5 AND S_WITHIN(geometry,BBOX(-118,33.8,-117.9,34))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example26.txt:
--------------------------------------------------------------------------------
1 | CASEI(road_class) IN (CASEI('Οδος'),CASEI('Straße'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example27.txt:
--------------------------------------------------------------------------------
1 | ACCENTI(etat_vol) = ACCENTI('débárquér')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example28.txt:
--------------------------------------------------------------------------------
1 | CASEI(geophys:SURVEY_NAME) LIKE CASEI('%calcutta%')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example29.txt:
--------------------------------------------------------------------------------
1 | "id" = 'fa7e1920-9107-422d-a3db-c468cbc5d6df'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example30.txt:
--------------------------------------------------------------------------------
1 | "id" <> 'fa7e1920-9107-422d-a3db-c468cbc5d6df'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example31.txt:
--------------------------------------------------------------------------------
1 | "value" < 10
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example32.txt:
--------------------------------------------------------------------------------
1 | "value" > 10
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example33.txt:
--------------------------------------------------------------------------------
1 | "value" <= 10
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example34.txt:
--------------------------------------------------------------------------------
1 | "value" >= 10
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example35.txt:
--------------------------------------------------------------------------------
1 | "name" LIKE 'foo%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example36-alt01.txt:
--------------------------------------------------------------------------------
1 | "name" NOT LIKE 'foo%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example36.txt:
--------------------------------------------------------------------------------
1 | NOT "name" LIKE 'foo%'
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example37.txt:
--------------------------------------------------------------------------------
1 | "value" BETWEEN 10 AND 20
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example38-alt01.txt:
--------------------------------------------------------------------------------
1 | "value" NOT BETWEEN 10 AND 20
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example38.txt:
--------------------------------------------------------------------------------
1 | NOT "value" BETWEEN 10 AND 20
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example39.txt:
--------------------------------------------------------------------------------
1 | "value" IN (1.0, 2.0, 3.0)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example40-alt01.txt:
--------------------------------------------------------------------------------
1 | "value" NOT IN ('a', 'b', 'c')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example40.txt:
--------------------------------------------------------------------------------
1 | NOT "value" IN ('a', 'b', 'c')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example41.txt:
--------------------------------------------------------------------------------
1 | "value" IS NULL
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example42-alt01.txt:
--------------------------------------------------------------------------------
1 | "value" IS NOT NULL
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example42.txt:
--------------------------------------------------------------------------------
1 | NOT "value" IS NULL
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example43-alt01.txt:
--------------------------------------------------------------------------------
1 | "name" NOT LIKE 'foo%' AND "value" > 10
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example43.txt:
--------------------------------------------------------------------------------
1 | (NOT "name" LIKE 'foo%' AND "value" > 10)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example44-alt01.txt:
--------------------------------------------------------------------------------
1 | "value" IS NULL OR "value" BETWEEN 10 AND 20
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example44.txt:
--------------------------------------------------------------------------------
1 | ("value" IS NULL OR "value" BETWEEN 10 AND 20)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example45.txt:
--------------------------------------------------------------------------------
1 | S_INTERSECTS("geometry", BBOX(-128.098193, -1.1, -99999.0, 180.0, 90.0, 100000.0))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example46-alt01.txt:
--------------------------------------------------------------------------------
1 | S_EQUALS(
2 | POLYGON (
3 | (-0.333333 89.0, -102.723546 -0.5, -179.0 -89.0, -1.9 89.0, -0.0 89.0, 2.00001 -1.9, -0.333333 89.0)
4 | ),
5 | "geometry"
6 | )
7 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example46.txt:
--------------------------------------------------------------------------------
1 | S_EQUALS(POLYGON ((-0.333333 89.0, -102.723546 -0.5, -179.0 -89.0, -1.9 89.0, -0.0 89.0, 2.00001 -1.9, -0.333333 89.0)), "geometry")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example47.txt:
--------------------------------------------------------------------------------
1 | S_DISJOINT("geometry", MULTIPOLYGON (((144.022387 45.176126, -1.1 0.0, 180.0 47.808086, 144.022387 45.176126))))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example48.txt:
--------------------------------------------------------------------------------
1 | S_TOUCHES("geometry", MULTILINESTRING ((-1.9 -0.99999, 75.292574 1.5, -0.5 -4.016458, -31.708594 -74.743801, 179.0 -90.0),(-1.9 -1.1, 1.5 8.547371)))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example49-alt01.txt:
--------------------------------------------------------------------------------
1 | S_WITHIN(POLYGON ((-49.88024 0.5 -75993.341684, -1.5 -0.99999 -100000.0, 0.0 0.5 -0.333333, -49.88024 0.5 -75993.341684), (-65.887123 2.00001 -100000.0, 0.333333 -53.017711 -79471.332949, 180.0 0.0 1852.616704, -65.887123 2.00001 -100000.0)), "geometry")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example49.txt:
--------------------------------------------------------------------------------
1 | S_WITHIN(POLYGON Z ((-49.88024 0.5 -75993.341684, -1.5 -0.99999 -100000.0, 0.0 0.5 -0.333333, -49.88024 0.5 -75993.341684), (-65.887123 2.00001 -100000.0, 0.333333 -53.017711 -79471.332949, 180.0 0.0 1852.616704, -65.887123 2.00001 -100000.0)), "geometry")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example50.txt:
--------------------------------------------------------------------------------
1 | S_OVERLAPS("geometry", BBOX(-179.912109, 1.9, 180.0, 16.897016))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example51.txt:
--------------------------------------------------------------------------------
1 | S_CROSSES("geometry", LINESTRING (172.03086 1.5, 1.1 -90.0, -159.757695 0.99999, -180.0 0.5, -12.111235 81.336403, -0.5 64.43958, 0.0 81.991815, -155.93831 90.0))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example52.txt:
--------------------------------------------------------------------------------
1 | S_CONTAINS("geometry", POINT (-3.508362 -1.754181))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example53.txt:
--------------------------------------------------------------------------------
1 | T_AFTER("updated_at", DATE('2010-02-10'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example54-alt01.txt:
--------------------------------------------------------------------------------
1 | T_BEFORE(updated_at, TIMESTAMP('2012-08-10T05:30:00Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example54.txt:
--------------------------------------------------------------------------------
1 | T_BEFORE("updated_at", TIMESTAMP('2012-08-10T05:30:00.000000Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example55-alt01.txt:
--------------------------------------------------------------------------------
1 | T_CONTAINS(INTERVAL('2000-01-01T00:00:00Z', '2005-01-10T01:01:01.393216Z'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example55.txt:
--------------------------------------------------------------------------------
1 | T_CONTAINS(INTERVAL('2000-01-01T00:00:00.000000Z', '2005-01-10T01:01:01.393216Z'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example56.txt:
--------------------------------------------------------------------------------
1 | T_DISJOINT(INTERVAL('..', '2005-01-10T01:01:01.393216Z'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example57.txt:
--------------------------------------------------------------------------------
1 | T_DURING(INTERVAL(starts_at, ends_at), INTERVAL('2005-01-10', '2010-02-10'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example58.txt:
--------------------------------------------------------------------------------
1 | T_EQUALS("updated_at", DATE('1851-04-29'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example59.txt:
--------------------------------------------------------------------------------
1 | T_FINISHEDBY(INTERVAL(starts_at, ends_at), INTERVAL('1991-10-07T08:21:06.393262Z', '2010-02-10T05:29:20.073225Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example60.txt:
--------------------------------------------------------------------------------
1 | T_FINISHES(INTERVAL(starts_at, ends_at), INTERVAL('1991-10-07', '2010-02-10T05:29:20.073225Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example61.txt:
--------------------------------------------------------------------------------
1 | T_INTERSECTS(INTERVAL(starts_at, ends_at), INTERVAL('1991-10-07T08:21:06.393262Z', '2010-02-10T05:29:20.073225Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example62.txt:
--------------------------------------------------------------------------------
1 | T_MEETS(INTERVAL('2005-01-10', '2010-02-10'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example63.txt:
--------------------------------------------------------------------------------
1 | T_METBY(INTERVAL('2010-02-10T05:29:20.073225Z', '2010-10-07'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example64.txt:
--------------------------------------------------------------------------------
1 | T_OVERLAPPEDBY(INTERVAL('1991-10-07T08:21:06.393262Z', '2010-02-10T05:29:20.073225Z'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example65.txt:
--------------------------------------------------------------------------------
1 | T_OVERLAPS(INTERVAL(starts_at, ends_at), INTERVAL('1991-10-07T08:21:06.393262Z', '1992-10-09T08:08:08.393473Z'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example66.txt:
--------------------------------------------------------------------------------
1 | T_STARTEDBY(INTERVAL('1991-10-07T08:21:06.393262Z', '2010-02-10T05:29:20.073225Z'), INTERVAL(starts_at, ends_at))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example67.txt:
--------------------------------------------------------------------------------
1 | T_STARTS(INTERVAL(starts_at, ends_at), INTERVAL('1991-10-07T08:21:06.393262Z', '..'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example68.txt:
--------------------------------------------------------------------------------
1 | Foo("geometry") = TRUE
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example69.txt:
--------------------------------------------------------------------------------
1 | FALSE <> Bar("geometry", 100, 'a', 'b', FALSE)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example70.txt:
--------------------------------------------------------------------------------
1 | ACCENTI("owner") = ACCENTI('Beyoncé')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example71.txt:
--------------------------------------------------------------------------------
1 | CASEI("owner") = CASEI('somebody else')
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example72.txt:
--------------------------------------------------------------------------------
1 | "value" > ("foo" + 10)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example73.txt:
--------------------------------------------------------------------------------
1 | "value" < ("foo" - 10)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example74.txt:
--------------------------------------------------------------------------------
1 | "value" <> (22.1 * "foo")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example75.txt:
--------------------------------------------------------------------------------
1 | "value" = (2 / "foo")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example76.txt:
--------------------------------------------------------------------------------
1 | "value" <= (2 ^ "foo")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example77.txt:
--------------------------------------------------------------------------------
1 | 0 = ("foo" % 2)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example78.txt:
--------------------------------------------------------------------------------
1 | 1 = ("foo" div 2)
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example79.txt:
--------------------------------------------------------------------------------
1 | A_CONTAINEDBY("values", ('a', 'b', 'c'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example80.txt:
--------------------------------------------------------------------------------
1 | A_CONTAINS("values", ('a', 'b', 'c'))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example81.txt:
--------------------------------------------------------------------------------
1 | A_EQUALS(('a', TRUE, 1.0, 8), "values")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example82.txt:
--------------------------------------------------------------------------------
1 | A_OVERLAPS("values", (TIMESTAMP('2012-08-10T05:30:00.000000Z'), DATE('2010-02-10'), FALSE))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example83.txt:
--------------------------------------------------------------------------------
1 | S_EQUALS(MULTIPOINT ((180.0 -0.5), (179.0 -47.121701), (180.0 -0.0), (33.470475 -0.99999), (179.0 -15.333062)), "geometry")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example84.txt:
--------------------------------------------------------------------------------
1 | S_EQUALS(GEOMETRYCOLLECTION (POINT (1.9 2.00001), POINT (0.0 -2.00001), MULTILINESTRING ((-2.00001 -0.0, -77.292642 -0.5, -87.515626 -0.0, -180.0 12.502773, 21.204842 -1.5, -21.878857 -90.0)), POINT (1.9 0.5), LINESTRING (179.0 1.179148, -148.192487 -65.007816, 0.5 0.333333)), "geometry")
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example85-alt01.txt:
--------------------------------------------------------------------------------
1 | value = - foo * 2.0 + "bar" / 6.1234 - "x" ^ 2.0
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example85.txt:
--------------------------------------------------------------------------------
1 | "value" = ((((-1 * "foo") * 2.0) + ("bar" / 6.1234)) - ("x" ^ 2.0))
2 |
--------------------------------------------------------------------------------
/cql2/standard/schema/examples/text/example86.txt:
--------------------------------------------------------------------------------
1 | "name" LIKE CASEI('FOO%')
2 |
--------------------------------------------------------------------------------
/docs/outdated/placeholder-additional-conformance-class/examples/dummy.yaml:
--------------------------------------------------------------------------------
1 | dummy:
2 |
--------------------------------------------------------------------------------
/docs/outdated/placeholder-additional-conformance-class/parameters/dummy.yaml:
--------------------------------------------------------------------------------
1 | dummy:
2 |
--------------------------------------------------------------------------------
/docs/outdated/placeholder-additional-conformance-class/schemas/dummy.yaml:
--------------------------------------------------------------------------------
1 | dummy:
2 |
--------------------------------------------------------------------------------
/docs/uml/data_types.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/docs/uml/data_types.png
--------------------------------------------------------------------------------
/docs/uml/links_to_external_resources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/docs/uml/links_to_external_resources.png
--------------------------------------------------------------------------------
/docs/uml/ogc-api-features-core.eap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/docs/uml/ogc-api-features-core.eap
--------------------------------------------------------------------------------
/docs/uml/resources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/docs/uml/resources.png
--------------------------------------------------------------------------------
/extensions/README.md:
--------------------------------------------------------------------------------
1 | This folder contains additional parts of the OGC API Features series.
2 |
--------------------------------------------------------------------------------
/extensions/crs/openapi/headers/Content-Crs.yaml:
--------------------------------------------------------------------------------
1 | Content-Crs:
2 | description: a URI, in angular brackets, identifying the coordinate reference system used in the content / payload
3 | schema:
4 | type: string
5 | example: ''
6 |
--------------------------------------------------------------------------------
/extensions/crs/openapi/schemas/collection.yaml:
--------------------------------------------------------------------------------
1 | allOf:
2 | - $ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/collection.yaml
3 | - $ref: collectionExtensionCrs.yaml
4 |
--------------------------------------------------------------------------------
/extensions/crs/openapi/schemas/collections.yaml:
--------------------------------------------------------------------------------
1 | allOf:
2 | - $ref: http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/collections.yaml
3 | - $ref: collectionsExtensionCrs.yaml
4 |
--------------------------------------------------------------------------------
/extensions/crs/openapi/schemas/collectionsExtensionCrs.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | properties:
3 | crs:
4 | description: a global list of CRS identifiers that are supported by spatial feature collections offered by the service
5 | type: array
6 | items:
7 | type: string
8 | format: uri
9 |
--------------------------------------------------------------------------------
/extensions/crs/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 2 of the OGC API - Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/crs/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | include::abstract_tests/ATS_class_crs.adoc[]
7 |
--------------------------------------------------------------------------------
/extensions/crs/standard/annex_n.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Title ( {Normative/Informative} )
4 |
5 | [NOTE]
6 | Place other Annex material in sequential annexes beginning with "B" and leave final two annexes for the Revision History and Bibliography
7 |
--------------------------------------------------------------------------------
/extensions/crs/standard/clause_5_conventions.adoc:
--------------------------------------------------------------------------------
1 | == Conventions and background
2 |
3 | See <>, Clauses 5 and 6.
4 |
--------------------------------------------------------------------------------
/extensions/crs/standard/clause_7_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
--------------------------------------------------------------------------------
/extensions/crs/standard/clause_8_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/crs/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/crs/standard/recommendations/crs/PER_fc-crs-action.adoc:
--------------------------------------------------------------------------------
1 | [[per_crs_fc-crs-action]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Permission {counter:per-id}* |*/per/crs/fc-crs-action* +
5 | 2+|Notwithstanding the requirement <>, if the requested feature representation is subject to any limitations for supporting coordinate reference systems, the Web API MAY return a response with a status code `400`.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_bbox-crs-exception.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_bbox-crs-exception]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/bbox-crs-exception* +
5 | ^|A |In all cases, if the server encounters an invalid or unrecognized CRS identifier value it SHALL respond with a HTTP 400 status code.
6 | ^|B |The body of the exception response SHALL contain an appropriate message.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_crs-exception.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_crs-exception]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/crs-exception* +
5 | 2+| An invalid or unrecognized `crs` value SHALL trigger a 400 exception with an
6 | appropriate message.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_crs-uri.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_crs-uri]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/crs-uri* +
5 | 2+|Each CRS supported by a server SHALL be referenceable by a uniform resource identifier (i.e. a URI).
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_fc-crs-action.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_fc-crs-action]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/fc-crs-action* +
5 | 2+|If the `crs` parameter is specified, then the coordinates of all geometry-valued
6 | properties in the response document SHALL be presented in the requested CRS.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_fc-md-storageCrs-valid-value.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_fc-md-storageCrs-valid-value]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/fc-md-storageCrs-valid-value* +
5 | 2+|The value of the `storageCrs` property SHALL be one of the CRS identifiers from the list of supported CRS identifiers found in the <> using the `crs` property.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_fc-md-storageCrs.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_fc-md-storageCrs]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/fc-md-storageCrs* +
5 | 2+| If all features in a spatial feature collection are stored using a
6 | particular CRS then the property `storageCrs` SHALL be specified in the
7 | collection object of the spatial feature collection to indicate the
8 | identifier for this storage CRS.
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_geojson.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_geojson]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/geojson* +
5 | 2+|Servers that implement this extension plus the GeoJSON requirements class and
6 | clients that use this extension SHALL be subject to the prior arrangement provision
7 | https://www.rfc-editor.org/rfc/rfc7946.html#section-4[in the second paragraph of section 4 of the GeoJSON standard].
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/crs/REQ_ogc-crs-header.adoc:
--------------------------------------------------------------------------------
1 | [[req_crs_ogc-crs-header]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | |*Requirement {counter:req-id}* |*/req/crs/ogc-crs-header* +
5 | 2+| An HTTP header named `Content-Crs` SHALL be used to assert the coordinate
6 | reference system used in the body of a response.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/crs/standard/requirements/requirements_class_crs.adoc:
--------------------------------------------------------------------------------
1 | [[rc_crs]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-2/1.0/req/crs
6 | |Target type |Web API
7 | |Dependency |link:http://www.opengis.net/doc/IS/ogcapi-features-1/1.0#req_core[OGC API - Features - Part 1: Core, Requirements Class 'core']
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 3 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/abstract_tests/cc/TEST001.adoc:
--------------------------------------------------------------------------------
1 | ===== Test case title
2 |
3 | (( additional discussion, if needed ))
4 |
5 | ====== a) Test Purpose:
6 | (( description ))
7 |
8 | ====== b) Pre-conditions:
9 | * (( list all preconditions ))
10 |
11 | ====== c) Test Method:
12 | * (( steps to execute and assertions to test ))
13 |
14 | ====== d) References:
15 | * <>
16 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/clause_10_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/clause_11_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/filtering/standard/openapi/parameters/filter-crs.yml:
--------------------------------------------------------------------------------
1 | name: filter-crs
2 | in: query
3 | required: false
4 | schema:
5 | type: string
6 | format: uri-reference
7 | style: form
8 | explode: false
9 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/openapi/parameters/filter-lang.yml:
--------------------------------------------------------------------------------
1 | name: filter-lang
2 | in: query
3 | required: false
4 | schema:
5 | type: string
6 | enum:
7 | - 'cql2-text'
8 | - 'cql2-json'
9 | default: 'cql2-text'
10 | style: form
11 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/openapi/parameters/filter.yml:
--------------------------------------------------------------------------------
1 | name: filter
2 | in: query
3 | required: false
4 | schema:
5 | type: string
6 | style: form
7 | explode: false
8 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/recommendations/features-filter/REC_json-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_JSON-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/JSON-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as JSON, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/recommendations/features-filter/REC_text-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_text-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/text-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as text, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/recommendations/filter/PER_filter-default.adoc:
--------------------------------------------------------------------------------
1 | [[rec_filter_filter-default]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/filter/queryables-schema*
5 | ^|A |The `filter` parameter MAY specify a default value.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/recommendations/filter/REC_filter-crs-list.adoc:
--------------------------------------------------------------------------------
1 | [[rec_filter_filter-crs-list]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/filter/filter-crs-list*
5 | ^|A |The server SHOULD list the supported coordinate reference system URIs
6 | as enums in the schema of the `filter-crs` parameter.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/features-filter/REQ_filter-lang-param.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-filter_filter-lang-param]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-filter/filter-lang-param*
5 | ^|A |The HTTP GET operation on the `/collections/{collectionId}/items` path SHALL support the `filter-lang` parameter as defined in the <> clause.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/features-filter/REQ_filter-param.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-filter_filter-param]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-filter/filter-param*
5 | ^|A |The HTTP GET operation on the `/collections/{collectionId}/items` path SHALL support the `filter` parameter as defined in the <> clause.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/features-filter/REQ_queryables-link.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-filter_queryables-link]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-filter/queryables-link*
5 | ^|A |The Queryables resource SHALL be referenced from each Collection resource with a
6 | link with the link relation type `\http://www.opengis.net/def/rel/ogc/1.0/queryables`
7 | (or, alternatively, `[ogc-rel:queryables]`).
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/filter/REQ_get-functions-operation.adoc:
--------------------------------------------------------------------------------
1 | [[req_filter_get-functions-operation]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/filter/get-functions-operation*
5 | ^|Condition |Server implements <>, requirements class "Functions"
6 | ^|A |A server SHALL support the HTTP GET operation at the `/functions` path.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/filter/REQ_mixing-expressions.adoc:
--------------------------------------------------------------------------------
1 | [[req_filter_mixing-expressions]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/filter/mixing-expressions*
5 | ^|A |Other filter predicates supported by the server (e.g. `bbox`, `datetime`, etc.) SHALL be logically connected with the `AND` operator when mixed in a request with the `filter` parameter.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/queryables/REQ_expression-construction.adoc:
--------------------------------------------------------------------------------
1 | [[req_queryables_expression-construction]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/queryables/expression-construction*
5 | ^|A |**Only** properties that are valid according to the <> SHALL be used to construct a filter expression.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/queryables/REQ_get-queryables-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_queryables_get-queryables-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/queryables/get-queryables-op*
5 | ^|A |The Queryables resource SHALL support the HTTP GET operation and the media type `application/schema+json`.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/requirements_class_filter.adoc:
--------------------------------------------------------------------------------
1 | [[rc_filter]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/filtering/standard/requirements/requirements_class_queryables.adoc:
--------------------------------------------------------------------------------
1 | [[rc_queryables]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 7 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | NOTE: Conformance classes and test cases for all requirements classes and requirements will be added once the requirements are stable.
7 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/annex_bibliography.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | [[Bibliography]]
4 | == Bibliography
5 |
6 | None
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2024-05-06 |1.0.0-SNAPSHOT |C. Portele |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/clause_1_scope.adoc:
--------------------------------------------------------------------------------
1 | == Scope
2 |
3 | This document specifies a query parameter "zoom-level" that can be used to restrict the representation of geometries in a resource so that the coordinates are only provided at a certain level of detail.
4 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/clause_5_conventions.adoc:
--------------------------------------------------------------------------------
1 | == Conventions
2 |
3 | === Identifiers
4 |
5 | The normative provisions in this standard are denoted by the URI `\http://www.opengis.net/spec/{standard}/{m_n}`.
6 |
7 | All requirements and conformance tests that appear in this document are denoted by partial URIs which are relative to this base.
8 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/clause_8_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/geometry-simplification/standard/schema/zoom-level.yaml:
--------------------------------------------------------------------------------
1 | name: zoom-level
2 | in: query
3 | required: false
4 | style: form
5 | explode: false
6 | schema:
7 | type: number
8 | minimum: 0
--------------------------------------------------------------------------------
/extensions/property-selection/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 6 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | NOTE: Conformance classes and test cases for all requirements classes and requirements will be added once the requirements are stable.
7 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/annex_bibliography.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | [[Bibliography]]
4 | == Bibliography
5 |
6 | * [[OAFeat-5]] Open Geospatial Consortium (OGC). **OGC API - Features - Part 5: Schemas 1.0 (DRAFT)** [online]. Edited by C. Portele, P. Vretanos. 2023 [viewed 2024-05-05]. Available at https://docs.ogc.org/DRAFTS/23-058r1.html
7 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2024-05-06 |1.0.0-SNAPSHOT |C. Portele |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/clause_1_scope.adoc:
--------------------------------------------------------------------------------
1 | == Scope
2 |
3 | This document specifies a query parameter "properties" that can be used to restrict the representation of resources, for example a feature, to selected properties identified in the "properties" parameter.
4 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/clause_5_conventions.adoc:
--------------------------------------------------------------------------------
1 | == Conventions
2 |
3 | === Identifiers
4 |
5 | The normative provisions in this standard are denoted by the URI `\http://www.opengis.net/spec/{standard}/{m_n}`.
6 |
7 | All requirements and conformance tests that appear in this document are denoted by partial URIs which are relative to this base.
8 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/clause_8_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/property-selection/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/property-selection/standard/schema/properties.yaml:
--------------------------------------------------------------------------------
1 | name: properties
2 | in: query
3 | required: false
4 | style: form
5 | explode: false
6 | schema:
7 | type: array
8 | items:
9 | type: string
10 | enum:
11 | - foo
12 | - bar
13 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 5 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | NOTE: Conformance classes and test cases for all requirements classes and requirements will be added once the requirements classes and requirements are final.
7 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/clause_17_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | The media type for JSON Schema documents is "application/schema+json".
5 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/clause_18_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See
4 |
5 | * <>, Clause 11;
6 | * <>, Clause 13;
7 | * <>, Clause 10.
8 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/clause_1_scope.adoc:
--------------------------------------------------------------------------------
1 | == Scope
2 |
3 | This Standard specifies:
4 |
5 | * Logical schemas describing geospatial data, for example, the properties of the features in a feature collection; and
6 | * API building blocks related to such schemas for use in OGC Web APIs.
7 |
--------------------------------------------------------------------------------
/extensions/schemas/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/sorting/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 3 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/abstract_tests/cc/TEST001.adoc:
--------------------------------------------------------------------------------
1 | ===== Test case title
2 |
3 | (( additional discussion, if needed ))
4 |
5 | ====== a) Test Purpose:
6 | (( description ))
7 |
8 | ====== b) Pre-conditions:
9 | * (( list all preconditions ))
10 |
11 | ====== c) Test Method:
12 | * (( steps to execute and assertions to test ))
13 |
14 | ====== d) References:
15 | * <>
16 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46a",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2024-06-17 | |P. Vretanos |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/clause_10_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/clause_9_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/examples/README.md:
--------------------------------------------------------------------------------
1 | # Examples
2 |
3 | The sub-folders contain examples of responses of implementations of
4 | OGC API - Records - Part 1: Core.
5 |
6 | * [JSON/GeoJSON examples](json)
7 | * [YAML examples](yaml)
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/sorting/standard/openapi/responses/Sortables.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | description:
3 | A list of properties by which the server response may be sorted.
4 | content:
5 | application/json:
6 | schema:
7 | $ref: '../schemas/schema.yaml'
8 | text/html:
9 | schema:
10 | type: string
11 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/recommendations/features-sorting/REC_json-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_JSON-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/JSON-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as JSON, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/recommendations/features-sorting/REC_text-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_text-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/text-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as text, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/recommendations/sortables/PER_synthetic.adoc:
--------------------------------------------------------------------------------
1 | [[per_sorting_sortables-synthetic]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/sorting/synthetic*
5 |
6 | The response MAY include properties that do not actually exist in the information model of the resource but are somehow derived or synthesized by the system.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/recommendations/sortables/REC_sortables-schema.adoc:
--------------------------------------------------------------------------------
1 | [[rec_sorting_sortables-schema]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/sorting/sortables-schema*
5 | ^|A |Each property SHOULD have a human readable title (`title`) and where
6 | necessary a description (`description`).
7 | ^|B |Each property SHOULD have a single type (`type`).
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/features-sorting/REQ_response.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-sorting_response]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-sorting/response*
5 |
6 | All features in a query response SHALL be sorted by the set of properties and in the order (ascending or descending) specified using the <> parameter.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/features-sorting/REQ_sortables-link.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-sorting_sortable-link]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-sorting/sortable-link*
5 |
6 | The Sortables resource SHALL be referenced from each Collection resource with a link with the link relation type `\http://www.opengis.net/def/rel/ogc/1.0/sortables` (or, alternatively, `[ogc-rel:sortables]`).
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/features-sorting/REQ_sortby-param.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-filter_filter-param]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-filter/filter-param*
5 |
6 | The HTTP GET operation on the `/collections/{collectionId}/items` path SHALL support the `sortby` parameter as defined in the <> clause.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/requirements_class_features-sorting.adoc:
--------------------------------------------------------------------------------
1 | [[rc_features-sorting]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-8/1.0/req/features-sorting
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/requirements_class_sortables.adoc:
--------------------------------------------------------------------------------
1 | [[rc_sortables]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-8/1.0/req/sortables
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/sorting/standard/requirements/requirements_class_sorting.adoc:
--------------------------------------------------------------------------------
1 | [[rc_sorting]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-8/1.0/req/sorting
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 3 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/abstract_tests/cc/TEST001.adoc:
--------------------------------------------------------------------------------
1 | ===== Test case title
2 |
3 | (( additional discussion, if needed ))
4 |
5 | ====== a) Test Purpose:
6 | (( description ))
7 |
8 | ====== b) Pre-conditions:
9 | * (( list all preconditions ))
10 |
11 | ====== c) Test Method:
12 | * (( steps to execute and assertions to test ))
13 |
14 | ====== d) References:
15 | * <>
16 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46a",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2024-06-17 | |P. Vretanos |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/clause_1_scope.adoc:
--------------------------------------------------------------------------------
1 | == Scope
2 |
3 | This document specifies an extension to the <> standard that defines the behavior of a server that supports simple keyword searching across the text fields of feature resources.
4 |
5 | This document defines:
6 |
7 | * A query parameter for specifying the search terms of the query.
8 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/clause_8_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/clause_9_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/examples/README.md:
--------------------------------------------------------------------------------
1 | # Examples
2 |
3 | The sub-folders contain examples of responses of implementations of
4 | OGC API - Records - Part 1: Core.
5 |
6 | * [JSON/GeoJSON examples](json)
7 | * [YAML examples](yaml)
8 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/text-search/standard/openapi/responses/Sortables.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | description:
3 | A list of properties by which the server response may be sorted.
4 | content:
5 | application/json:
6 | schema:
7 | $ref: '../schemas/schema.yaml'
8 | text/html:
9 | schema:
10 | type: string
11 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/recommendations/features-sorting/REC_json-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_JSON-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/JSON-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as JSON, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/recommendations/features-sorting/REC_text-encoding.adoc:
--------------------------------------------------------------------------------
1 | [[rec_features-filter_text-encoding]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/features-filter/text-encoding*
5 | ^|A |If a filter expression can be represented for its intended use as text, servers SHOULD support the <> encoding.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/recommendations/text-search/REC_param-q.adoc:
--------------------------------------------------------------------------------
1 | [[rec_text-search_param-q]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/text-search/param-q*
5 |
6 | The `q` operator SHOULD, at least, be applied to the following resource properties if present:
7 |
8 | * title
9 | * description
10 | * keywords
11 | |===
12 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/requirements/features-text-search/REQ_q-param.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-filter_filter-param]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-filter/filter-param*
5 |
6 | The HTTP GET operation on the `/collections/{collectionId}/items` path SHALL support the `q` parameter as defined in the <> requirement.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/requirements/features-text-search/REQ_response.adoc:
--------------------------------------------------------------------------------
1 | [[req_features-sorting_response]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/features-sorting/response*
5 |
6 | For requirment <> the resource SHALL be a feature.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/requirements/requirements_class_features-text-search.adoc:
--------------------------------------------------------------------------------
1 | [[rc_features-text-search]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-8/1.0/req/features-text-search
6 | |Target type |Web API
7 | |Dependency |<>
8 | |Dependency |<>
9 | |===
10 |
--------------------------------------------------------------------------------
/extensions/text-search/standard/requirements/requirements_class_text-search.adoc:
--------------------------------------------------------------------------------
1 | [[rc_text-search]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-8/1.0/req/text-search
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/transactions/atomic-batch/README.md:
--------------------------------------------------------------------------------
1 | # Complex Transaction Extension
2 |
3 | This folder contains the content for:
4 |
5 | * OGC API - Features - Part n: Complex Transactions
6 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/examples/json/README.md:
--------------------------------------------------------------------------------
1 | Add JSON examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/examples/xml/README.md:
--------------------------------------------------------------------------------
1 | Add XML examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/openapi/examples/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI YAML examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/openapi/parameters/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI parameter components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/openapi/responses/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI response components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/openapi/schemas/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI schema components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 4 of the OGC API Features standard.
2 |
3 | [OGC API - Feautures - Part 4: Simple Transactions](https://htmlpreview.github.io/?https://github.com/opengeospatial/ogcapi-features/blob/master/extensions/transactions/simple/standard/20-002.html)
4 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/abstract_tests/ATS_class_features.adoc:
--------------------------------------------------------------------------------
1 | [[ats_features]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/features
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/abstract_tests/ATS_class_simpletx.adoc:
--------------------------------------------------------------------------------
1 | [[ats_create-replace-delete]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/create-replace-delete
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | NOTE: Conformance classes and test cases for all requirements classes and requirements will be added once the requirements classes and requirements are final.
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/create-replace-delete/PER_additional-status-codes.adoc:
--------------------------------------------------------------------------------
1 | [[per_core_additional-status-codes]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/core/additional-status-codes*
5 | ^|A |Servers may support other capabilities of the HTTP protocol and therefore may return other status codes than those listed in <>.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/create-replace-delete/create/PER_body.adoc:
--------------------------------------------------------------------------------
1 | [[per_create-replace-delete_insert-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/create-replace-delete/insert-body*
5 | ^|A |A server MAY support any resource encoding in the body of a HTTP POST operation.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/create-replace-delete/delete/REC_no-feature.adoc:
--------------------------------------------------------------------------------
1 | [[rec_delete_no-feature]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/delete/no-feature*
5 | ^|A |If no resource with the identifier exists in the collection, the response SHOULD be `404` (not found).
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/create-replace-delete/options/PER_res-body.adoc:
--------------------------------------------------------------------------------
1 | [[per_create-replace-delete_options-res-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/create-replace-delete/options/res-body*
5 | ^|A |The response body on an HTTP OPTIONS operation MAY include content but the format for such a body is not defined in this Standard.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/create-replace-delete/replace/PER_body.adoc:
--------------------------------------------------------------------------------
1 | [[per_create-replace-delete_update_put_body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/create-replace-delete/update-put-body*
5 | ^|A |A server MAY support any resource encoding in the body of a HTTP PUT operation.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/optimistic-locking-etags/PER_ifmatch-star.adoc:
--------------------------------------------------------------------------------
1 | [[per_optimistic-locking-etags_ifmatch-star]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/optimistic-locking-etags/ifmatch-star*
5 | ^|A |A server MAY support the value `*` for the `If-Match` header that matches any `ETag` value.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/recommendations/update/REC_schema.adoc:
--------------------------------------------------------------------------------
1 | [[rec_update_patch_body-schema]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/create-replace-delete/update/schema*
5 |
6 | If a server imposes schema constraints on resources that if offers then it SHOULD publish a schema as described in <>.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/REQ_methods.adoc:
--------------------------------------------------------------------------------
1 | [[req_core_methods]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/core/methods*
5 | ^|A |A server SHALL implement one or more of the methods HTTP POST, PUT and/or DELETE for each mutable resource.
6 | ^|B |A server SHALL declare which methods are supported for each resource via the <> method.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/create/REQ_body.adoc:
--------------------------------------------------------------------------------
1 | [[rec_create-replace-delete_post-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/post-body*
5 | ^|A |The body of a POST request SHALL contain a representation of the resource to be added to the specified collection.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/create/REQ_content-type.adoc:
--------------------------------------------------------------------------------
1 | [[rec_create-replace-delete_post-content-type]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/post-content-type*
5 | ^|A |A `Content-Type` header SHALL be used to declare the media type of the request body containing a representation of the resource to be added.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/create/REQ_response-rid.adoc:
--------------------------------------------------------------------------------
1 | [[req_create-replace-delete_post-response-rid]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/post-response-rid*
5 | ^|A |If the operation completes successfully, the server SHALL assign a new, unique identifier within the collection for the newly added resource.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/options/REQ_op.adoc:
--------------------------------------------------------------------------------
1 | [[req_create-replace-delete_options-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/options-op*
5 | ^|A |The server SHALL support the HTTP OPTIONS operation at each resource endpoint.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/replace/REQ_body.adoc:
--------------------------------------------------------------------------------
1 | [[rec_create-replace-delete_put-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/put-body*
5 | ^|A |The body of the PUT request SHALL contain a representation of the new resource content.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/replace/REQ_content-type.adoc:
--------------------------------------------------------------------------------
1 | [[rec_create-replace-delete_put-content-type]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/put-content-type*
5 | ^|A |The `Content-Type` header SHALL be used to indicate the media type of the request body containing the representation of the new resource content.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/create-replace-delete/replace/REQ_rid.adoc:
--------------------------------------------------------------------------------
1 | [[req_create-replace-delete_put-rid]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/create-replace-delete/put-rid*
5 | ^|A |If the representation of the resource submitted in the request body contained a resource identifier, the server SHALL ignore this identifier.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/optimistic-locking-etags/REQ_ifmatch-patch-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_optimistic-locking-etags_ifmatch-patch-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/optimistic-locking-etags/ifmatch-patch-op*
5 | ^|Condition |Server implements the <> conformance class.
6 | ^|A |A HTTP PUT operation that updates a resource SHALL include an `If-Match` header.
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/optimistic-locking-etags/REQ_ifmatch-put-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_optimistic-locking-etags_ifmatch-put-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/optimistic-locking-etags/ifmatch-put-op*
5 | ^|A |A HTTP PUT operation that replaces a resource SHALL include an `If-Match` header.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/optimistic-locking-timestamps/REQ_ifunmodifiedsince-put-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_optimistic-locking-timestamps_ifunmodifiedsince-put-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/optimistic-locking-timestamps/ifunmodifiedsince-put-op*
5 | ^|A |A HTTP PUT operation that replaces a resource SHALL include an `If-Unmodified-Since` header.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/requirements_class_create-replace-delete.adoc:
--------------------------------------------------------------------------------
1 | [[rc_create-replace-delete]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/create-replace-delete
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/requirements_class_optimistic-locking-etags.adoc:
--------------------------------------------------------------------------------
1 | [[rc_optimistic-locking-etags]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/optimistic-locking-etags
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/requirements_class_optimistic-locking-timestamps.adoc:
--------------------------------------------------------------------------------
1 | [[rc_optimistic-locking-timestamps]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/optimistic-locking-timestamps
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/requirements_class_update.adoc:
--------------------------------------------------------------------------------
1 | [[rc_update]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-4/1.0/req/update
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/update/REQ_body.adoc:
--------------------------------------------------------------------------------
1 | [[req_patch-update_update-patch-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/update/update-patch-body*
5 | ^|A |The request body SHALL contain a document describing the specific parts of the target resource that should be modified by the operation.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/update/REQ_methods.adoc:
--------------------------------------------------------------------------------
1 | [[req_update_methods]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/update/methods*
5 | ^|A |A server SHALL declare support for the HTTP PATCH method via the <> method.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/update/REQ_patch-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_patch-update_update-patch-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/update/update-patch-op*
5 | ^|A |For every resource in a collection, the server SHALL support the HTTP PATCH operation.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/standard/requirements/update/REQ_rid.adoc:
--------------------------------------------------------------------------------
1 | [[req_update_rid]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/update/rid*
5 | ^|A |If the representation of the updated resource submitted in the request body contained a resource identifier, the server SHALL ignore this identifier.
6 | |===
7 |
--------------------------------------------------------------------------------
/extensions/transactions/create-replace-update-delete/xml/wsdl/README.md:
--------------------------------------------------------------------------------
1 | # Standard template
2 |
3 | This folder is a placeholder for a WSDL 2.0 description that can be an
4 | XML-encoded alternative for an OpenAPI 3.0 document.
5 |
--------------------------------------------------------------------------------
/extensions/transactions/simple/standard/recommendations/optimistic-locking/PER_ifmatch-star.adoc:
--------------------------------------------------------------------------------
1 | [[per_optimistic-locking_ifmatch-star]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/optimistic-locking/ifmatch-star*
5 |
6 | A server MAY support the value `*` for the `If-Match` header that matches any `ETag` value.
7 | |===
8 |
--------------------------------------------------------------------------------
/guide/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for the WFS 3.0 User Guide.
2 |
--------------------------------------------------------------------------------
/guide/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [width="90%",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2018-08-15 |0.1 |C. Heazel |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/guide/figures/PT1_FIG01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/figures/PT1_FIG01.png
--------------------------------------------------------------------------------
/guide/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_10.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_10_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_10_2.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_11.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_5.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_6.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_7.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_8.png
--------------------------------------------------------------------------------
/guide/images/Cookbook_Figure_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/guide/images/Cookbook_Figure_9.png
--------------------------------------------------------------------------------
/guide/section_2_audience.adoc:
--------------------------------------------------------------------------------
1 | == Audience
2 | This document is written for developers who wish to implement the WFS 3.0 standards. It serves as a ready source of non-normative information which may aid in their development efforts.
3 |
--------------------------------------------------------------------------------
/implementations/clients/fme.md:
--------------------------------------------------------------------------------
1 | # FME
2 |
3 | [FME](https://www.safe.com/support/downloads) (FME 2021.0+) implements an [OGC API Features client](https://www.safe.com/integrate/ogc-api-features/) which is accessible from FME Workbench, Data Inspector and FME Server.
4 |
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-1-add-server.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-1-add-server.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-2-add-server-options.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-2-add-server-options.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-2-edit-properties.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-2-edit-properties.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-3-add-collection-to-map.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-3-add-collection-to-map.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-3-data-catalog.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-3-data-catalog.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/ArcGISPro-4-vineyards.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/ArcGISPro-4-vineyards.PNG
--------------------------------------------------------------------------------
/implementations/clients/images/Kaoto-1-add-step.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/Kaoto-1-add-step.png
--------------------------------------------------------------------------------
/implementations/clients/images/Kaoto-2-open-properties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/Kaoto-2-open-properties.png
--------------------------------------------------------------------------------
/implementations/clients/images/Kaoto-3-load-collections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/Kaoto-3-load-collections.png
--------------------------------------------------------------------------------
/implementations/clients/images/Kaoto-4-create-query.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/Kaoto-4-create-query.png
--------------------------------------------------------------------------------
/implementations/clients/images/qgis-add-api.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/qgis-add-api.png
--------------------------------------------------------------------------------
/implementations/clients/images/qgis-data-source-manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/qgis-data-source-manager.png
--------------------------------------------------------------------------------
/implementations/clients/images/qgis-select-layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/qgis-select-layers.png
--------------------------------------------------------------------------------
/implementations/clients/images/qgis-zoomstack-national-roads.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/implementations/clients/images/qgis-zoomstack-national-roads.gif
--------------------------------------------------------------------------------
/implementations/clients/ogcapi-js.md:
--------------------------------------------------------------------------------
1 | # ogcapi-js
2 |
3 | [ogcapi-js](https://github.com/haoliangyu/ogcapi-js) is a lightweight and modular JavaScript/TypeScript library for OGC APIs. It provides a developer-friendly way to interact with Features API and useful features like query parameter validation and error handling. Developers can use this library to build both client-side (browser) or server-side applications.
4 |
--------------------------------------------------------------------------------
/implementations/clients/other.md:
--------------------------------------------------------------------------------
1 | # Other clients
2 |
3 | The following client implementations are no longer maintained and/or implement early drafts of the specification:
4 |
5 | * [go-wfs3-client](https://github.com/ischneider/go-wfs3-client)
6 |
--------------------------------------------------------------------------------
/implementations/servers/deegree.md:
--------------------------------------------------------------------------------
1 | # deegree
2 |
3 | deegree OGC API supports Features part 1 and 2.
4 |
5 | deegree is available as an [OGC Reference Implementation](https://www.ogc.org/resources/product-details/?pid=1736):
6 |
7 | * https://cite.deegree.org/deegree-ogcapi-1.3/datasets/kitaeinrichtung
8 |
9 | Further information can be found here:
10 |
11 | * https://github.com/deegree/deegree-ogcapi
12 | * https://www.deegree.org/
13 |
--------------------------------------------------------------------------------
/implementations/servers/geoserver.md:
--------------------------------------------------------------------------------
1 | # GeoServer
2 |
3 | An implementation of OGC API Features is available at https://vtp2.geo-solutions.it/geoserver/web/.
4 |
5 | At the time of writing, it supports core, HTML, GML and GeoJSON (as well as other output formats), queryables, CQL extensions, tiles.
6 |
--------------------------------------------------------------------------------
/implementations/servers/other.md:
--------------------------------------------------------------------------------
1 | # Other servers
2 |
3 | The following server implementations are no longer maintained and/or implement early drafts of the specification:
4 |
5 | * [jivan](https://github.com/go-spatial/jivan) is implemented in Go, and supports JSON and HTML responses.
6 |
--------------------------------------------------------------------------------
/implementations/servers/pg_featureserv.md:
--------------------------------------------------------------------------------
1 | # pg_featureserv
2 |
3 | - [pg_featureserv](https://github.com/CrunchyData/pg_featureserv) reads from PostGIS and published OGC API Features
4 | - [documentation](https://access.crunchydata.com/documentation/pg_featureserv/latest/)
5 |
--------------------------------------------------------------------------------
/implementations/servers/qgis.md:
--------------------------------------------------------------------------------
1 | # QGIS Server
2 |
3 | * [QGIS](https://github.com/qgis/QGIS/) implements both a server and a client
4 | * [Server documentation](https://docs.qgis.org/testing/en/docs/user_manual/working_with_ogc/server/services.html#wfs3-ogc-api-features)
5 | * [Demo server](http://138.201.120.72:8084/qgisserver_demo_wfs3/wfs3/)
6 |
7 |
--------------------------------------------------------------------------------
/proposals/archive/Alternative Schema/CONTRIBUTORS.md:
--------------------------------------------------------------------------------
1 | * Chuck Heazel [@cmheazel](https://github.com/cmheazel)
2 | *
--------------------------------------------------------------------------------
/proposals/archive/README.md:
--------------------------------------------------------------------------------
1 | This folder contains proposals that have been converted to a draft or candidate standard or that are no longer planned.
--------------------------------------------------------------------------------
/proposals/search/examples/README.md:
--------------------------------------------------------------------------------
1 | T.B.D. Add examples.
2 |
--------------------------------------------------------------------------------
/proposals/search/openapi/examples/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI YAML examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/proposals/search/openapi/parameters/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI parameter components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/proposals/search/openapi/responses/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI response components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/proposals/search/openapi/schemas/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI schema components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/proposals/search/openapi/schemas/parameters.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - parameters
4 | properties:
5 | parameters:
6 | type: array
7 | items:
8 | $ref: parameter.yaml
9 |
--------------------------------------------------------------------------------
/proposals/search/openapi/schemas/queries.yaml:
--------------------------------------------------------------------------------
1 | type: object
2 | required:
3 | - queries
4 | properties:
5 | queries:
6 | type: array
7 | items:
8 | $ref: query-md.yaml
9 | links:
10 | type: array
11 | items:
12 | $ref: link.yaml
13 |
--------------------------------------------------------------------------------
/proposals/search/standard/20-096.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opengeospatial/ogcapi-features/ee305a5a8928cbc04cb4f893470bf18635f40ad3/proposals/search/standard/20-096.pdf
--------------------------------------------------------------------------------
/proposals/search/standard/README.md:
--------------------------------------------------------------------------------
1 | # OGC API - Features - Part 5: Search
2 |
3 | This folder contains the text for part 5 of the OGC API Features standard.
4 |
5 | THIS IS CURRENTLY A PROPOSAL DRAFT.
6 |
--------------------------------------------------------------------------------
/proposals/search/standard/annex_bibliography.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | [[Bibliography]]
4 | = Bibliography
5 |
6 | * [[OAFeat-Guide]] Heazel, Ch.: *Guide to OGC API - Features*, https://example.org/fixme
7 | * [[OpenAPI]] Open API Initiative: *OpenAPI Specification 3.0.2*,
8 | https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
9 |
--------------------------------------------------------------------------------
/proposals/search/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2019-xx-xx |1.0.0-SNAPSHOT |J. Doe |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/proposals/search/standard/clause_05_conventions.adoc:
--------------------------------------------------------------------------------
1 | == Conventions and background
2 |
3 | See <>, Clauses 5 and 6.
4 |
--------------------------------------------------------------------------------
/proposals/search/standard/clause_15_oas.adoc:
--------------------------------------------------------------------------------
1 | [[oas]]
2 | == OpenAPI 3.0
3 |
4 | See <>, Clause 9.
5 |
--------------------------------------------------------------------------------
/proposals/search/standard/clause_16_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
6 | Additional JSON media types that would typically be used in a server that supports JSON are:
7 |
8 | * application/ogc-query+json
9 |
10 | * application/parameters+json
11 |
12 |
--------------------------------------------------------------------------------
/proposals/search/standard/clause_17_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | [[clause-security-considerations]]
2 | == Security Considerations
3 |
4 | See <>, Clause 11.
5 |
--------------------------------------------------------------------------------
/proposals/search/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-search/REQ_post-body.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-search_post-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-search/post-body*
5 | ^|A |The body of the HTTP POST request SHALL contain a representation of a query.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-search/REQ_post-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-search_post-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-search/post-op*
5 | ^|A |The server SHALL support the HTTP POST operation at the path `/search`.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-search/REQ_response.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-search_response]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-search/response*
5 | |A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | ^|B |The response SHALL only include resources selected by the request.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_delete-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_delete-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/delete-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response wit
6 | h a HTTP status code '200'.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_get-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_get-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/get-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | ^|B |The response SHALL only include resources selected by the request.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_put-body.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_put-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/put-body*
5 | ^|A |The body of a HTTP PUT request SHALL contain a representation of the query.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_put-create-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_put-create-success.adoc]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/put-create-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '201'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_put-update-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_put-update-success.adoc]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/put-update-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '204'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/multi-collection-stored-query/REQ_queries-op.adoc:
--------------------------------------------------------------------------------
1 | [[req_multi-collection-stored-query_queries-op]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/multi-collection-stored-query/queries-op*
5 | ^|A |The server SHALL support the HTTP GET operation at the path `/search`.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-multi-collection-stored-query/REQ_parameter-delete-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_parameterized-multi-collection-stored-query_parameter-delete-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-multi-collection-stored-query/parameter-delete-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '200'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-multi-collection-stored-query/REQ_parameter-update-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_parameterized-multi-collection-stored-query_parameter-update-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-multi-collection-stored-query/parameter-update-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '200'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-stored-query/REQ_parameter-define-body.adoc:
--------------------------------------------------------------------------------
1 | [req_parameterized-stored-query_parameter-define-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-stored-query/parameter-define-body*
5 | ^|A |The body of the HTTP POST request SHALL contain a document that validates against the OpenAPI 3.0 schema document `parameters.yaml`.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-stored-query/REQ_parameter-delete-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_parameterized-stored-query_parameter-delete-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-stored-query/parameter-delete-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '200'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-stored-query/REQ_parameter-update-body.adoc:
--------------------------------------------------------------------------------
1 | [[req_parameterized-stored-query-parameter-update-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-stored-query/parameter-update-body*
5 | ^|A |The body of the HTTP PUT request SHALL contain a document that validates against the OpenAPI 3.0 schema document `parameter.yaml`.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/parameterized-stored-query/REQ_parameter-update-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_parameterized-stored-query_parameter-update-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/parameterized-stored-query/parameter-update-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '200'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_geojson.adoc:
--------------------------------------------------------------------------------
1 | [[rc_geojson]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/geojson
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_gmlsf0.adoc:
--------------------------------------------------------------------------------
1 | [[rc_gmlsf0]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/gmlsf0
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_gmlsf2.adoc:
--------------------------------------------------------------------------------
1 | [[rc_gmlsf2]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/gmlsf2
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_html.adoc:
--------------------------------------------------------------------------------
1 | [[rc_html]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/html
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_multi-collection-search.adoc:
--------------------------------------------------------------------------------
1 | [[rc_multi-collection-search]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/multi-collection-search
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_multi-collection-stored-query.adoc:
--------------------------------------------------------------------------------
1 | [[rc_multi-collection-stored-query]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/multi-collection-stored-query
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_ogc-json-query-expression.adoc:
--------------------------------------------------------------------------------
1 | [[rc_ogc-json-query-expression]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/ogc-json-query-expression
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_parameterized-multi-collection-stored-query.adoc:
--------------------------------------------------------------------------------
1 | [[rc_parameterized-multi-collection-stored-query]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/parameterized-multi-collection-stored-query
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_parameterized-query-expression.adoc:
--------------------------------------------------------------------------------
1 | [[rc_parameterized-query-expression]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/parameterized-query-expression
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_parameterized-stored-query.adoc:
--------------------------------------------------------------------------------
1 | [[rc_parameterized-stored-query]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/parameterized-stored-query
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_search.adoc:
--------------------------------------------------------------------------------
1 | [[rc_search]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/search
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_standing-query.adoc:
--------------------------------------------------------------------------------
1 | [[rc_standing-query]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/standing-query
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/requirements_class_stored-query.adoc:
--------------------------------------------------------------------------------
1 | [[rc_stored-query]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-5/1.0/req/stored-query
6 | |Target type |Web API
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/search/REQ_post-body.adoc:
--------------------------------------------------------------------------------
1 | [[req_search_post-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/search/post-body*
5 | ^|A |The body of the HTTP POST request SHALL contain a representation of a query.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/search/REQ_response.adoc:
--------------------------------------------------------------------------------
1 | [[req_search_response]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/search/response*
5 | |A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | ^|B |The response SHALL only include resources selected by the request.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_delete-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_delete-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/delete-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response wit
6 | h a HTTP status code '200'.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_get-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_get-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/get-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code `200`.
6 | ^|B |The response SHALL only include resources selected by the request.
7 | |===
8 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_put-body.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_put-body]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/put-body*
5 | ^|A |The body of a HTTP PUT request SHALL contain a representation of the query.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_put-create-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_put-create-success.adoc]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/put-create-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '201'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_put-update-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_put-update-success.adoc]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/put-update-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response with a HTTP status code '204'.
6 | |===
7 |
--------------------------------------------------------------------------------
/proposals/search/standard/requirements/stored-query/REQ_queries-success.adoc:
--------------------------------------------------------------------------------
1 | [[req_stored-query_queries-success]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/stored-query/queries-success*
5 | ^|A |A successful execution of the operation SHALL be reported as a response wit
6 | h a HTTP status code `200`.
7 | ^|B |The content of that response SHALL be based upon the OpenAPI 3.0 schema http://fix.me/queries.yaml[queries.yaml].
8 | |===
9 |
--------------------------------------------------------------------------------
/specification-elements/README.md:
--------------------------------------------------------------------------------
1 | # Specification elements of the OGC API - Features - Part 1: Core
2 |
3 | This folder contains files that map URIs of specification elements to sections in the OGC API - Features - Part 1: Core standard document.
4 |
5 | The mappings are intended to make the URIs of specification elements resolvable.
6 |
--------------------------------------------------------------------------------
/template/README.md:
--------------------------------------------------------------------------------
1 | # Standard template
2 |
3 | This folder contains the content for the OGC API - Features - Part n: TBD standard.
4 |
5 | The repo is organized as follows:
6 |
7 | * standard - the main standard document content
8 | - organized in multiple sections and directories
9 | * openapi - normative OpenAPI components specified by the standard
10 | * xml - normative XML/XSD components specified by the standard
11 | * examples - JSON and XML examples
12 |
--------------------------------------------------------------------------------
/template/examples/json/README.md:
--------------------------------------------------------------------------------
1 | Add JSON examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/examples/xml/README.md:
--------------------------------------------------------------------------------
1 | Add XML examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/openapi/examples/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI YAML examples to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/openapi/parameters/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI parameter components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/openapi/responses/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI response components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/openapi/schemas/README.md:
--------------------------------------------------------------------------------
1 | Add OpenAPI schema components to this directory. If not used, delete the directory.
2 |
--------------------------------------------------------------------------------
/template/standard/README.md:
--------------------------------------------------------------------------------
1 | This folder contains the text for part 1 of the OGC API Features standard.
2 |
--------------------------------------------------------------------------------
/template/standard/abstract_tests/cc/TEST001.adoc:
--------------------------------------------------------------------------------
1 | ===== Test case title
2 |
3 | (( additional discussion, if needed ))
4 |
5 | ====== a) Test Purpose:
6 | (( description ))
7 |
8 | ====== b) Pre-conditions:
9 | * (( list all preconditions ))
10 |
11 | ====== c) Test Method:
12 | * (( steps to execute and assertions to test ))
13 |
14 | ====== d) References:
15 | * <>
16 |
--------------------------------------------------------------------------------
/template/standard/annex_ats.adoc:
--------------------------------------------------------------------------------
1 | [[ats]]
2 | [appendix]
3 | :appendix-caption: Annex
4 | == Abstract Test Suite (Normative)
5 |
6 | (( add test cases ))
7 |
8 | include::abstract_tests/cc/TEST001.adoc[]
9 |
--------------------------------------------------------------------------------
/template/standard/annex_bibliography.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | [[Bibliography]]
4 | = Bibliography
5 |
6 | * [[OAFeat-Guide]] Heazel, Ch.: *Guide to OGC API - Features*, https://example.org/fixme
7 | * [[OpenAPI]] Open API Initiative: *OpenAPI Specification 3.0.2*,
8 | https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
9 |
--------------------------------------------------------------------------------
/template/standard/annex_history.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Revision History
4 |
5 | [cols="12,18,12,12,46",options="header"]
6 | |===
7 | |Date |Release |Editor | Primary clauses modified |Description
8 | |2019-xx-xx |1.0.0-SNAPSHOT |J. Doe |all |initial version
9 | |===
10 |
--------------------------------------------------------------------------------
/template/standard/annex_n.adoc:
--------------------------------------------------------------------------------
1 | [appendix]
2 | :appendix-caption: Annex
3 | == Title ( {Normative/Informative} )
4 |
5 | [NOTE]
6 | Place other Annex material in sequential annexes beginning with "B" and leave final two annexes for the Revision History and Bibliography
7 |
--------------------------------------------------------------------------------
/template/standard/clause_1_scope.adoc:
--------------------------------------------------------------------------------
1 | == Scope
2 |
3 | This document specifies the behavior of Web APIs that provide access to features ...
4 |
5 | (( add scope statement ))
6 |
--------------------------------------------------------------------------------
/template/standard/clause_5_conventions.adoc:
--------------------------------------------------------------------------------
1 | == Conventions and background
2 |
3 | See <>, Clauses 5 and 6.
4 |
--------------------------------------------------------------------------------
/template/standard/clause_6_cc.adoc:
--------------------------------------------------------------------------------
1 | == Requirements Class "CC"
2 |
3 | [[cc-overview]]
4 | === Overview
5 |
6 | include::requirements/requirements_class_cc.adoc[]
7 |
8 | (( add text how this part extends OGC API Features ))
9 |
10 | (( use the following as templates for normative statements: ))
11 |
12 | include::requirements/cc/REQ_req.adoc[]
13 |
14 | include::recommendations/cc/REC_rec.adoc[]
15 |
16 | include::recommendations/cc/PER_per.adoc[]
17 |
--------------------------------------------------------------------------------
/template/standard/clause_7_media_types.adoc:
--------------------------------------------------------------------------------
1 | [[mediatypes]]
2 | == Media Types
3 |
4 | See <>, Clause 10.
5 |
6 | (( add additional text as needed ))
7 |
--------------------------------------------------------------------------------
/template/standard/clause_8_security_considerations.adoc:
--------------------------------------------------------------------------------
1 | == Security Considerations
2 |
3 | See <>, Clause 11.
4 |
5 | (( add additional text as needed ))
6 |
--------------------------------------------------------------------------------
/template/standard/figures/README.md:
--------------------------------------------------------------------------------
1 | Figures go here.
2 |
3 | Each figure is a separate file with the naming convention:
4 |
5 | "PTm_FIGn.xxx" where "m" is a number with leading zeroes appropriate for the total number of parts, "n" is a number with leading zeroes appropriate for the total number of figures and "xxx" is the appropriate extension for the file type.
--------------------------------------------------------------------------------
/template/standard/recommendations/cc/PER_per.adoc:
--------------------------------------------------------------------------------
1 | [[per_cc_per]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Permission {counter:per-id}* |*/per/cc/per*
5 | ^|A |Abc MAY ....
6 | |===
7 |
--------------------------------------------------------------------------------
/template/standard/recommendations/cc/REC_rec.adoc:
--------------------------------------------------------------------------------
1 | [[rec_cc_rec]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Recommendation {counter:rec-id}* |*/rec/cc/rec*
5 | ^|A |Xyz SHOULD ...
6 | |===
7 |
--------------------------------------------------------------------------------
/template/standard/requirements/cc/REQ_req.adoc:
--------------------------------------------------------------------------------
1 | [[req_cc_req]]
2 | [width="90%",cols="2,6a"]
3 | |===
4 | ^|*Requirement {counter:req-id}* |*/req/cc/req*
5 | ^|A |Xyz SHALL ...
6 | ^|B |Abc SHALL ...
7 | |===
8 |
--------------------------------------------------------------------------------
/template/standard/requirements/requirements_class_cc.adoc:
--------------------------------------------------------------------------------
1 | [[rc_cc]]
2 | [cols="1,4",width="90%"]
3 | |===
4 | 2+|*Requirements Class*
5 | 2+|http://www.opengis.net/spec/ogcapi-features-1/1.0/req/cc
6 | |Target type |Web API
7 | |Dependency |<>
8 | |===
9 |
--------------------------------------------------------------------------------
/template/xml/wsdl/README.md:
--------------------------------------------------------------------------------
1 | # Standard template
2 |
3 | This folder is a placeholder for a WSDL 2.0 description that can be an
4 | XML-encoded alternative for an OpenAPI 3.0 document.
5 |
--------------------------------------------------------------------------------