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