|
QGIS API Documentation 3.99.0-Master (2fe06baccd8)
|
An abstract base class for metadata stores. More...
#include <qgsabstractmetadatabase.h>

Classes | |
| struct | Address |
| Metadata address structure. More... | |
| struct | Contact |
| Metadata contact structure. More... | |
| struct | Link |
| Metadata link structure. More... | |
Public Types | |
| typedef QList< QgsAbstractMetadataBase::Contact > | ContactList |
| A list of contacts. | |
| typedef QMap< QString, QStringList > | KeywordMap |
| Map of vocabulary string to keyword list. | |
| typedef QList< QgsAbstractMetadataBase::Link > | LinkList |
| A list of links. | |
Public Member Functions | |
| virtual | ~QgsAbstractMetadataBase ()=default |
| QString | abstract () const |
| Returns a free-form description of the resource. | |
| void | addContact (const QgsAbstractMetadataBase::Contact &contact) |
| Adds an individual contact to the existing contacts. | |
| void | addHistoryItem (const QString &text) |
| Adds a single history text to the end of the existing history list. | |
| void | addKeywords (const QString &vocabulary, const QStringList &keywords) |
| Adds a list of descriptive keywords for a specified vocabulary. | |
| void | addLink (const QgsAbstractMetadataBase::Link &link) |
| Adds an individual link to the existing links. | |
| QStringList | categories () const |
| Returns categories of the resource. | |
| virtual QgsAbstractMetadataBase * | clone () const =0 |
| Clones the metadata object. | |
| virtual void | combine (const QgsAbstractMetadataBase *other) |
| Combines the metadata from this object with the metadata from an other object. | |
| QgsAbstractMetadataBase::ContactList | contacts () const |
| Returns a list of contact persons or entities associated with the resource. | |
| QDateTime | dateTime (Qgis::MetadataDateType type) const |
| Returns the date for the specified date type. | |
| QStringList | history () const |
| Returns a freeform description of the history or lineage of the resource. | |
| QString | identifier () const |
| A reference, URI, URL or some other mechanism to identify the resource. | |
| QgsAbstractMetadataBase::KeywordMap | keywords () const |
| Returns the keywords map, which is a set of descriptive keywords associated with the resource. | |
| QStringList | keywords (const QString &vocabulary) const |
| Returns a list of keywords for the specified vocabulary. | |
| QStringList | keywordVocabularies () const |
| Returns a list of keyword vocabularies contained in the metadata. | |
| QString | language () const |
| Returns the human language associated with the resource. | |
| QgsAbstractMetadataBase::LinkList | links () const |
| Returns a list of online resources associated with the resource. | |
| QString | parentIdentifier () const |
| A reference, URI, URL or some other mechanism to identify the parent resource that this resource is a part (child) of. | |
| virtual bool | readMetadataXml (const QDomElement &metadataElement, const QgsReadWriteContext &context=QgsReadWriteContext()) |
| Sets state from DOM document. | |
| virtual void | registerTranslations (QgsTranslationContext *translationContext) const |
| Registers metadata translation strings. | |
| bool | removeKeywords (const QString &vocabulary) |
| Remove a vocabulary from the list. | |
| void | setAbstract (const QString &abstract) |
| Sets a free-form abstract (description) of the resource. | |
| void | setCategories (const QStringList &categories) |
| Sets categories of the resource. | |
| void | setContacts (const QgsAbstractMetadataBase::ContactList &contacts) |
| Sets the list of contacts or entities associated with the resource. | |
| void | setDateTime (Qgis::MetadataDateType type, QDateTime date) |
| Sets a date value for the specified date type. | |
| void | setHistory (const QStringList &history) |
| Sets the freeform description of the history or lineage of the resource. | |
| void | setIdentifier (const QString &identifier) |
| Sets the reference, URI, URL or some other mechanism to identify the resource. | |
| void | setKeywords (const QgsAbstractMetadataBase::KeywordMap &keywords) |
| Sets the keywords map, which is a set of descriptive keywords associated with the resource. | |
| void | setLanguage (const QString &language) |
| Sets the human language associated with the resource. | |
| void | setLinks (const QgsAbstractMetadataBase::LinkList &links) |
| Sets the list of online resources associated with the resource. | |
| void | setParentIdentifier (const QString &parentIdentifier) |
| Sets a reference, URI, URL or some other mechanism to identify the parent resource that this resource is a part (child) of. | |
| void | setTitle (const QString &title) |
| Sets the human readable title (name) of the resource, typically displayed in search results. | |
| void | setType (const QString &type) |
| Sets the type (nature) of the resource. | |
| QString | title () const |
| Returns the human readable name of the resource, typically displayed in search results. | |
| QString | type () const |
| Returns the nature of the resource. | |
| virtual bool | writeMetadataXml (QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context=QgsReadWriteContext()) const |
| Stores state in a DOM node. | |
Protected Member Functions | |
| QgsAbstractMetadataBase ()=default | |
| Constructor for QgsAbstractMetadataBase. | |
| bool | equals (const QgsAbstractMetadataBase &other) const |
| Tests whether the common metadata fields in this object are equal to other. | |
Protected Attributes | |
| QString | mAbstract |
| QgsAbstractMetadataBase::ContactList | mContacts |
| QMap< Qgis::MetadataDateType, QDateTime > | mDates |
| Metadata dates. | |
| QStringList | mHistory |
| QString | mIdentifier |
| QgsAbstractMetadataBase::KeywordMap | mKeywords |
| Keywords map. | |
| QString | mLanguage |
| QgsAbstractMetadataBase::LinkList | mLinks |
| QString | mParentIdentifier |
| QString | mTitle |
| QString | mType |
An abstract base class for metadata stores.
QgsAbstractMetadataBase is the base class for handling storage and management of the metadata for various map related assets. This class is an internal QGIS format with a common metadata structure. It is subclassed by layer and project specific metadata classes, such as QgsLayerMetadata and QgsProjectMetadata.
The metadata store is designed to be compatible with the Dublin Core metadata specifications, and will be expanded to allow compatibility with ISO specifications in future releases. However, the QGIS internal schema does not represent a superset of all existing metadata schemas and accordingly conversion from specific metadata formats to QgsAbstractMetadataBase may result in a loss of information.
This class is designed to follow the specifications detailed in the schema definition available at resources/qgis-base-metadata.xsd within the QGIS source code.
Metadata can be validated through the use of QgsAbstractMetadataBaseValidator subclasses. E.g. validating against the native QGIS metadata schema can be performed using QgsNativeMetadataValidator.
Definition at line 60 of file qgsabstractmetadatabase.h.
| typedef QMap< QString, QStringList > QgsAbstractMetadataBase::KeywordMap |
Map of vocabulary string to keyword list.
Definition at line 82 of file qgsabstractmetadatabase.h.
|
virtualdefault |
|
protecteddefault |
Constructor for QgsAbstractMetadataBase.
QgsAbstractMetadataBase cannot be instantiated directly, it must be subclassed.
| QString QgsAbstractMetadataBase::abstract | ( | ) | const |
Returns a free-form description of the resource.
Definition at line 63 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::addContact | ( | const QgsAbstractMetadataBase::Contact & | contact | ) |
Adds an individual contact to the existing contacts.
Definition at line 145 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::addHistoryItem | ( | const QString & | text | ) |
Adds a single history text to the end of the existing history list.
Definition at line 83 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::addKeywords | ( | const QString & | vocabulary, |
| const QStringList & | keywords ) |
Adds a list of descriptive keywords for a specified vocabulary.
Any existing keywords for the same vocabulary will be replaced. Other vocabularies will not be affected.
The vocabulary string is a reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.
Definition at line 98 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::addLink | ( | const QgsAbstractMetadataBase::Link & | link | ) |
Adds an individual link to the existing links.
Definition at line 160 of file qgsabstractmetadatabase.cpp.
| QStringList QgsAbstractMetadataBase::categories | ( | ) | const |
Returns categories of the resource.
Categories are stored using a special vocabulary 'gmd:topicCategory' in keywords.
Definition at line 118 of file qgsabstractmetadatabase.cpp.
|
pure virtual |
|
virtual |
Combines the metadata from this object with the metadata from an other object.
Any existing values in this object will be overwritten by non-empty values from other.
Reimplemented in QgsLayerMetadata, and QgsProjectMetadata.
Definition at line 506 of file qgsabstractmetadatabase.cpp.
| QList< QgsAbstractMetadataBase::Contact > QgsAbstractMetadataBase::contacts | ( | ) | const |
Returns a list of contact persons or entities associated with the resource.
Definition at line 135 of file qgsabstractmetadatabase.cpp.
| QDateTime QgsAbstractMetadataBase::dateTime | ( | Qgis::MetadataDateType | type | ) | const |
Returns the date for the specified date type.
Definition at line 165 of file qgsabstractmetadatabase.cpp.
|
protected |
Tests whether the common metadata fields in this object are equal to other.
Subclasses should utilize this method from their equality operators to test equality of base class members.
Definition at line 553 of file qgsabstractmetadatabase.cpp.
| QStringList QgsAbstractMetadataBase::history | ( | ) | const |
Returns a freeform description of the history or lineage of the resource.
Definition at line 73 of file qgsabstractmetadatabase.cpp.
| QString QgsAbstractMetadataBase::identifier | ( | ) | const |
A reference, URI, URL or some other mechanism to identify the resource.
Definition at line 23 of file qgsabstractmetadatabase.cpp.
| QMap< QString, QStringList > QgsAbstractMetadataBase::keywords | ( | ) | const |
Returns the keywords map, which is a set of descriptive keywords associated with the resource.
The map key is the vocabulary string and map value is a list of keywords for that vocabulary.
The vocabulary string is a reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.
Definition at line 88 of file qgsabstractmetadatabase.cpp.
| QStringList QgsAbstractMetadataBase::keywords | ( | const QString & | vocabulary | ) | const |
Returns a list of keywords for the specified vocabulary.
If the vocabulary is not contained in the metadata, an empty list will be returned.
The vocabulary string is a reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.
Definition at line 113 of file qgsabstractmetadatabase.cpp.
| QStringList QgsAbstractMetadataBase::keywordVocabularies | ( | ) | const |
Returns a list of keyword vocabularies contained in the metadata.
The vocabulary string is a reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.
Definition at line 108 of file qgsabstractmetadatabase.cpp.
| QString QgsAbstractMetadataBase::language | ( | ) | const |
Returns the human language associated with the resource.
Usually the returned string will follow either the ISO 639.2 or ISO 3166 specifications, e.g. 'ENG' or 'SPA', however this is not a hard requirement and the caller must account for non compliant values.
Definition at line 178 of file qgsabstractmetadatabase.cpp.
| QList< QgsAbstractMetadataBase::Link > QgsAbstractMetadataBase::links | ( | ) | const |
Returns a list of online resources associated with the resource.
Definition at line 150 of file qgsabstractmetadatabase.cpp.
| QString QgsAbstractMetadataBase::parentIdentifier | ( | ) | const |
A reference, URI, URL or some other mechanism to identify the parent resource that this resource is a part (child) of.
Returns an empty string if no parent identifier is set.
Definition at line 33 of file qgsabstractmetadatabase.cpp.
|
virtual |
Sets state from DOM document.
| metadataElement | The DOM element corresponding to resourceMetadata tag |
| context | The context object to handle project translation (since QGIS 4.0) |
true if successfulSubclasses which override this method should take care to also call the base class method in order to read common metadata properties.
Reimplemented in QgsLayerMetadata, and QgsProjectMetadata.
Definition at line 188 of file qgsabstractmetadatabase.cpp.
|
virtual |
Registers metadata translation strings.
Reimplemented in QgsLayerMetadata, and QgsProjectMetadata.
Definition at line 490 of file qgsabstractmetadatabase.cpp.
| bool QgsAbstractMetadataBase::removeKeywords | ( | const QString & | vocabulary | ) |
Remove a vocabulary from the list.
Definition at line 103 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setAbstract | ( | const QString & | abstract | ) |
Sets a free-form abstract (description) of the resource.
Definition at line 68 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setCategories | ( | const QStringList & | categories | ) |
Sets categories of the resource.
Categories are stored using a special vocabulary 'gmd:topicCategory' in keywords.
Definition at line 130 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setContacts | ( | const QgsAbstractMetadataBase::ContactList & | contacts | ) |
Sets the list of contacts or entities associated with the resource.
Any existing contacts will be replaced.
Definition at line 140 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setDateTime | ( | Qgis::MetadataDateType | type, |
| QDateTime | date ) |
Sets a date value for the specified date type.
Definition at line 170 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setHistory | ( | const QStringList & | history | ) |
Sets the freeform description of the history or lineage of the resource.
Any existing history items will be overwritten.
Definition at line 78 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setIdentifier | ( | const QString & | identifier | ) |
Sets the reference, URI, URL or some other mechanism to identify the resource.
Definition at line 28 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setKeywords | ( | const QgsAbstractMetadataBase::KeywordMap & | keywords | ) |
Sets the keywords map, which is a set of descriptive keywords associated with the resource.
The map key is the vocabulary string and map value is a list of keywords for that vocabulary. Calling this replaces any existing keyword vocabularies.
The vocabulary string is a reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.
Definition at line 93 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setLanguage | ( | const QString & | language | ) |
Sets the human language associated with the resource.
While a formal vocabulary is not imposed, ideally values should be taken from the ISO 639.2 or ISO 3166 specifications, e.g. 'ENG' or 'SPA' (ISO 639.2) or 'EN-AU' (ISO 3166).
Definition at line 183 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setLinks | ( | const QgsAbstractMetadataBase::LinkList & | links | ) |
Sets the list of online resources associated with the resource.
Any existing links will be replaced.
Definition at line 155 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setParentIdentifier | ( | const QString & | parentIdentifier | ) |
Sets a reference, URI, URL or some other mechanism to identify the parent resource that this resource is a part (child) of.
Set an empty string if no parent identifier is required.
Definition at line 38 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setTitle | ( | const QString & | title | ) |
Sets the human readable title (name) of the resource, typically displayed in search results.
Definition at line 58 of file qgsabstractmetadatabase.cpp.
| void QgsAbstractMetadataBase::setType | ( | const QString & | type | ) |
Sets the type (nature) of the resource.
While a formal vocabulary is not imposed, it is advised to use the ISO 19115 MD_ScopeCode values. E.g. 'dataset' or 'series'.
Definition at line 48 of file qgsabstractmetadatabase.cpp.
| QString QgsAbstractMetadataBase::title | ( | ) | const |
Returns the human readable name of the resource, typically displayed in search results.
Definition at line 53 of file qgsabstractmetadatabase.cpp.
| QString QgsAbstractMetadataBase::type | ( | ) | const |
Returns the nature of the resource.
While a formal vocabulary is not imposed, it is advised to use the ISO 19115 MD_ScopeCode values. E.g. 'dataset' or 'series'.
Definition at line 43 of file qgsabstractmetadatabase.cpp.
|
virtual |
Stores state in a DOM node.
| metadataElement | is a DOM element corresponding to resourceMetadata tag |
| document | is a the DOM document being written |
| context | The context object to handle project translation (since QGIS 4.0) |
true if successfulSubclasses which override this method should take care to also call the base class method in order to write common metadata properties.
Reimplemented in QgsLayerMetadata, and QgsProjectMetadata.
Definition at line 324 of file qgsabstractmetadatabase.cpp.
|
protected |
Definition at line 590 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 600 of file qgsabstractmetadatabase.h.
|
protected |
Metadata dates.
Definition at line 605 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 591 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 585 of file qgsabstractmetadatabase.h.
|
protected |
Keywords map.
Key is the vocabulary, value is a list of keywords for that vocabulary.
Definition at line 598 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 587 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 602 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 586 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 589 of file qgsabstractmetadatabase.h.
|
protected |
Definition at line 588 of file qgsabstractmetadatabase.h.