├── geoapi └── src │ ├── main │ ├── python │ │ ├── opengis │ │ │ ├── py.typed │ │ │ ├── geometry │ │ │ │ └── __init__.py │ │ │ ├── util │ │ │ │ └── __init__.py │ │ │ ├── referencing │ │ │ │ └── __init__.py │ │ │ ├── metadata │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── docs │ │ │ ├── referencing │ │ │ │ ├── cs.md │ │ │ │ ├── crs.md │ │ │ │ ├── datum.md │ │ │ │ ├── common.md │ │ │ │ ├── coordinate.md │ │ │ │ ├── operation.md │ │ │ │ └── overview.md │ │ │ ├── metadata │ │ │ │ ├── base.md │ │ │ │ ├── content.md │ │ │ │ ├── extent.md │ │ │ │ ├── lineage.md │ │ │ │ ├── naming.md │ │ │ │ ├── quality.md │ │ │ │ ├── service.md │ │ │ │ ├── citation.md │ │ │ │ ├── extension.md │ │ │ │ ├── acquisition.md │ │ │ │ ├── constraints.md │ │ │ │ ├── distribution.md │ │ │ │ ├── maintenance.md │ │ │ │ ├── identification.md │ │ │ │ ├── representation.md │ │ │ │ └── overview.md │ │ │ ├── util │ │ │ │ ├── measure.md │ │ │ │ └── overview.md │ │ │ ├── geometry │ │ │ │ ├── primitive.md │ │ │ │ └── overview.md │ │ │ └── index.md │ │ ├── requirements.txt │ │ └── mkdocs.yml │ ├── resources │ │ └── org │ │ │ └── opengis │ │ │ └── metadata │ │ │ ├── 2003 │ │ │ └── charset-codes.properties │ │ │ ├── CodeLists_en.properties │ │ │ ├── Descriptions_en.properties │ │ │ └── Descriptions_en_US.properties │ └── java │ │ └── org │ │ └── opengis │ │ ├── geoapi │ │ └── internal │ │ │ └── package-info.java │ │ ├── metadata │ │ ├── content │ │ │ └── ContentInformation.java │ │ ├── quality │ │ │ ├── Usability.java │ │ │ ├── Confidence.java │ │ │ ├── FullInspection.java │ │ │ ├── NonQuantitativeAttributeAccuracy.java │ │ │ ├── TemporalAccuracy.java │ │ │ ├── AggregationDerivation.java │ │ │ ├── SourceReference.java │ │ │ ├── Homogeneity.java │ │ │ ├── TemporalValidity.java │ │ │ ├── Completeness.java │ │ │ ├── Representativity.java │ │ │ └── DataEvaluation.java │ │ ├── extent │ │ │ ├── TemporalExtent.java │ │ │ ├── GeographicDescription.java │ │ │ └── BoundingPolygon.java │ │ └── identification │ │ │ └── Parameter.html │ │ ├── geometry │ │ └── package-info.java │ │ └── filter │ │ └── capability │ │ └── package-info.java │ ├── shared │ ├── README.md │ └── java │ │ └── org │ │ └── opengis │ │ └── geoapi │ │ ├── package-info.java │ │ └── schema │ │ ├── package-info.java │ │ └── SchemaException.java │ ├── pending │ └── java │ │ └── org │ │ └── opengis │ │ └── geometry │ │ ├── Geometry.java │ │ └── primitive │ │ ├── Point.java │ │ └── package-info.java │ └── test │ └── java │ └── org │ └── opengis │ ├── util │ └── CodeListTest.java │ ├── filter │ └── FilterNameTest.java │ └── referencing │ └── operation │ └── MatrixTest.java ├── src ├── main │ ├── python │ │ ├── MANIFEST.in │ │ └── README.md │ ├── javadoc │ │ ├── warning.png │ │ ├── README.md │ │ ├── departure.css │ │ ├── content.css │ │ └── overview.html │ └── metanorma │ │ ├── Gemfile │ │ ├── metanorma.yml │ │ ├── figures │ │ └── derivatives.png │ │ ├── sections │ │ ├── profiles │ │ │ ├── python │ │ │ │ └── annex.adoc │ │ │ └── java │ │ │ │ ├── annex.adoc │ │ │ │ ├── filter.adoc │ │ │ │ └── tests.adoc │ │ ├── informative │ │ │ ├── feature │ │ │ │ ├── index.adoc │ │ │ │ └── moving.adoc │ │ │ ├── mapping_rules.adoc │ │ │ ├── filter │ │ │ │ ├── index.adoc │ │ │ │ ├── capabilities.adoc │ │ │ │ └── filter.adoc │ │ │ ├── geometry │ │ │ │ └── departures.adoc │ │ │ ├── temporal │ │ │ │ └── departures.adoc │ │ │ ├── core_types.adoc │ │ │ ├── units.adoc │ │ │ ├── collections.adoc │ │ │ ├── derived_properties.adoc │ │ │ └── metadata │ │ │ │ └── nil_values.adoc │ │ ├── annex-code.adoc │ │ ├── annex-bibliography.adoc │ │ └── clause_7_normative_text.adoc │ │ ├── tests │ │ ├── README.adoc │ │ ├── class_core.adoc │ │ ├── test_signatures.adoc │ │ └── test_invariants.adoc │ │ ├── .gitignore │ │ ├── geoapi.css │ │ ├── requirements │ │ ├── req_behavior.adoc │ │ ├── req_factory_methods.adoc │ │ ├── class_app.adoc │ │ ├── README.md │ │ ├── req_implementation_discovery.adoc │ │ ├── req_getters.adoc │ │ └── req_setters.adoc │ │ ├── build.sh │ │ └── code │ │ └── java │ │ ├── internationalization.adoc │ │ ├── JNDI.adoc │ │ ├── code_list.adoc │ │ └── metadata.adoc └── README.md ├── geoapi-java-python └── src │ ├── main │ ├── python │ │ └── opengis │ │ │ └── bridge │ │ │ ├── java │ │ │ └── __init__.py │ │ │ └── __init__.py │ ├── java9 │ │ └── module-info.txt │ ├── java │ │ └── org │ │ │ └── opengis │ │ │ └── bridge │ │ │ └── python │ │ │ └── EnvironmentException.java │ └── resources │ │ └── org │ │ └── opengis │ │ └── bridge │ │ └── python │ │ └── subclassed.txt │ └── test │ └── python │ └── test_referencing.py ├── tools └── src │ └── main │ ├── bash │ ├── README.md │ └── update_all.sh │ └── java │ ├── org │ └── opengis │ │ └── tools │ │ ├── doclet │ │ └── package-info.java │ │ ├── apt │ │ ├── package-info.java │ │ └── UMLMember.java │ │ └── version │ │ └── package-info.java │ └── module-info.java ├── geoapi-pending └── src │ └── main │ └── java │ └── org │ └── opengis │ ├── style │ ├── doc-files │ │ ├── rules.jpg │ │ └── symbolizers.jpg │ ├── GraphicalSymbol.java │ ├── GraphicLegend.java │ ├── portrayal │ │ └── PortrayalService.java │ ├── GraphicFill.java │ ├── LabelPlacement.java │ └── GraphicStroke.java │ ├── coverage │ ├── grid │ │ └── doc-files │ │ │ ├── Morton.png │ │ │ ├── Hilbert.png │ │ │ ├── LinearScanning.png │ │ │ ├── SpiralScanning.png │ │ │ ├── BoustrophedonicScanning.png │ │ │ └── CantorDiagonalScanning.png │ ├── PointValuePair.java │ ├── CurveValuePair.java │ ├── SolidValuePair.java │ └── SurfaceValuePair.java │ ├── geometry │ ├── coordinate │ │ ├── doc-files │ │ │ ├── ConicCurve.png │ │ │ └── AffinePlacement.png │ │ ├── BilinearGrid.java │ │ ├── ArcByBulge.java │ │ ├── Bezier.java │ │ ├── Circle.java │ │ ├── Cylinder.java │ │ └── TriangulatedSurface.java │ ├── aggregate │ │ ├── package.html │ │ ├── Aggregate.java │ │ └── MultiPrimitive.java │ ├── primitive │ │ └── PrimitiveBoundary.java │ └── complex │ │ └── ComplexBoundary.java │ ├── observation │ ├── ProcessModel.java │ ├── AnyFeature.java │ ├── Phenomenon.java │ ├── sampling │ │ ├── SpatiallyExtensiveSamplingFeature.java │ │ └── SamplingPoint.java │ ├── BaseUnit.java │ ├── Process.java │ ├── ObservationCollection.java │ ├── Measurement.java │ ├── Measure.java │ ├── coverage │ │ ├── DiscreteTimeInstantCoverage.java │ │ └── TimeInstantValuePair.java │ ├── ProcessSystem.java │ └── CompoundPhenomenon.java │ └── referencing │ └── gazetteer │ └── package-info.java ├── geoapi-conformance └── src │ ├── main │ ├── resources │ │ └── org │ │ │ └── opengis │ │ │ └── test │ │ │ ├── runner │ │ │ ├── start.png │ │ │ ├── documentinfo.png │ │ │ └── mydocuments.png │ │ │ ├── dataset │ │ │ ├── MovingFeatures.nc │ │ │ ├── Cube4D_projected_float.nc │ │ │ ├── Cube2D_geographic_packed.nc │ │ │ └── README.md │ │ │ └── report │ │ │ ├── index.html │ │ │ ├── AuthorityCodes.html │ │ │ └── OperationParameters.html │ └── java │ │ └── org │ │ └── opengis │ │ └── test │ │ ├── util │ │ └── package-info.java │ │ ├── geometry │ │ └── package-info.java │ │ ├── report │ │ └── package-info.java │ │ ├── metadata │ │ └── package-info.java │ │ ├── coverage │ │ └── image │ │ │ └── package-info.java │ │ ├── dataset │ │ └── package-info.java │ │ ├── ComputationFailure.java │ │ └── referencing │ │ ├── TransformFailure.java │ │ └── DerivativeFailure.java │ └── test │ └── resources │ └── org │ └── opengis │ └── test │ └── coverage │ └── image │ ├── PointLoma.png │ └── README.md ├── ogcmetanorma.json ├── geoapi-examples └── src │ ├── main │ └── java │ │ └── org │ │ └── opengis │ │ └── example │ │ ├── coverage │ │ └── package-info.java │ │ ├── geometry │ │ └── package-info.java │ │ ├── package-info.java │ │ ├── util │ │ └── package-info.java │ │ ├── metadata │ │ └── package-info.java │ │ └── referencing │ │ └── SimpleMatrix.java │ └── test │ └── java │ └── org │ └── opengis │ └── example │ ├── util │ └── SimpleNameTest.java │ └── referencing │ └── AffineTransform2DTest.java └── .gitignore /geoapi/src/main/python/opengis/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/python/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include setup.py 2 | -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/cs.md: -------------------------------------------------------------------------------- 1 | # `cs` module 2 | :::opengis.referencing.cs -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/base.md: -------------------------------------------------------------------------------- 1 | # `base` module 2 | ::: opengis.metadata.base -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/crs.md: -------------------------------------------------------------------------------- 1 | # `crs` module 2 | :::opengis.referencing.crs -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/util/measure.md: -------------------------------------------------------------------------------- 1 | # `measure` module 2 | ::: opengis.util.measure -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/content.md: -------------------------------------------------------------------------------- 1 | # `content` module 2 | ::: opengis.metadata.content -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/extent.md: -------------------------------------------------------------------------------- 1 | # `extent` module 2 | ::: opengis.metadata.extent -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/lineage.md: -------------------------------------------------------------------------------- 1 | # `lineage` module 2 | ::: opengis.metadata.lineage -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/naming.md: -------------------------------------------------------------------------------- 1 | # `naming` module 2 | ::: opengis.metadata.naming -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/quality.md: -------------------------------------------------------------------------------- 1 | # `quality` module 2 | ::: opengis.metadata.quality -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/service.md: -------------------------------------------------------------------------------- 1 | # `service` module 2 | ::: opengis.metadata.service -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/datum.md: -------------------------------------------------------------------------------- 1 | # `datum` module 2 | :::opengis.referencing.datum -------------------------------------------------------------------------------- /geoapi/src/main/python/requirements.txt: -------------------------------------------------------------------------------- 1 | mkdocs 2 | mkdocstrings-python 3 | mkdocs-material 4 | -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/citation.md: -------------------------------------------------------------------------------- 1 | # `citation` module 2 | ::: opengis.metadata.citation -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/common.md: -------------------------------------------------------------------------------- 1 | # `common`module 2 | :::opengis.referencing.common -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/geometry/primitive.md: -------------------------------------------------------------------------------- 1 | # `primitive` module 2 | ::: opengis.geometry.primitive -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/extension.md: -------------------------------------------------------------------------------- 1 | # `extension` module 2 | ::: opengis.metadata.extension -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/geometry/overview.md: -------------------------------------------------------------------------------- 1 | # Geometry Subpackage (ISO 19107) 2 | ::: opengis.geometry 3 | -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/acquisition.md: -------------------------------------------------------------------------------- 1 | # `acquisition` module 2 | ::: opengis.metadata.acquisition -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/constraints.md: -------------------------------------------------------------------------------- 1 | # `constraints` module 2 | ::: opengis.metadata.constraints -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/distribution.md: -------------------------------------------------------------------------------- 1 | # `distribution` module 2 | ::: opengis.metadata.distribution -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/maintenance.md: -------------------------------------------------------------------------------- 1 | # `maintenance` module 2 | ::: opengis.metadata.maintenance -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/coordinate.md: -------------------------------------------------------------------------------- 1 | # `coordinate` module 2 | :::opengis.referencing.coordinate -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/operation.md: -------------------------------------------------------------------------------- 1 | # `operation` module 2 | :::opengis.referencing.operation -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/util/overview.md: -------------------------------------------------------------------------------- 1 | # Referencing Subpackage (ISO 19103:2015) 2 | ::: opengis.util 3 | -------------------------------------------------------------------------------- /src/main/javadoc/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/src/main/javadoc/warning.png -------------------------------------------------------------------------------- /src/main/metanorma/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "metanorma-cli" 4 | gem "relaton-cli" 5 | -------------------------------------------------------------------------------- /src/main/metanorma/metanorma.yml: -------------------------------------------------------------------------------- 1 | --- 2 | metanorma: 3 | source: 4 | files: 5 | - standard.adoc 6 | -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/identification.md: -------------------------------------------------------------------------------- 1 | # `identification` module 2 | ::: opengis.metadata.identification -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/representation.md: -------------------------------------------------------------------------------- 1 | # `representation` module 2 | ::: opengis.metadata.representation -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/referencing/overview.md: -------------------------------------------------------------------------------- 1 | # Referencing Subpackage (ISO 19111) 2 | ::: opengis.referencing 3 | -------------------------------------------------------------------------------- /geoapi/src/main/resources/org/opengis/metadata/CodeLists_en.properties: -------------------------------------------------------------------------------- 1 | # Inherit all resources from CodeLists.properties 2 | -------------------------------------------------------------------------------- /geoapi/src/main/resources/org/opengis/metadata/Descriptions_en.properties: -------------------------------------------------------------------------------- 1 | # Inherit all resources from Descriptions.properties 2 | -------------------------------------------------------------------------------- /src/main/metanorma/figures/derivatives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/src/main/metanorma/figures/derivatives.png -------------------------------------------------------------------------------- /src/main/metanorma/sections/profiles/python/annex.adoc: -------------------------------------------------------------------------------- 1 | [appendix,obligation="normative"] 2 | [[python]] 3 | == Python Profile 4 | 5 | #TODO# 6 | -------------------------------------------------------------------------------- /geoapi/src/main/python/docs/metadata/overview.md: -------------------------------------------------------------------------------- 1 | # Naming (ISO 19103) and Metadata Subpackage (ISO 19115-1:2014, ISO 19115-2:2018) 2 | ::: opengis.metadata -------------------------------------------------------------------------------- /geoapi-java-python/src/main/python/opengis/bridge/java/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Python implementation of GeoAPI delegating the work to a Java implementation. 3 | """ 4 | -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- 1 | Root directory of the GeoAPI specification and of files that apply to all modules. 2 | For building the project, see the [tools](../tools) directory. 3 | -------------------------------------------------------------------------------- /tools/src/main/bash/README.md: -------------------------------------------------------------------------------- 1 | Unix shell scripts for building some GeoAPI artifacts that are too difficult to build with Maven. 2 | Only Unix `bash` is supported. 3 | -------------------------------------------------------------------------------- /geoapi-java-python/src/main/python/opengis/bridge/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Python implementation of GeoAPI delegating the work to an implementation in another language. 3 | """ 4 | -------------------------------------------------------------------------------- /geoapi-java-python/src/main/java9/module-info.txt: -------------------------------------------------------------------------------- 1 | This module does not yet declare a module-info.java file because it 2 | depends on JAR files that are not yet available as Java 9 modules. 3 | -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/style/doc-files/rules.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/style/doc-files/rules.jpg -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/runner/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/runner/start.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/style/doc-files/symbolizers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/style/doc-files/symbolizers.jpg -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/Morton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/Morton.png -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/runner/documentinfo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/runner/documentinfo.png -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/runner/mydocuments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/runner/mydocuments.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/Hilbert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/Hilbert.png -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/dataset/MovingFeatures.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/dataset/MovingFeatures.nc -------------------------------------------------------------------------------- /src/main/metanorma/tests/README.adoc: -------------------------------------------------------------------------------- 1 | # Description of conformance tests 2 | 3 | This folder contains the Test Suite. 4 | For each test, there should be a corresponding requirement in the "requirements" folder. 5 | -------------------------------------------------------------------------------- /geoapi-conformance/src/test/resources/org/opengis/test/coverage/image/PointLoma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/test/resources/org/opengis/test/coverage/image/PointLoma.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/LinearScanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/LinearScanning.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/SpiralScanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/SpiralScanning.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/geometry/coordinate/doc-files/ConicCurve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/geometry/coordinate/doc-files/ConicCurve.png -------------------------------------------------------------------------------- /src/main/metanorma/.gitignore: -------------------------------------------------------------------------------- 1 | # Metanorma generated output 2 | _files 3 | iev 4 | relaton 5 | document.err 6 | document.pdf 7 | document.html 8 | document.xml.abort 9 | document.presentation.xml 10 | document_* 11 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/dataset/Cube4D_projected_float.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/dataset/Cube4D_projected_float.nc -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/dataset/Cube2D_geographic_packed.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-conformance/src/main/resources/org/opengis/test/dataset/Cube2D_geographic_packed.nc -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/geometry/coordinate/doc-files/AffinePlacement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/geometry/coordinate/doc-files/AffinePlacement.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/BoustrophedonicScanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/BoustrophedonicScanning.png -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/CantorDiagonalScanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengeospatial/geoapi/HEAD/geoapi-pending/src/main/java/org/opengis/coverage/grid/doc-files/CantorDiagonalScanning.png -------------------------------------------------------------------------------- /geoapi/src/main/resources/org/opengis/metadata/Descriptions_en_US.properties: -------------------------------------------------------------------------------- 1 | # Inherit resources from Descriptions.properties 2 | MD_Band.detectedPolarisation=Polarization of the radiation detected. 3 | MD_Band.transmittedPolarisation=Polarization of the radiation transmitted. 4 | -------------------------------------------------------------------------------- /geoapi-conformance/src/test/resources/org/opengis/test/coverage/image/README.md: -------------------------------------------------------------------------------- 1 | ## Image sources: 2 | 3 | ### PointLoma.png 4 | File `2.1.09.tiff` from http://sipi.usc.edu/database 5 | smoothed and reduced to a size of 192×192 pixels. 6 | Considered free to use (from web site on 2012-06-07). 7 | -------------------------------------------------------------------------------- /ogcmetanorma.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "OGC_doc_number": "23-016", 4 | "urn":"http://www.opengis.net/doc/IS/geoapi/4.0", 5 | "title":"OGC GeoAPI", 6 | "version":"4.0.0", 7 | "path":"src/main/metanorma/standard.adoc" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/main/bash/update_all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Update the copyright years of all files in the git repository. 4 | # This script searches Java and Python files recursively from the 5 | # current directory at the time this script is invoked. 6 | # 7 | set -o errexit 8 | SCRIPT_DIR=`dirname "$0"` 9 | find -type f \( -name "*.java" -o -name "*.py" \) -exec $SCRIPT_DIR/update_copyright_years.sh '{}' \; 10 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/report/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Every classes in this package are hereby placed into the Public Domain. 11 | * This means anyone is free to do whatever they wish with those files.
12 | */ 13 | package org.opengis.example.coverage; 14 | -------------------------------------------------------------------------------- /geoapi-examples/src/main/java/org/opengis/example/geometry/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * This file is hereby placed into the Public Domain. 4 | * This means anyone is free to do whatever they wish with this file. 5 | */ 6 | 7 | /** 8 | * Implementation of some interfaces from the {@link org.opengis.geometry} package. 9 | * 10 | *Every classes in this package are hereby placed into the Public Domain. 11 | * This means anyone is free to do whatever they wish with those files.
12 | */ 13 | package org.opengis.example.geometry; 14 | -------------------------------------------------------------------------------- /src/main/metanorma/sections/informative/mapping_rules.adoc: -------------------------------------------------------------------------------- 1 | [[mapping_rules]] 2 | === General mapping rules 3 | 4 | This section gives high-level guidance in the mapping from UML to {supported-languages} API applying to all GeoAPI types. 5 | Other sections after this one will focus on specific type subsets (metadata, referencing, _etc_). 6 | The guidelines are not strict rules; departures from them exist on a case-by-case basis when semantically justifiable. 7 | 8 | 9 | include::naming.adoc[] 10 | 11 | include::multiplicity.adoc[] 12 | 13 | include::annotations.adoc[] 14 | 15 | include::derived_properties.adoc[] 16 | -------------------------------------------------------------------------------- /src/main/metanorma/tests/test_signatures.adoc: -------------------------------------------------------------------------------- 1 | [[test-signatures]] 2 | [abstract_test] 3 | ==== 4 | [%metadata] 5 | label:: /conf/core/api-definition 6 | subject:: /req/req-class-lib/req-signatures 7 | test-purpose:: Verify that all types and properties in OGC namespace are as published. 8 | 9 | [.component,class=test method] 10 | ===== 11 | [.component,class=step] 12 | -- 13 | #TODO: write a Java program verifying signature of all classes and methods in the `org.opengis` namespace. 14 | This verification would be done for the "libraries" target type only, not the "applications" target type.# 15 | -- 16 | ===== 17 | ==== 18 | -------------------------------------------------------------------------------- /geoapi-examples/src/main/java/org/opengis/example/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * This file is hereby placed into the Public Domain. 4 | * This means anyone is free to do whatever they wish with this file. 5 | */ 6 | 7 | /** 8 | * Access to examples of GeoAPI implementations. 9 | * This package is provided only for illustrative purposes with simple implementations. 10 | * This package is not for use in production. 11 | * For real applications, use a library implementing GeoAPI or providing GeoAPI wrappers. 12 | */ 13 | package org.opengis.example; 14 | -------------------------------------------------------------------------------- /geoapi-examples/src/main/java/org/opengis/example/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * This file is hereby placed into the Public Domain. 4 | * This means anyone is free to do whatever they wish with this file. 5 | */ 6 | 7 | /** 8 | * Implementation of some interfaces from the {@link org.opengis.util} package. 9 | * The {@link org.opengis.example.util.SimpleName} and related classes are built 10 | * on top of the JNDI {@link javax.naming} package. 11 | * 12 | *Every classes in this package are hereby placed into the Public Domain. 13 | * This means anyone is free to do whatever they wish with those files.
14 | */ 15 | package org.opengis.example.util; 16 | -------------------------------------------------------------------------------- /src/main/python/README.md: -------------------------------------------------------------------------------- 1 | # GeoAPI for python 2 | 3 | This Python module offers implementation-neutral interfaces for OGC/ISO standards. 4 | These interfaces can be implemented by wrappers around libraries, not necessarily 5 | in Python. A wrapper around the Java implementations of GeoAPI is provided. 6 | 7 | 8 | ## Installation 9 | 10 | If any version of this package has been installed before, 11 | it should be uninstalled first by the `pip uninstall` command. 12 | Uninstallation and installation commands need to be run as administrator, which is done by `sudo`: 13 | 14 | ``` 15 | # Skip next line if GeoAPI has not been previously installed. 16 | sudo pip uninstall geoapi 17 | sudo pip install geoapi-This list is generated from the ${FACTORY.NAME} geodetic dataset version ${FACTORY.VERSION}${FACTORY.VERSION.SUFFIX}. 12 | Those ${OBJECTS.KIND} are supported by the ${PRODUCT.NAME} 13 | library version ${PRODUCT.VERSION}${PRODUCT.VERSION.SUFFIX}, 14 | except those with a red text in the last column. 15 | There are ${COUNT.OBJECTS} codes, ${PERCENT.VALIDS} of them being supported.
16 | 17 | ${DESCRIPTION} 18 | 19 || Code | Name | Remarks |
|---|
geoapi-pending module.
23 | */
24 | public interface Geometry {
25 | }
26 |
--------------------------------------------------------------------------------
/geoapi-conformance/src/main/resources/org/opengis/test/report/OperationParameters.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This list is generated from the ${PRODUCT.NAME} library version ${PRODUCT.VERSION}. 12 | The rows are grouped by ${OBJECTS.KIND} in bold characters, followed by their 13 | parameters. 14 | The names in italic are primary names 15 | while other names are aliases. 16 | All those names and aliases are known to the library.
17 | 18 | ${DESCRIPTION} 19 | 20 | ${CONTENT} 21 |Arbitrary aggregations of geometric objects are possible. These are not 13 | assumed to have any additional internal structure and are used to "collect" pieces of geometry 14 | of a specified type. In this respect they differ from "composites" and "complexes". Operations 15 | on these aggregations shall be the accumulators that are derived from the class operations of 16 | their elements. Applications may use aggregates for features that use multiple geometric objects 17 | in their representations, such as a collection of points to represent a tank farm or orchard.
18 | 19 | 20 | -------------------------------------------------------------------------------- /geoapi/src/main/java/org/opengis/geoapi/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Non-public helper methods for default implementation of some GeoAPI methods. 21 | * 22 | * @author Martin Desruisseaux (Geomatys) 23 | * @version 3.1 24 | * @since 3.1 25 | */ 26 | package org.opengis.geoapi.internal; 27 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/java/org/opengis/test/geometry/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2008-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Validators and test suites for the {@code org.opengis.geometry} package. 21 | * 22 | * @author Martin Desruisseaux (Geomatys) 23 | * @version 3.0 24 | * @since 2.2 25 | */ 26 | package org.opengis.test.geometry; 27 | -------------------------------------------------------------------------------- /geoapi/src/pending/java/org/opengis/geometry/primitive/Point.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2003-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.geometry.primitive; 19 | 20 | import org.opengis.geometry.Geometry; 21 | 22 | 23 | /** 24 | * Temporary placeholder for an interface defined in thegeoapi-pending module.
25 | */
26 | public interface Point extends Geometry {
27 | }
28 |
--------------------------------------------------------------------------------
/geoapi/src/pending/java/org/opengis/geometry/primitive/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2021-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * Set of geometric objects that are not decomposed further into other primitives.
21 | * The content of this package will be developed in a future GeoAPI release.
22 | *
23 | * @version 3.1
24 | * @since 1.0
25 | */
26 | package org.opengis.geometry.primitive;
27 |
--------------------------------------------------------------------------------
/src/main/metanorma/sections/informative/filter/capabilities.adoc:
--------------------------------------------------------------------------------
1 | [[filter_capabilities]]
2 | ==== Capabilities
3 | _From <In addition to the proxy classes, this package provides an explicit implementation of the 16 | * {@link org.opengis.metadata.citation.Citation} interface because it is widely used by the 17 | * referencing packages.
18 | * 19 | *Every classes in this package are hereby placed into the Public Domain. 20 | * This means anyone is free to do whatever they wish with those files.
21 | */ 22 | package org.opengis.example.metadata; 23 | -------------------------------------------------------------------------------- /src/main/javadoc/content.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Stylesheet for the content.html file. 3 | */ 4 | caption { 5 | color: darkblue; 6 | font-weight: bold; 7 | font-size: large; 8 | margin-top: 40px; 9 | margin-bottom: 9px; 10 | } 11 | 12 | table { 13 | width: auto; 14 | border: none; 15 | border-spacing: 0; 16 | padding: 0; 17 | text-align: left; 18 | white-space: nowrap; 19 | } 20 | 21 | table tr th { 22 | padding: 3px 9px; 23 | } 24 | 25 | table tr td { 26 | padding: 0 9px; 27 | vertical-align: text-top; 28 | } 29 | 30 | .separator { 31 | padding: 0; 32 | } 33 | 34 | .header { 35 | background: lightgray; 36 | } 37 | 38 | .package { 39 | color: white; 40 | background: darkblue; 41 | font-size: 110%; 42 | } 43 | 44 | .type { 45 | font-weight: bold; 46 | } 47 | 48 | .member { 49 | padding: 0 9px 0 21px; 50 | } 51 | 52 | .spec { 53 | font-size: smaller; 54 | } 55 | 56 | .new { 57 | color: cadetblue; 58 | text-align: center; 59 | } 60 | 61 | .incompatible { 62 | color: red; 63 | text-align: center; 64 | } 65 | 66 | .warning { 67 | color: darkgoldenrod; 68 | text-align: center; 69 | } 70 | 71 | .new a, .incompatible a, .warning a { 72 | text-decoration: none; 73 | color: currentColor; 74 | } 75 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/java/org/opengis/test/metadata/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2008-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Validators and test suites for the {@code org.opengis.metadata} package. The main validator 21 | * is {@link org.opengis.test.metadata.MetadataBaseValidator#validate(org.opengis.metadata.Metadata) 22 | * MetadataBaseValidator.validate(Metadata)}. 23 | * 24 | * @author Martin Desruisseaux (Geomatys) 25 | * @version 3.1 26 | * @since 2.2 27 | */ 28 | package org.opengis.test.metadata; 29 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/java/org/opengis/test/coverage/image/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2012-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Test suites for coverage implemented on top of the Java Image I/O API. 21 | * Using the standard Image I/O API is one possible implementation strategy among others. 22 | * For vendors who choose this strategy, this package may facilitate their tests. 23 | * 24 | * @author Martin Desruisseaux (Geomatys) 25 | * @version 3.1 26 | * @since 3.1 27 | */ 28 | package org.opengis.test.coverage.image; 29 | -------------------------------------------------------------------------------- /geoapi/src/main/python/opengis/geometry/__init__.py: -------------------------------------------------------------------------------- 1 | # ===-----------------------------------------------------------------------=== 2 | # GeoAPI - Python interfaces (abstractions) for OGC/ISO standards 3 | # Copyright © 2013-2024 Open Geospatial Consortium, Inc. 4 | # http: //www.geoapi.org 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http: //www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ===-----------------------------------------------------------------------=== 18 | """This is the `geometry` subpackage. 19 | 20 | This subpackage contains geometry data structures derived from the 21 | ISO 19107 international standard. 22 | """ 23 | 24 | __author__ = "OGC Topic 1 (for abstract model and documentation), " +\ 25 | "Martin Desruisseaux (Geomatys), David Meaux (Geomatys)" 26 | -------------------------------------------------------------------------------- /geoapi-conformance/src/main/resources/org/opengis/test/dataset/README.md: -------------------------------------------------------------------------------- 1 | # Directory content 2 | 3 | ## Cube2D_geographic_packed.nc 4 | A two-dimensional netCDF file containing temperature data packed as 16 bits signed integers (only the positive range is used). 5 | The Coordinate Reference System is a geographic with latitudes ranging from 90°S to 90°N and longitudes from 180°E to 180°W. 6 | Based on the freely available `2005092200_sst_21-24.en.nc` test file downloaded from 7 | [Unidate](http://www.unidata.ucar.edu/software/netcdf-java/formats/DataDiscoveryAttConvention.html) on October 5, 2011. 8 | Decimated and transformed for GeoAPI conformance test purpose. 9 | 10 | 11 | ## Cube4D_projected_float.nc 12 | A four-dimensional netCDF file containing "Current Icing Product" data, decimated and cropped. 13 | The Coordinate Reference System is projected, with an elevation above geoid and a time axis. 14 | The geographic area is East of North America. 15 | Based on a file was kindly provided by Aaron Braeckel from UCAR. 16 | Cropped and transformed for GeoAPI conformance test purpose. 17 | 18 | 19 | ## MovingFeatures.nc 20 | A small extract of `JaPOPPO.csv` example file from Moving Features standard working group. 21 | Encoded as specified in [OGC 16-114](http://docs.opengeospatial.org/bp/16-114r3/16-114r3.html). 22 | -------------------------------------------------------------------------------- /geoapi/src/main/python/opengis/util/__init__.py: -------------------------------------------------------------------------------- 1 | # ===-----------------------------------------------------------------------=== 2 | # GeoAPI - Python interfaces (abstractions) for OGC/ISO standards 3 | # Copyright © 2013-2024 Open Geospatial Consortium, Inc. 4 | # http: //www.geoapi.org 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http: //www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ===-----------------------------------------------------------------------=== 18 | """This is the `util` subpackage. 19 | 20 | This subpackage contains types defined in the ISO 19103:2015 specification 21 | for which no equivalence is already present in the Python standard library. 22 | """ 23 | 24 | __author__ = "OGC Topic 20 (for abstract model and documentation), " +\ 25 | "David Meaux (Geomatys)" 26 | -------------------------------------------------------------------------------- /geoapi/src/main/python/opengis/referencing/__init__.py: -------------------------------------------------------------------------------- 1 | # ===-----------------------------------------------------------------------=== 2 | # GeoAPI - Python interfaces (abstractions) for OGC/ISO standards 3 | # Copyright © 2013-2024 Open Geospatial Consortium, Inc. 4 | # http: //www.geoapi.org 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http: //www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # ===-----------------------------------------------------------------------=== 18 | """This is the `referencing` subpackage. 19 | 20 | This subpackage contains spatial referencing data structures derived from 21 | the ISO 19111 international standard. 22 | """ 23 | 24 | __author__ = "OGC Topic 2 (for abstract model and documentation), " +\ 25 | "Martin Desruisseaux (Geomatys), David Meaux (Geomatys)" 26 | -------------------------------------------------------------------------------- /src/main/metanorma/sections/informative/temporal/departures.adoc: -------------------------------------------------------------------------------- 1 | [[temporal_departures]] 2 | ==== Departures from ISO 19108 3 | 4 | Significant departures of GeoAPI from the ISO 19108 standard are the omission of the 5 | `TM_ReferenceSystem` and `TM_TemporalPosition` interfaces, as described in above tables. 6 | The former interface is replaced by `TemporalCRS`, which has been added to ISO 19111 after the publication of ISO 19108. 7 | As a consequence of this replacement, the `TM_TemporalPosition` interface become similar to `DirectPosition` 8 | and can be replaced by the latter with the following substitutions: 9 | 10 | * The `TM_TemporalPosition.frame` association is replaced by `DirectPosition.coordinateReferenceSystem`. 11 | * The `TM_Coordinate.coordinateValue` property is replaced by `DirectPosition.coordinate`. 12 | * The `TM_TemporalPosition.indeterminatePosition` property moved to `TM_Instant`. 13 | 14 | The latter change is because `TM_TemporalPosition` is replaced by the temporal objects of the standard library 15 | of the target programming languages, and those standard objects do not have an `indeterminatePosition` property. 16 | 17 | Another harmonization is the omission of the `TM_RelativePosition` code list. 18 | That code list is identical to the ISO 19143 `TemporalOperatorName` code list, except for one value. 19 | -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/style/GraphicalSymbol.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2008-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.style; 19 | 20 | 21 | /** 22 | * Common superclass for the two types of markers that can appear as children of a 23 | * {@link Graphic} object, namely {@link Mark} and {@link ExternalGraphic}. 24 | * 25 | * @version Implementation specification 1.0 26 | * @author Chris Dillard (SYS Technologies) 27 | * @since GeoAPI 2.0 28 | */ 29 | public interface GraphicalSymbol { 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/main/java/org/opengis/tools/apt/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2009-2024 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Annotation processing tools for processing GeoAPI after compilation. Those tools are 21 | * used mostly for javadoc generation. They are not part of normal GeoAPI distributions. 22 | * 23 | *The {@link org.opengis.tools.apt.IndexGenerator} processor is used for regenerating 24 | * the {@code src/main/javadoc/content.html} file.
25 | * 26 | * @author Martin Desruisseaux (Geomatys) 27 | * @version 3.1 28 | * @since 2.0 29 | */ 30 | package org.opengis.tools.apt; 31 | -------------------------------------------------------------------------------- /src/main/metanorma/requirements/req_getters.adoc: -------------------------------------------------------------------------------- 1 | [[req_getters]] 2 | [requirement] 3 | ==== 4 | [%metadata] 5 | label:: /req/req-class-lib/req-getters 6 | [.component,class=conditions] 7 | -- 8 | . Optional getter methods should return the value, or `null` or `None`. 9 | . Mandatory getter methods should return a non-null value or throw an exception. 10 | -- 11 | 12 | [.component,class=part] 13 | -- 14 | Optional getter methods should return the requested value unless the value 15 | is missing or the method is not implemented in which case they should return 16 | an empty collection if possible, or `null` or `None` otherwise. 17 | -- 18 | 19 | [.component,class=part] 20 | -- 21 | Unless otherwise specified in this specification or in the API documentation, 22 | mandatory getter methods should return the requested value unless the value 23 | is missing in which case they should throw an exception such as `IllegalStateException`. 24 | -- 25 | 26 | [.component,class=part] 27 | -- 28 | As an exception to condition B, 29 | mandatory getter methods in the metadata packages are allowed to return `null` or `None` 30 | because of the extensive existence of incomplete metadata (<org.opengis® namespace,
10 | GeoAPI defines interfaces for metadata handling, for geodetic referencing (map projections),
11 | for the representation of features and for their filtering.
12 | The GeoAPI interfaces closely follow the abstract models published collaboratively by the
13 | International Organization for Standardization (ISO)
14 | in its 19100 series of documents and the
15 | Open Geospatial Consortium (OGC)
16 | in its abstract and implementation specifications.
17 | The normative part of GeoAPI is the org.opengis.geoapi module,
18 | Other modules are conformance tests or examples.
19 | See the GeoAPI home page for more information.
20 |
21 | Requirements: 22 | This version of GeoAPI requires Java 11 or later and the 23 | JSR-385 units of measurement API. 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/observation/ProcessModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2009-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.observation; 19 | 20 | import org.opengis.annotation.UML; 21 | 22 | import static org.opengis.annotation.Specification.*; 23 | 24 | /** 25 | * ProcessModel is an atomic procedure. 26 | * 27 | * @version Implementation specification 1.0 28 | * @author Open Geospatial Consortium 29 | * @author Guilhem Legal (Geomatys) 30 | * @since GeoAPI 2.3 31 | */ 32 | @UML(identifier="ProcessModel", specification=OGC_07022) 33 | public interface ProcessModel extends Process { 34 | } 35 | -------------------------------------------------------------------------------- /tools/src/main/java/org/opengis/tools/version/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2012-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | 20 | /** 21 | * Tools for management of various GeoAPI versions. 22 | * The following tools can be executed from the command line: 23 | * 24 | *Filter capabilities are divided into five categories: 25 | * {@linkplain IdCapabilities id capabilities}, 26 | * {@linkplain ScalarCapabilities scalar capabilities}, 27 | * {@linkplain SpatialCapabilities spatial capabilities}, 28 | * {@linkplain TemporalCapabilities temporal capabilities} 29 | * and the ability to test for the existence or absence of a named property.
30 | * 31 | * @version 3.1 32 | * @since 3.1 33 | */ 34 | package org.opengis.filter.capability; 35 | -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/observation/Process.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2009-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.observation; 19 | 20 | import org.opengis.annotation.UML; 21 | 22 | import static org.opengis.annotation.Specification.*; 23 | 24 | /** 25 | * The description of Observation procedures is beyond the scope of this specification. 26 | * 27 | * NOTE: It is expected that standard process model descriptions will be published in a standard location 28 | * (e.g. ISO 19135 register) enabling them to be used by-reference. 29 | * 30 | * 31 | * @version Implementation specification 1.0 32 | * @author Open Geospatial Consortium 33 | * @author Guilhem Legal (Geomatys) 34 | * @since GeoAPI 2.3 35 | */ 36 | @UML(identifier="Process", specification=OGC_07022) 37 | public interface Process { 38 | } 39 | -------------------------------------------------------------------------------- /geoapi/src/main/java/org/opengis/metadata/quality/TemporalAccuracy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2004-2024 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.metadata.quality; 19 | 20 | import org.opengis.annotation.Classifier; 21 | import org.opengis.annotation.Stereotype; 22 | import org.opengis.annotation.UML; 23 | 24 | import static org.opengis.annotation.Specification.*; 25 | 26 | 27 | /** 28 | * Accuracy of the temporal attributes and temporal relationships of features. 29 | * 30 | * @author Martin Desruisseaux (IRD) 31 | * @author Alexis Gaillard (Geomatys) 32 | * @version 3.1 33 | * @since 2.0 34 | * 35 | * @deprecated Renamed {@link TemporalQuality}. 36 | */ 37 | @Deprecated(since="3.1") 38 | @Classifier(Stereotype.ABSTRACT) 39 | @UML(identifier="DQ_TemporalAccuracy", specification=ISO_19115, version=2003) 40 | public interface TemporalAccuracy extends TemporalQuality { 41 | } 42 | -------------------------------------------------------------------------------- /geoapi/src/test/java/org/opengis/util/CodeListTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2004-2024 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.util; 19 | 20 | import org.junit.jupiter.api.Test; 21 | 22 | import static org.junit.jupiter.api.Assertions.*; 23 | 24 | 25 | /** 26 | * Tests {@link CodeList}. 27 | * 28 | * @author Martin Desruisseaux (Geomatys) 29 | * @version 3.1 30 | * @since 3.1 31 | */ 32 | public final class CodeListTest { 33 | /** 34 | * Creates a new test case. 35 | */ 36 | public CodeListTest() { 37 | } 38 | 39 | /** 40 | * Tests {@link CodeList#toComparableName(String)}. 41 | */ 42 | @Test 43 | public void testToComparableName() { 44 | String identifier = "test"; 45 | assertSame (identifier, CodeList.toComparableName(identifier)); 46 | assertEquals(identifier, CodeList.toComparableName(" te-st ")); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /geoapi/src/test/java/org/opengis/filter/FilterNameTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2024 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.filter; 19 | 20 | import org.junit.jupiter.api.Test; 21 | import static org.junit.jupiter.api.Assertions.*; 22 | 23 | 24 | /** 25 | * Tests the {@link FilterName} default implementation. 26 | * 27 | * @author Martin Desruisseaux (Geomatys) 28 | * @version 3.1 29 | * @since 3.1 30 | */ 31 | public final class FilterNameTest { 32 | /** 33 | * Creates a new test case. 34 | */ 35 | public FilterNameTest() { 36 | } 37 | 38 | /** 39 | * Tests {@link FilterName#values()} 40 | */ 41 | @Test 42 | public void testValues() { 43 | assertArrayEquals(FilterName.values(), new FilterName[] { 44 | FilterName.RESOURCE_ID, 45 | FilterName.INCLUDE, 46 | FilterName.EXCLUDE 47 | }); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /geoapi-pending/src/main/java/org/opengis/observation/ObservationCollection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * GeoAPI - Java interfaces for OGC/ISO standards 3 | * Copyright © 2009-2023 Open Geospatial Consortium, Inc. 4 | * http://www.geoapi.org 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package org.opengis.observation; 19 | 20 | import java.util.List; 21 | import org.opengis.annotation.UML; 22 | 23 | import static org.opengis.annotation.Specification.*; 24 | import static org.opengis.annotation.Obligation.*; 25 | 26 | /** 27 | * Observation collection, using the "Composite" pattern 28 | * 29 | * @version Implementation specification 1.0 30 | * @author Open Geospatial Consortium 31 | * @author Guilhem Legal (Geomatys) 32 | * @since GeoAPI 2.3 33 | */ 34 | @UML(identifier="ObservationCollection", specification=OGC_07022) 35 | public interface ObservationCollection { 36 | 37 | @UML(identifier="member", obligation=MANDATORY, specification=OGC_07022) 38 | List
35 | * Please note that LabelPalcement is not intended to be used as is; the StyleVisitor
36 | * visit method must traverse an instance of LinePlacement or PointPlacement.
37 | *
38 | * @param visitor the style visitor
39 | */
40 | Object accept(StyleVisitor visitor, Object extraData);
41 | }
42 |
--------------------------------------------------------------------------------
/geoapi-java-python/src/main/resources/org/opengis/bridge/python/subclassed.txt:
--------------------------------------------------------------------------------
1 | org.opengis.metadata.citation.Party
2 | org.opengis.metadata.citation.Responsibility
3 | org.opengis.metadata.constraint.Constraints
4 | org.opengis.metadata.content.ContentInformation
5 | org.opengis.metadata.content.CoverageDescription
6 | org.opengis.metadata.content.RangeDimension
7 | org.opengis.metadata.content.SampleDimension
8 | org.opengis.metadata.extent.GeographicExtent
9 | org.opengis.metadata.extent.TemporalExtent
10 | org.opengis.metadata.identification.AssociatedResource
11 | org.opengis.metadata.identification.Identification
12 | org.opengis.metadata.quality.Completeness
13 | org.opengis.metadata.quality.Element
14 | org.opengis.metadata.quality.LogicalConsistency
15 | org.opengis.metadata.quality.PositionalAccuracy
16 | org.opengis.metadata.quality.Result
17 | org.opengis.metadata.quality.TemporalAccuracy
18 | org.opengis.metadata.quality.ThematicAccuracy
19 | org.opengis.metadata.spatial.GeolocationInformation
20 | org.opengis.metadata.spatial.GridSpatialRepresentation
21 | org.opengis.metadata.spatial.SpatialRepresentation
22 | org.opengis.parameter.GeneralParameterDescriptor
23 | org.opengis.parameter.GeneralParameterValue
24 | org.opengis.referencing.IdentifiedObject
25 | org.opengis.referencing.ReferenceSystem
26 | org.opengis.referencing.crs.CoordinateReferenceSystem
27 | org.opengis.referencing.crs.DerivedCRS
28 | org.opengis.referencing.crs.GeodeticCRS
29 | org.opengis.referencing.crs.SingleCRS
30 | org.opengis.referencing.cs.AffineCS
31 | org.opengis.referencing.cs.CoordinateSystem
32 | org.opengis.referencing.datum.Datum
33 | org.opengis.referencing.operation.CoordinateOperation
34 | org.opengis.referencing.operation.SingleOperation
35 |
--------------------------------------------------------------------------------
/geoapi/src/main/java/org/opengis/metadata/extent/TemporalExtent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2004-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.metadata.extent;
19 |
20 | import org.opengis.annotation.UML;
21 | import org.opengis.temporal.TemporalPrimitive;
22 |
23 | import static org.opengis.annotation.Obligation.*;
24 | import static org.opengis.annotation.Specification.*;
25 |
26 |
27 | /**
28 | * Time period covered by the content of the resource.
29 | *
30 | * @author Martin Desruisseaux (IRD)
31 | * @version 3.1
32 | * @since 1.0
33 | */
34 | @UML(identifier="EX_TemporalExtent", specification=ISO_19115)
35 | public interface TemporalExtent {
36 | /**
37 | * Period for the content of the resource.
38 | * Should be an instance of {@link org.opengis.temporal.Period}.
39 | *
40 | * @return the period for the content.
41 | */
42 | @UML(identifier="extent", obligation=MANDATORY, specification=ISO_19115)
43 | TemporalPrimitive getExtent();
44 | }
45 |
--------------------------------------------------------------------------------
/geoapi/src/main/java/org/opengis/metadata/quality/Homogeneity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2022-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.metadata.quality;
19 |
20 | import org.opengis.annotation.UML;
21 |
22 | import static org.opengis.annotation.Specification.*;
23 |
24 |
25 | /**
26 | * Expected or tested uniformity of the results obtained for a data quality evaluation.
27 | * Homogeneity consists in comparing the evaluation results of several segments of a global data set.
28 | * This comparison can be expressed using root mean square errors for example.
29 | * These tests are often conducted when data has been captured by different operators,
30 | * depending on the acquisition zone or the acquisition date.
31 | *
32 | * @author Alexis Gaillard (Geomatys)
33 | * @author Martin Desruisseaux (Geomatys)
34 | * @version 3.1
35 | * @since 3.1
36 | */
37 | @UML(identifier="DQ_Homogeneity", specification=ISO_19157)
38 | public interface Homogeneity extends Metaquality {
39 | }
40 |
--------------------------------------------------------------------------------
/geoapi-pending/src/main/java/org/opengis/geometry/coordinate/Bezier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2003-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.geometry.coordinate;
19 |
20 | import org.opengis.annotation.UML;
21 |
22 | import static org.opengis.annotation.Specification.*;
23 |
24 |
25 | /**
26 | * Polynomial splines that use Bezier or Bernstein polynomials for interpolation
27 | * purposes. An n-long control point array shall create a polynomial
28 | * curve of degree n that defines the entire curve segment. These curves
29 | * are defined in terms of a set of basis functions called the Bézier or Bernstein
30 | * polynomials.
31 | *
32 | * @version ISO 19107
33 | * @author Martin Desruisseaux (IRD)
34 | * @since GeoAPI 2.0
35 | *
36 | * @todo Add equations from ISO 19107 to the javadoc.
37 | */
38 | @UML(identifier="GM_Bezier", specification=ISO_19107)
39 | public interface Bezier extends BSplineCurve {
40 | }
41 |
--------------------------------------------------------------------------------
/geoapi-pending/src/main/java/org/opengis/coverage/PointValuePair.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2005-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.coverage;
19 |
20 | import org.opengis.geometry.primitive.Point;
21 | import org.opengis.annotation.UML;
22 |
23 | import static org.opengis.annotation.Obligation.*;
24 | import static org.opengis.annotation.Specification.*;
25 |
26 |
27 | /**
28 | * A {@linkplain GeometryValuePair geometry-value pair} that has a {@linkplain Point point}
29 | * as the value of its geometry attribute.
30 | *
31 | * @version ISO 19123:2004
32 | * @author Wim Koolhoven
33 | * @since GeoAPI 2.1
34 | */
35 | @UML(identifier="CV_PointValuePair", specification=ISO_19123)
36 | public interface PointValuePair extends GeometryValuePair {
37 | /**
38 | * The point that is a member of this point-value pair.
39 | */
40 | @UML(identifier="geometry", obligation=MANDATORY, specification=ISO_19123)
41 | DomainObject The Geographic identifiers are location descriptors such as country name, postal code or grid indexes.
27 | * Gazetteers provide linking mechanism between referencing using geographic identifiers (this package)
28 | * and referencing using coordinates ({@link org.opengis.referencing.crs} package).Standardized values
29 | * In order to achieve well defined and comparable quality information, it is recommended to
30 | * report data quality using {@linkplain Measure quality measures} listed in ISO 19157 annex.
31 | * The temporal validity may be treated with the same data quality measures as for {@link DomainConsistency}.
32 | *
33 | * @author Martin Desruisseaux (IRD)
34 | * @author Alexis Gaillard (Geomatys)
35 | * @version 3.1
36 | * @since 2.0
37 | */
38 | @UML(identifier="DQ_TemporalValidity", specification=ISO_19157)
39 | public interface TemporalValidity extends TemporalQuality, TemporalAccuracy {
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/metanorma/sections/informative/filter/filter.adoc:
--------------------------------------------------------------------------------
1 | [[filter]]
2 | ==== Filter
3 | _From <
31 | *
34 | *
35 | * @author Martin Desruisseaux (IRD)
36 | * @author Alexis Gaillard (Geomatys)
37 | * @version 3.1
38 | * @since 2.0
39 | */
40 | @Classifier(Stereotype.ABSTRACT)
41 | @UML(identifier="DQ_Completeness", specification=ISO_19157)
42 | public interface Completeness extends Element {
43 | }
44 |
--------------------------------------------------------------------------------
/geoapi/src/main/java/org/opengis/metadata/quality/Representativity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2022-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.metadata.quality;
19 |
20 | import org.opengis.annotation.UML;
21 |
22 | import static org.opengis.annotation.Specification.*;
23 |
24 |
25 | /**
26 | * Degree to which the sample used has produced a result which is representation of the data.
27 | * A statistical method based on sampling could be considered as reliable as a global method
28 | * when all the geographic zones and concerned time periods are covered and the population
29 | * is sufficiently large. It is not only the size of the sample which is crucial but also
30 | * how well it represents the actual state of the data.
31 | *
32 | * @author Alexis Gaillard (Geomatys)
33 | * @author Martin Desruisseaux (Geomatys)
34 | * @version 3.1
35 | * @since 3.1
36 | */
37 | @UML(identifier="DQ_Representativity", specification=ISO_19157)
38 | public interface Representativity extends Metaquality {
39 | }
40 |
--------------------------------------------------------------------------------
/geoapi-pending/src/main/java/org/opengis/geometry/coordinate/Circle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2003-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.geometry.coordinate;
19 |
20 | import org.opengis.annotation.UML;
21 |
22 | import static org.opengis.annotation.Specification.*;
23 |
24 |
25 | /**
26 | * Same as an {@linkplain Arc arc}, but closed to form a full circle.
27 | * The {@linkplain #getStartAngle start} and {@linkplain #getEndAngle end bearing}
28 | * are equal and shall be the bearing for the first {@linkplain #getControlPoints
29 | * control point} listed.
30 | *
31 | * This still requires at least 3 distinct non-co-linear points to be unambiguously
32 | * defined. The arc is simply extended until the first point is encountered.
33 | *
34 | * @version ISO 19107
35 | * @author Martin Desruisseaux (IRD)
36 | * @since GeoAPI 1.0
37 | */
38 | @UML(identifier="GM_Circle", specification=ISO_19107)
39 | public interface Circle extends Arc {
40 | }
41 |
--------------------------------------------------------------------------------
/geoapi-pending/src/main/java/org/opengis/geometry/coordinate/Cylinder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2003-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.geometry.coordinate;
19 |
20 | import org.opengis.annotation.UML;
21 |
22 | import static org.opengis.annotation.Specification.*;
23 |
24 |
25 | /**
26 | * A {@linkplain GriddedSurface gridded surface} given as a family of circles whose positions
27 | * vary along a set of parallel lines, keeping the cross sectional horizontal curves of a constant
28 | * shape. Given the same working assumptions as in {@linkplain GriddedSurface gridded surface}, a
29 | * cylinder can be given by two circles, giving us control points of the form
30 | *
31 | * <<P1, P2, P3>, <P4, P5, P6>>.
32 | *
33 | * @version ISO 19107
34 | * @author Martin Desruisseaux (IRD)
35 | * @since GeoAPI 2.0
36 | */
37 | @UML(identifier="GM_Cylinder", specification=ISO_19107)
38 | public interface Cylinder extends GriddedSurface {
39 | }
40 |
--------------------------------------------------------------------------------
/geoapi/src/main/java/org/opengis/metadata/identification/Parameter.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SV_Parameter replacement
25 | SV_Parameter class defined in ISO 19115 is omitted for unifying parameter handling
26 | with the org.opengis.parameter package.
27 | The following table maps SV_Parameter properties to their replacements.
30 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/main/metanorma/sections/informative/derived_properties.adoc:
--------------------------------------------------------------------------------
1 | [[derived_properties]]
2 | ==== Derived methods
3 |
4 | GeoAPI may define additional methods not explicitly specified in OGC/ISO abstract models,
5 | when the values returned by those methods can be derived from the values provided by standard OGC/ISO properties.
6 | Those extensions are enabled by the way properties are handled.
7 | In OGC/ISO abstract models, each property may have its value stored verbatim,
8 | for example as a column in a database table, an XML element in a file, or a field in a class.
9 | For enabling efficient use of OGC/ISO models in relational databases or XML files,
10 | the models are generally non-redundant: each value is stored in exactly one property.
11 | By contrast in GeoAPI, all properties are getter methods:
12 | no matter how implementations store property values, users can fetch them only through method calls.
13 | Since methods are free to compute values from other properties,
14 | GeoAPI uses this capability for making some information more easily accessible
15 | in situations where property values can be reached only indirectly in OGC/ISO models.
16 | Thee additional methods introduce apparent duplication,
17 | but they should be thought of as links to the real properties, rather than copies of the property values.
18 | Such methods are added sparsely,
19 | in places where introducing them brings some harmonization by reducing the need for special cases.
20 | Examples include: fetching the head of an arbitrary `GenericName`,
21 | fetching the Geodetic Reference Frame indirectly associated to a `ProjectedCRS`,
22 | fetching axes of an arbitrary Coordinate Reference System (including compound ones), and more.
23 | The additional methods can be recognized by the absence of `@UML` annotation.
24 |
--------------------------------------------------------------------------------
/geoapi-pending/src/main/java/org/opengis/referencing/gazetteer/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2017-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * Mapping between geographic identifiers and locations, either as descriptions or coordinates.
21 | * This package deals only with spatial referencing by geographic identifiers,
22 | * as specified in the {@linkplain org.opengis.annotation.Specification#ISO_19112 ISO 19112} standard.
23 | * Spatial referencing by coordinates (ISO 19111) is the subject of another package,
24 | * namely {@link org.opengis.referencing.crs}.
25 | *
26 | * SV_Parameter properties to ParameterDescriptor properties
32 | SV_ParameterParameterDescriptor
33 | namegetName()
34 | name.attributeTypegetValueClass()
35 | directiongetDirection()
36 | descriptiongetDescription()
37 | optionalitygetMinimumOccurs() > 0
38 | repeatabilitygetMaximumOccurs() > 1geoapi-conformance
20 | * module.
21 | */
22 | public class AffineTransform2DTest extends AffineTransformTest {
23 | /**
24 | * Creates a new test case.
25 | */
26 | public AffineTransform2DTest() {
27 | super(ProjectiveTransformTest.factory());
28 | }
29 |
30 | /**
31 | * Declares that our implementation cannot invert such transform, then delegate to the parent class.
32 | */
33 | @Test
34 | @Override
35 | public void testDimensionReduction() throws FactoryException, TransformException {
36 | isInverseTransformSupported = false;
37 | super.testDimensionReduction();
38 | }
39 |
40 | /**
41 | * Invoked after every tests in order to ensure that the transform created by the factory
42 | * is of the expected type.
43 | */
44 | @AfterEach
45 | public void ensureExpectedTransformClass() {
46 | assertEquals(ProjectiveTransform.class, transform.getClass(), "Unexpected transform instance.");
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/tools/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2017-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /**
20 | * Javadoc taglets and annotation processing tools for processing GeoAPI after compilation.
21 | * Those tools are used mostly for javadoc generation.
22 | * Some services offered by this module are:
23 | *
24 | *
25 | *
32 | *
33 | * Usage instructions from command-line are in the
34 | * README.md file.
35 | *
36 | * @author Martin Desruisseaux (Geomatys)
37 | * @version 4.0
38 | * @since 3.0
39 | */
40 | module org.opengis.geoapi.build {
41 | requires jdk.javadoc;
42 | }
43 |
--------------------------------------------------------------------------------
/geoapi/src/main/java/org/opengis/metadata/extent/GeographicDescription.java:
--------------------------------------------------------------------------------
1 | /*
2 | * GeoAPI - Java interfaces for OGC/ISO standards
3 | * Copyright © 2004-2023 Open Geospatial Consortium, Inc.
4 | * http://www.geoapi.org
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 | package org.opengis.metadata.extent;
19 |
20 | import org.opengis.metadata.Identifier;
21 | import org.opengis.annotation.UML;
22 |
23 | import static org.opengis.annotation.Obligation.*;
24 | import static org.opengis.annotation.Specification.*;
25 |
26 |
27 | /**
28 | * Description of the geographic area using identifiers.
29 | * Geographic identifiers are described in ISO 19112.
30 | *
31 | * @author Martin Desruisseaux (IRD)
32 | * @version 3.0
33 | * @since 1.0
34 | */
35 | @UML(identifier="EX_GeographicDescription", specification=ISO_19115)
36 | public interface GeographicDescription extends GeographicExtent {
37 | /**
38 | * The identifier used to represent a geographic area.
39 | *
40 | * @return the identifier used to represent a geographic area.
41 | */
42 | @UML(identifier="geographicIdentifier", obligation=MANDATORY, specification=ISO_19115)
43 | Identifier getGeographicIdentifier();
44 | }
45 |
--------------------------------------------------------------------------------
/src/main/metanorma/code/java/metadata.adoc:
--------------------------------------------------------------------------------
1 | [[java_metadata]]
2 | ==== Metadata
3 |
4 | The interfaces in the GeoAPI metadata packages (<