Marble::OsmPlacemarkData

Search for usage in LXR

Marble::OsmPlacemarkData Class Reference

#include <OsmPlacemarkData.h>

Inheritance diagram for Marble::OsmPlacemarkData:

Public Member Functions

QString action () const
 
void addMemberReference (int key, const OsmPlacemarkData &value)
 
void addNodeReference (const GeoDataCoordinates &key, const OsmPlacemarkData &value)
 
void addRelation (qint64 id, OsmType type, const QString &role)
 
void addTag (const QString &key, const QString &value)
 
void changeNodeReference (const GeoDataCoordinates &oldKey, const GeoDataCoordinates &newKey)
 
QString changeset () const
 
bool containsMemberReference (int key) const
 
bool containsNodeReference (const GeoDataCoordinates &key) const
 
bool containsRelation (qint64 id) const
 
bool containsTag (const QString &key, const QString &value) const
 
bool containsTagKey (const QString &key) const
 
QHash< QString, QString >::const_iterator findTag (const QString &key) const
 
OsmPlacemarkDataHashRefhRef () const
 
qint64 id () const
 
bool isEmpty () const
 
bool isNull () const
 
QString isVisible () const
 
OsmPlacemarkDatamemberReference (int key)
 
OsmPlacemarkData memberReference (int key) const
 
OsmPlacemarkDatanodeReference (const GeoDataCoordinates &coordinates)
 
OsmPlacemarkData nodeReference (const GeoDataCoordinates &coordinates) const
 
const char * nodeType () const override
 
qint64 oid () const
 
QHash< OsmIdentifier, QString >::const_iterator relationReferencesBegin () const
 
QHash< OsmIdentifier, QString >::const_iterator relationReferencesEnd () const
 
void removeMemberReference (int key)
 
void removeNodeReference (const GeoDataCoordinates &key)
 
void removeRelation (qint64 id)
 
void removeTag (const QString &key)
 
void setAction (const QString &action)
 
void setChangeset (const QString &changeset)
 
void setId (qint64 id)
 
void setTimestamp (const QString &timestamp)
 
void setUid (const QString &uid)
 
void setUser (const QString &user)
 
void setVersion (const QString &version)
 
void setVisible (const QString &visible)
 
QHash< QString, QString >::const_iterator tagsBegin () const
 
QHash< QString, QString >::const_iterator tagsEnd () const
 
QString tagValue (const QString &key) const
 
QString timestamp () const
 
QString uid () const
 
QString user () const
 
QString version () const
 
- Public Member Functions inherited from Marble::GeoNode

Static Public Member Functions

static OsmPlacemarkData fromParserAttributes (const QXmlStreamAttributes &attributes)
 

Detailed Description

This class is used to encapsulate the osm data fields kept within a placemark's extendedData.

It stores OSM server generated data: id, version, changeset, uid, visible, user, timestamp; It also stores a hash map of <tags> ( key-value mappings ) and a hash map of component osm placemarks

See also
m_nodeReferences
m_memberReferences

The usual workflow with osmData goes as follows:

Parsing stage: The OsmParser parses tags (they have server-generated attributes), creates new placemarks and assigns them new OsmPlacemarkData objects with all the needed information.

Editing stage: While editing placemarks that have OsmPlacemarkData, all relevant changes reflect on the OsmPlacemarkData object as well, so as not to uncorrelate data from the actual placemarks.

Writing stage: The OsmObjectManager assigns OsmPlacemarkData objects to placemarks that do not have it ( these are usually newly created placemarks within the editor, or placemarks loaded from ".kml" files ). Placemarks that already have it, are simply written as-is.

Definition at line 76 of file OsmPlacemarkData.h.

Constructor & Destructor Documentation

◆ OsmPlacemarkData()

Marble::OsmPlacemarkData::OsmPlacemarkData ( )

Definition at line 22 of file OsmPlacemarkData.cpp.

Member Function Documentation

◆ action()

QString Marble::OsmPlacemarkData::action ( ) const

Definition at line 77 of file OsmPlacemarkData.cpp.

◆ addMemberReference()

void Marble::OsmPlacemarkData::addMemberReference ( int key,
const OsmPlacemarkData & value )

addRef this function inserts a int = OsmplacemarkData mapping into the reference hash, equivalent to the osm <nd ref="@p boundary of index @key" > core data element

See also
m_memberReferences

Definition at line 204 of file OsmPlacemarkData.cpp.

◆ addNodeReference()

void Marble::OsmPlacemarkData::addNodeReference ( const GeoDataCoordinates & key,
const OsmPlacemarkData & value )

addRef this function inserts a GeoDataCoordinates = OsmPlacemarkData mapping into the reference hash, equivalent to the <member ref="@p key" > osm core data element

Definition at line 173 of file OsmPlacemarkData.cpp.

◆ addRelation()

void Marble::OsmPlacemarkData::addRelation ( qint64 id,
OsmType type,
const QString & role )

addRelation calling this makes the osm placemark a member of the relation with id as id, while having the role role

Definition at line 232 of file OsmPlacemarkData.cpp.

◆ addTag()

void Marble::OsmPlacemarkData::addTag ( const QString & key,
const QString & value )

addTag this function inserts a string key=value mapping, equivalent to the <tag k="@p key" v="@p value"> osm core data element

Definition at line 127 of file OsmPlacemarkData.cpp.

◆ changeNodeReference()

void Marble::OsmPlacemarkData::changeNodeReference ( const GeoDataCoordinates & oldKey,
const GeoDataCoordinates & newKey )

changeNodeReference is a convenience function that allows the quick change of a node hash entry.

This is generally used to update the osm data in case nodes are being moved in the editor.

Definition at line 188 of file OsmPlacemarkData.cpp.

◆ changeset()

QString Marble::OsmPlacemarkData::changeset ( ) const

Definition at line 47 of file OsmPlacemarkData.cpp.

◆ containsMemberReference()

bool Marble::OsmPlacemarkData::containsMemberReference ( int key) const

Definition at line 227 of file OsmPlacemarkData.cpp.

◆ containsNodeReference()

bool Marble::OsmPlacemarkData::containsNodeReference ( const GeoDataCoordinates & key) const

Definition at line 183 of file OsmPlacemarkData.cpp.

◆ containsRelation()

bool Marble::OsmPlacemarkData::containsRelation ( qint64 id) const

this is wrong and just done this way for backward behavior compatible

this method should probably take type as an additional argument

Definition at line 246 of file OsmPlacemarkData.cpp.

◆ containsTag()

bool Marble::OsmPlacemarkData::containsTag ( const QString & key,
const QString & value ) const

containsTag returns true if the tag hash contains an entry with the key as key and value as value

Definition at line 137 of file OsmPlacemarkData.cpp.

◆ containsTagKey()

bool Marble::OsmPlacemarkData::containsTagKey ( const QString & key) const

containsTagKey returns true if the tag hash contains an entry with the key as key

Definition at line 143 of file OsmPlacemarkData.cpp.

◆ findTag()

QHash< QString, QString >::const_iterator Marble::OsmPlacemarkData::findTag ( const QString & key) const

tagValue returns a pointer to the tag that has key as key or the end iterator if there is no such tag

Definition at line 148 of file OsmPlacemarkData.cpp.

◆ fromParserAttributes()

OsmPlacemarkData Marble::OsmPlacemarkData::fromParserAttributes ( const QXmlStreamAttributes & attributes)
static

fromParserAttributes is a convenience function that parses all osm-related arguments of a tag

Returns
an OsmPlacemarkData object containing all the necessary data

Definition at line 274 of file OsmPlacemarkData.cpp.

◆ hRef()

OsmPlacemarkDataHashRef * Marble::OsmPlacemarkData::hRef ( ) const

Return the insternal instance of the hash-table functions container.

Definition at line 31 of file OsmPlacemarkData.cpp.

◆ id()

qint64 Marble::OsmPlacemarkData::id ( ) const

Definition at line 36 of file OsmPlacemarkData.cpp.

◆ isEmpty()

bool Marble::OsmPlacemarkData::isEmpty ( ) const

isEmpty returns true if no attribute other than the id has been set

Definition at line 269 of file OsmPlacemarkData.cpp.

◆ isNull()

bool Marble::OsmPlacemarkData::isNull ( ) const

isNull returns false if the osmData is loaded from a source or true if its just default constructed

Definition at line 264 of file OsmPlacemarkData.cpp.

◆ isVisible()

QString Marble::OsmPlacemarkData::isVisible ( ) const

Definition at line 62 of file OsmPlacemarkData.cpp.

◆ memberReference() [1/2]

OsmPlacemarkData & Marble::OsmPlacemarkData::memberReference ( int key)

this function returns the osmData associated with a member boundary's index -1 represents the outer boundary of a polygon, and 0,1,2... the inner boundaries, in the order provided by polygon->innerBoundaries();

Definition at line 194 of file OsmPlacemarkData.cpp.

◆ memberReference() [2/2]

OsmPlacemarkData Marble::OsmPlacemarkData::memberReference ( int key) const

Definition at line 199 of file OsmPlacemarkData.cpp.

◆ nodeReference() [1/2]

OsmPlacemarkData & Marble::OsmPlacemarkData::nodeReference ( const GeoDataCoordinates & coordinates)

this function returns the osmData associated with a nd

Definition at line 163 of file OsmPlacemarkData.cpp.

◆ nodeReference() [2/2]

OsmPlacemarkData Marble::OsmPlacemarkData::nodeReference ( const GeoDataCoordinates & coordinates) const

Definition at line 168 of file OsmPlacemarkData.cpp.

◆ nodeType()

const char * Marble::OsmPlacemarkData::nodeType ( ) const
overridevirtual

Provides type information for downcasting a GeoNode.

Implements Marble::GeoNode.

Definition at line 302 of file OsmPlacemarkData.cpp.

◆ oid()

qint64 Marble::OsmPlacemarkData::oid ( ) const

Definition at line 41 of file OsmPlacemarkData.cpp.

◆ relationReferencesBegin()

QHash< OsmIdentifier, QString >::const_iterator Marble::OsmPlacemarkData::relationReferencesBegin ( ) const

Definition at line 254 of file OsmPlacemarkData.cpp.

◆ relationReferencesEnd()

QHash< OsmIdentifier, QString >::const_iterator Marble::OsmPlacemarkData::relationReferencesEnd ( ) const

Definition at line 259 of file OsmPlacemarkData.cpp.

◆ removeMemberReference()

void Marble::OsmPlacemarkData::removeMemberReference ( int key)

Definition at line 209 of file OsmPlacemarkData.cpp.

◆ removeNodeReference()

void Marble::OsmPlacemarkData::removeNodeReference ( const GeoDataCoordinates & key)

Definition at line 178 of file OsmPlacemarkData.cpp.

◆ removeRelation()

void Marble::OsmPlacemarkData::removeRelation ( qint64 id)

this is wrong and just done this way for backward behavior compatible

this method should probably take type as an additional argument

Definition at line 237 of file OsmPlacemarkData.cpp.

◆ removeTag()

void Marble::OsmPlacemarkData::removeTag ( const QString & key)

removeTag removes the tag from the tag hash

Definition at line 132 of file OsmPlacemarkData.cpp.

◆ setAction()

void Marble::OsmPlacemarkData::setAction ( const QString & action)

Definition at line 117 of file OsmPlacemarkData.cpp.

◆ setChangeset()

void Marble::OsmPlacemarkData::setChangeset ( const QString & changeset)

Definition at line 92 of file OsmPlacemarkData.cpp.

◆ setId()

void Marble::OsmPlacemarkData::setId ( qint64 id)

Definition at line 82 of file OsmPlacemarkData.cpp.

◆ setTimestamp()

void Marble::OsmPlacemarkData::setTimestamp ( const QString & timestamp)

Definition at line 112 of file OsmPlacemarkData.cpp.

◆ setUid()

void Marble::OsmPlacemarkData::setUid ( const QString & uid)

Definition at line 97 of file OsmPlacemarkData.cpp.

◆ setUser()

void Marble::OsmPlacemarkData::setUser ( const QString & user)

Definition at line 107 of file OsmPlacemarkData.cpp.

◆ setVersion()

void Marble::OsmPlacemarkData::setVersion ( const QString & version)

Definition at line 87 of file OsmPlacemarkData.cpp.

◆ setVisible()

void Marble::OsmPlacemarkData::setVisible ( const QString & visible)

Definition at line 102 of file OsmPlacemarkData.cpp.

◆ tagsBegin()

QHash< QString, QString >::const_iterator Marble::OsmPlacemarkData::tagsBegin ( ) const

iterators for the tags hash.

Definition at line 153 of file OsmPlacemarkData.cpp.

◆ tagsEnd()

QHash< QString, QString >::const_iterator Marble::OsmPlacemarkData::tagsEnd ( ) const

Definition at line 158 of file OsmPlacemarkData.cpp.

◆ tagValue()

QString Marble::OsmPlacemarkData::tagValue ( const QString & key) const

tagValue returns the value of the tag that has key as key or an empty qstring if there is no such tag

Definition at line 122 of file OsmPlacemarkData.cpp.

◆ timestamp()

QString Marble::OsmPlacemarkData::timestamp ( ) const

Definition at line 72 of file OsmPlacemarkData.cpp.

◆ uid()

QString Marble::OsmPlacemarkData::uid ( ) const

Definition at line 57 of file OsmPlacemarkData.cpp.

◆ user()

QString Marble::OsmPlacemarkData::user ( ) const

Definition at line 67 of file OsmPlacemarkData.cpp.

◆ version()

QString Marble::OsmPlacemarkData::version ( ) const

Definition at line 52 of file OsmPlacemarkData.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:37:04 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.