Skip to content

Constraints: model #15

Closed
Closed
@etj

Description

RNDT requires constraints for both access and use, while GeoNode only defines on set of costraints.

According to ISO19115, constraints are defined through a value in a codelist. If such value in the codelist is set to "otherRestrictions", the text element "otherConstraints" should be populated.

GeoNode model defines

  • restriction_code_type = models.ForeignKey(RestrictionCodeType, ....
  • constraints_other = models.TextField(...

and in the template these values are set as useConstraints.

RNDT requires that the RestrictionCode for both access and use are set to "otherRestrictions".

Limitations on public access

The otherConstraints element for access should be expressed as a URI + text from a controlled set.

The related vocabulary is defined at https://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess, while a valid RDF thesaurus can be downloaded from here: https://github.com/geosolutions-it/iso19139.rndt/releases/download/v1.0-RC1/httpinspireeceuropaeumetadatacodelistLimitationsOnPublicAccess-LimitationsOnPublicAccess.rdf

We may simply store the item URI in the DB, and then retrieve the related label from the thesaurus when needed.

Use constraints

The otherConstraints element for use should be expressed either as

  • a URI + text from a controlled set.
  • or a free text

The vocabulary is defined at https://inspire.ec.europa.eu/metadata-codelist/ConditionsApplyingToAccessAndUse while a RDF thesaurus can be found at https://github.com/geosolutions-it/iso19139.rndt/releases/download/v1.0-RC1/httpinspireeceuropaeumetadatacodelistConditionsApplyingToAccessAndUse-ConditionsApplyingToAccessAndUse.rdf

We can use the existing field constraints_other for storing such a value, and we'll tell which case is used (URI or free text) simply by checking if the contents is a URI.

Changes needed

We only need to add a single field to the Layer.
Since we don't want to add fields to existing table, we'll create a new table LayerRNDT, which is 1:1 with table Layer, and that will store a single field accessConstraints

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions