File indexing completed on 2024-05-19 03:53:14
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2015 Stanciu Marius-Valeriu <stanciumarius94@gmail.com> 0004 // 0005 0006 //Self 0007 #include "OsmTagTagWriter.h" 0008 0009 //Marble 0010 #include "GeoWriter.h" 0011 #include "OsmElementDictionary.h" 0012 #include "osm/OsmPlacemarkData.h" 0013 0014 namespace Marble 0015 { 0016 0017 QSet<QString> OsmTagTagWriter::m_blacklist; 0018 0019 void OsmTagTagWriter::writeTags( const OsmPlacemarkData& osmData, GeoWriter &writer ) 0020 { 0021 if (m_blacklist.isEmpty()) { 0022 m_blacklist << QStringLiteral("mx:version"); 0023 m_blacklist << QStringLiteral("mx:changeset"); 0024 m_blacklist << QStringLiteral("mx:uid"); 0025 m_blacklist << QStringLiteral("mx:visible"); 0026 m_blacklist << QStringLiteral("mx:user"); 0027 m_blacklist << QStringLiteral("mx:timestamp"); 0028 m_blacklist << QStringLiteral("mx:action"); 0029 } 0030 0031 auto it = osmData.tagsBegin(); 0032 auto end = osmData.tagsEnd(); 0033 0034 for ( ; it != end; ++it ) { 0035 if (!m_blacklist.contains(it.key())) { 0036 writer.writeStartElement( osm::osmTag_tag ); 0037 writer.writeAttribute( "k", it.key() ); 0038 writer.writeAttribute( "v", it.value() ); 0039 writer.writeEndElement(); 0040 } 0041 } 0042 } 0043 0044 }