[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [marble] /: move GeoDataVisualCategory enum from GeoDataFeature to GeoDataPlacemark
From:       Bernhard Beschow <bbeschow () cs ! tu-berlin ! de>
Date:       2016-10-03 14:10:49
Message-ID: E1br3xB-0005FV-Jn () code ! kde ! org
[Download RAW message or body]

Git commit 620949187746a4a2368e81e77fb8d6360e996b7c by Bernhard Beschow.
Committed on 03/10/2016 at 14:05.
Pushed by beschow into branch 'master'.

move GeoDataVisualCategory enum from GeoDataFeature to GeoDataPlacemark

This is an intended follow-up on the previous commit.

M  +2    -2    src/lib/marble/BookmarkManager.cpp
M  +4    -4    src/lib/marble/EditPlacemarkDialog.cpp
M  +4    -4    src/lib/marble/MarbleWidgetPopupMenu.cpp
M  +103  -103  src/lib/marble/PlacemarkLayout.cpp
M  +2    -3    src/lib/marble/PlacemarkLayout.h
M  +1174 -1174 src/lib/marble/StyleBuilder.cpp
M  +7    -8    src/lib/marble/StyleBuilder.h
M  +2    -2    src/lib/marble/declarative/MarbleQuickItem.cpp
M  +8    -8    src/lib/marble/declarative/Placemark.cpp
M  +0    -368  src/lib/marble/geodata/data/GeoDataFeature.h
M  +2    -2    src/lib/marble/geodata/data/GeoDataPlacemark.cpp
M  +369  -0    src/lib/marble/geodata/data/GeoDataPlacemark.h
M  +2    -2    src/lib/marble/geodata/data/GeoDataPlacemark_p.h
M  +4    -4    src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp
M  +1    -1    src/lib/marble/layers/GeometryLayer.cpp
M  +3    -3    src/lib/marble/osm/OsmTagEditorWidget_p.cpp
M  +5    -5    src/plugins/render/annotate/AnnotatePlugin.cpp
M  +2    -2    src/plugins/render/annotate/EditPolygonDialog.cpp
M  +2    -2    src/plugins/render/annotate/EditPolylineDialog.cpp
M  +1    -1    src/plugins/render/satellites/SatellitesMSCItem.cpp
M  +1    -1    src/plugins/render/satellites/SatellitesTLEItem.cpp
M  +1    -1    src/plugins/runner/geouri/GeoUriRunner.cpp
M  +1    -1    src/plugins/runner/hostip/HostipRunner.cpp
M  +2    -2    src/plugins/runner/json/JsonParser.cpp
M  +1    -1    src/plugins/runner/latlon/LatLonRunner.cpp
M  +62   -62   src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp
M  +2    -2    src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h
M  +1    -1    src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp
 M  +13   -13   src/plugins/runner/osm/OsmNode.cpp
M  +9    -9    src/plugins/runner/osm/OsmRelation.cpp
M  +1    -1    src/plugins/runner/osm/OsmWay.cpp
M  +3    -3    tools/vectorosm-tilecreator/WayChunk.cpp
M  +3    -3    tools/vectorosm-tilecreator/WayChunk.h

http://commits.kde.org/marble/620949187746a4a2368e81e77fb8d6360e996b7c

diff --git a/src/lib/marble/BookmarkManager.cpp b/src/lib/marble/BookmarkManager.cpp
index 08e016e..3e57db1 100644
--- a/src/lib/marble/BookmarkManager.cpp
+++ b/src/lib/marble/BookmarkManager.cpp
@@ -69,7 +69,7 @@ void BookmarkManagerPrivate::setVisualCategory( GeoDataContainer \
*container ) {  setVisualCategory( folder );
     }
     foreach( GeoDataPlacemark* placemark, container->placemarkList() ) {
-        placemark->setVisualCategory( GeoDataFeature::Bookmark );
+        placemark->setVisualCategory(GeoDataPlacemark::Bookmark);
         placemark->setZoomLevel( 1 );
     }
 
@@ -135,7 +135,7 @@ bool BookmarkManager::loadFile( const QString &relativeFilePath )
 void BookmarkManager::addBookmark( GeoDataContainer *container, const \
GeoDataPlacemark &placemark )  {
     GeoDataPlacemark *bookmark = new GeoDataPlacemark( placemark );
-    bookmark->setVisualCategory( GeoDataDocument::Bookmark );
+    bookmark->setVisualCategory(GeoDataPlacemark::Bookmark);
     bookmark->setZoomLevel( 1 );
     if (bookmark->name().isEmpty()) {
         bookmark->setName(bookmark->coordinate().toString(GeoDataCoordinates::Decimal).trimmed());
                
diff --git a/src/lib/marble/EditPlacemarkDialog.cpp \
b/src/lib/marble/EditPlacemarkDialog.cpp index a7027f6..4e2d931 100644
--- a/src/lib/marble/EditPlacemarkDialog.cpp
+++ b/src/lib/marble/EditPlacemarkDialog.cpp
@@ -52,7 +52,7 @@ public:
     QString m_initialName;
     GeoDataCoordinates m_initialCoords;
     GeoDataStyle m_initialStyle;
-    GeoDataFeature::GeoDataVisualCategory m_initialVisualCategory;
+    GeoDataPlacemark::GeoDataVisualCategory m_initialVisualCategory;
     OsmPlacemarkData m_initialOsmData;
     QString m_styleColorTabName;
     bool m_initialIsPlacemarkVisible;
@@ -343,8 +343,8 @@ void EditPlacemarkDialog::updateTextAnnotation()
     }
     else {
         const OsmPlacemarkData osmData = d->m_osmTagEditorWidget->placemarkData();
-        const GeoDataFeature::GeoDataVisualCategory category = \
                StyleBuilder::determineVisualCategory(osmData);
-        if (category != GeoDataFeature::None) {
+        const GeoDataPlacemark::GeoDataVisualCategory category = \
StyleBuilder::determineVisualCategory(osmData); +        if (category != \
GeoDataPlacemark::None) {  d->m_placemark->setStyle(GeoDataStyle::Ptr());
             d->m_placemark->setVisualCategory( category );
         }
@@ -367,7 +367,7 @@ void EditPlacemarkDialog::checkFields()
         QMessageBox::warning( this,
                               tr( "ID is invalid" ),
                               tr( "Please specify a valid ID for this placemark." ) \
                );
-    } else if ( d->m_header->iconLink().isEmpty() && \
d->m_placemark->visualCategory() == GeoDataFeature::None ) { +    } else if \
(d->m_header->iconLink().isEmpty() && d->m_placemark->visualCategory() == \
GeoDataPlacemark::None) {  QMessageBox::warning( this,
                               tr( "No image specified" ),
                               tr( "Please specify an icon for this placemark or add \
                a valid tag." ) );
diff --git a/src/lib/marble/MarbleWidgetPopupMenu.cpp \
b/src/lib/marble/MarbleWidgetPopupMenu.cpp index f1e51f1..055c64f 100644
--- a/src/lib/marble/MarbleWidgetPopupMenu.cpp
+++ b/src/lib/marble/MarbleWidgetPopupMenu.cpp
@@ -678,10 +678,10 @@ void MarbleWidgetPopupMenu::slotInfoDialog()
         }
 
         if ( placemark ) {
-            isSatellite = (placemark->visualCategory() == \
                GeoDataFeature::Satellite);
-            isCity = (placemark->visualCategory() >= GeoDataFeature::SmallCity &&
-                      placemark->visualCategory() <= \
                GeoDataFeature::LargeNationCapital);
-            isNation = (placemark->visualCategory() == GeoDataFeature::Nation);
+            isSatellite = (placemark->visualCategory() == \
GeoDataPlacemark::Satellite); +            isCity = (placemark->visualCategory() >= \
GeoDataPlacemark::SmallCity && +                      placemark->visualCategory() <= \
GeoDataPlacemark::LargeNationCapital); +            isNation = \
(placemark->visualCategory() == GeoDataPlacemark::Nation);  }
 
         bool isSky = false;
diff --git a/src/lib/marble/PlacemarkLayout.cpp b/src/lib/marble/PlacemarkLayout.cpp
index 362f722..0677983 100644
--- a/src/lib/marble/PlacemarkLayout.cpp
+++ b/src/lib/marble/PlacemarkLayout.cpp
@@ -62,99 +62,99 @@ namespace
 namespace Marble
 {
 
-QSet<GeoDataFeature::GeoDataVisualCategory> acceptedVisualCategories()
+QSet<GeoDataPlacemark::GeoDataVisualCategory> acceptedVisualCategories()
 {
-    QSet<GeoDataFeature::GeoDataVisualCategory> visualCategories;
+    QSet<GeoDataPlacemark::GeoDataVisualCategory> visualCategories;
 
     visualCategories
-        << GeoDataFeature::SmallCity
-        << GeoDataFeature::SmallCountyCapital  
-        << GeoDataFeature::SmallStateCapital   
-        << GeoDataFeature::SmallNationCapital
-        << GeoDataFeature::MediumCity
-        << GeoDataFeature::MediumCountyCapital
-        << GeoDataFeature::MediumStateCapital
-        << GeoDataFeature::MediumNationCapital
-        << GeoDataFeature::BigCity
-        << GeoDataFeature::BigCountyCapital
-        << GeoDataFeature::BigStateCapital
-        << GeoDataFeature::BigNationCapital
-        << GeoDataFeature::LargeCity
-        << GeoDataFeature::LargeCountyCapital
-        << GeoDataFeature::LargeStateCapital
-        << GeoDataFeature::LargeNationCapital
-        << GeoDataFeature::Nation
-        << GeoDataFeature::Mountain
-        << GeoDataFeature::Volcano
-        << GeoDataFeature::Mons
-        << GeoDataFeature::Valley
-        << GeoDataFeature::Continent
-        << GeoDataFeature::Ocean
-        << GeoDataFeature::OtherTerrain
-        << GeoDataFeature::Crater
-        << GeoDataFeature::Mare
-        << GeoDataFeature::GeographicPole
-        << GeoDataFeature::MagneticPole
-        << GeoDataFeature::ShipWreck
-        << GeoDataFeature::LeisureMarina
-        << GeoDataFeature::AirPort
-        << GeoDataFeature::Observatory
-        << GeoDataFeature::AccomodationCamping
-        << GeoDataFeature::AccomodationHostel
-        << GeoDataFeature::AccomodationHotel
-        << GeoDataFeature::AccomodationMotel
-        << GeoDataFeature::AccomodationYouthHostel
-        << GeoDataFeature::AmenityLibrary
-        << GeoDataFeature::AmenityKindergarten
-        << GeoDataFeature::EducationCollege
-        << GeoDataFeature::EducationSchool
-        << GeoDataFeature::EducationUniversity
-        << GeoDataFeature::FoodBar
-        << GeoDataFeature::FoodBiergarten
-        << GeoDataFeature::FoodCafe
-        << GeoDataFeature::FoodFastFood
-        << GeoDataFeature::FoodPub
-        << GeoDataFeature::FoodRestaurant
-        << GeoDataFeature::HealthDoctors
-        << GeoDataFeature::HealthHospital
-        << GeoDataFeature::HealthPharmacy
-        << GeoDataFeature::MoneyBank
-        << GeoDataFeature::NaturalPeak
-        << GeoDataFeature::ShopBeverages
-        << GeoDataFeature::ShopHifi
-        << GeoDataFeature::ShopSupermarket
-        << GeoDataFeature::TouristAlpineHut
-        << GeoDataFeature::TouristAttraction
-        << GeoDataFeature::TouristCastle
-        << GeoDataFeature::TouristCinema
-        << GeoDataFeature::TouristMonument
-        << GeoDataFeature::TouristMuseum
-        << GeoDataFeature::TouristRuin
-        << GeoDataFeature::TouristTheatre
-        << GeoDataFeature::TouristThemePark
-        << GeoDataFeature::TouristViewPoint
-        << GeoDataFeature::TouristZoo
-        << GeoDataFeature::TransportAerodrome
-        << GeoDataFeature::TransportAirportTerminal
-        << GeoDataFeature::TransportAirportGate
-        << GeoDataFeature::TransportAirportRunway
-        << GeoDataFeature::TransportAirportTaxiway
-        << GeoDataFeature::TransportAirportApron
-        << GeoDataFeature::TransportBusStation
-        << GeoDataFeature::TransportBusStop
-        << GeoDataFeature::TransportCarShare
-        << GeoDataFeature::TransportFuel
-        << GeoDataFeature::TransportParking
-        << GeoDataFeature::TransportTrainStation
-        << GeoDataFeature::ReligionPlaceOfWorship
-        << GeoDataFeature::ReligionBahai
-        << GeoDataFeature::ReligionBuddhist
-        << GeoDataFeature::ReligionChristian
-        << GeoDataFeature::ReligionHindu
-        << GeoDataFeature::ReligionJain
-        << GeoDataFeature::ReligionJewish
-        << GeoDataFeature::ReligionShinto
-        << GeoDataFeature::ReligionSikh;
+        << GeoDataPlacemark::SmallCity
+        << GeoDataPlacemark::SmallCountyCapital
+        << GeoDataPlacemark::SmallStateCapital
+        << GeoDataPlacemark::SmallNationCapital
+        << GeoDataPlacemark::MediumCity
+        << GeoDataPlacemark::MediumCountyCapital
+        << GeoDataPlacemark::MediumStateCapital
+        << GeoDataPlacemark::MediumNationCapital
+        << GeoDataPlacemark::BigCity
+        << GeoDataPlacemark::BigCountyCapital
+        << GeoDataPlacemark::BigStateCapital
+        << GeoDataPlacemark::BigNationCapital
+        << GeoDataPlacemark::LargeCity
+        << GeoDataPlacemark::LargeCountyCapital
+        << GeoDataPlacemark::LargeStateCapital
+        << GeoDataPlacemark::LargeNationCapital
+        << GeoDataPlacemark::Nation
+        << GeoDataPlacemark::Mountain
+        << GeoDataPlacemark::Volcano
+        << GeoDataPlacemark::Mons
+        << GeoDataPlacemark::Valley
+        << GeoDataPlacemark::Continent
+        << GeoDataPlacemark::Ocean
+        << GeoDataPlacemark::OtherTerrain
+        << GeoDataPlacemark::Crater
+        << GeoDataPlacemark::Mare
+        << GeoDataPlacemark::GeographicPole
+        << GeoDataPlacemark::MagneticPole
+        << GeoDataPlacemark::ShipWreck
+        << GeoDataPlacemark::LeisureMarina
+        << GeoDataPlacemark::AirPort
+        << GeoDataPlacemark::Observatory
+        << GeoDataPlacemark::AccomodationCamping
+        << GeoDataPlacemark::AccomodationHostel
+        << GeoDataPlacemark::AccomodationHotel
+        << GeoDataPlacemark::AccomodationMotel
+        << GeoDataPlacemark::AccomodationYouthHostel
+        << GeoDataPlacemark::AmenityLibrary
+        << GeoDataPlacemark::AmenityKindergarten
+        << GeoDataPlacemark::EducationCollege
+        << GeoDataPlacemark::EducationSchool
+        << GeoDataPlacemark::EducationUniversity
+        << GeoDataPlacemark::FoodBar
+        << GeoDataPlacemark::FoodBiergarten
+        << GeoDataPlacemark::FoodCafe
+        << GeoDataPlacemark::FoodFastFood
+        << GeoDataPlacemark::FoodPub
+        << GeoDataPlacemark::FoodRestaurant
+        << GeoDataPlacemark::HealthDoctors
+        << GeoDataPlacemark::HealthHospital
+        << GeoDataPlacemark::HealthPharmacy
+        << GeoDataPlacemark::MoneyBank
+        << GeoDataPlacemark::NaturalPeak
+        << GeoDataPlacemark::ShopBeverages
+        << GeoDataPlacemark::ShopHifi
+        << GeoDataPlacemark::ShopSupermarket
+        << GeoDataPlacemark::TouristAlpineHut
+        << GeoDataPlacemark::TouristAttraction
+        << GeoDataPlacemark::TouristCastle
+        << GeoDataPlacemark::TouristCinema
+        << GeoDataPlacemark::TouristMonument
+        << GeoDataPlacemark::TouristMuseum
+        << GeoDataPlacemark::TouristRuin
+        << GeoDataPlacemark::TouristTheatre
+        << GeoDataPlacemark::TouristThemePark
+        << GeoDataPlacemark::TouristViewPoint
+        << GeoDataPlacemark::TouristZoo
+        << GeoDataPlacemark::TransportAerodrome
+        << GeoDataPlacemark::TransportAirportTerminal
+        << GeoDataPlacemark::TransportAirportGate
+        << GeoDataPlacemark::TransportAirportRunway
+        << GeoDataPlacemark::TransportAirportTaxiway
+        << GeoDataPlacemark::TransportAirportApron
+        << GeoDataPlacemark::TransportBusStation
+        << GeoDataPlacemark::TransportBusStop
+        << GeoDataPlacemark::TransportCarShare
+        << GeoDataPlacemark::TransportFuel
+        << GeoDataPlacemark::TransportParking
+        << GeoDataPlacemark::TransportTrainStation
+        << GeoDataPlacemark::ReligionPlaceOfWorship
+        << GeoDataPlacemark::ReligionBahai
+        << GeoDataPlacemark::ReligionBuddhist
+        << GeoDataPlacemark::ReligionChristian
+        << GeoDataPlacemark::ReligionHindu
+        << GeoDataPlacemark::ReligionJain
+        << GeoDataPlacemark::ReligionJewish
+        << GeoDataPlacemark::ReligionShinto
+        << GeoDataPlacemark::ReligionSikh;
 
     return visualCategories;
 }
@@ -486,45 +486,45 @@ QVector<VisiblePlacemark *> PlacemarkLayout::generateLayout( \
const ViewportParam  continue;
         }
 
-        const GeoDataFeature::GeoDataVisualCategory visualCategory = \
placemark->visualCategory(); +        const GeoDataPlacemark::GeoDataVisualCategory \
visualCategory = placemark->visualCategory();  
         // Skip city marks if we're not showing cities.
         if ( !m_showCities
-             && visualCategory >= GeoDataFeature::SmallCity
-             && visualCategory <= GeoDataFeature::Nation )
+             && visualCategory >= GeoDataPlacemark::SmallCity
+             && visualCategory <= GeoDataPlacemark::Nation )
             continue;
 
         // Skip terrain marks if we're not showing terrain.
         if ( !m_showTerrain
-             && visualCategory >= GeoDataFeature::Mountain
-             && visualCategory <= GeoDataFeature::OtherTerrain )
+             && visualCategory >= GeoDataPlacemark::Mountain
+             && visualCategory <= GeoDataPlacemark::OtherTerrain )
             continue;
 
         // Skip other places if we're not showing other places.
         if ( !m_showOtherPlaces
-             && visualCategory >= GeoDataFeature::GeographicPole
-             && visualCategory <= GeoDataFeature::Observatory )
+             && visualCategory >= GeoDataPlacemark::GeographicPole
+             && visualCategory <= GeoDataPlacemark::Observatory )
             continue;
 
         // Skip landing sites if we're not showing landing sites.
         if ( !m_showLandingSites
-             && visualCategory >= GeoDataFeature::MannedLandingSite
-             && visualCategory <= GeoDataFeature::UnmannedHardLandingSite )
+             && visualCategory >= GeoDataPlacemark::MannedLandingSite
+             && visualCategory <= GeoDataPlacemark::UnmannedHardLandingSite )
             continue;
 
         // Skip craters if we're not showing craters.
         if ( !m_showCraters
-             && visualCategory == GeoDataFeature::Crater )
+             && visualCategory == GeoDataPlacemark::Crater )
             continue;
 
         // Skip maria if we're not showing maria.
         if ( !m_showMaria
-             && visualCategory == GeoDataFeature::Mare )
+             && visualCategory == GeoDataPlacemark::Mare )
             continue;
 
         if ( !m_showPlaces
-             && visualCategory >= GeoDataFeature::GeographicPole
-             && visualCategory <= GeoDataFeature::Observatory )
+             && visualCategory >= GeoDataPlacemark::GeographicPole
+             && visualCategory <= GeoDataPlacemark::Observatory )
             continue;
 
         // We handled selected placemarks already, so we skip them here...
diff --git a/src/lib/marble/PlacemarkLayout.h b/src/lib/marble/PlacemarkLayout.h
index 54d5210..7ed8fa8 100644
--- a/src/lib/marble/PlacemarkLayout.h
+++ b/src/lib/marble/PlacemarkLayout.h
@@ -23,7 +23,7 @@
 #include <QMap>
 #include <QVector>
 
-#include "GeoDataFeature.h"
+#include "GeoDataPlacemark.h"
 #include <GeoDataStyle.h>
 
 class QAbstractItemModel;
@@ -36,7 +36,6 @@ namespace Marble
 {
 
 class GeoDataCoordinates;
-class GeoDataPlacemark;
 class GeoPainter;
 class MarbleClock;
 class PlacemarkPainter;
@@ -146,7 +145,7 @@ class PlacemarkLayout : public QObject
     QMap<TileId, QList<const GeoDataPlacemark*> > m_placemarkCache;
     QSet<qint64> m_osmIds;
 
-    const QSet< GeoDataFeature::GeoDataVisualCategory > m_acceptedVisualCategories;
+    const QSet<GeoDataPlacemark::GeoDataVisualCategory> m_acceptedVisualCategories;
 
     // earth
     bool m_showPlaces;
diff --git a/src/lib/marble/StyleBuilder.cpp b/src/lib/marble/StyleBuilder.cpp
index 7e29b47..10a51ce 100644
--- a/src/lib/marble/StyleBuilder.cpp
+++ b/src/lib/marble/StyleBuilder.cpp
@@ -74,24 +74,24 @@ public:
 
     void initializeDefaultStyles();
 
-    static QString createPaintLayerItem(const QString &itemType, \
GeoDataFeature::GeoDataVisualCategory visualCategory, const QString &subType = \
QString()); +    static QString createPaintLayerItem(const QString &itemType, \
GeoDataPlacemark::GeoDataVisualCategory visualCategory, const QString &subType = \
QString());  
     static void initializeOsmVisualCategories();
 
-    int m_defaultMinZoomLevels[GeoDataFeature::LastIndex];
+    int m_defaultMinZoomLevels[GeoDataPlacemark::LastIndex];
     int m_maximumZoomLevel;
     QColor m_defaultLabelColor;
     QFont m_defaultFont;
-    GeoDataStyle::Ptr m_defaultStyle[GeoDataFeature::LastIndex];
+    GeoDataStyle::Ptr m_defaultStyle[GeoDataPlacemark::LastIndex];
     bool m_defaultStyleInitialized;
 
     /**
      * @brief s_visualCategories contains osm tag mappings to \
                GeoDataVisualCategories
      */
-    static QHash<OsmTag, GeoDataFeature::GeoDataVisualCategory> s_visualCategories;
+    static QHash<OsmTag, GeoDataPlacemark::GeoDataVisualCategory> \
s_visualCategories;  };
 
-QHash<StyleBuilder::OsmTag, GeoDataFeature::GeoDataVisualCategory> \
StyleBuilder::Private::s_visualCategories; +QHash<StyleBuilder::OsmTag, \
GeoDataPlacemark::GeoDataVisualCategory> StyleBuilder::Private::s_visualCategories;  
 StyleBuilder::Private::Private() :
     m_maximumZoomLevel(15),
@@ -100,119 +100,119 @@ StyleBuilder::Private::Private() :
     m_defaultStyle(),
     m_defaultStyleInitialized(false)
 {
-    for ( int i = 0; i < GeoDataFeature::LastIndex; i++ )
+    for ( int i = 0; i < GeoDataPlacemark::LastIndex; i++ )
         m_defaultMinZoomLevels[i] = m_maximumZoomLevel;
 
-    m_defaultMinZoomLevels[GeoDataFeature::Default]             = 1;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalReef]         = 3;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalWater]        = 3;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalWood]         = 8;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalBeach]        = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalWetland]      = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalGlacier]      = 3;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalIceShelf]     = 3;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalScrub]        = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalCliff]        = 15;
-    m_defaultMinZoomLevels[GeoDataFeature::NaturalPeak]         = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::BarrierCityWall]     = 15;
-    m_defaultMinZoomLevels[GeoDataFeature::Building]            = 15;
-
-    m_defaultMinZoomLevels[GeoDataFeature::ManmadeBridge]       = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::Default]             = 1;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalReef]         = 3;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalWater]        = 3;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalWood]         = 8;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalBeach]        = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalWetland]      = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalGlacier]      = 3;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalIceShelf]     = 3;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalScrub]        = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalCliff]        = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::NaturalPeak]         = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::BarrierCityWall]     = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::Building]            = 15;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::ManmadeBridge]       = 15;
 
         // OpenStreetMap highways
-    m_defaultMinZoomLevels[GeoDataFeature::HighwaySteps]        = 15;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayUnknown]      = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayPath]         = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayTrack]        = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayPedestrian]   = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayFootway]      = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayCycleway]     = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayService]      = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayRoad]         = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayTertiaryLink] = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayTertiary]     = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwaySecondaryLink]= 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwaySecondary]    = 9;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayPrimaryLink]  = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayPrimary]      = 8;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayTrunkLink]    = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayTrunk]        = 7;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayMotorwayLink] = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::HighwayMotorway]     = 6;
-    m_defaultMinZoomLevels[GeoDataFeature::TransportAirportRunway] = 15;
-    m_defaultMinZoomLevels[GeoDataFeature::TransportAirportTaxiway] = 15;
-    m_defaultMinZoomLevels[GeoDataFeature::TransportAirportApron] = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwaySteps]        = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayUnknown]      = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayPath]         = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayTrack]        = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayPedestrian]   = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayFootway]      = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayCycleway]     = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayService]      = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayRoad]         = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayTertiaryLink] = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayTertiary]     = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwaySecondaryLink]= 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwaySecondary]    = 9;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayPrimaryLink]  = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayPrimary]      = 8;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayTrunkLink]    = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayTrunk]        = 7;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayMotorwayLink] = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::HighwayMotorway]     = 6;
+    m_defaultMinZoomLevels[GeoDataPlacemark::TransportAirportRunway] = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::TransportAirportTaxiway] = 15;
+    m_defaultMinZoomLevels[GeoDataPlacemark::TransportAirportApron] = 15;
 
 #if 0 // not needed as long as default min zoom level is 15
-    for(int i = GeoDataFeature::AccomodationCamping; i <= \
GeoDataFeature::ReligionSikh; i++) +    for(int i = \
GeoDataPlacemark::AccomodationCamping; i <= GeoDataPlacemark::ReligionSikh; i++)  \
s_defaultMinZoomLevels[i] = 15;  #endif
 
-    m_defaultMinZoomLevels[GeoDataFeature::AmenityGraveyard]    = 14;
-    m_defaultMinZoomLevels[GeoDataFeature::AmenityFountain]     = 17;
-
-    m_defaultMinZoomLevels[GeoDataFeature::MilitaryDangerArea]  = 11;
-
-    m_defaultMinZoomLevels[GeoDataFeature::LeisureMarina]       = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::LeisurePark]         = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LeisurePlayground]   = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseAllotments]   = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseBasin]        = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseCemetery]     = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseCommercial]   = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseConstruction] = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseFarmland]     = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseFarmyard]     = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseGarages]      = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseGrass]        = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseIndustrial]   = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseLandfill]     = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseMeadow]       = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseMilitary]     = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseQuarry]       = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseRailway]      = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseReservoir]    = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseResidential]  = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseRetail]       = 11;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseOrchard]      = 14;
-    m_defaultMinZoomLevels[GeoDataFeature::LanduseVineyard]     = 14;
-
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayRail]         = 6;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayNarrowGauge]  = 6;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayTram]         = 14;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayLightRail]    = 12;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayAbandoned]    = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwaySubway]       = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayPreserved]    = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayMiniature]    = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayConstruction] = 10;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayMonorail]     = 12;
-    m_defaultMinZoomLevels[GeoDataFeature::RailwayFunicular]    = 13;
-    m_defaultMinZoomLevels[GeoDataFeature::TransportPlatform]   = 16;
-
-    m_defaultMinZoomLevels[GeoDataFeature::Satellite]           = 0;
-
-    m_defaultMinZoomLevels[GeoDataFeature::Landmass]            = 0;
-    m_defaultMinZoomLevels[GeoDataFeature::UrbanArea]           = 3;
-    m_defaultMinZoomLevels[GeoDataFeature::InternationalDateLine]      = 1;
-    m_defaultMinZoomLevels[GeoDataFeature::Bathymetry]          = 1;
-
-
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel1]         = 0;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel2]         = 1;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel3]         = 1;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel4]         = 2;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel5]         = 4;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel6]         = 5;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel7]         = 5;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel8]         = 7;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel9]         = 7;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel10]        = 8;
-    m_defaultMinZoomLevels[GeoDataFeature::AdminLevel11]        = 8;
-
-    m_defaultMinZoomLevels[GeoDataFeature::BoundaryMaritime]    = 1;
-
-    for (int i = 0; i < GeoDataFeature::LastIndex; ++i) {
+    m_defaultMinZoomLevels[GeoDataPlacemark::AmenityGraveyard]    = 14;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AmenityFountain]     = 17;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::MilitaryDangerArea]  = 11;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::LeisureMarina]       = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LeisurePark]         = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LeisurePlayground]   = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseAllotments]   = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseBasin]        = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseCemetery]     = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseCommercial]   = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseConstruction] = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseFarmland]     = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseFarmyard]     = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseGarages]      = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseGrass]        = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseIndustrial]   = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseLandfill]     = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseMeadow]       = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseMilitary]     = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseQuarry]       = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseRailway]      = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseReservoir]    = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseResidential]  = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseRetail]       = 11;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseOrchard]      = 14;
+    m_defaultMinZoomLevels[GeoDataPlacemark::LanduseVineyard]     = 14;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayRail]         = 6;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayNarrowGauge]  = 6;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayTram]         = 14;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayLightRail]    = 12;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayAbandoned]    = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwaySubway]       = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayPreserved]    = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayMiniature]    = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayConstruction] = 10;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayMonorail]     = 12;
+    m_defaultMinZoomLevels[GeoDataPlacemark::RailwayFunicular]    = 13;
+    m_defaultMinZoomLevels[GeoDataPlacemark::TransportPlatform]   = 16;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::Satellite]           = 0;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::Landmass]            = 0;
+    m_defaultMinZoomLevels[GeoDataPlacemark::UrbanArea]           = 3;
+    m_defaultMinZoomLevels[GeoDataPlacemark::InternationalDateLine]      = 1;
+    m_defaultMinZoomLevels[GeoDataPlacemark::Bathymetry]          = 1;
+
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel1]         = 0;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel2]         = 1;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel3]         = 1;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel4]         = 2;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel5]         = 4;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel6]         = 5;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel7]         = 5;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel8]         = 7;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel9]         = 7;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel10]        = 8;
+    m_defaultMinZoomLevels[GeoDataPlacemark::AdminLevel11]        = 8;
+
+    m_defaultMinZoomLevels[GeoDataPlacemark::BoundaryMaritime]    = 1;
+
+    for (int i = 0; i < GeoDataPlacemark::LastIndex; ++i) {
         m_maximumZoomLevel = qMax(m_maximumZoomLevel, m_defaultMinZoomLevels[i]);
     }
 }
@@ -313,196 +313,196 @@ void StyleBuilder::Private::initializeDefaultStyles()
 
     QColor const defaultLabelColor = m_defaultLabelColor;
 
-    m_defaultStyle[GeoDataFeature::None]
+    m_defaultStyle[GeoDataPlacemark::None]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Default]
+    m_defaultStyle[GeoDataPlacemark::Default]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/default_location.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Unknown]
+    m_defaultStyle[GeoDataPlacemark::Unknown]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::SmallCity]
+    m_defaultStyle[GeoDataPlacemark::SmallCity]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_4_white.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::SmallCountyCapital]
+    m_defaultStyle[GeoDataPlacemark::SmallCountyCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_4_yellow.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::SmallStateCapital]
+    m_defaultStyle[GeoDataPlacemark::SmallStateCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_4_orange.png" ),
               QFont( defaultFamily, defaultSize, 50, true  ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::SmallNationCapital]
+    m_defaultStyle[GeoDataPlacemark::SmallNationCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_4_red.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::MediumCity]
+    m_defaultStyle[GeoDataPlacemark::MediumCity]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_3_white.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::MediumCountyCapital]
+    m_defaultStyle[GeoDataPlacemark::MediumCountyCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_3_yellow.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::MediumStateCapital]
+    m_defaultStyle[GeoDataPlacemark::MediumStateCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_3_orange.png" ),
               QFont( defaultFamily, defaultSize, 50, true  ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::MediumNationCapital]
+    m_defaultStyle[GeoDataPlacemark::MediumNationCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_3_red.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::BigCity]
+    m_defaultStyle[GeoDataPlacemark::BigCity]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_2_white.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::BigCountyCapital]
+    m_defaultStyle[GeoDataPlacemark::BigCountyCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_2_yellow.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::BigStateCapital]
+    m_defaultStyle[GeoDataPlacemark::BigStateCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_2_orange.png" ),
               QFont( defaultFamily, defaultSize, 50, true  ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::BigNationCapital]
+    m_defaultStyle[GeoDataPlacemark::BigNationCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_2_red.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::LargeCity]
+    m_defaultStyle[GeoDataPlacemark::LargeCity]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_1_white.png" ),
               QFont( defaultFamily, defaultSize, 75, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::LargeCountyCapital]
+    m_defaultStyle[GeoDataPlacemark::LargeCountyCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_1_yellow.png" ),
               QFont( defaultFamily, defaultSize, 75, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::LargeStateCapital]
+    m_defaultStyle[GeoDataPlacemark::LargeStateCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_1_orange.png" ),
               QFont( defaultFamily, defaultSize, 75, true  ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::LargeNationCapital]
+    m_defaultStyle[GeoDataPlacemark::LargeNationCapital]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/city_1_red.png" ),
               QFont( defaultFamily, defaultSize, 75, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Nation]
+    m_defaultStyle[GeoDataPlacemark::Nation]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, (int)(defaultSize * 1.2 ), 75, false ), QColor( \
"#404040" ) ));  // Align area labels centered
-    m_defaultStyle[GeoDataFeature::Nation]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center ); +    \
m_defaultStyle[GeoDataPlacemark::Nation]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center );  
     QFont osmCityFont = QFont(defaultFamily, (int)(defaultSize * 2.0 ), 75, false);
-    m_defaultStyle[GeoDataFeature::PlaceCity] = createOsmPOIStyle(osmCityFont, \
                "place/place-6", QColor( "#202020" ));
-    m_defaultStyle[GeoDataFeature::PlaceCityCapital] = \
                createOsmPOIStyle(osmCityFont, "place/place-capital-6", QColor( \
                "#202020" ));
-    m_defaultStyle[GeoDataFeature::PlaceSuburb] = createOsmPOIStyle(osmCityFont, \
                QString(), QColor( "#707070" ));
-    m_defaultStyle[GeoDataFeature::PlaceHamlet] = createOsmPOIStyle(osmCityFont, \
                QString(), QColor( "#707070" ));
-    m_defaultStyle[GeoDataFeature::PlaceLocality] = createOsmPOIStyle(osmCityFont, \
                QString(), QColor( "#707070" ));
-    m_defaultStyle[GeoDataFeature::PlaceTown] = createOsmPOIStyle(osmCityFont, \
                "place/place-6", QColor( "#404040" ));
-    m_defaultStyle[GeoDataFeature::PlaceTownCapital] = \
                createOsmPOIStyle(osmCityFont, "place/place-capital-6", QColor( \
                "#404040" ));
-    m_defaultStyle[GeoDataFeature::PlaceVillage] = createOsmPOIStyle(osmCityFont, \
                "place/place-6", QColor( "#505050" ));
-    m_defaultStyle[GeoDataFeature::PlaceVillageCapital] = \
                createOsmPOIStyle(osmCityFont, "place/place-capital-6", QColor( \
                "#505050" ));
-    for (int i=GeoDataFeature::PlaceCity; i<=GeoDataFeature::PlaceVillageCapital; \
                ++i) {
-        m_defaultStyle[GeoDataFeature::GeoDataVisualCategory(i)]->polyStyle().setFill(false);
                
-        m_defaultStyle[GeoDataFeature::GeoDataVisualCategory(i)]->polyStyle().setOutline(false);
                
-        m_defaultStyle[GeoDataFeature::GeoDataVisualCategory(i)]->labelStyle().setAlignment( \
                GeoDataLabelStyle::Center );
-        m_defaultStyle[GeoDataFeature::GeoDataVisualCategory(i)]->iconStyle().setScale(0.25);
 +    m_defaultStyle[GeoDataPlacemark::PlaceCity] = createOsmPOIStyle(osmCityFont, \
"place/place-6", QColor( "#202020" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceCityCapital] = createOsmPOIStyle(osmCityFont, \
"place/place-capital-6", QColor( "#202020" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceSuburb] = createOsmPOIStyle(osmCityFont, \
QString(), QColor( "#707070" )); +    m_defaultStyle[GeoDataPlacemark::PlaceHamlet] = \
createOsmPOIStyle(osmCityFont, QString(), QColor( "#707070" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceLocality] = createOsmPOIStyle(osmCityFont, \
QString(), QColor( "#707070" )); +    m_defaultStyle[GeoDataPlacemark::PlaceTown] = \
createOsmPOIStyle(osmCityFont, "place/place-6", QColor( "#404040" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceTownCapital] = createOsmPOIStyle(osmCityFont, \
"place/place-capital-6", QColor( "#404040" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceVillage] = createOsmPOIStyle(osmCityFont, \
"place/place-6", QColor( "#505050" )); +    \
m_defaultStyle[GeoDataPlacemark::PlaceVillageCapital] = \
createOsmPOIStyle(osmCityFont, "place/place-capital-6", QColor( "#505050" )); +    \
for (int i=GeoDataPlacemark::PlaceCity; i<=GeoDataPlacemark::PlaceVillageCapital; \
++i) { +        m_defaultStyle[GeoDataPlacemark::GeoDataVisualCategory(i)]->polyStyle().setFill(false);
 +        m_defaultStyle[GeoDataPlacemark::GeoDataVisualCategory(i)]->polyStyle().setOutline(false);
 +        m_defaultStyle[GeoDataPlacemark::GeoDataVisualCategory(i)]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center ); +        \
m_defaultStyle[GeoDataPlacemark::GeoDataVisualCategory(i)]->iconStyle().setScale(0.25);
  }
 
-    m_defaultStyle[GeoDataFeature::Mountain]
+    m_defaultStyle[GeoDataPlacemark::Mountain]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/mountain_1.png" ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Volcano]
+    m_defaultStyle[GeoDataPlacemark::Volcano]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/volcano_1.png" ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Mons]
+    m_defaultStyle[GeoDataPlacemark::Mons]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/mountain_1.png" ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Valley]
+    m_defaultStyle[GeoDataPlacemark::Valley]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/valley.png" \
                ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Continent]
+    m_defaultStyle[GeoDataPlacemark::Continent]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, (int)(defaultSize * 1.7 ), 50, false ), QColor( \
"#bf0303" ) ));  // Align area labels centered
-    m_defaultStyle[GeoDataFeature::Continent]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center ); +    \
m_defaultStyle[GeoDataPlacemark::Continent]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center );  
-    m_defaultStyle[GeoDataFeature::Ocean]
+    m_defaultStyle[GeoDataPlacemark::Ocean]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, (int)(defaultSize * 1.7 ), 50, true ), QColor( \
"#2c72c7" ) ));  // Align area labels centered
-    m_defaultStyle[GeoDataFeature::Ocean]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center ); +    \
m_defaultStyle[GeoDataPlacemark::Ocean]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center );  
-    m_defaultStyle[GeoDataFeature::OtherTerrain]
+    m_defaultStyle[GeoDataPlacemark::OtherTerrain]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/other.png" \
                ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Crater]
+    m_defaultStyle[GeoDataPlacemark::Crater]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/crater.png" \
                ),
               QFont( defaultFamily, (int)(defaultSize * 0.9 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::Mare]
+    m_defaultStyle[GeoDataPlacemark::Mare]
         = GeoDataStyle::Ptr(new GeoDataStyle( QString(),
               QFont( defaultFamily, (int)(defaultSize * 1.7 ), 50, false ), QColor( \
"#bf0303" ) ));  // Align area labels centered
-    m_defaultStyle[GeoDataFeature::Mare]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center ); +    \
m_defaultStyle[GeoDataPlacemark::Mare]->labelStyle().setAlignment( \
GeoDataLabelStyle::Center );  
-    m_defaultStyle[GeoDataFeature::GeographicPole]
+    m_defaultStyle[GeoDataPlacemark::GeographicPole]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/pole_1.png" \
                ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::MagneticPole]
+    m_defaultStyle[GeoDataPlacemark::MagneticPole]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/pole_2.png" \
                ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::ShipWreck]
+    m_defaultStyle[GeoDataPlacemark::ShipWreck]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/shipwreck.png" ),
               QFont( defaultFamily, (int)(defaultSize * 0.8 ), 50, false ), \
defaultLabelColor ));  
-    m_defaultStyle[GeoDataFeature::AirPort]
+    m_defaultStyle[GeoDataPlacemark::AirPort]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/airport.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Observatory]
+    m_defaultStyle[GeoDataPlacemark::Observatory]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/observatory.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::OsmSite]
+    m_defaultStyle[GeoDataPlacemark::OsmSite]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( "bitmaps/osm.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Coordinate]
+    m_defaultStyle[GeoDataPlacemark::Coordinate]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/coordinate.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
 
-    m_defaultStyle[GeoDataFeature::MannedLandingSite]
+    m_defaultStyle[GeoDataPlacemark::MannedLandingSite]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/manned_landing.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::RoboticRover]
+    m_defaultStyle[GeoDataPlacemark::RoboticRover]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/robotic_rover.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::UnmannedSoftLandingSite]
+    m_defaultStyle[GeoDataPlacemark::UnmannedSoftLandingSite]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/unmanned_soft_landing.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::UnmannedHardLandingSite]
+    m_defaultStyle[GeoDataPlacemark::UnmannedHardLandingSite]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/unmanned_hard_landing.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
-    m_defaultStyle[GeoDataFeature::Bookmark]
+    m_defaultStyle[GeoDataPlacemark::Bookmark]
         = createPOIStyle(QFont( defaultFamily, defaultSize, 50, false ),
                                                 \
                MarbleDirs::path("svg/bookmark.svg"), defaultLabelColor );
-    m_defaultStyle[GeoDataFeature::Bookmark]->iconStyle().setScale(0.75);
+    m_defaultStyle[GeoDataPlacemark::Bookmark]->iconStyle().setScale(0.75);
 
     QColor const shopColor("#ac39ac");
     QColor const transportationColor("#0066ff");
@@ -516,319 +516,319 @@ void StyleBuilder::Private::initializeDefaultStyles()
 //    QColor const buildingColor(0, 255, 0, 64);
 
     QFont const osmFont( defaultFamily, 10, 50, false );
-    m_defaultStyle[GeoDataFeature::AccomodationCamping]      = \
                createOsmPOIRingStyle(osmFont, "transportation/camping.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AccomodationHostel]       = \
                createOsmPOIStyle(osmFont, "transportation/hostel.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AccomodationHotel]        = \
                createOsmPOIStyle(osmFont, "transportation/hotel.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AccomodationMotel]        = \
                createOsmPOIStyle(osmFont, "transportation/motel.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AccomodationYouthHostel]  = \
                createOsmPOIStyle(osmFont, "transportation/hostel.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AccomodationGuestHouse]   = \
                createOsmPOIStyle(osmFont, "transportation/guest_house.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AmenityLibrary]           = \
                createOsmPOIStyle(osmFont, "amenity/library.20", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityKindergarten]      = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::EducationCollege]         = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::EducationSchool]          = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::EducationUniversity]      = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodBar]                  = \
                createOsmPOIStyle(osmFont, "amenity/bar.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodBiergarten]           = \
                createOsmPOIStyle(osmFont, "amenity/biergarten.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodCafe]                 = \
                createOsmPOIStyle(osmFont, "amenity/cafe.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodFastFood]             = \
                createOsmPOIStyle(osmFont, "amenity/fast_food.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodPub]                  = \
                createOsmPOIStyle(osmFont, "amenity/pub.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::FoodRestaurant]           = \
                createOsmPOIStyle(osmFont, "amenity/restaurant.16", amenityColor);
-
-    m_defaultStyle[GeoDataFeature::HealthDentist]            = \
                createOsmPOIStyle(osmFont, "health/dentist.16", healthColor);
-    m_defaultStyle[GeoDataFeature::HealthDoctors]            = \
                createOsmPOIStyle(osmFont, "health/doctors.16", healthColor);
-    m_defaultStyle[GeoDataFeature::HealthHospital]           = \
createOsmPOIStyle(osmFont, "health/hospital.16", healthColor, \
                educationalAreasAndHospital, amenityColor);
-    m_defaultStyle[GeoDataFeature::HealthPharmacy]           = \
                createOsmPOIStyle(osmFont, "health/pharmacy.16", healthColor);
-    m_defaultStyle[GeoDataFeature::HealthVeterinary]         = \
                createOsmPOIStyle(osmFont, "health/veterinary-14", healthColor);
-
-    m_defaultStyle[GeoDataFeature::MoneyAtm]                 = \
                createOsmPOIStyle(osmFont, "amenity/atm.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::MoneyBank]                = \
                createOsmPOIStyle(osmFont, "amenity/bank.16", amenityColor);
-
-    m_defaultStyle[GeoDataFeature::AmenityArchaeologicalSite] = \
createOsmPOIAreaStyle(osmFont, "amenity/archaeological_site.16", amenityColor, \
                Qt::transparent);
-    m_defaultStyle[GeoDataFeature::AmenityEmbassy]           = \
                createOsmPOIStyle(osmFont, "transportation/embassy.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::AmenityEmergencyPhone]    = \
                createOsmPOIStyle(osmFont, "amenity/emergency_phone.16", \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityWaterPark]         = \
                createOsmPOIStyle(osmFont, "amenity/water_park.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityCommunityCentre]   = \
                createOsmPOIStyle(osmFont, "amenity/community_centre-14", \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityFountain]          = \
createOsmPOIStyle(osmFont, "amenity/fountain-14", QColor("#7989de"), waterColor, \
                waterColor.darker(150));
-    m_defaultStyle[GeoDataFeature::AmenityNightClub]         = \
                createOsmPOIStyle(osmFont, "amenity/nightclub.18", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityBench]             = \
                createOsmPOIStyle(osmFont, "individual/bench.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityCourtHouse]        = \
                createOsmPOIStyle(osmFont, "amenity/courthouse-16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityFireStation]       = \
                createOsmPOIStyle(osmFont, "amenity/firestation.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityHuntingStand]      = \
                createOsmPOIStyle(osmFont, "manmade/hunting-stand.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityPolice]            = \
                createOsmPOIStyle(osmFont, "amenity/police.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityPostBox]           = \
                createOsmPOIStyle(osmFont, "amenity/post_box-12", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityPostOffice]        = \
                createOsmPOIStyle(osmFont, "amenity/post_office-14", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityPrison]            = \
                createOsmPOIStyle(osmFont, "amenity/prison.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityRecycling]         = \
                createOsmPOIStyle(osmFont, "amenity/recycling.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityShelter]           = \
                createOsmPOIStyle(osmFont, "amenity/shelter-14", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityTelephone]         = \
                createOsmPOIStyle(osmFont, "amenity/telephone.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityToilets]           = \
                createOsmPOIStyle(osmFont, "amenity/toilets.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityTownHall]          = \
                createOsmPOIStyle(osmFont, "amenity/town_hall.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::AmenityWasteBasket]       = \
                createOsmPOIStyle(osmFont, "individual/waste_basket.10", \
                amenityColor);
-
-    m_defaultStyle[GeoDataFeature::AmenityDrinkingWater]     = \
                createOsmPOIStyle(osmFont, "amenity/drinking_water.16", \
                amenityColor);
-
-    m_defaultStyle[GeoDataFeature::NaturalPeak]              = \
                createOsmPOIStyle(osmFont, "individual/peak", amenityColor);
-    m_defaultStyle[GeoDataFeature::NaturalPeak]->iconStyle().setScale(0.33);
-    m_defaultStyle[GeoDataFeature::NaturalTree]              = \
createOsmPOIStyle(osmFont, "individual/tree-29", amenityColor); // tree-16 provides \
                the official icon
-
-    m_defaultStyle[GeoDataFeature::ShopBeverages]            = \
                createOsmPOIStyle(osmFont, "shop/beverages-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopHifi]                 = \
                createOsmPOIStyle(osmFont, "shop/hifi-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopSupermarket]          = \
                createOsmPOIStyle(osmFont, "shop/shop_supermarket", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopAlcohol]              = \
                createOsmPOIStyle(osmFont, "shop/shop_alcohol.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopBakery]               = \
                createOsmPOIStyle(osmFont, "shop/shop_bakery.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopButcher]              = \
                createOsmPOIStyle(osmFont, "shop/butcher-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopConfectionery]        = \
                createOsmPOIStyle(osmFont, "shop/confectionery.14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopConvenience]          = \
                createOsmPOIStyle(osmFont, "shop/shop_convenience", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopGreengrocer]          = \
                createOsmPOIStyle(osmFont, "shop/greengrocer-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopSeafood]              = \
                createOsmPOIStyle(osmFont, "shop/seafood-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopDepartmentStore]      = \
                createOsmPOIStyle(osmFont, "shop/department_store-16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopKiosk]                = \
                createOsmPOIStyle(osmFont, "shop/kiosk-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopBag]                  = \
                createOsmPOIStyle(osmFont, "shop/bag-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopClothes]              = \
                createOsmPOIStyle(osmFont, "shop/shop_clothes.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopFashion]              = \
                createOsmPOIStyle(osmFont, "shop/shop_clothes.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopJewelry]              = \
                createOsmPOIStyle(osmFont, "shop/shop_jewelry.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopShoes]                = \
                createOsmPOIStyle(osmFont, "shop/shop_shoes.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopVarietyStore]         = \
                createOsmPOIStyle(osmFont, "shop/variety_store-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopBeauty]               = \
                createOsmPOIStyle(osmFont, "shop/beauty-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopChemist]              = \
                createOsmPOIStyle(osmFont, "shop/chemist-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopCosmetics]            = \
                createOsmPOIStyle(osmFont, "shop/perfumery-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopHairdresser]          = \
                createOsmPOIStyle(osmFont, "shop/shop_hairdresser.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopOptician]             = \
                createOsmPOIStyle(osmFont, "shop/shop_optician.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopPerfumery]            = \
                createOsmPOIStyle(osmFont, "shop/perfumery-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopDoitYourself]         = \
                createOsmPOIStyle(osmFont, "shop/shop_diy.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopFlorist]              = \
                createOsmPOIStyle(osmFont, "shop/florist.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopHardware]             = \
                createOsmPOIStyle(osmFont, "shop/shop_diy.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopFurniture]            = \
                createOsmPOIStyle(osmFont, "shop/shop_furniture.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopElectronics]          = \
                createOsmPOIStyle(osmFont, "shop/shop_electronics.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopMobilePhone]          = \
                createOsmPOIStyle(osmFont, "shop/shop_mobile_phone.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopBicycle]              = \
                createOsmPOIStyle(osmFont, "shop/shop_bicycle.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopCar]                  = \
                createOsmPOIStyle(osmFont, "shop/shop_car", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopCarRepair]            = \
                createOsmPOIStyle(osmFont, "shop/shopping_car_repair.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopCarParts]             = \
                createOsmPOIStyle(osmFont, "shop/car_parts-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopMotorcycle]           = \
                createOsmPOIStyle(osmFont, "shop/motorcycle-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopOutdoor]              = \
                createOsmPOIStyle(osmFont, "shop/outdoor-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopMusicalInstrument]    = \
                createOsmPOIStyle(osmFont, "shop/musical_instrument-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopPhoto]                = \
                createOsmPOIStyle(osmFont, "shop/photo-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopBook]                 = \
                createOsmPOIStyle(osmFont, "shop/shop_books.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopGift]                 = \
                createOsmPOIStyle(osmFont, "shop/shop_gift.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopStationery]           = \
                createOsmPOIStyle(osmFont, "shop/stationery-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopLaundry]              = \
                createOsmPOIStyle(osmFont, "shop/laundry-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopPet]                  = \
                createOsmPOIStyle(osmFont, "shop/shop_pet.16", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopToys]                 = \
                createOsmPOIStyle(osmFont, "shop/toys-14", shopColor);
-    m_defaultStyle[GeoDataFeature::ShopTravelAgency]         = \
                createOsmPOIStyle(osmFont, "shop/travel_agency-14", shopColor);
-    m_defaultStyle[GeoDataFeature::Shop]                     = \
                createOsmPOIStyle(osmFont, "shop/shop-14", shopColor);
-
-    m_defaultStyle[GeoDataFeature::ManmadeBridge]            = \
                createWayStyle(QColor("#b8b8b8"), Qt::transparent, true, true);
-    m_defaultStyle[GeoDataFeature::ManmadeLighthouse]        = \
createOsmPOIStyle(osmFont, "transportation/lighthouse.16", transportationColor, \
                "#f2efe9", QColor( "#f2efe9" ).darker());
-    m_defaultStyle[GeoDataFeature::ManmadePier]              = createStyle(0.0, 3.0, \
"#f2efe9", "#f2efe9", true, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
                false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::ManmadeWaterTower]        = \
                createOsmPOIStyle(osmFont, "amenity/water_tower.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::ManmadeWindMill]          = \
                createOsmPOIStyle(osmFont, "amenity/windmill.16", amenityColor);
-
-    m_defaultStyle[GeoDataFeature::TouristAttraction]        = \
                createOsmPOIStyle(osmFont, "amenity/tourist_memorial.16", \
                amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristCastle]            = \
                createOsmPOIRingStyle(osmFont, "amenity/cinema.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristCinema]            = \
                createOsmPOIStyle(osmFont, "amenity/cinema.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristInformation]       = \
                createOsmPOIStyle(osmFont, "amenity/information.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristMonument]          = \
                createOsmPOIStyle(osmFont, "amenity/monument.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristMuseum]            = \
                createOsmPOIStyle(osmFont, "amenity/museum.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristRuin]              = \
                createOsmPOIRingStyle(osmFont, QString(), amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristTheatre]           = \
                createOsmPOIStyle(osmFont, "amenity/theatre.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristThemePark]         = \
                createOsmPOIStyle(osmFont, QString(), amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristViewPoint]         = \
                createOsmPOIStyle(osmFont, "amenity/viewpoint.16", amenityColor);
-    m_defaultStyle[GeoDataFeature::TouristZoo]               = \
                createOsmPOIRingStyle(osmFont, QString(), amenityColor, \
                Qt::transparent);
-    m_defaultStyle[GeoDataFeature::TouristAlpineHut]         = \
                createOsmPOIStyle(osmFont, "transportation/alpinehut.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportAerodrome]       = \
                createOsmPOIStyle(osmFont, "airtransport/aerodrome", \
                airTransportColor);
-    m_defaultStyle[GeoDataFeature::TransportHelipad]         = \
                createOsmPOIStyle(osmFont, "airtransport/helipad", \
                airTransportColor);
-    m_defaultStyle[GeoDataFeature::TransportAirportTerminal] = \
                createOsmPOIAreaStyle(osmFont, QString(), airTransportColor);
-    m_defaultStyle[GeoDataFeature::TransportAirportGate]     = \
                createOsmPOIAreaStyle(osmFont, QString(), airTransportColor);
-    m_defaultStyle[GeoDataFeature::TransportBusStation]      = \
                createOsmPOIStyle(osmFont, "transportation/bus_station.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportBusStop]         = \
                createOsmPOIStyle(osmFont, "transportation/bus_stop.12", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportCarShare]        = \
                createOsmPOIStyle(osmFont, "transportation/car_share.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportFuel]            = \
                createOsmPOIStyle(osmFont, "transportation/fuel.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportParking]         = \
createOsmPOIAreaStyle(osmFont, "transportation/parking", transportationColor, \
                "#F6EEB6", QColor( "#F6EEB6" ).darker());
-    m_defaultStyle[GeoDataFeature::TransportParkingSpace]    = \
                createWayStyle("#F6EEB6", QColor( "#F6EEB6" ).darker(), true, true);
-    m_defaultStyle[GeoDataFeature::TransportPlatform]        = \
                createWayStyle("#bbbbbb", Qt::transparent, true, false);
-    m_defaultStyle[GeoDataFeature::TransportTrainStation]    = \
                createOsmPOIStyle(osmFont, "individual/railway_station", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportTramStop]        = \
                createOsmPOIStyle(osmFont, QString(), transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportRentalBicycle]   = \
                createOsmPOIStyle(osmFont, "transportation/rental_bicycle.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportRentalCar]       = \
                createOsmPOIStyle(osmFont, "transportation/rental_car.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportTaxiRank]        = \
                createOsmPOIStyle(osmFont, "transportation/taxi.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportBicycleParking]  = \
createOsmPOIAreaStyle(osmFont, "transportation/bicycle_parking.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportMotorcycleParking] = \
createOsmPOIAreaStyle(osmFont, "transportation/motorcycle_parking.16", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::TransportSubwayEntrance]  = \
                createOsmPOIStyle(osmFont, "transportation/subway_entrance", \
                transportationColor);
-    m_defaultStyle[GeoDataFeature::ReligionPlaceOfWorship]   = \
                createOsmPOIStyle(osmFont, QString() /* "black/place_of_worship.16" \
                */);
-    m_defaultStyle[GeoDataFeature::ReligionBahai]            = \
                createOsmPOIStyle(osmFont, QString());
-    m_defaultStyle[GeoDataFeature::ReligionBuddhist]         = \
                createOsmPOIStyle(osmFont, "black/buddhist.16");
-    m_defaultStyle[GeoDataFeature::ReligionChristian]        = \
                createOsmPOIStyle(osmFont, "black/christian.16");
-    m_defaultStyle[GeoDataFeature::ReligionMuslim]           = \
                createOsmPOIStyle(osmFont, "black/muslim.16");
-    m_defaultStyle[GeoDataFeature::ReligionHindu]            = \
                createOsmPOIStyle(osmFont, "black/hinduist.16");
-    m_defaultStyle[GeoDataFeature::ReligionJain]             = \
                createOsmPOIStyle(osmFont, QString());
-    m_defaultStyle[GeoDataFeature::ReligionJewish]           = \
                createOsmPOIStyle(osmFont, "black/jewish.16");
-    m_defaultStyle[GeoDataFeature::ReligionShinto]           = \
                createOsmPOIStyle(osmFont, "black/shintoist.16");
-    m_defaultStyle[GeoDataFeature::ReligionSikh]             = \
                createOsmPOIStyle(osmFont, "black/sikhist.16");
-
-    m_defaultStyle[GeoDataFeature::HighwayTrafficSignals]    = \
                createOsmPOIStyle(osmFont, "individual/traffic_light");
-
-    m_defaultStyle[GeoDataFeature::PowerTower]               = \
                createOsmPOIStyle(osmFont, "individual/power_tower", QColor( \
                "#888888" ));
-    m_defaultStyle[GeoDataFeature::PowerTower]->iconStyle().setScale(0.6);
-
-    m_defaultStyle[GeoDataFeature::BarrierCityWall]          = createStyle(6.0, 3.0, \
"#787878", Qt::transparent, true, false, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont, Qt::transparent);
-    m_defaultStyle[GeoDataFeature::BarrierGate]              = \
                createOsmPOIStyle(osmFont, "individual/gate");
-    m_defaultStyle[GeoDataFeature::BarrierLiftGate]          = \
                createOsmPOIStyle(osmFont, "individual/liftgate");
-    m_defaultStyle[GeoDataFeature::BarrierWall]              = createStyle(2.0, 0.0, \
"#787878", Qt::transparent, true, false, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont, Qt::transparent);
-
-    m_defaultStyle[GeoDataFeature::HighwaySteps]             = createStyle(0.0, 2.0, \
"#fa8072", QColor(Qt::white), true, true, Qt::SolidPattern, Qt::CustomDashLine, \
                Qt::FlatCap, false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::HighwayUnknown]           = \
                createHighwayStyle("#dddddd", "#bbbbbb", osmFont, "000000", 0, 1);
-    m_defaultStyle[GeoDataFeature::HighwayPath]              = \
createHighwayStyle("#dddde8", "#999999", osmFont, "000000", 0, 1, Qt::DotLine, \
                Qt::SquareCap, true);
-    m_defaultStyle[GeoDataFeature::HighwayTrack]             = \
createHighwayStyle("#996600", QColor(Qt::white), osmFont, "000000", 1, 1, \
                Qt::DashLine, Qt::SquareCap, true);
-    m_defaultStyle[GeoDataFeature::HighwayPedestrian]        = \
                createHighwayStyle("#dddde8", "#999999", osmFont, "000000", 0, 2);
-    m_defaultStyle[GeoDataFeature::HighwayFootway]           = \
createHighwayStyle("#fa8072", QColor(Qt::white), osmFont, "000000", 0, 2, \
                Qt::DotLine, Qt::SquareCap, true);
-    m_defaultStyle[GeoDataFeature::HighwayCycleway]          = \
createHighwayStyle(QColor(Qt::blue), QColor(Qt::white), osmFont, "000000", 0, 2, \
                Qt::DotLine, Qt::SquareCap, true);
-    m_defaultStyle[GeoDataFeature::HighwayService]           = \
                createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 1, 6);
-    m_defaultStyle[GeoDataFeature::HighwayResidential]       = \
                createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6);
-    m_defaultStyle[GeoDataFeature::HighwayLivingStreet]      = \
                createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6);
-    m_defaultStyle[GeoDataFeature::HighwayRoad]              = \
                createHighwayStyle("#dddddd", "#bbbbbb", osmFont, "000000", 3, 6);
-    m_defaultStyle[GeoDataFeature::HighwayUnclassified]      = \
                createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6);
-    m_defaultStyle[GeoDataFeature::HighwayTertiary]          = \
                createHighwayStyle("#ffffff", "#8f8f8f", osmFont, "000000", 6, 6);
-    m_defaultStyle[GeoDataFeature::HighwayTertiaryLink]      = \
                createHighwayStyle("#ffffff", "#8f8f8f", osmFont, "000000", 6, 6);
-    m_defaultStyle[GeoDataFeature::HighwaySecondary]         = \
                createHighwayStyle("#f7fabf", "#707d05", osmFont, "000000", 6, 6);
-    m_defaultStyle[GeoDataFeature::HighwaySecondaryLink]     = \
                createHighwayStyle("#f7fabf", "#707d05", osmFont, "000000", 6, 6);
-    m_defaultStyle[GeoDataFeature::HighwayPrimary]           = \
                createHighwayStyle("#fcd6a4", "#a06b00", osmFont, "000000", 9, 6);
-    m_defaultStyle[GeoDataFeature::HighwayPrimaryLink]       = \
                createHighwayStyle("#fcd6a4", "#a06b00", osmFont, "000000", 6, 6);
-    m_defaultStyle[GeoDataFeature::HighwayTrunk]             = \
                createHighwayStyle("#f9b29c", "#c84e2f", osmFont, "000000", 9, 6);
-    m_defaultStyle[GeoDataFeature::HighwayTrunkLink]         = \
                createHighwayStyle("#f9b29c", "#c84e2f", osmFont, "000000", 9, 6);
-    m_defaultStyle[GeoDataFeature::HighwayMotorway]          = \
                createHighwayStyle("#e892a2", "#dc2a67", osmFont, "000000", 9, 10);
-    m_defaultStyle[GeoDataFeature::HighwayMotorwayLink]      = \
                createHighwayStyle("#e892a2", "#dc2a67", osmFont, "000000", 9, 10);
-    m_defaultStyle[GeoDataFeature::TransportAirportRunway]   = \
                createHighwayStyle("#bbbbcc", "#bbbbcc", osmFont, "000000", 0, 1);
-    m_defaultStyle[GeoDataFeature::TransportAirportTaxiway]  = \
                createHighwayStyle("#bbbbcc", "#bbbbcc", osmFont, "000000", 0, 1);
-    m_defaultStyle[GeoDataFeature::TransportAirportApron]    = \
                createWayStyle("#e9d1ff", Qt::transparent, true, false);
-
-    m_defaultStyle[GeoDataFeature::NaturalWater]             = createStyle(4, 0, \
waterColor, waterColor, true, true, +    \
m_defaultStyle[GeoDataPlacemark::AccomodationCamping]      = \
createOsmPOIRingStyle(osmFont, "transportation/camping.16", transportationColor); +   \
m_defaultStyle[GeoDataPlacemark::AccomodationHostel]       = \
createOsmPOIStyle(osmFont, "transportation/hostel.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::AccomodationHotel]        = \
createOsmPOIStyle(osmFont, "transportation/hotel.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::AccomodationMotel]        = \
createOsmPOIStyle(osmFont, "transportation/motel.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::AccomodationYouthHostel]  = \
createOsmPOIStyle(osmFont, "transportation/hostel.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::AccomodationGuestHouse]   = \
createOsmPOIStyle(osmFont, "transportation/guest_house.16", transportationColor); +   \
m_defaultStyle[GeoDataPlacemark::AmenityLibrary]           = \
createOsmPOIStyle(osmFont, "amenity/library.20", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityKindergarten]      = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
amenityColor); +    m_defaultStyle[GeoDataPlacemark::EducationCollege]         = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
amenityColor); +    m_defaultStyle[GeoDataPlacemark::EducationSchool]          = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
amenityColor); +    m_defaultStyle[GeoDataPlacemark::EducationUniversity]      = \
createOsmPOIAreaStyle(osmFont, QString(), amenityColor, educationalAreasAndHospital, \
amenityColor); +    m_defaultStyle[GeoDataPlacemark::FoodBar]                  = \
createOsmPOIStyle(osmFont, "amenity/bar.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::FoodBiergarten]           = \
createOsmPOIStyle(osmFont, "amenity/biergarten.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::FoodCafe]                 = \
createOsmPOIStyle(osmFont, "amenity/cafe.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::FoodFastFood]             = \
createOsmPOIStyle(osmFont, "amenity/fast_food.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::FoodPub]                  = \
createOsmPOIStyle(osmFont, "amenity/pub.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::FoodRestaurant]           = \
createOsmPOIStyle(osmFont, "amenity/restaurant.16", amenityColor); +
+    m_defaultStyle[GeoDataPlacemark::HealthDentist]            = \
createOsmPOIStyle(osmFont, "health/dentist.16", healthColor); +    \
m_defaultStyle[GeoDataPlacemark::HealthDoctors]            = \
createOsmPOIStyle(osmFont, "health/doctors.16", healthColor); +    \
m_defaultStyle[GeoDataPlacemark::HealthHospital]           = \
createOsmPOIStyle(osmFont, "health/hospital.16", healthColor, \
educationalAreasAndHospital, amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::HealthPharmacy]           = \
createOsmPOIStyle(osmFont, "health/pharmacy.16", healthColor); +    \
m_defaultStyle[GeoDataPlacemark::HealthVeterinary]         = \
createOsmPOIStyle(osmFont, "health/veterinary-14", healthColor); +
+    m_defaultStyle[GeoDataPlacemark::MoneyAtm]                 = \
createOsmPOIStyle(osmFont, "amenity/atm.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::MoneyBank]                = \
createOsmPOIStyle(osmFont, "amenity/bank.16", amenityColor); +
+    m_defaultStyle[GeoDataPlacemark::AmenityArchaeologicalSite] = \
createOsmPOIAreaStyle(osmFont, "amenity/archaeological_site.16", amenityColor, \
Qt::transparent); +    m_defaultStyle[GeoDataPlacemark::AmenityEmbassy]           = \
createOsmPOIStyle(osmFont, "transportation/embassy.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityEmergencyPhone]    = \
createOsmPOIStyle(osmFont, "amenity/emergency_phone.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityWaterPark]         = \
createOsmPOIStyle(osmFont, "amenity/water_park.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityCommunityCentre]   = \
createOsmPOIStyle(osmFont, "amenity/community_centre-14", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityFountain]          = \
createOsmPOIStyle(osmFont, "amenity/fountain-14", QColor("#7989de"), waterColor, \
waterColor.darker(150)); +    m_defaultStyle[GeoDataPlacemark::AmenityNightClub]      \
= createOsmPOIStyle(osmFont, "amenity/nightclub.18", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityBench]             = \
createOsmPOIStyle(osmFont, "individual/bench.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityCourtHouse]        = \
createOsmPOIStyle(osmFont, "amenity/courthouse-16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityFireStation]       = \
createOsmPOIStyle(osmFont, "amenity/firestation.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityHuntingStand]      = \
createOsmPOIStyle(osmFont, "manmade/hunting-stand.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityPolice]            = \
createOsmPOIStyle(osmFont, "amenity/police.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityPostBox]           = \
createOsmPOIStyle(osmFont, "amenity/post_box-12", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityPostOffice]        = \
createOsmPOIStyle(osmFont, "amenity/post_office-14", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityPrison]            = \
createOsmPOIStyle(osmFont, "amenity/prison.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityRecycling]         = \
createOsmPOIStyle(osmFont, "amenity/recycling.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityShelter]           = \
createOsmPOIStyle(osmFont, "amenity/shelter-14", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityTelephone]         = \
createOsmPOIStyle(osmFont, "amenity/telephone.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityToilets]           = \
createOsmPOIStyle(osmFont, "amenity/toilets.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityTownHall]          = \
createOsmPOIStyle(osmFont, "amenity/town_hall.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::AmenityWasteBasket]       = \
createOsmPOIStyle(osmFont, "individual/waste_basket.10", amenityColor); +
+    m_defaultStyle[GeoDataPlacemark::AmenityDrinkingWater]     = \
createOsmPOIStyle(osmFont, "amenity/drinking_water.16", amenityColor); +
+    m_defaultStyle[GeoDataPlacemark::NaturalPeak]              = \
createOsmPOIStyle(osmFont, "individual/peak", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::NaturalPeak]->iconStyle().setScale(0.33); +    \
m_defaultStyle[GeoDataPlacemark::NaturalTree]              = \
createOsmPOIStyle(osmFont, "individual/tree-29", amenityColor); // tree-16 provides \
the official icon +
+    m_defaultStyle[GeoDataPlacemark::ShopBeverages]            = \
createOsmPOIStyle(osmFont, "shop/beverages-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopHifi]                 = \
createOsmPOIStyle(osmFont, "shop/hifi-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopSupermarket]          = \
createOsmPOIStyle(osmFont, "shop/shop_supermarket", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopAlcohol]              = \
createOsmPOIStyle(osmFont, "shop/shop_alcohol.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopBakery]               = \
createOsmPOIStyle(osmFont, "shop/shop_bakery.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopButcher]              = \
createOsmPOIStyle(osmFont, "shop/butcher-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopConfectionery]        = \
createOsmPOIStyle(osmFont, "shop/confectionery.14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopConvenience]          = \
createOsmPOIStyle(osmFont, "shop/shop_convenience", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopGreengrocer]          = \
createOsmPOIStyle(osmFont, "shop/greengrocer-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopSeafood]              = \
createOsmPOIStyle(osmFont, "shop/seafood-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopDepartmentStore]      = \
createOsmPOIStyle(osmFont, "shop/department_store-16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopKiosk]                = \
createOsmPOIStyle(osmFont, "shop/kiosk-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopBag]                  = \
createOsmPOIStyle(osmFont, "shop/bag-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopClothes]              = \
createOsmPOIStyle(osmFont, "shop/shop_clothes.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopFashion]              = \
createOsmPOIStyle(osmFont, "shop/shop_clothes.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopJewelry]              = \
createOsmPOIStyle(osmFont, "shop/shop_jewelry.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopShoes]                = \
createOsmPOIStyle(osmFont, "shop/shop_shoes.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopVarietyStore]         = \
createOsmPOIStyle(osmFont, "shop/variety_store-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopBeauty]               = \
createOsmPOIStyle(osmFont, "shop/beauty-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopChemist]              = \
createOsmPOIStyle(osmFont, "shop/chemist-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopCosmetics]            = \
createOsmPOIStyle(osmFont, "shop/perfumery-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopHairdresser]          = \
createOsmPOIStyle(osmFont, "shop/shop_hairdresser.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopOptician]             = \
createOsmPOIStyle(osmFont, "shop/shop_optician.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopPerfumery]            = \
createOsmPOIStyle(osmFont, "shop/perfumery-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopDoitYourself]         = \
createOsmPOIStyle(osmFont, "shop/shop_diy.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopFlorist]              = \
createOsmPOIStyle(osmFont, "shop/florist.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopHardware]             = \
createOsmPOIStyle(osmFont, "shop/shop_diy.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopFurniture]            = \
createOsmPOIStyle(osmFont, "shop/shop_furniture.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopElectronics]          = \
createOsmPOIStyle(osmFont, "shop/shop_electronics.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopMobilePhone]          = \
createOsmPOIStyle(osmFont, "shop/shop_mobile_phone.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopBicycle]              = \
createOsmPOIStyle(osmFont, "shop/shop_bicycle.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopCar]                  = \
createOsmPOIStyle(osmFont, "shop/shop_car", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopCarRepair]            = \
createOsmPOIStyle(osmFont, "shop/shopping_car_repair.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopCarParts]             = \
createOsmPOIStyle(osmFont, "shop/car_parts-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopMotorcycle]           = \
createOsmPOIStyle(osmFont, "shop/motorcycle-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopOutdoor]              = \
createOsmPOIStyle(osmFont, "shop/outdoor-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopMusicalInstrument]    = \
createOsmPOIStyle(osmFont, "shop/musical_instrument-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopPhoto]                = \
createOsmPOIStyle(osmFont, "shop/photo-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopBook]                 = \
createOsmPOIStyle(osmFont, "shop/shop_books.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopGift]                 = \
createOsmPOIStyle(osmFont, "shop/shop_gift.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopStationery]           = \
createOsmPOIStyle(osmFont, "shop/stationery-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopLaundry]              = \
createOsmPOIStyle(osmFont, "shop/laundry-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopPet]                  = \
createOsmPOIStyle(osmFont, "shop/shop_pet.16", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopToys]                 = \
createOsmPOIStyle(osmFont, "shop/toys-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::ShopTravelAgency]         = \
createOsmPOIStyle(osmFont, "shop/travel_agency-14", shopColor); +    \
m_defaultStyle[GeoDataPlacemark::Shop]                     = \
createOsmPOIStyle(osmFont, "shop/shop-14", shopColor); +
+    m_defaultStyle[GeoDataPlacemark::ManmadeBridge]            = \
createWayStyle(QColor("#b8b8b8"), Qt::transparent, true, true); +    \
m_defaultStyle[GeoDataPlacemark::ManmadeLighthouse]        = \
createOsmPOIStyle(osmFont, "transportation/lighthouse.16", transportationColor, \
"#f2efe9", QColor( "#f2efe9" ).darker()); +    \
m_defaultStyle[GeoDataPlacemark::ManmadePier]              = createStyle(0.0, 3.0, \
"#f2efe9", "#f2efe9", true, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::ManmadeWaterTower]        = \
createOsmPOIStyle(osmFont, "amenity/water_tower.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::ManmadeWindMill]          = \
createOsmPOIStyle(osmFont, "amenity/windmill.16", amenityColor); +
+    m_defaultStyle[GeoDataPlacemark::TouristAttraction]        = \
createOsmPOIStyle(osmFont, "amenity/tourist_memorial.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristCastle]            = \
createOsmPOIRingStyle(osmFont, "amenity/cinema.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristCinema]            = \
createOsmPOIStyle(osmFont, "amenity/cinema.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristInformation]       = \
createOsmPOIStyle(osmFont, "amenity/information.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristMonument]          = \
createOsmPOIStyle(osmFont, "amenity/monument.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristMuseum]            = \
createOsmPOIStyle(osmFont, "amenity/museum.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristRuin]              = \
createOsmPOIRingStyle(osmFont, QString(), amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristTheatre]           = \
createOsmPOIStyle(osmFont, "amenity/theatre.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristThemePark]         = \
createOsmPOIStyle(osmFont, QString(), amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristViewPoint]         = \
createOsmPOIStyle(osmFont, "amenity/viewpoint.16", amenityColor); +    \
m_defaultStyle[GeoDataPlacemark::TouristZoo]               = \
createOsmPOIRingStyle(osmFont, QString(), amenityColor, Qt::transparent); +    \
m_defaultStyle[GeoDataPlacemark::TouristAlpineHut]         = \
createOsmPOIStyle(osmFont, "transportation/alpinehut.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportAerodrome]       = \
createOsmPOIStyle(osmFont, "airtransport/aerodrome", airTransportColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportHelipad]         = \
createOsmPOIStyle(osmFont, "airtransport/helipad", airTransportColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportAirportTerminal] = \
createOsmPOIAreaStyle(osmFont, QString(), airTransportColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportAirportGate]     = \
createOsmPOIAreaStyle(osmFont, QString(), airTransportColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportBusStation]      = \
createOsmPOIStyle(osmFont, "transportation/bus_station.16", transportationColor); +   \
m_defaultStyle[GeoDataPlacemark::TransportBusStop]         = \
createOsmPOIStyle(osmFont, "transportation/bus_stop.12", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportCarShare]        = \
createOsmPOIStyle(osmFont, "transportation/car_share.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportFuel]            = \
createOsmPOIStyle(osmFont, "transportation/fuel.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportParking]         = \
createOsmPOIAreaStyle(osmFont, "transportation/parking", transportationColor, \
"#F6EEB6", QColor( "#F6EEB6" ).darker()); +    \
m_defaultStyle[GeoDataPlacemark::TransportParkingSpace]    = \
createWayStyle("#F6EEB6", QColor( "#F6EEB6" ).darker(), true, true); +    \
m_defaultStyle[GeoDataPlacemark::TransportPlatform]        = \
createWayStyle("#bbbbbb", Qt::transparent, true, false); +    \
m_defaultStyle[GeoDataPlacemark::TransportTrainStation]    = \
createOsmPOIStyle(osmFont, "individual/railway_station", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportTramStop]        = \
createOsmPOIStyle(osmFont, QString(), transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportRentalBicycle]   = \
createOsmPOIStyle(osmFont, "transportation/rental_bicycle.16", transportationColor); \
+    m_defaultStyle[GeoDataPlacemark::TransportRentalCar]       = \
createOsmPOIStyle(osmFont, "transportation/rental_car.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportTaxiRank]        = \
createOsmPOIStyle(osmFont, "transportation/taxi.16", transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportBicycleParking]  = \
createOsmPOIAreaStyle(osmFont, "transportation/bicycle_parking.16", \
transportationColor); +    \
m_defaultStyle[GeoDataPlacemark::TransportMotorcycleParking] = \
createOsmPOIAreaStyle(osmFont, "transportation/motorcycle_parking.16", \
transportationColor); +    m_defaultStyle[GeoDataPlacemark::TransportSubwayEntrance]  \
= createOsmPOIStyle(osmFont, "transportation/subway_entrance", transportationColor); \
+    m_defaultStyle[GeoDataPlacemark::ReligionPlaceOfWorship]   = \
createOsmPOIStyle(osmFont, QString() /* "black/place_of_worship.16" */); +    \
m_defaultStyle[GeoDataPlacemark::ReligionBahai]            = \
createOsmPOIStyle(osmFont, QString()); +    \
m_defaultStyle[GeoDataPlacemark::ReligionBuddhist]         = \
createOsmPOIStyle(osmFont, "black/buddhist.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionChristian]        = \
createOsmPOIStyle(osmFont, "black/christian.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionMuslim]           = \
createOsmPOIStyle(osmFont, "black/muslim.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionHindu]            = \
createOsmPOIStyle(osmFont, "black/hinduist.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionJain]             = \
createOsmPOIStyle(osmFont, QString()); +    \
m_defaultStyle[GeoDataPlacemark::ReligionJewish]           = \
createOsmPOIStyle(osmFont, "black/jewish.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionShinto]           = \
createOsmPOIStyle(osmFont, "black/shintoist.16"); +    \
m_defaultStyle[GeoDataPlacemark::ReligionSikh]             = \
createOsmPOIStyle(osmFont, "black/sikhist.16"); +
+    m_defaultStyle[GeoDataPlacemark::HighwayTrafficSignals]    = \
createOsmPOIStyle(osmFont, "individual/traffic_light"); +
+    m_defaultStyle[GeoDataPlacemark::PowerTower]               = \
createOsmPOIStyle(osmFont, "individual/power_tower", QColor( "#888888" )); +    \
m_defaultStyle[GeoDataPlacemark::PowerTower]->iconStyle().setScale(0.6); +
+    m_defaultStyle[GeoDataPlacemark::BarrierCityWall]          = createStyle(6.0, \
3.0, "#787878", Qt::transparent, true, false, Qt::SolidPattern, Qt::SolidLine, \
Qt::FlatCap, false, QVector<qreal>(), osmFont, Qt::transparent); +    \
m_defaultStyle[GeoDataPlacemark::BarrierGate]              = \
createOsmPOIStyle(osmFont, "individual/gate"); +    \
m_defaultStyle[GeoDataPlacemark::BarrierLiftGate]          = \
createOsmPOIStyle(osmFont, "individual/liftgate"); +    \
m_defaultStyle[GeoDataPlacemark::BarrierWall]              = createStyle(2.0, 0.0, \
"#787878", Qt::transparent, true, false, Qt::SolidPattern, Qt::SolidLine, \
Qt::FlatCap, false, QVector<qreal>(), osmFont, Qt::transparent); +
+    m_defaultStyle[GeoDataPlacemark::HighwaySteps]             = createStyle(0.0, \
2.0, "#fa8072", QColor(Qt::white), true, true, Qt::SolidPattern, Qt::CustomDashLine, \
Qt::FlatCap, false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::HighwayUnknown]           = \
createHighwayStyle("#dddddd", "#bbbbbb", osmFont, "000000", 0, 1); +    \
m_defaultStyle[GeoDataPlacemark::HighwayPath]              = \
createHighwayStyle("#dddde8", "#999999", osmFont, "000000", 0, 1, Qt::DotLine, \
Qt::SquareCap, true); +    m_defaultStyle[GeoDataPlacemark::HighwayTrack]             \
= createHighwayStyle("#996600", QColor(Qt::white), osmFont, "000000", 1, 1, \
Qt::DashLine, Qt::SquareCap, true); +    \
m_defaultStyle[GeoDataPlacemark::HighwayPedestrian]        = \
createHighwayStyle("#dddde8", "#999999", osmFont, "000000", 0, 2); +    \
m_defaultStyle[GeoDataPlacemark::HighwayFootway]           = \
createHighwayStyle("#fa8072", QColor(Qt::white), osmFont, "000000", 0, 2, \
Qt::DotLine, Qt::SquareCap, true); +    \
m_defaultStyle[GeoDataPlacemark::HighwayCycleway]          = \
createHighwayStyle(QColor(Qt::blue), QColor(Qt::white), osmFont, "000000", 0, 2, \
Qt::DotLine, Qt::SquareCap, true); +    \
m_defaultStyle[GeoDataPlacemark::HighwayService]           = \
createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 1, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayResidential]       = \
createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayLivingStreet]      = \
createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayRoad]              = \
createHighwayStyle("#dddddd", "#bbbbbb", osmFont, "000000", 3, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayUnclassified]      = \
createHighwayStyle("#ffffff", "#bbbbbb", osmFont, "000000", 3, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayTertiary]          = \
createHighwayStyle("#ffffff", "#8f8f8f", osmFont, "000000", 6, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayTertiaryLink]      = \
createHighwayStyle("#ffffff", "#8f8f8f", osmFont, "000000", 6, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwaySecondary]         = \
createHighwayStyle("#f7fabf", "#707d05", osmFont, "000000", 6, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwaySecondaryLink]     = \
createHighwayStyle("#f7fabf", "#707d05", osmFont, "000000", 6, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayPrimary]           = \
createHighwayStyle("#fcd6a4", "#a06b00", osmFont, "000000", 9, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayPrimaryLink]       = \
createHighwayStyle("#fcd6a4", "#a06b00", osmFont, "000000", 6, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayTrunk]             = \
createHighwayStyle("#f9b29c", "#c84e2f", osmFont, "000000", 9, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayTrunkLink]         = \
createHighwayStyle("#f9b29c", "#c84e2f", osmFont, "000000", 9, 6); +    \
m_defaultStyle[GeoDataPlacemark::HighwayMotorway]          = \
createHighwayStyle("#e892a2", "#dc2a67", osmFont, "000000", 9, 10); +    \
m_defaultStyle[GeoDataPlacemark::HighwayMotorwayLink]      = \
createHighwayStyle("#e892a2", "#dc2a67", osmFont, "000000", 9, 10); +    \
m_defaultStyle[GeoDataPlacemark::TransportAirportRunway]   = \
createHighwayStyle("#bbbbcc", "#bbbbcc", osmFont, "000000", 0, 1); +    \
m_defaultStyle[GeoDataPlacemark::TransportAirportTaxiway]  = \
createHighwayStyle("#bbbbcc", "#bbbbcc", osmFont, "000000", 0, 1); +    \
m_defaultStyle[GeoDataPlacemark::TransportAirportApron]    = \
createWayStyle("#e9d1ff", Qt::transparent, true, false); +
+    m_defaultStyle[GeoDataPlacemark::NaturalWater]             = createStyle(4, 0, \
waterColor, waterColor, true, true,  Qt::SolidPattern, Qt::SolidLine, Qt::RoundCap, \
                false, QVector< qreal >(),
                                                                                      \
osmFont, waterColor.darker(150));  
-    m_defaultStyle[GeoDataFeature::NaturalReef]              = createStyle(5.5, 0, \
"#36677c", "#36677c", true, true, +    m_defaultStyle[GeoDataPlacemark::NaturalReef]  \
= createStyle(5.5, 0, "#36677c", "#36677c", true, true,  Qt::Dense7Pattern, \
                Qt::DotLine, Qt::RoundCap, false, QVector< qreal >(),
                                                                                      \
osmFont, waterColor.darker(150));  
-    m_defaultStyle[GeoDataFeature::AmenityGraveyard]         = \
createWayStyle("#AACBAF", "#AACBAF", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/grave_yard_generic.png"));
                
-
-    m_defaultStyle[GeoDataFeature::NaturalWood]              = \
createWayStyle("#8DC46C", "#8DC46C", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/forest.png"));
-    m_defaultStyle[GeoDataFeature::NaturalBeach]             = \
createWayStyle("#FFF1BA", "#FFF1BA", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/beach.png"));
-    m_defaultStyle[GeoDataFeature::NaturalWetland]           = \
createWayStyle("#DDECEC", "#DDECEC", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/wetland.png"));
-    m_defaultStyle[GeoDataFeature::NaturalGlacier]           = \
createWayStyle("#DDECEC", "#DDECEC", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/glacier.png"));
-    m_defaultStyle[GeoDataFeature::NaturalIceShelf]          = \
createWayStyle("#8ebebe", "#8ebebe", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/glacier.png"));
-    m_defaultStyle[GeoDataFeature::NaturalScrub]             = \
createWayStyle("#B5E3B5", "#B5E3B5", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/scrub.png"));
-    m_defaultStyle[GeoDataFeature::NaturalCliff]             = \
createWayStyle(Qt::transparent, Qt::transparent, true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/cliff2.png"));
-    m_defaultStyle[GeoDataFeature::NaturalHeath]             = \
                createWayStyle("#d6d99f", QColor("#d6d99f").darker(150), true, \
                false);
-
-    m_defaultStyle[GeoDataFeature::LeisureGolfCourse]        = \
                createWayStyle(QColor("#b5e3b5"), QColor("#b5e3b5").darker(150), \
                true, true);
-    m_defaultStyle[GeoDataFeature::LeisureMarina]            = \
createOsmPOIStyle(osmFont, QString(), QColor("#95abd5"), QColor("#aec8d1"), \
                QColor("#95abd5").darker(150));
-    m_defaultStyle[GeoDataFeature::LeisurePark]              = \
                createWayStyle(QColor("#c8facc"), QColor("#c8facc").darker(150), \
                true, true);
-    m_defaultStyle[GeoDataFeature::LeisurePlayground]        = \
createOsmPOIAreaStyle(osmFont, "amenity/playground.16", amenityColor, "#CCFFF1", \
                "#BDFFED");
-    m_defaultStyle[GeoDataFeature::LeisurePitch]             = \
                createWayStyle("#8ad3af", QColor("#8ad3af").darker(150), true, true);
-    m_defaultStyle[GeoDataFeature::LeisureSportsCentre]      = \
                createWayStyle("#33cc99", QColor("#33cc99").darker(150), true, true);
-    m_defaultStyle[GeoDataFeature::LeisureStadium]           = \
                createWayStyle("#33cc99", QColor("#33cc99").darker(150), true, true);
-    m_defaultStyle[GeoDataFeature::LeisureTrack]             = \
                createWayStyle("#74dcba", QColor("#74dcba").darker(150), true, true);
-    m_defaultStyle[GeoDataFeature::LeisureSwimmingPool]      = \
                createWayStyle(waterColor, waterColor.darker(150), true, true);
-
-    m_defaultStyle[GeoDataFeature::LanduseAllotments]        = \
createWayStyle("#E4C6AA", "#E4C6AA", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/allotments.png"));
-    m_defaultStyle[GeoDataFeature::LanduseBasin]             = \
                createWayStyle(QColor(0xB5, 0xD0, 0xD0, 0x80 ), QColor( 0xB5, 0xD0, \
                0xD0 ));
-    m_defaultStyle[GeoDataFeature::LanduseCemetery]          = \
createWayStyle("#AACBAF", "#AACBAF", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/grave_yard_generic.png"));
                
-    m_defaultStyle[GeoDataFeature::LanduseCommercial]        = \
                createWayStyle("#F2DAD9", "#D1B2B0", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseConstruction]      = \
                createWayStyle("#b6b592", "#b6b592", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseFarmland]          = \
                createWayStyle("#EDDDC9", "#C8B69E", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseFarmyard]          = \
                createWayStyle("#EFD6B5", "#D1B48C", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseGarages]           = \
                createWayStyle("#E0DDCD", "#E0DDCD", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseGrass]             = \
                createWayStyle("#A8C8A5", "#A8C8A5", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseIndustrial]        = \
                createWayStyle("#DED0D5", "#DED0D5", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseLandfill]          = \
                createWayStyle("#b6b592", "#b6b592", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseMeadow]            = \
                createWayStyle("#cdebb0", "#cdebb0", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseMilitary]          = \
createWayStyle("#F3D8D2", "#F3D8D2", true, true, Qt::BDiagPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/military_red_hatch.png"));
                
-    m_defaultStyle[GeoDataFeature::LanduseQuarry]            = \
createWayStyle("#C4C2C2", "#C4C2C2", true, true, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/quarry.png"));
-    m_defaultStyle[GeoDataFeature::LanduseRailway]           = \
                createWayStyle("#DED0D5", "#DED0D5", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseReservoir]         = \
                createWayStyle(waterColor, waterColor, true, true);
-    m_defaultStyle[GeoDataFeature::LanduseResidential]       = \
                createWayStyle("#DCDCDC", "#DCDCDC", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseRetail]            = \
                createWayStyle("#FFD6D1", "#D99C95", true, true);
-    m_defaultStyle[GeoDataFeature::LanduseOrchard]           = \
createWayStyle("#AEDFA3", "#AEDFA3", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/orchard.png"));
-    m_defaultStyle[GeoDataFeature::LanduseVineyard]          = \
createWayStyle("#AEDFA3", "#AEDFA3", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/vineyard.png"));
-
-    m_defaultStyle[GeoDataFeature::MilitaryDangerArea]       = \
createWayStyle("#FFC0CB", "#FFC0CB", true, false, Qt::SolidPattern, \
                MarbleDirs::path("bitmaps/osmcarto/patterns/danger.png"));
-
-    m_defaultStyle[GeoDataFeature::RailwayRail]              = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", true, true, Qt::SolidPattern, Qt::CustomDashLine, \
                Qt::FlatCap, true, QVector< qreal >() << 2 << 3, osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayNarrowGauge]       = createStyle(2.0, 1.0, \
"#706E70", "#EEEEEE", true, true, Qt::SolidPattern, Qt::CustomDashLine, Qt::FlatCap, \
true, QVector< qreal >() << 2 << 3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AmenityGraveyard]         = \
createWayStyle("#AACBAF", "#AACBAF", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/grave_yard_generic.png")); +
+    m_defaultStyle[GeoDataPlacemark::NaturalWood]              = \
createWayStyle("#8DC46C", "#8DC46C", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/forest.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalBeach]             = \
createWayStyle("#FFF1BA", "#FFF1BA", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/beach.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalWetland]           = \
createWayStyle("#DDECEC", "#DDECEC", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/wetland.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalGlacier]           = \
createWayStyle("#DDECEC", "#DDECEC", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/glacier.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalIceShelf]          = \
createWayStyle("#8ebebe", "#8ebebe", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/glacier.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalScrub]             = \
createWayStyle("#B5E3B5", "#B5E3B5", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/scrub.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalCliff]             = \
createWayStyle(Qt::transparent, Qt::transparent, true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/cliff2.png")); +    \
m_defaultStyle[GeoDataPlacemark::NaturalHeath]             = \
createWayStyle("#d6d99f", QColor("#d6d99f").darker(150), true, false); +
+    m_defaultStyle[GeoDataPlacemark::LeisureGolfCourse]        = \
createWayStyle(QColor("#b5e3b5"), QColor("#b5e3b5").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisureMarina]            = \
createOsmPOIStyle(osmFont, QString(), QColor("#95abd5"), QColor("#aec8d1"), \
QColor("#95abd5").darker(150)); +    m_defaultStyle[GeoDataPlacemark::LeisurePark]    \
= createWayStyle(QColor("#c8facc"), QColor("#c8facc").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisurePlayground]        = \
createOsmPOIAreaStyle(osmFont, "amenity/playground.16", amenityColor, "#CCFFF1", \
"#BDFFED"); +    m_defaultStyle[GeoDataPlacemark::LeisurePitch]             = \
createWayStyle("#8ad3af", QColor("#8ad3af").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisureSportsCentre]      = \
createWayStyle("#33cc99", QColor("#33cc99").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisureStadium]           = \
createWayStyle("#33cc99", QColor("#33cc99").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisureTrack]             = \
createWayStyle("#74dcba", QColor("#74dcba").darker(150), true, true); +    \
m_defaultStyle[GeoDataPlacemark::LeisureSwimmingPool]      = \
createWayStyle(waterColor, waterColor.darker(150), true, true); +
+    m_defaultStyle[GeoDataPlacemark::LanduseAllotments]        = \
createWayStyle("#E4C6AA", "#E4C6AA", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/allotments.png")); +    \
m_defaultStyle[GeoDataPlacemark::LanduseBasin]             = \
createWayStyle(QColor(0xB5, 0xD0, 0xD0, 0x80 ), QColor( 0xB5, 0xD0, 0xD0 )); +    \
m_defaultStyle[GeoDataPlacemark::LanduseCemetery]          = \
createWayStyle("#AACBAF", "#AACBAF", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/grave_yard_generic.png")); +    \
m_defaultStyle[GeoDataPlacemark::LanduseCommercial]        = \
createWayStyle("#F2DAD9", "#D1B2B0", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseConstruction]      = \
createWayStyle("#b6b592", "#b6b592", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseFarmland]          = \
createWayStyle("#EDDDC9", "#C8B69E", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseFarmyard]          = \
createWayStyle("#EFD6B5", "#D1B48C", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseGarages]           = \
createWayStyle("#E0DDCD", "#E0DDCD", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseGrass]             = \
createWayStyle("#A8C8A5", "#A8C8A5", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseIndustrial]        = \
createWayStyle("#DED0D5", "#DED0D5", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseLandfill]          = \
createWayStyle("#b6b592", "#b6b592", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseMeadow]            = \
createWayStyle("#cdebb0", "#cdebb0", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseMilitary]          = \
createWayStyle("#F3D8D2", "#F3D8D2", true, true, Qt::BDiagPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/military_red_hatch.png")); +    \
m_defaultStyle[GeoDataPlacemark::LanduseQuarry]            = \
createWayStyle("#C4C2C2", "#C4C2C2", true, true, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/quarry.png")); +    \
m_defaultStyle[GeoDataPlacemark::LanduseRailway]           = \
createWayStyle("#DED0D5", "#DED0D5", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseReservoir]         = \
createWayStyle(waterColor, waterColor, true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseResidential]       = \
createWayStyle("#DCDCDC", "#DCDCDC", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseRetail]            = \
createWayStyle("#FFD6D1", "#D99C95", true, true); +    \
m_defaultStyle[GeoDataPlacemark::LanduseOrchard]           = \
createWayStyle("#AEDFA3", "#AEDFA3", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/orchard.png")); +    \
m_defaultStyle[GeoDataPlacemark::LanduseVineyard]          = \
createWayStyle("#AEDFA3", "#AEDFA3", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/vineyard.png")); +
+    m_defaultStyle[GeoDataPlacemark::MilitaryDangerArea]       = \
createWayStyle("#FFC0CB", "#FFC0CB", true, false, Qt::SolidPattern, \
MarbleDirs::path("bitmaps/osmcarto/patterns/danger.png")); +
+    m_defaultStyle[GeoDataPlacemark::RailwayRail]              = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", true, true, Qt::SolidPattern, Qt::CustomDashLine, \
Qt::FlatCap, true, QVector< qreal >() << 2 << 3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayNarrowGauge]       = createStyle(2.0, 1.0, \
"#706E70", "#EEEEEE", true, true, Qt::SolidPattern, Qt::CustomDashLine, Qt::FlatCap, \
true, QVector< qreal >() << 2 << 3, osmFont);  // FIXME: the tram is currently being \
                rendered as a polygon.
-    m_defaultStyle[GeoDataFeature::RailwayTram]              = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayLightRail]         = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayAbandoned]         = createStyle(2.0, \
1.435, Qt::transparent, "#706E70", false, false, Qt::SolidPattern, Qt::DotLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwaySubway]            = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayPreserved]         = createStyle(2.0, \
1.435, "#EEEEEE", "#706E70", true, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, \
                true, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayMiniature]         = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayConstruction]      = createStyle(2.0, \
1.435, "#EEEEEE", "#706E70", true, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, \
                true, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayMonorail]          = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::RailwayFunicular]         = createStyle(2.0, \
1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, \
                Qt::FlatCap, false, QVector<qreal>(), osmFont);
-
-    m_defaultStyle[GeoDataFeature::Building]                 = createStyle(1, 0, \
buildingColor, buildingColor.darker(), +    \
m_defaultStyle[GeoDataPlacemark::RailwayTram]              = createStyle(2.0, 1.435, \
"#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayLightRail]         = createStyle(2.0, 1.435, \
"#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayAbandoned]         = createStyle(2.0, 1.435, \
Qt::transparent, "#706E70", false, false, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwaySubway]            = createStyle(2.0, 1.435, \
"#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayPreserved]         = createStyle(2.0, 1.435, \
"#EEEEEE", "#706E70", true, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, true, \
QVector<qreal>(), osmFont); +    m_defaultStyle[GeoDataPlacemark::RailwayMiniature]   \
= createStyle(2.0, 1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, \
Qt::SolidLine, Qt::FlatCap, false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayConstruction]      = createStyle(2.0, 1.435, \
"#EEEEEE", "#706E70", true, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, true, \
QVector<qreal>(), osmFont); +    m_defaultStyle[GeoDataPlacemark::RailwayMonorail]    \
= createStyle(2.0, 1.435, "#706E70", "#EEEEEE", false, true, Qt::SolidPattern, \
Qt::SolidLine, Qt::FlatCap, false, QVector<qreal>(), osmFont); +    \
m_defaultStyle[GeoDataPlacemark::RailwayFunicular]         = createStyle(2.0, 1.435, \
"#706E70", "#EEEEEE", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +
+    m_defaultStyle[GeoDataPlacemark::Building]                 = createStyle(1, 0, \
buildingColor, buildingColor.darker(),  true, true, Qt::SolidPattern, Qt::SolidLine, \
Qt::RoundCap, false, QVector<qreal>(), osmFont);  
-    m_defaultStyle[GeoDataFeature::Landmass]                 = \
                createWayStyle("#F1EEE8", "#F1EEE8", true, true);
-    m_defaultStyle[GeoDataFeature::UrbanArea]                = \
                createWayStyle("#E6E3DD", "#E6E3DD", true, true);
-    m_defaultStyle[GeoDataFeature::InternationalDateLine]    = createStyle(1.0, 0.0, \
"#000000", "#000000", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
                false, QVector<qreal>(), osmFont);
-    m_defaultStyle[GeoDataFeature::Bathymetry]               = \
                createWayStyle("#a5c9c9", "#a5c9c9", true, true);
-
-    m_defaultStyle[GeoDataFeature::AdminLevel1]              = createStyle(0.0, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::CustomDashLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel2]              = createStyle(2.0, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel3]              = createStyle(1.8, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel4]              = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
                QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel5]              = createStyle(1.25, \
0.0, "#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashDotDotLine, \
                Qt::FlatCap, false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel6]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashDotLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel7]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel8]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
                false, QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel9]              = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
                QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel10]             = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
                QVector< qreal >() << 0.3 << 0.3, osmFont);
-    m_defaultStyle[GeoDataFeature::AdminLevel11]             = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
                QVector< qreal >() << 0.3 << 0.3, osmFont);
-
-    m_defaultStyle[GeoDataFeature::BoundaryMaritime]         = createStyle(2.0, 0.0, \
"#88b3bf", "#88b3bf", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
                false, QVector<qreal>(), osmFont);
-
-    m_defaultStyle[GeoDataFeature::Satellite]
+    m_defaultStyle[GeoDataPlacemark::Landmass]                 = \
createWayStyle("#F1EEE8", "#F1EEE8", true, true); +    \
m_defaultStyle[GeoDataPlacemark::UrbanArea]                = \
createWayStyle("#E6E3DD", "#E6E3DD", true, true); +    \
m_defaultStyle[GeoDataPlacemark::InternationalDateLine]    = createStyle(1.0, 0.0, \
"#000000", "#000000", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +    m_defaultStyle[GeoDataPlacemark::Bathymetry]  \
= createWayStyle("#a5c9c9", "#a5c9c9", true, true); +
+    m_defaultStyle[GeoDataPlacemark::AdminLevel1]              = createStyle(0.0, \
0.0, "#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::CustomDashLine, \
Qt::FlatCap, false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel2]              = createStyle(2.0, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel3]              = createStyle(1.8, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel4]              = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel5]              = createStyle(1.25, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashDotDotLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel6]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashDotLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel7]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel8]              = createStyle(1, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DashLine, Qt::FlatCap, \
false, QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel9]              = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel10]             = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
QVector< qreal >() << 0.3 << 0.3, osmFont); +    \
m_defaultStyle[GeoDataPlacemark::AdminLevel11]             = createStyle(1.5, 0.0, \
"#DF9CCF", "#DF9CCF", false, true, Qt::SolidPattern, Qt::DotLine, Qt::FlatCap, false, \
QVector< qreal >() << 0.3 << 0.3, osmFont); +
+    m_defaultStyle[GeoDataPlacemark::BoundaryMaritime]         = createStyle(2.0, \
0.0, "#88b3bf", "#88b3bf", false, true, Qt::SolidPattern, Qt::SolidLine, Qt::FlatCap, \
false, QVector<qreal>(), osmFont); +
+    m_defaultStyle[GeoDataPlacemark::Satellite]
         = GeoDataStyle::Ptr(new GeoDataStyle( MarbleDirs::path( \
                "bitmaps/satellite.png" ),
               QFont( defaultFamily, defaultSize, 50, false ), defaultLabelColor ));
 
     QFont tmp;
 
     // Fonts for areas ...
-    tmp = m_defaultStyle[GeoDataFeature::Continent]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::Continent]->labelStyle().font();
     tmp.setLetterSpacing( QFont::AbsoluteSpacing, 2 );
     tmp.setCapitalization( QFont::AllUppercase );
     tmp.setBold( true );
-    m_defaultStyle[GeoDataFeature::Continent]->labelStyle().setFont( tmp );
+    m_defaultStyle[GeoDataPlacemark::Continent]->labelStyle().setFont( tmp );
 
     // Fonts for areas ...
-    tmp = m_defaultStyle[GeoDataFeature::Mare]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::Mare]->labelStyle().font();
     tmp.setLetterSpacing( QFont::AbsoluteSpacing, 2 );
     tmp.setCapitalization( QFont::AllUppercase );
     tmp.setBold( true );
-    m_defaultStyle[GeoDataFeature::Mare]->labelStyle().setFont( tmp );
+    m_defaultStyle[GeoDataPlacemark::Mare]->labelStyle().setFont( tmp );
 
     // Now we need to underline the capitals ...
 
-    tmp = m_defaultStyle[GeoDataFeature::SmallNationCapital]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::SmallNationCapital]->labelStyle().font();
     tmp.setUnderline( true );
-    m_defaultStyle[GeoDataFeature::SmallNationCapital]->labelStyle().setFont( tmp );
+    m_defaultStyle[GeoDataPlacemark::SmallNationCapital]->labelStyle().setFont( tmp \
);  
-    tmp = m_defaultStyle[GeoDataFeature::MediumNationCapital]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::MediumNationCapital]->labelStyle().font();
  tmp.setUnderline( true );
-    m_defaultStyle[GeoDataFeature::MediumNationCapital]->labelStyle().setFont( tmp \
); +    m_defaultStyle[GeoDataPlacemark::MediumNationCapital]->labelStyle().setFont( \
tmp );  
-    tmp = m_defaultStyle[GeoDataFeature::BigNationCapital]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::BigNationCapital]->labelStyle().font();
     tmp.setUnderline( true );
-    m_defaultStyle[GeoDataFeature::BigNationCapital]->labelStyle().setFont( tmp );
+    m_defaultStyle[GeoDataPlacemark::BigNationCapital]->labelStyle().setFont( tmp );
 
-    tmp = m_defaultStyle[GeoDataFeature::LargeNationCapital]->labelStyle().font();
+    tmp = m_defaultStyle[GeoDataPlacemark::LargeNationCapital]->labelStyle().font();
     tmp.setUnderline( true );
-    m_defaultStyle[GeoDataFeature::LargeNationCapital]->labelStyle().setFont( tmp );
+    m_defaultStyle[GeoDataPlacemark::LargeNationCapital]->labelStyle().setFont( tmp \
);  }
 
-QString StyleBuilder::Private::createPaintLayerItem(const QString &itemType, \
GeoDataFeature::GeoDataVisualCategory visualCategory, const QString &subType) \
+QString StyleBuilder::Private::createPaintLayerItem(const QString &itemType, \
GeoDataPlacemark::GeoDataVisualCategory visualCategory, const QString &subType)  {
     QString const category = visualCategoryName(visualCategory);
     if (subType.isEmpty()) {
@@ -845,312 +845,312 @@ void StyleBuilder::Private::initializeOsmVisualCategories()
         return;
     }
 
-    s_visualCategories[OsmTag("admin_level", "1")]              = \
                GeoDataFeature::AdminLevel1;
-    s_visualCategories[OsmTag("admin_level", "2")]              = \
                GeoDataFeature::AdminLevel2;
-    s_visualCategories[OsmTag("admin_level", "3")]              = \
                GeoDataFeature::AdminLevel3;
-    s_visualCategories[OsmTag("admin_level", "4")]              = \
                GeoDataFeature::AdminLevel4;
-    s_visualCategories[OsmTag("admin_level", "5")]              = \
                GeoDataFeature::AdminLevel5;
-    s_visualCategories[OsmTag("admin_level", "6")]              = \
                GeoDataFeature::AdminLevel6;
-    s_visualCategories[OsmTag("admin_level", "7")]              = \
                GeoDataFeature::AdminLevel7;
-    s_visualCategories[OsmTag("admin_level", "8")]              = \
                GeoDataFeature::AdminLevel8;
-    s_visualCategories[OsmTag("admin_level", "9")]              = \
                GeoDataFeature::AdminLevel9;
-    s_visualCategories[OsmTag("admin_level", "10")]             = \
                GeoDataFeature::AdminLevel10;
-    s_visualCategories[OsmTag("admin_level", "11")]             = \
                GeoDataFeature::AdminLevel11;
-
-    s_visualCategories[OsmTag("boundary", "maritime")]          = \
                GeoDataFeature::BoundaryMaritime;
-
-    s_visualCategories[OsmTag("amenity", "restaurant")]         = \
                GeoDataFeature::FoodRestaurant;
-    s_visualCategories[OsmTag("amenity", "fast_food")]          = \
                GeoDataFeature::FoodFastFood;
-    s_visualCategories[OsmTag("amenity", "pub")]                = \
                GeoDataFeature::FoodPub;
-    s_visualCategories[OsmTag("amenity", "bar")]                = \
                GeoDataFeature::FoodBar;
-    s_visualCategories[OsmTag("amenity", "cafe")]               = \
                GeoDataFeature::FoodCafe;
-    s_visualCategories[OsmTag("amenity", "biergarten")]         = \
                GeoDataFeature::FoodBiergarten;
-    s_visualCategories[OsmTag("amenity", "school")]             = \
                GeoDataFeature::EducationSchool;
-    s_visualCategories[OsmTag("amenity", "college")]            = \
                GeoDataFeature::EducationCollege;
-    s_visualCategories[OsmTag("amenity", "library")]            = \
                GeoDataFeature::AmenityLibrary;
-    s_visualCategories[OsmTag("amenity", "kindergarten")]       = \
                GeoDataFeature::AmenityKindergarten;
-    s_visualCategories[OsmTag("amenity", "childcare")]          = \
                GeoDataFeature::AmenityKindergarten;
-    s_visualCategories[OsmTag("amenity", "university")]         = \
                GeoDataFeature::EducationUniversity;
-    s_visualCategories[OsmTag("amenity", "bus_station")]        = \
                GeoDataFeature::TransportBusStation;
-    s_visualCategories[OsmTag("amenity", "car_sharing")]        = \
                GeoDataFeature::TransportCarShare;
-    s_visualCategories[OsmTag("amenity", "fuel")]               = \
                GeoDataFeature::TransportFuel;
-    s_visualCategories[OsmTag("amenity", "parking")]            = \
                GeoDataFeature::TransportParking;
-    s_visualCategories[OsmTag("amenity", "parking_space")]      = \
                GeoDataFeature::TransportParkingSpace;
-    s_visualCategories[OsmTag("amenity", "atm")]                = \
                GeoDataFeature::MoneyAtm;
-    s_visualCategories[OsmTag("amenity", "bank")]               = \
                GeoDataFeature::MoneyBank;
-
-    s_visualCategories[OsmTag("historic", "archaeological_site")] = \
                GeoDataFeature::AmenityArchaeologicalSite;
-    s_visualCategories[OsmTag("amenity", "embassy")]            = \
                GeoDataFeature::AmenityEmbassy;
-    s_visualCategories[OsmTag("emergency", "phone")]            = \
                GeoDataFeature::AmenityEmergencyPhone;
-    s_visualCategories[OsmTag("leisure", "water_park")]         = \
                GeoDataFeature::AmenityWaterPark;
-    s_visualCategories[OsmTag("amenity", "community_centre")]   = \
                GeoDataFeature::AmenityCommunityCentre;
-    s_visualCategories[OsmTag("amenity", "fountain")]           = \
                GeoDataFeature::AmenityFountain;
-    s_visualCategories[OsmTag("amenity", "nightclub")]          = \
                GeoDataFeature::AmenityNightClub;
-    s_visualCategories[OsmTag("amenity", "bench")]              = \
                GeoDataFeature::AmenityBench;
-    s_visualCategories[OsmTag("amenity", "courthouse")]         = \
                GeoDataFeature::AmenityCourtHouse;
-    s_visualCategories[OsmTag("amenity", "fire_station")]       = \
                GeoDataFeature::AmenityFireStation;
-    s_visualCategories[OsmTag("amenity", "hunting_stand")]      = \
                GeoDataFeature::AmenityHuntingStand;
-    s_visualCategories[OsmTag("amenity", "police")]             = \
                GeoDataFeature::AmenityPolice;
-    s_visualCategories[OsmTag("amenity", "post_box")]           = \
                GeoDataFeature::AmenityPostBox;
-    s_visualCategories[OsmTag("amenity", "post_office")]        = \
                GeoDataFeature::AmenityPostOffice;
-    s_visualCategories[OsmTag("amenity", "prison")]             = \
                GeoDataFeature::AmenityPrison;
-    s_visualCategories[OsmTag("amenity", "recycling")]          = \
                GeoDataFeature::AmenityRecycling;
-    s_visualCategories[OsmTag("amenity", "shelter")]            = \
                GeoDataFeature::AmenityShelter;
-    s_visualCategories[OsmTag("amenity", "telephone")]          = \
                GeoDataFeature::AmenityTelephone;
-    s_visualCategories[OsmTag("amenity", "toilets")]            = \
                GeoDataFeature::AmenityToilets;
-    s_visualCategories[OsmTag("amenity", "townhall")]           = \
                GeoDataFeature::AmenityTownHall;
-    s_visualCategories[OsmTag("amenity", "waste_basket")]       = \
                GeoDataFeature::AmenityWasteBasket;
-    s_visualCategories[OsmTag("amenity", "drinking_water")]     = \
                GeoDataFeature::AmenityDrinkingWater;
-    s_visualCategories[OsmTag("amenity", "graveyard")]          = \
                GeoDataFeature::AmenityGraveyard;
-
-    s_visualCategories[OsmTag("amenity", "dentist")]            = \
                GeoDataFeature::HealthDentist;
-    s_visualCategories[OsmTag("amenity", "pharmacy")]           = \
                GeoDataFeature::HealthPharmacy;
-    s_visualCategories[OsmTag("amenity", "hospital")]           = \
                GeoDataFeature::HealthHospital;
-    s_visualCategories[OsmTag("amenity", "doctors")]            = \
                GeoDataFeature::HealthDoctors;
-    s_visualCategories[OsmTag("amenity", "veterinary")]         = \
                GeoDataFeature::HealthVeterinary;
-
-    s_visualCategories[OsmTag("amenity", "cinema")]             = \
                GeoDataFeature::TouristCinema;
-    s_visualCategories[OsmTag("tourism", "information")]        = \
                GeoDataFeature::TouristInformation;
-    s_visualCategories[OsmTag("amenity", "theatre")]            = \
                GeoDataFeature::TouristTheatre;
-    s_visualCategories[OsmTag("amenity", "place_of_worship")]   = \
                GeoDataFeature::ReligionPlaceOfWorship;
-
-    s_visualCategories[OsmTag("natural", "peak")]               = \
                GeoDataFeature::NaturalPeak;
-    s_visualCategories[OsmTag("natural", "tree")]               = \
                GeoDataFeature::NaturalTree;
-
-    s_visualCategories[OsmTag("shop", "beverages")]             = \
                GeoDataFeature::ShopBeverages;
-    s_visualCategories[OsmTag("shop", "hifi")]                  = \
                GeoDataFeature::ShopHifi;
-    s_visualCategories[OsmTag("shop", "supermarket")]           = \
                GeoDataFeature::ShopSupermarket;
-    s_visualCategories[OsmTag("shop", "alcohol")]               = \
                GeoDataFeature::ShopAlcohol;
-    s_visualCategories[OsmTag("shop", "bakery")]                = \
                GeoDataFeature::ShopBakery;
-    s_visualCategories[OsmTag("shop", "butcher")]               = \
                GeoDataFeature::ShopButcher;
-    s_visualCategories[OsmTag("shop", "confectionery")]         = \
                GeoDataFeature::ShopConfectionery;
-    s_visualCategories[OsmTag("shop", "convenience")]           = \
                GeoDataFeature::ShopConvenience;
-    s_visualCategories[OsmTag("shop", "greengrocer")]           = \
                GeoDataFeature::ShopGreengrocer;
-    s_visualCategories[OsmTag("shop", "seafood")]               = \
                GeoDataFeature::ShopSeafood;
-    s_visualCategories[OsmTag("shop", "department_store")]      = \
                GeoDataFeature::ShopDepartmentStore;
-    s_visualCategories[OsmTag("shop", "kiosk")]                 = \
                GeoDataFeature::ShopKiosk;
-    s_visualCategories[OsmTag("shop", "bag")]                   = \
                GeoDataFeature::ShopBag;
-    s_visualCategories[OsmTag("shop", "clothes")]               = \
                GeoDataFeature::ShopClothes;
-    s_visualCategories[OsmTag("shop", "fashion")]               = \
                GeoDataFeature::ShopFashion;
-    s_visualCategories[OsmTag("shop", "jewelry")]               = \
                GeoDataFeature::ShopJewelry;
-    s_visualCategories[OsmTag("shop", "shoes")]                 = \
                GeoDataFeature::ShopShoes;
-    s_visualCategories[OsmTag("shop", "variety_store")]         = \
                GeoDataFeature::ShopVarietyStore;
-    s_visualCategories[OsmTag("shop", "beauty")]                = \
                GeoDataFeature::ShopBeauty;
-    s_visualCategories[OsmTag("shop", "chemist")]               = \
                GeoDataFeature::ShopChemist;
-    s_visualCategories[OsmTag("shop", "cosmetics")]             = \
                GeoDataFeature::ShopCosmetics;
-    s_visualCategories[OsmTag("shop", "hairdresser")]           = \
                GeoDataFeature::ShopHairdresser;
-    s_visualCategories[OsmTag("shop", "optician")]              = \
                GeoDataFeature::ShopOptician;
-    s_visualCategories[OsmTag("shop", "perfumery")]             = \
                GeoDataFeature::ShopPerfumery;
-    s_visualCategories[OsmTag("shop", "doityourself")]          = \
                GeoDataFeature::ShopDoitYourself;
-    s_visualCategories[OsmTag("shop", "florist")]               = \
                GeoDataFeature::ShopFlorist;
-    s_visualCategories[OsmTag("shop", "hardware")]              = \
                GeoDataFeature::ShopHardware;
-    s_visualCategories[OsmTag("shop", "furniture")]             = \
                GeoDataFeature::ShopFurniture;
-    s_visualCategories[OsmTag("shop", "electronics")]           = \
                GeoDataFeature::ShopElectronics;
-    s_visualCategories[OsmTag("shop", "mobile_phone")]          = \
                GeoDataFeature::ShopMobilePhone;
-    s_visualCategories[OsmTag("shop", "bicycle")]               = \
                GeoDataFeature::ShopBicycle;
-    s_visualCategories[OsmTag("shop", "car")]                   = \
                GeoDataFeature::ShopCar;
-    s_visualCategories[OsmTag("shop", "car_repair")]            = \
                GeoDataFeature::ShopCarRepair;
-    s_visualCategories[OsmTag("shop", "car_parts")]             = \
                GeoDataFeature::ShopCarParts;
-    s_visualCategories[OsmTag("shop", "motorcycle")]            = \
                GeoDataFeature::ShopMotorcycle;
-    s_visualCategories[OsmTag("shop", "outdoor")]               = \
                GeoDataFeature::ShopOutdoor;
-    s_visualCategories[OsmTag("shop", "musical_instrument")]    = \
                GeoDataFeature::ShopMusicalInstrument;
-    s_visualCategories[OsmTag("shop", "photo")]                 = \
                GeoDataFeature::ShopPhoto;
-    s_visualCategories[OsmTag("shop", "books")]                 = \
                GeoDataFeature::ShopBook;
-    s_visualCategories[OsmTag("shop", "gift")]                  = \
                GeoDataFeature::ShopGift;
-    s_visualCategories[OsmTag("shop", "stationery")]            = \
                GeoDataFeature::ShopStationery;
-    s_visualCategories[OsmTag("shop", "laundry")]               = \
                GeoDataFeature::ShopLaundry;
-    s_visualCategories[OsmTag("shop", "pet")]                   = \
                GeoDataFeature::ShopPet;
-    s_visualCategories[OsmTag("shop", "toys")]                  = \
                GeoDataFeature::ShopToys;
-    s_visualCategories[OsmTag("shop", "travel_agency")]         = \
GeoDataFeature::ShopTravelAgency; +    s_visualCategories[OsmTag("admin_level", "1")] \
= GeoDataPlacemark::AdminLevel1; +    s_visualCategories[OsmTag("admin_level", "2")]  \
= GeoDataPlacemark::AdminLevel2; +    s_visualCategories[OsmTag("admin_level", "3")]  \
= GeoDataPlacemark::AdminLevel3; +    s_visualCategories[OsmTag("admin_level", "4")]  \
= GeoDataPlacemark::AdminLevel4; +    s_visualCategories[OsmTag("admin_level", "5")]  \
= GeoDataPlacemark::AdminLevel5; +    s_visualCategories[OsmTag("admin_level", "6")]  \
= GeoDataPlacemark::AdminLevel6; +    s_visualCategories[OsmTag("admin_level", "7")]  \
= GeoDataPlacemark::AdminLevel7; +    s_visualCategories[OsmTag("admin_level", "8")]  \
= GeoDataPlacemark::AdminLevel8; +    s_visualCategories[OsmTag("admin_level", "9")]  \
= GeoDataPlacemark::AdminLevel9; +    s_visualCategories[OsmTag("admin_level", "10")] \
= GeoDataPlacemark::AdminLevel10; +    s_visualCategories[OsmTag("admin_level", \
"11")]             = GeoDataPlacemark::AdminLevel11; +
+    s_visualCategories[OsmTag("boundary", "maritime")]          = \
GeoDataPlacemark::BoundaryMaritime; +
+    s_visualCategories[OsmTag("amenity", "restaurant")]         = \
GeoDataPlacemark::FoodRestaurant; +    s_visualCategories[OsmTag("amenity", \
"fast_food")]          = GeoDataPlacemark::FoodFastFood; +    \
s_visualCategories[OsmTag("amenity", "pub")]                = \
GeoDataPlacemark::FoodPub; +    s_visualCategories[OsmTag("amenity", "bar")]          \
= GeoDataPlacemark::FoodBar; +    s_visualCategories[OsmTag("amenity", "cafe")]       \
= GeoDataPlacemark::FoodCafe; +    s_visualCategories[OsmTag("amenity", \
"biergarten")]         = GeoDataPlacemark::FoodBiergarten; +    \
s_visualCategories[OsmTag("amenity", "school")]             = \
GeoDataPlacemark::EducationSchool; +    s_visualCategories[OsmTag("amenity", \
"college")]            = GeoDataPlacemark::EducationCollege; +    \
s_visualCategories[OsmTag("amenity", "library")]            = \
GeoDataPlacemark::AmenityLibrary; +    s_visualCategories[OsmTag("amenity", \
"kindergarten")]       = GeoDataPlacemark::AmenityKindergarten; +    \
s_visualCategories[OsmTag("amenity", "childcare")]          = \
GeoDataPlacemark::AmenityKindergarten; +    s_visualCategories[OsmTag("amenity", \
"university")]         = GeoDataPlacemark::EducationUniversity; +    \
s_visualCategories[OsmTag("amenity", "bus_station")]        = \
GeoDataPlacemark::TransportBusStation; +    s_visualCategories[OsmTag("amenity", \
"car_sharing")]        = GeoDataPlacemark::TransportCarShare; +    \
s_visualCategories[OsmTag("amenity", "fuel")]               = \
GeoDataPlacemark::TransportFuel; +    s_visualCategories[OsmTag("amenity", \
"parking")]            = GeoDataPlacemark::TransportParking; +    \
s_visualCategories[OsmTag("amenity", "parking_space")]      = \
GeoDataPlacemark::TransportParkingSpace; +    s_visualCategories[OsmTag("amenity", \
"atm")]                = GeoDataPlacemark::MoneyAtm; +    \
s_visualCategories[OsmTag("amenity", "bank")]               = \
GeoDataPlacemark::MoneyBank; +
+    s_visualCategories[OsmTag("historic", "archaeological_site")] = \
GeoDataPlacemark::AmenityArchaeologicalSite; +    \
s_visualCategories[OsmTag("amenity", "embassy")]            = \
GeoDataPlacemark::AmenityEmbassy; +    s_visualCategories[OsmTag("emergency", \
"phone")]            = GeoDataPlacemark::AmenityEmergencyPhone; +    \
s_visualCategories[OsmTag("leisure", "water_park")]         = \
GeoDataPlacemark::AmenityWaterPark; +    s_visualCategories[OsmTag("amenity", \
"community_centre")]   = GeoDataPlacemark::AmenityCommunityCentre; +    \
s_visualCategories[OsmTag("amenity", "fountain")]           = \
GeoDataPlacemark::AmenityFountain; +    s_visualCategories[OsmTag("amenity", \
"nightclub")]          = GeoDataPlacemark::AmenityNightClub; +    \
s_visualCategories[OsmTag("amenity", "bench")]              = \
GeoDataPlacemark::AmenityBench; +    s_visualCategories[OsmTag("amenity", \
"courthouse")]         = GeoDataPlacemark::AmenityCourtHouse; +    \
s_visualCategories[OsmTag("amenity", "fire_station")]       = \
GeoDataPlacemark::AmenityFireStation; +    s_visualCategories[OsmTag("amenity", \
"hunting_stand")]      = GeoDataPlacemark::AmenityHuntingStand; +    \
s_visualCategories[OsmTag("amenity", "police")]             = \
GeoDataPlacemark::AmenityPolice; +    s_visualCategories[OsmTag("amenity", \
"post_box")]           = GeoDataPlacemark::AmenityPostBox; +    \
s_visualCategories[OsmTag("amenity", "post_office")]        = \
GeoDataPlacemark::AmenityPostOffice; +    s_visualCategories[OsmTag("amenity", \
"prison")]             = GeoDataPlacemark::AmenityPrison; +    \
s_visualCategories[OsmTag("amenity", "recycling")]          = \
GeoDataPlacemark::AmenityRecycling; +    s_visualCategories[OsmTag("amenity", \
"shelter")]            = GeoDataPlacemark::AmenityShelter; +    \
s_visualCategories[OsmTag("amenity", "telephone")]          = \
GeoDataPlacemark::AmenityTelephone; +    s_visualCategories[OsmTag("amenity", \
"toilets")]            = GeoDataPlacemark::AmenityToilets; +    \
s_visualCategories[OsmTag("amenity", "townhall")]           = \
GeoDataPlacemark::AmenityTownHall; +    s_visualCategories[OsmTag("amenity", \
"waste_basket")]       = GeoDataPlacemark::AmenityWasteBasket; +    \
s_visualCategories[OsmTag("amenity", "drinking_water")]     = \
GeoDataPlacemark::AmenityDrinkingWater; +    s_visualCategories[OsmTag("amenity", \
"graveyard")]          = GeoDataPlacemark::AmenityGraveyard; +
+    s_visualCategories[OsmTag("amenity", "dentist")]            = \
GeoDataPlacemark::HealthDentist; +    s_visualCategories[OsmTag("amenity", \
"pharmacy")]           = GeoDataPlacemark::HealthPharmacy; +    \
s_visualCategories[OsmTag("amenity", "hospital")]           = \
GeoDataPlacemark::HealthHospital; +    s_visualCategories[OsmTag("amenity", \
"doctors")]            = GeoDataPlacemark::HealthDoctors; +    \
s_visualCategories[OsmTag("amenity", "veterinary")]         = \
GeoDataPlacemark::HealthVeterinary; +
+    s_visualCategories[OsmTag("amenity", "cinema")]             = \
GeoDataPlacemark::TouristCinema; +    s_visualCategories[OsmTag("tourism", \
"information")]        = GeoDataPlacemark::TouristInformation; +    \
s_visualCategories[OsmTag("amenity", "theatre")]            = \
GeoDataPlacemark::TouristTheatre; +    s_visualCategories[OsmTag("amenity", \
"place_of_worship")]   = GeoDataPlacemark::ReligionPlaceOfWorship; +
+    s_visualCategories[OsmTag("natural", "peak")]               = \
GeoDataPlacemark::NaturalPeak; +    s_visualCategories[OsmTag("natural", "tree")]     \
= GeoDataPlacemark::NaturalTree; +
+    s_visualCategories[OsmTag("shop", "beverages")]             = \
GeoDataPlacemark::ShopBeverages; +    s_visualCategories[OsmTag("shop", "hifi")]      \
= GeoDataPlacemark::ShopHifi; +    s_visualCategories[OsmTag("shop", "supermarket")]  \
= GeoDataPlacemark::ShopSupermarket; +    s_visualCategories[OsmTag("shop", \
"alcohol")]               = GeoDataPlacemark::ShopAlcohol; +    \
s_visualCategories[OsmTag("shop", "bakery")]                = \
GeoDataPlacemark::ShopBakery; +    s_visualCategories[OsmTag("shop", "butcher")]      \
= GeoDataPlacemark::ShopButcher; +    s_visualCategories[OsmTag("shop", \
"confectionery")]         = GeoDataPlacemark::ShopConfectionery; +    \
s_visualCategories[OsmTag("shop", "convenience")]           = \
GeoDataPlacemark::ShopConvenience; +    s_visualCategories[OsmTag("shop", \
"greengrocer")]           = GeoDataPlacemark::ShopGreengrocer; +    \
s_visualCategories[OsmTag("shop", "seafood")]               = \
GeoDataPlacemark::ShopSeafood; +    s_visualCategories[OsmTag("shop", \
"department_store")]      = GeoDataPlacemark::ShopDepartmentStore; +    \
s_visualCategories[OsmTag("shop", "kiosk")]                 = \
GeoDataPlacemark::ShopKiosk; +    s_visualCategories[OsmTag("shop", "bag")]           \
= GeoDataPlacemark::ShopBag; +    s_visualCategories[OsmTag("shop", "clothes")]       \
= GeoDataPlacemark::ShopClothes; +    s_visualCategories[OsmTag("shop", "fashion")]   \
= GeoDataPlacemark::ShopFashion; +    s_visualCategories[OsmTag("shop", "jewelry")]   \
= GeoDataPlacemark::ShopJewelry; +    s_visualCategories[OsmTag("shop", "shoes")]     \
= GeoDataPlacemark::ShopShoes; +    s_visualCategories[OsmTag("shop", \
"variety_store")]         = GeoDataPlacemark::ShopVarietyStore; +    \
s_visualCategories[OsmTag("shop", "beauty")]                = \
GeoDataPlacemark::ShopBeauty; +    s_visualCategories[OsmTag("shop", "chemist")]      \
= GeoDataPlacemark::ShopChemist; +    s_visualCategories[OsmTag("shop", "cosmetics")] \
= GeoDataPlacemark::ShopCosmetics; +    s_visualCategories[OsmTag("shop", \
"hairdresser")]           = GeoDataPlacemark::ShopHairdresser; +    \
s_visualCategories[OsmTag("shop", "optician")]              = \
GeoDataPlacemark::ShopOptician; +    s_visualCategories[OsmTag("shop", "perfumery")]  \
= GeoDataPlacemark::ShopPerfumery; +    s_visualCategories[OsmTag("shop", \
"doityourself")]          = GeoDataPlacemark::ShopDoitYourself; +    \
s_visualCategories[OsmTag("shop", "florist")]               = \
GeoDataPlacemark::ShopFlorist; +    s_visualCategories[OsmTag("shop", "hardware")]    \
= GeoDataPlacemark::ShopHardware; +    s_visualCategories[OsmTag("shop", \
"furniture")]             = GeoDataPlacemark::ShopFurniture; +    \
s_visualCategories[OsmTag("shop", "electronics")]           = \
GeoDataPlacemark::ShopElectronics; +    s_visualCategories[OsmTag("shop", \
"mobile_phone")]          = GeoDataPlacemark::ShopMobilePhone; +    \
s_visualCategories[OsmTag("shop", "bicycle")]               = \
GeoDataPlacemark::ShopBicycle; +    s_visualCategories[OsmTag("shop", "car")]         \
= GeoDataPlacemark::ShopCar; +    s_visualCategories[OsmTag("shop", "car_repair")]    \
= GeoDataPlacemark::ShopCarRepair; +    s_visualCategories[OsmTag("shop", \
"car_parts")]             = GeoDataPlacemark::ShopCarParts; +    \
s_visualCategories[OsmTag("shop", "motorcycle")]            = \
GeoDataPlacemark::ShopMotorcycle; +    s_visualCategories[OsmTag("shop", "outdoor")]  \
= GeoDataPlacemark::ShopOutdoor; +    s_visualCategories[OsmTag("shop", \
"musical_instrument")]    = GeoDataPlacemark::ShopMusicalInstrument; +    \
s_visualCategories[OsmTag("shop", "photo")]                 = \
GeoDataPlacemark::ShopPhoto; +    s_visualCategories[OsmTag("shop", "books")]         \
= GeoDataPlacemark::ShopBook; +    s_visualCategories[OsmTag("shop", "gift")]         \
= GeoDataPlacemark::ShopGift; +    s_visualCategories[OsmTag("shop", "stationery")]   \
= GeoDataPlacemark::ShopStationery; +    s_visualCategories[OsmTag("shop", \
"laundry")]               = GeoDataPlacemark::ShopLaundry; +    \
s_visualCategories[OsmTag("shop", "pet")]                   = \
GeoDataPlacemark::ShopPet; +    s_visualCategories[OsmTag("shop", "toys")]            \
= GeoDataPlacemark::ShopToys; +    s_visualCategories[OsmTag("shop", \
"travel_agency")]         = GeoDataPlacemark::ShopTravelAgency;  
     // Default for all other shops
     foreach (const QString &value, shopValues()) {
-        s_visualCategories[OsmTag("shop", value)]               = \
GeoDataFeature::Shop; +        s_visualCategories[OsmTag("shop", value)]              \
= GeoDataPlacemark::Shop;  }
 
-    s_visualCategories[OsmTag("man_made", "bridge")]            = \
                GeoDataFeature::ManmadeBridge;
-    s_visualCategories[OsmTag("man_made", "lighthouse")]        = \
                GeoDataFeature::ManmadeLighthouse;
-    s_visualCategories[OsmTag("man_made", "pier")]              = \
                GeoDataFeature::ManmadePier;
-    s_visualCategories[OsmTag("man_made", "water_tower")]       = \
                GeoDataFeature::ManmadeWaterTower;
-    s_visualCategories[OsmTag("man_made", "windmill")]          = \
                GeoDataFeature::ManmadeWindMill;
-
-    s_visualCategories[OsmTag("religion", "")]                  = \
                GeoDataFeature::ReligionPlaceOfWorship;
-    s_visualCategories[OsmTag("religion", "bahai")]             = \
                GeoDataFeature::ReligionBahai;
-    s_visualCategories[OsmTag("religion", "buddhist")]          = \
                GeoDataFeature::ReligionBuddhist;
-    s_visualCategories[OsmTag("religion", "christian")]         = \
                GeoDataFeature::ReligionChristian;
-    s_visualCategories[OsmTag("religion", "muslim")]            = \
                GeoDataFeature::ReligionMuslim;
-    s_visualCategories[OsmTag("religion", "hindu")]             = \
                GeoDataFeature::ReligionHindu;
-    s_visualCategories[OsmTag("religion", "jain")]              = \
                GeoDataFeature::ReligionJain;
-    s_visualCategories[OsmTag("religion", "jewish")]            = \
                GeoDataFeature::ReligionJewish;
-    s_visualCategories[OsmTag("religion", "shinto")]            = \
                GeoDataFeature::ReligionShinto;
-    s_visualCategories[OsmTag("religion", "sikh")]              = \
                GeoDataFeature::ReligionSikh;
-
-    s_visualCategories[OsmTag("historic", "memorial")]          = \
                GeoDataFeature::TouristAttraction;
-    s_visualCategories[OsmTag("tourism", "attraction")]         = \
                GeoDataFeature::TouristAttraction;
-    s_visualCategories[OsmTag("tourism", "camp_site")]          = \
                GeoDataFeature::AccomodationCamping;
-    s_visualCategories[OsmTag("tourism", "hostel")]             = \
                GeoDataFeature::AccomodationHostel;
-    s_visualCategories[OsmTag("tourism", "hotel")]              = \
                GeoDataFeature::AccomodationHotel;
-    s_visualCategories[OsmTag("tourism", "motel")]              = \
                GeoDataFeature::AccomodationMotel;
-    s_visualCategories[OsmTag("tourism", "guest_house")]        = \
                GeoDataFeature::AccomodationGuestHouse;
-    s_visualCategories[OsmTag("tourism", "museum")]             = \
                GeoDataFeature::TouristMuseum;
-    s_visualCategories[OsmTag("tourism", "theme_park")]         = \
                GeoDataFeature::TouristThemePark;
-    s_visualCategories[OsmTag("tourism", "viewpoint")]          = \
                GeoDataFeature::TouristViewPoint;
-    s_visualCategories[OsmTag("tourism", "zoo")]                = \
                GeoDataFeature::TouristZoo;
-    s_visualCategories[OsmTag("tourism", "alpine_hut")]         = \
                GeoDataFeature::TouristAlpineHut;
-
-    s_visualCategories[OsmTag("barrier", "city_wall")]           = \
                GeoDataFeature::BarrierCityWall;
-    s_visualCategories[OsmTag("barrier", "gate")]               = \
                GeoDataFeature::BarrierGate;
-    s_visualCategories[OsmTag("barrier", "lift_gate")]           = \
                GeoDataFeature::BarrierLiftGate;
-    s_visualCategories[OsmTag("barrier", "wall")]               = \
                GeoDataFeature::BarrierWall;
-
-    s_visualCategories[OsmTag("historic", "castle")]            = \
                GeoDataFeature::TouristCastle;
-    s_visualCategories[OsmTag("historic", "fort")]              = \
                GeoDataFeature::TouristCastle;
-    s_visualCategories[OsmTag("historic", "monument")]          = \
                GeoDataFeature::TouristMonument;
-    s_visualCategories[OsmTag("historic", "ruins")]             = \
                GeoDataFeature::TouristRuin;
-
-    s_visualCategories[OsmTag("highway", "traffic_signals")]    = \
                GeoDataFeature::HighwayTrafficSignals;
-
-    s_visualCategories[OsmTag("highway", "unknown")]            = \
                GeoDataFeature::HighwayUnknown;
-    s_visualCategories[OsmTag("highway", "steps")]              = \
                GeoDataFeature::HighwaySteps;
-    s_visualCategories[OsmTag("highway", "footway")]            = \
                GeoDataFeature::HighwayFootway;
-    s_visualCategories[OsmTag("highway", "cycleway")]           = \
                GeoDataFeature::HighwayCycleway;
-    s_visualCategories[OsmTag("highway", "path")]               = \
                GeoDataFeature::HighwayPath;
-    s_visualCategories[OsmTag("highway", "track")]              = \
                GeoDataFeature::HighwayTrack;
-    s_visualCategories[OsmTag("highway", "pedestrian")]         = \
                GeoDataFeature::HighwayPedestrian;
-    s_visualCategories[OsmTag("highway", "service")]            = \
                GeoDataFeature::HighwayService;
-    s_visualCategories[OsmTag("highway", "living_street")]      = \
                GeoDataFeature::HighwayLivingStreet;
-    s_visualCategories[OsmTag("highway", "unclassified")]       = \
                GeoDataFeature::HighwayUnclassified;
-    s_visualCategories[OsmTag("highway", "residential")]        = \
                GeoDataFeature::HighwayResidential;
-    s_visualCategories[OsmTag("highway", "road")]               = \
                GeoDataFeature::HighwayRoad;
-    s_visualCategories[OsmTag("highway", "tertiary_link")]      = \
                GeoDataFeature::HighwayTertiaryLink;
-    s_visualCategories[OsmTag("highway", "tertiary")]           = \
                GeoDataFeature::HighwayTertiary;
-    s_visualCategories[OsmTag("highway", "secondary_link")]     = \
                GeoDataFeature::HighwaySecondaryLink;
-    s_visualCategories[OsmTag("highway", "secondary")]          = \
                GeoDataFeature::HighwaySecondary;
-    s_visualCategories[OsmTag("highway", "primary_link")]       = \
                GeoDataFeature::HighwayPrimaryLink;
-    s_visualCategories[OsmTag("highway", "primary")]            = \
                GeoDataFeature::HighwayPrimary;
-    s_visualCategories[OsmTag("highway", "trunk_link")]         = \
                GeoDataFeature::HighwayTrunkLink;
-    s_visualCategories[OsmTag("highway", "trunk")]              = \
                GeoDataFeature::HighwayTrunk;
-    s_visualCategories[OsmTag("highway", "motorway_link")]      = \
                GeoDataFeature::HighwayMotorwayLink;
-    s_visualCategories[OsmTag("highway", "motorway")]           = \
                GeoDataFeature::HighwayMotorway;
-
-    s_visualCategories[OsmTag("natural", "water")]              = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("natural", "reef")]               = \
                GeoDataFeature::NaturalReef;
-    s_visualCategories[OsmTag("natural", "bay")]                = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("natural", "coastline")]          = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("waterway", "stream")]            = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("waterway", "river")]             = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("waterway", "riverbank")]         = \
                GeoDataFeature::NaturalWater;
-    s_visualCategories[OsmTag("waterway", "canal")]             = \
                GeoDataFeature::NaturalWater;
-
-    s_visualCategories[OsmTag("natural", "wood")]               = \
                GeoDataFeature::NaturalWood;
-    s_visualCategories[OsmTag("natural", "beach")]              = \
                GeoDataFeature::NaturalBeach;
-    s_visualCategories[OsmTag("natural", "wetland")]            = \
                GeoDataFeature::NaturalWetland;
-    s_visualCategories[OsmTag("natural", "glacier")]            = \
                GeoDataFeature::NaturalGlacier;
-    s_visualCategories[OsmTag("glacier:type", "shelf")]         = \
                GeoDataFeature::NaturalIceShelf;
-    s_visualCategories[OsmTag("natural", "scrub")]              = \
                GeoDataFeature::NaturalScrub;
-    s_visualCategories[OsmTag("natural", "cliff")]              = \
                GeoDataFeature::NaturalCliff;
-
-    s_visualCategories[OsmTag("military", "danger_area")]       = \
                GeoDataFeature::MilitaryDangerArea;
-
-    s_visualCategories[OsmTag("landuse", "forest")]             = \
                GeoDataFeature::NaturalWood;
-    s_visualCategories[OsmTag("landuse", "allotments")]         = \
                GeoDataFeature::LanduseAllotments;
-    s_visualCategories[OsmTag("landuse", "basin")]              = \
                GeoDataFeature::LanduseBasin;
-    s_visualCategories[OsmTag("landuse", "brownfield")]         = \
                GeoDataFeature::LanduseConstruction;
-    s_visualCategories[OsmTag("landuse", "cemetery")]           = \
                GeoDataFeature::LanduseCemetery;
-    s_visualCategories[OsmTag("landuse", "commercial")]         = \
                GeoDataFeature::LanduseCommercial;
-    s_visualCategories[OsmTag("landuse", "construction")]       = \
                GeoDataFeature::LanduseConstruction;
-    s_visualCategories[OsmTag("landuse", "farm")]               = \
                GeoDataFeature::LanduseFarmland;
-    s_visualCategories[OsmTag("landuse", "farmland")]           = \
                GeoDataFeature::LanduseFarmland;
-    s_visualCategories[OsmTag("landuse", "greenhouse_horticulture")] = \
                GeoDataFeature::LanduseFarmland;
-    s_visualCategories[OsmTag("landuse", "farmyard")]           = \
                GeoDataFeature::LanduseFarmland;
-    s_visualCategories[OsmTag("landuse", "garages")]            = \
                GeoDataFeature::LanduseGarages;
-    s_visualCategories[OsmTag("landuse", "greenfield")]         = \
                GeoDataFeature::LanduseConstruction;
-    s_visualCategories[OsmTag("landuse", "industrial")]         = \
                GeoDataFeature::LanduseIndustrial;
-    s_visualCategories[OsmTag("landuse", "landfill")]           = \
                GeoDataFeature::LanduseLandfill;
-    s_visualCategories[OsmTag("landuse", "meadow")]             = \
                GeoDataFeature::LanduseMeadow;
-    s_visualCategories[OsmTag("landuse", "military")]           = \
                GeoDataFeature::LanduseMilitary;
-    s_visualCategories[OsmTag("landuse", "orchard")]            = \
                GeoDataFeature::LanduseFarmland;
-    s_visualCategories[OsmTag("landuse", "quarry")]             = \
                GeoDataFeature::LanduseQuarry;
-    s_visualCategories[OsmTag("landuse", "railway")]            = \
                GeoDataFeature::LanduseRailway;
-    s_visualCategories[OsmTag("landuse", "recreation_ground")]  = \
                GeoDataFeature::LeisurePark;
-    s_visualCategories[OsmTag("landuse", "reservoir")]          = \
                GeoDataFeature::LanduseReservoir;
-    s_visualCategories[OsmTag("landuse", "residential")]        = \
                GeoDataFeature::LanduseResidential;
-    s_visualCategories[OsmTag("landuse", "retail")]             = \
                GeoDataFeature::LanduseRetail;
-    s_visualCategories[OsmTag("landuse", "orchard")]            = \
                GeoDataFeature::LanduseOrchard;
-    s_visualCategories[OsmTag("landuse", "vineyard")]           = \
                GeoDataFeature::LanduseVineyard;
-    s_visualCategories[OsmTag("landuse", "village_green")]      = \
                GeoDataFeature::LanduseGrass;
-    s_visualCategories[OsmTag("landuse", "grass")]              = \
                GeoDataFeature::LanduseGrass;
-
-    s_visualCategories[OsmTag("leisure", "common")]             = \
                GeoDataFeature::LanduseGrass;
-    s_visualCategories[OsmTag("leisure", "garden")]             = \
                GeoDataFeature::LanduseGrass;
-    s_visualCategories[OsmTag("leisure", "golf_course")]        = \
                GeoDataFeature::LeisureGolfCourse;
-    s_visualCategories[OsmTag("leisure", "marina")]             = \
                GeoDataFeature::LeisureMarina;
-    s_visualCategories[OsmTag("leisure", "park")]               = \
                GeoDataFeature::LeisurePark;
-    s_visualCategories[OsmTag("leisure", "playground")]         = \
                GeoDataFeature::LeisurePlayground;
-    s_visualCategories[OsmTag("leisure", "pitch")]              = \
                GeoDataFeature::LeisurePitch;
-    s_visualCategories[OsmTag("leisure", "sports_centre")]      = \
                GeoDataFeature::LeisureSportsCentre;
-    s_visualCategories[OsmTag("leisure", "stadium")]            = \
                GeoDataFeature::LeisureStadium;
-    s_visualCategories[OsmTag("leisure", "track")]              = \
                GeoDataFeature::LeisureTrack;
-    s_visualCategories[OsmTag("leisure", "swimming_pool")]      = \
                GeoDataFeature::LeisureSwimmingPool;
-
-    s_visualCategories[OsmTag("railway", "rail")]               = \
                GeoDataFeature::RailwayRail;
-    s_visualCategories[OsmTag("railway", "narrow_gauge")]       = \
                GeoDataFeature::RailwayNarrowGauge;
-    s_visualCategories[OsmTag("railway", "tram")]               = \
                GeoDataFeature::RailwayTram;
-    s_visualCategories[OsmTag("railway", "light_rail")]         = \
                GeoDataFeature::RailwayLightRail;
-    s_visualCategories[OsmTag("railway", "preserved")]          = \
                GeoDataFeature::RailwayPreserved;
-    s_visualCategories[OsmTag("railway", "abandoned")]          = \
                GeoDataFeature::RailwayAbandoned;
-    s_visualCategories[OsmTag("railway", "disused")]            = \
                GeoDataFeature::RailwayAbandoned;
-    s_visualCategories[OsmTag("railway", "razed")]              = \
                GeoDataFeature::RailwayAbandoned;
-    s_visualCategories[OsmTag("railway", "subway")]             = \
                GeoDataFeature::RailwaySubway;
-    s_visualCategories[OsmTag("railway", "miniature")]          = \
                GeoDataFeature::RailwayMiniature;
-    s_visualCategories[OsmTag("railway", "construction")]       = \
                GeoDataFeature::RailwayConstruction;
-    s_visualCategories[OsmTag("railway", "monorail")]           = \
                GeoDataFeature::RailwayMonorail;
-    s_visualCategories[OsmTag("railway", "funicular")]          = \
                GeoDataFeature::RailwayFunicular;
-    s_visualCategories[OsmTag("railway", "platform")]           = \
                GeoDataFeature::TransportPlatform;
-    s_visualCategories[OsmTag("railway", "station")]            = \
                GeoDataFeature::TransportTrainStation;
-    s_visualCategories[OsmTag("railway", "halt")]               = \
                GeoDataFeature::TransportTrainStation;
-
-    s_visualCategories[OsmTag("power", "tower")]                = \
                GeoDataFeature::PowerTower;
-
-    s_visualCategories[OsmTag("aeroway", "aerodrome")]          = \
                GeoDataFeature::TransportAerodrome;
-    s_visualCategories[OsmTag("aeroway", "helipad")]            = \
                GeoDataFeature::TransportHelipad;
-    s_visualCategories[OsmTag("aeroway", "gate")]               = \
                GeoDataFeature::TransportAirportGate;
-    s_visualCategories[OsmTag("aeroway", "runway")]             = \
                GeoDataFeature::TransportAirportRunway;
-    s_visualCategories[OsmTag("aeroway", "apron")]              = \
                GeoDataFeature::TransportAirportApron;
-    s_visualCategories[OsmTag("aeroway", "taxiway")]            = \
                GeoDataFeature::TransportAirportTaxiway;
-    s_visualCategories[OsmTag("transport", "airpor_terminal")]  = \
                GeoDataFeature::TransportAirportTerminal;
-    s_visualCategories[OsmTag("transport", "bus_station")]      = \
                GeoDataFeature::TransportBusStation;
-    s_visualCategories[OsmTag("highway", "bus_stop")]           = \
                GeoDataFeature::TransportBusStop;
-    s_visualCategories[OsmTag("transport", "car_share")]        = \
                GeoDataFeature::TransportCarShare;
-    s_visualCategories[OsmTag("transport", "fuel")]             = \
                GeoDataFeature::TransportFuel;
-    s_visualCategories[OsmTag("transport", "parking")]          = \
                GeoDataFeature::TransportParking;
-    s_visualCategories[OsmTag("public_transport", "platform")]  = \
                GeoDataFeature::TransportPlatform;
-    s_visualCategories[OsmTag("amenity", "bicycle_rental")]     = \
                GeoDataFeature::TransportRentalBicycle;
-    s_visualCategories[OsmTag("amenity", "car_rental")]         = \
                GeoDataFeature::TransportRentalCar;
-    s_visualCategories[OsmTag("amenity", "taxi")]               = \
                GeoDataFeature::TransportTaxiRank;
-    s_visualCategories[OsmTag("transport", "train_station")]    = \
                GeoDataFeature::TransportTrainStation;
-    s_visualCategories[OsmTag("transport", "tram_stop")]        = \
                GeoDataFeature::TransportTramStop;
-    s_visualCategories[OsmTag("transport", "bus_stop")]         = \
                GeoDataFeature::TransportBusStop;
-    s_visualCategories[OsmTag("amenity", "bicycle_parking")]    = \
                GeoDataFeature::TransportBicycleParking;
-    s_visualCategories[OsmTag("amenity", "motorcycle_parking")] = \
                GeoDataFeature::TransportMotorcycleParking;
-    s_visualCategories[OsmTag("railway", "subway_entrance")]    = \
                GeoDataFeature::TransportSubwayEntrance;
-
-    s_visualCategories[OsmTag("place", "city")]                 = \
                GeoDataFeature::PlaceCity;
-    s_visualCategories[OsmTag("place", "suburb")]               = \
                GeoDataFeature::PlaceSuburb;
-    s_visualCategories[OsmTag("place", "hamlet")]               = \
                GeoDataFeature::PlaceHamlet;
-    s_visualCategories[OsmTag("place", "locality")]             = \
                GeoDataFeature::PlaceLocality;
-    s_visualCategories[OsmTag("place", "town")]                 = \
                GeoDataFeature::PlaceTown;
-    s_visualCategories[OsmTag("place", "village")]              = \
GeoDataFeature::PlaceVillage; +    s_visualCategories[OsmTag("man_made", "bridge")]   \
= GeoDataPlacemark::ManmadeBridge; +    s_visualCategories[OsmTag("man_made", \
"lighthouse")]        = GeoDataPlacemark::ManmadeLighthouse; +    \
s_visualCategories[OsmTag("man_made", "pier")]              = \
GeoDataPlacemark::ManmadePier; +    s_visualCategories[OsmTag("man_made", \
"water_tower")]       = GeoDataPlacemark::ManmadeWaterTower; +    \
s_visualCategories[OsmTag("man_made", "windmill")]          = \
GeoDataPlacemark::ManmadeWindMill; +
+    s_visualCategories[OsmTag("religion", "")]                  = \
GeoDataPlacemark::ReligionPlaceOfWorship; +    s_visualCategories[OsmTag("religion", \
"bahai")]             = GeoDataPlacemark::ReligionBahai; +    \
s_visualCategories[OsmTag("religion", "buddhist")]          = \
GeoDataPlacemark::ReligionBuddhist; +    s_visualCategories[OsmTag("religion", \
"christian")]         = GeoDataPlacemark::ReligionChristian; +    \
s_visualCategories[OsmTag("religion", "muslim")]            = \
GeoDataPlacemark::ReligionMuslim; +    s_visualCategories[OsmTag("religion", \
"hindu")]             = GeoDataPlacemark::ReligionHindu; +    \
s_visualCategories[OsmTag("religion", "jain")]              = \
GeoDataPlacemark::ReligionJain; +    s_visualCategories[OsmTag("religion", "jewish")] \
= GeoDataPlacemark::ReligionJewish; +    s_visualCategories[OsmTag("religion", \
"shinto")]            = GeoDataPlacemark::ReligionShinto; +    \
s_visualCategories[OsmTag("religion", "sikh")]              = \
GeoDataPlacemark::ReligionSikh; +
+    s_visualCategories[OsmTag("historic", "memorial")]          = \
GeoDataPlacemark::TouristAttraction; +    s_visualCategories[OsmTag("tourism", \
"attraction")]         = GeoDataPlacemark::TouristAttraction; +    \
s_visualCategories[OsmTag("tourism", "camp_site")]          = \
GeoDataPlacemark::AccomodationCamping; +    s_visualCategories[OsmTag("tourism", \
"hostel")]             = GeoDataPlacemark::AccomodationHostel; +    \
s_visualCategories[OsmTag("tourism", "hotel")]              = \
GeoDataPlacemark::AccomodationHotel; +    s_visualCategories[OsmTag("tourism", \
"motel")]              = GeoDataPlacemark::AccomodationMotel; +    \
s_visualCategories[OsmTag("tourism", "guest_house")]        = \
GeoDataPlacemark::AccomodationGuestHouse; +    s_visualCategories[OsmTag("tourism", \
"museum")]             = GeoDataPlacemark::TouristMuseum; +    \
s_visualCategories[OsmTag("tourism", "theme_park")]         = \
GeoDataPlacemark::TouristThemePark; +    s_visualCategories[OsmTag("tourism", \
"viewpoint")]          = GeoDataPlacemark::TouristViewPoint; +    \
s_visualCategories[OsmTag("tourism", "zoo")]                = \
GeoDataPlacemark::TouristZoo; +    s_visualCategories[OsmTag("tourism", \
"alpine_hut")]         = GeoDataPlacemark::TouristAlpineHut; +
+    s_visualCategories[OsmTag("barrier", "city_wall")]           = \
GeoDataPlacemark::BarrierCityWall; +    s_visualCategories[OsmTag("barrier", "gate")] \
= GeoDataPlacemark::BarrierGate; +    s_visualCategories[OsmTag("barrier", \
"lift_gate")]           = GeoDataPlacemark::BarrierLiftGate; +    \
s_visualCategories[OsmTag("barrier", "wall")]               = \
GeoDataPlacemark::BarrierWall; +
+    s_visualCategories[OsmTag("historic", "castle")]            = \
GeoDataPlacemark::TouristCastle; +    s_visualCategories[OsmTag("historic", "fort")]  \
= GeoDataPlacemark::TouristCastle; +    s_visualCategories[OsmTag("historic", \
"monument")]          = GeoDataPlacemark::TouristMonument; +    \
s_visualCategories[OsmTag("historic", "ruins")]             = \
GeoDataPlacemark::TouristRuin; +
+    s_visualCategories[OsmTag("highway", "traffic_signals")]    = \
GeoDataPlacemark::HighwayTrafficSignals; +
+    s_visualCategories[OsmTag("highway", "unknown")]            = \
GeoDataPlacemark::HighwayUnknown; +    s_visualCategories[OsmTag("highway", "steps")] \
= GeoDataPlacemark::HighwaySteps; +    s_visualCategories[OsmTag("highway", \
"footway")]            = GeoDataPlacemark::HighwayFootway; +    \
s_visualCategories[OsmTag("highway", "cycleway")]           = \
GeoDataPlacemark::HighwayCycleway; +    s_visualCategories[OsmTag("highway", "path")] \
= GeoDataPlacemark::HighwayPath; +    s_visualCategories[OsmTag("highway", "track")]  \
= GeoDataPlacemark::HighwayTrack; +    s_visualCategories[OsmTag("highway", \
"pedestrian")]         = GeoDataPlacemark::HighwayPedestrian; +    \
s_visualCategories[OsmTag("highway", "service")]            = \
GeoDataPlacemark::HighwayService; +    s_visualCategories[OsmTag("highway", \
"living_street")]      = GeoDataPlacemark::HighwayLivingStreet; +    \
s_visualCategories[OsmTag("highway", "unclassified")]       = \
GeoDataPlacemark::HighwayUnclassified; +    s_visualCategories[OsmTag("highway", \
"residential")]        = GeoDataPlacemark::HighwayResidential; +    \
s_visualCategories[OsmTag("highway", "road")]               = \
GeoDataPlacemark::HighwayRoad; +    s_visualCategories[OsmTag("highway", \
"tertiary_link")]      = GeoDataPlacemark::HighwayTertiaryLink; +    \
s_visualCategories[OsmTag("highway", "tertiary")]           = \
GeoDataPlacemark::HighwayTertiary; +    s_visualCategories[OsmTag("highway", \
"secondary_link")]     = GeoDataPlacemark::HighwaySecondaryLink; +    \
s_visualCategories[OsmTag("highway", "secondary")]          = \
GeoDataPlacemark::HighwaySecondary; +    s_visualCategories[OsmTag("highway", \
"primary_link")]       = GeoDataPlacemark::HighwayPrimaryLink; +    \
s_visualCategories[OsmTag("highway", "primary")]            = \
GeoDataPlacemark::HighwayPrimary; +    s_visualCategories[OsmTag("highway", \
"trunk_link")]         = GeoDataPlacemark::HighwayTrunkLink; +    \
s_visualCategories[OsmTag("highway", "trunk")]              = \
GeoDataPlacemark::HighwayTrunk; +    s_visualCategories[OsmTag("highway", \
"motorway_link")]      = GeoDataPlacemark::HighwayMotorwayLink; +    \
s_visualCategories[OsmTag("highway", "motorway")]           = \
GeoDataPlacemark::HighwayMotorway; +
+    s_visualCategories[OsmTag("natural", "water")]              = \
GeoDataPlacemark::NaturalWater; +    s_visualCategories[OsmTag("natural", "reef")]    \
= GeoDataPlacemark::NaturalReef; +    s_visualCategories[OsmTag("natural", "bay")]    \
= GeoDataPlacemark::NaturalWater; +    s_visualCategories[OsmTag("natural", \
"coastline")]          = GeoDataPlacemark::NaturalWater; +    \
s_visualCategories[OsmTag("waterway", "stream")]            = \
GeoDataPlacemark::NaturalWater; +    s_visualCategories[OsmTag("waterway", "river")]  \
= GeoDataPlacemark::NaturalWater; +    s_visualCategories[OsmTag("waterway", \
"riverbank")]         = GeoDataPlacemark::NaturalWater; +    \
s_visualCategories[OsmTag("waterway", "canal")]             = \
GeoDataPlacemark::NaturalWater; +
+    s_visualCategories[OsmTag("natural", "wood")]               = \
GeoDataPlacemark::NaturalWood; +    s_visualCategories[OsmTag("natural", "beach")]    \
= GeoDataPlacemark::NaturalBeach; +    s_visualCategories[OsmTag("natural", \
"wetland")]            = GeoDataPlacemark::NaturalWetland; +    \
s_visualCategories[OsmTag("natural", "glacier")]            = \
GeoDataPlacemark::NaturalGlacier; +    s_visualCategories[OsmTag("glacier:type", \
"shelf")]         = GeoDataPlacemark::NaturalIceShelf; +    \
s_visualCategories[OsmTag("natural", "scrub")]              = \
GeoDataPlacemark::NaturalScrub; +    s_visualCategories[OsmTag("natural", "cliff")]   \
= GeoDataPlacemark::NaturalCliff; +
+    s_visualCategories[OsmTag("military", "danger_area")]       = \
GeoDataPlacemark::MilitaryDangerArea; +
+    s_visualCategories[OsmTag("landuse", "forest")]             = \
GeoDataPlacemark::NaturalWood; +    s_visualCategories[OsmTag("landuse", \
"allotments")]         = GeoDataPlacemark::LanduseAllotments; +    \
s_visualCategories[OsmTag("landuse", "basin")]              = \
GeoDataPlacemark::LanduseBasin; +    s_visualCategories[OsmTag("landuse", \
"brownfield")]         = GeoDataPlacemark::LanduseConstruction; +    \
s_visualCategories[OsmTag("landuse", "cemetery")]           = \
GeoDataPlacemark::LanduseCemetery; +    s_visualCategories[OsmTag("landuse", \
"commercial")]         = GeoDataPlacemark::LanduseCommercial; +    \
s_visualCategories[OsmTag("landuse", "construction")]       = \
GeoDataPlacemark::LanduseConstruction; +    s_visualCategories[OsmTag("landuse", \
"farm")]               = GeoDataPlacemark::LanduseFarmland; +    \
s_visualCategories[OsmTag("landuse", "farmland")]           = \
GeoDataPlacemark::LanduseFarmland; +    s_visualCategories[OsmTag("landuse", \
"greenhouse_horticulture")] = GeoDataPlacemark::LanduseFarmland; +    \
s_visualCategories[OsmTag("landuse", "farmyard")]           = \
GeoDataPlacemark::LanduseFarmland; +    s_visualCategories[OsmTag("landuse", \
"garages")]            = GeoDataPlacemark::LanduseGarages; +    \
s_visualCategories[OsmTag("landuse", "greenfield")]         = \
GeoDataPlacemark::LanduseConstruction; +    s_visualCategories[OsmTag("landuse", \
"industrial")]         = GeoDataPlacemark::LanduseIndustrial; +    \
s_visualCategories[OsmTag("landuse", "landfill")]           = \
GeoDataPlacemark::LanduseLandfill; +    s_visualCategories[OsmTag("landuse", \
"meadow")]             = GeoDataPlacemark::LanduseMeadow; +    \
s_visualCategories[OsmTag("landuse", "military")]           = \
GeoDataPlacemark::LanduseMilitary; +    s_visualCategories[OsmTag("landuse", \
"orchard")]            = GeoDataPlacemark::LanduseFarmland; +    \
s_visualCategories[OsmTag("landuse", "quarry")]             = \
GeoDataPlacemark::LanduseQuarry; +    s_visualCategories[OsmTag("landuse", \
"railway")]            = GeoDataPlacemark::LanduseRailway; +    \
s_visualCategories[OsmTag("landuse", "recreation_ground")]  = \
GeoDataPlacemark::LeisurePark; +    s_visualCategories[OsmTag("landuse", \
"reservoir")]          = GeoDataPlacemark::LanduseReservoir; +    \
s_visualCategories[OsmTag("landuse", "residential")]        = \
GeoDataPlacemark::LanduseResidential; +    s_visualCategories[OsmTag("landuse", \
"retail")]             = GeoDataPlacemark::LanduseRetail; +    \
s_visualCategories[OsmTag("landuse", "orchard")]            = \
GeoDataPlacemark::LanduseOrchard; +    s_visualCategories[OsmTag("landuse", \
"vineyard")]           = GeoDataPlacemark::LanduseVineyard; +    \
s_visualCategories[OsmTag("landuse", "village_green")]      = \
GeoDataPlacemark::LanduseGrass; +    s_visualCategories[OsmTag("landuse", "grass")]   \
= GeoDataPlacemark::LanduseGrass; +
+    s_visualCategories[OsmTag("leisure", "common")]             = \
GeoDataPlacemark::LanduseGrass; +    s_visualCategories[OsmTag("leisure", "garden")]  \
= GeoDataPlacemark::LanduseGrass; +    s_visualCategories[OsmTag("leisure", \
"golf_course")]        = GeoDataPlacemark::LeisureGolfCourse; +    \
s_visualCategories[OsmTag("leisure", "marina")]             = \
GeoDataPlacemark::LeisureMarina; +    s_visualCategories[OsmTag("leisure", "park")]   \
= GeoDataPlacemark::LeisurePark; +    s_visualCategories[OsmTag("leisure", \
"playground")]         = GeoDataPlacemark::LeisurePlayground; +    \
s_visualCategories[OsmTag("leisure", "pitch")]              = \
GeoDataPlacemark::LeisurePitch; +    s_visualCategories[OsmTag("leisure", \
"sports_centre")]      = GeoDataPlacemark::LeisureSportsCentre; +    \
s_visualCategories[OsmTag("leisure", "stadium")]            = \
GeoDataPlacemark::LeisureStadium; +    s_visualCategories[OsmTag("leisure", "track")] \
= GeoDataPlacemark::LeisureTrack; +    s_visualCategories[OsmTag("leisure", \
"swimming_pool")]      = GeoDataPlacemark::LeisureSwimmingPool; +
+    s_visualCategories[OsmTag("railway", "rail")]               = \
GeoDataPlacemark::RailwayRail; +    s_visualCategories[OsmTag("railway", \
"narrow_gauge")]       = GeoDataPlacemark::RailwayNarrowGauge; +    \
s_visualCategories[OsmTag("railway", "tram")]               = \
GeoDataPlacemark::RailwayTram; +    s_visualCategories[OsmTag("railway", \
"light_rail")]         = GeoDataPlacemark::RailwayLightRail; +    \
s_visualCategories[OsmTag("railway", "preserved")]          = \
GeoDataPlacemark::RailwayPreserved; +    s_visualCategories[OsmTag("railway", \
"abandoned")]          = GeoDataPlacemark::RailwayAbandoned; +    \
s_visualCategories[OsmTag("railway", "disused")]            = \
GeoDataPlacemark::RailwayAbandoned; +    s_visualCategories[OsmTag("railway", \
"razed")]              = GeoDataPlacemark::RailwayAbandoned; +    \
s_visualCategories[OsmTag("railway", "subway")]             = \
GeoDataPlacemark::RailwaySubway; +    s_visualCategories[OsmTag("railway", \
"miniature")]          = GeoDataPlacemark::RailwayMiniature; +    \
s_visualCategories[OsmTag("railway", "construction")]       = \
GeoDataPlacemark::RailwayConstruction; +    s_visualCategories[OsmTag("railway", \
"monorail")]           = GeoDataPlacemark::RailwayMonorail; +    \
s_visualCategories[OsmTag("railway", "funicular")]          = \
GeoDataPlacemark::RailwayFunicular; +    s_visualCategories[OsmTag("railway", \
"platform")]           = GeoDataPlacemark::TransportPlatform; +    \
s_visualCategories[OsmTag("railway", "station")]            = \
GeoDataPlacemark::TransportTrainStation; +    s_visualCategories[OsmTag("railway", \
"halt")]               = GeoDataPlacemark::TransportTrainStation; +
+    s_visualCategories[OsmTag("power", "tower")]                = \
GeoDataPlacemark::PowerTower; +
+    s_visualCategories[OsmTag("aeroway", "aerodrome")]          = \
GeoDataPlacemark::TransportAerodrome; +    s_visualCategories[OsmTag("aeroway", \
"helipad")]            = GeoDataPlacemark::TransportHelipad; +    \
s_visualCategories[OsmTag("aeroway", "gate")]               = \
GeoDataPlacemark::TransportAirportGate; +    s_visualCategories[OsmTag("aeroway", \
"runway")]             = GeoDataPlacemark::TransportAirportRunway; +    \
s_visualCategories[OsmTag("aeroway", "apron")]              = \
GeoDataPlacemark::TransportAirportApron; +    s_visualCategories[OsmTag("aeroway", \
"taxiway")]            = GeoDataPlacemark::TransportAirportTaxiway; +    \
s_visualCategories[OsmTag("transport", "airpor_terminal")]  = \
GeoDataPlacemark::TransportAirportTerminal; +    \
s_visualCategories[OsmTag("transport", "bus_station")]      = \
GeoDataPlacemark::TransportBusStation; +    s_visualCategories[OsmTag("highway", \
"bus_stop")]           = GeoDataPlacemark::TransportBusStop; +    \
s_visualCategories[OsmTag("transport", "car_share")]        = \
GeoDataPlacemark::TransportCarShare; +    s_visualCategories[OsmTag("transport", \
"fuel")]             = GeoDataPlacemark::TransportFuel; +    \
s_visualCategories[OsmTag("transport", "parking")]          = \
GeoDataPlacemark::TransportParking; +    \
s_visualCategories[OsmTag("public_transport", "platform")]  = \
GeoDataPlacemark::TransportPlatform; +    s_visualCategories[OsmTag("amenity", \
"bicycle_rental")]     = GeoDataPlacemark::TransportRentalBicycle; +    \
s_visualCategories[OsmTag("amenity", "car_rental")]         = \
GeoDataPlacemark::TransportRentalCar; +    s_visualCategories[OsmTag("amenity", \
"taxi")]               = GeoDataPlacemark::TransportTaxiRank; +    \
s_visualCategories[OsmTag("transport", "train_station")]    = \
GeoDataPlacemark::TransportTrainStation; +    s_visualCategories[OsmTag("transport", \
"tram_stop")]        = GeoDataPlacemark::TransportTramStop; +    \
s_visualCategories[OsmTag("transport", "bus_stop")]         = \
GeoDataPlacemark::TransportBusStop; +    s_visualCategories[OsmTag("amenity", \
"bicycle_parking")]    = GeoDataPlacemark::TransportBicycleParking; +    \
s_visualCategories[OsmTag("amenity", "motorcycle_parking")] = \
GeoDataPlacemark::TransportMotorcycleParking; +    \
s_visualCategories[OsmTag("railway", "subway_entrance")]    = \
GeoDataPlacemark::TransportSubwayEntrance; +
+    s_visualCategories[OsmTag("place", "city")]                 = \
GeoDataPlacemark::PlaceCity; +    s_visualCategories[OsmTag("place", "suburb")]       \
= GeoDataPlacemark::PlaceSuburb; +    s_visualCategories[OsmTag("place", "hamlet")]   \
= GeoDataPlacemark::PlaceHamlet; +    s_visualCategories[OsmTag("place", "locality")] \
= GeoDataPlacemark::PlaceLocality; +    s_visualCategories[OsmTag("place", "town")]   \
= GeoDataPlacemark::PlaceTown; +    s_visualCategories[OsmTag("place", "village")]    \
= GeoDataPlacemark::PlaceVillage;  
     //Custom Marble OSM Tags
-    s_visualCategories[OsmTag("marble_land", "landmass")]       = \
                GeoDataFeature::Landmass;
-    s_visualCategories[OsmTag("settlement", "yes")]             = \
                GeoDataFeature::UrbanArea;
-    s_visualCategories[OsmTag("marble_line", "date")]           = \
                GeoDataFeature::InternationalDateLine;
-    s_visualCategories[OsmTag("marble:feature", "bathymetry")]  = \
GeoDataFeature::Bathymetry; +    s_visualCategories[OsmTag("marble_land", \
"landmass")]       = GeoDataPlacemark::Landmass; +    \
s_visualCategories[OsmTag("settlement", "yes")]             = \
GeoDataPlacemark::UrbanArea; +    s_visualCategories[OsmTag("marble_line", "date")]   \
= GeoDataPlacemark::InternationalDateLine; +    \
s_visualCategories[OsmTag("marble:feature", "bathymetry")]  = \
GeoDataPlacemark::Bathymetry;  
     // Default for buildings
     foreach (const auto &tag, buildingTags()) {
-        s_visualCategories[tag]                                 = \
GeoDataFeature::Building; +        s_visualCategories[tag]                            \
= GeoDataPlacemark::Building;  }
 }
 
@@ -1207,7 +1207,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
                StyleParameters &paramete
     GeoDataPlacemark const * placemark = static_cast<GeoDataPlacemark const \
*>(parameters.placemark);  OsmPlacemarkData const & osmData = placemark->osmData();
     if (placemark->geometry()->nodeType() == GeoDataTypes::GeoDataPointType) {
-        if (visualCategory == GeoDataFeature::NaturalTree) {
+        if (visualCategory == GeoDataPlacemark::NaturalTree) {
             GeoDataCoordinates const coordinates = placemark->coordinate();
             qreal const lat = coordinates.latitude(GeoDataCoordinates::Degree);
             if (qAbs(lat) > 15) {
@@ -1245,7 +1245,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  
         GeoDataPolyStyle polyStyle = style->polyStyle();
         GeoDataLineStyle lineStyle = style->lineStyle();
-        if (visualCategory == GeoDataFeature::NaturalWater) {
+        if (visualCategory == GeoDataPlacemark::NaturalWater) {
             if (osmData.containsTag(QStringLiteral("salt"), QStringLiteral("yes"))) \
{  polyStyle.setColor("#ffff80");
                 lineStyle.setPenStyle(Qt::DashLine);
@@ -1253,7 +1253,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  adjustStyle = true;
             }
         }
-        else if (visualCategory == GeoDataFeature::Bathymetry) {
+        else if (visualCategory == GeoDataPlacemark::Bathymetry) {
             auto tagIter = osmData.findTag(QStringLiteral("ele"));
             if (tagIter != osmData.tagsEnd()) {
                 const QString& elevation = tagIter.value();
@@ -1264,7 +1264,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  }
             }
         }
-        else if (visualCategory == GeoDataFeature::AmenityGraveyard || \
visualCategory == GeoDataFeature::LanduseCemetery) { +        else if (visualCategory \
== GeoDataPlacemark::AmenityGraveyard || visualCategory == \
GeoDataPlacemark::LanduseCemetery) {  auto tagIter = \
osmData.findTag(QStringLiteral("religion"));  if (tagIter != osmData.tagsEnd()) {
                 const QString& religion = tagIter.value();
@@ -1279,7 +1279,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  adjustStyle = true;
                 }
             }
-        } else if (visualCategory == GeoDataFeature::HighwayPedestrian) {
+        } else if (visualCategory == GeoDataPlacemark::HighwayPedestrian) {
             polyStyle.setOutline(false);
             adjustStyle = true;
         }
@@ -1292,9 +1292,9 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  }
 
         if (style->iconStyle().iconPath().isEmpty()) {
-            const GeoDataFeature::GeoDataVisualCategory category = \
determineVisualCategory(osmData); +            const \
                GeoDataPlacemark::GeoDataVisualCategory category = \
                determineVisualCategory(osmData);
             const GeoDataStyle::ConstPtr categoryStyle = presetStyle(category);
-            if (category != GeoDataFeature::None && \
!categoryStyle->iconStyle().icon().isNull()) { +            if (category != \
GeoDataPlacemark::None && !categoryStyle->iconStyle().icon().isNull()) {  \
GeoDataStyle::Ptr newStyle(new GeoDataStyle(*style));  \
newStyle->setIconStyle(categoryStyle->iconStyle());  style = newStyle;
@@ -1305,7 +1305,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  GeoDataLineStyle lineStyle = style->lineStyle();
         lineStyle.setCosmeticOutline(true);
 
-        if(visualCategory == GeoDataFeature::AdminLevel2){
+        if(visualCategory == GeoDataPlacemark::AdminLevel2){
             if (osmData.containsTag(QStringLiteral("maritime"), \
QStringLiteral("yes"))) {  lineStyle.setColor("#88b3bf");
                 polyStyle.setColor("#88b3bf");
@@ -1314,9 +1314,9 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  }
             }
         }
-        else if ((visualCategory >= GeoDataFeature::HighwayService &&
-                visualCategory <= GeoDataFeature::HighwayMotorway) ||
-                visualCategory == GeoDataFeature::TransportAirportRunway) {
+        else if ((visualCategory >= GeoDataPlacemark::HighwayService &&
+                visualCategory <= GeoDataPlacemark::HighwayMotorway) ||
+                visualCategory == GeoDataPlacemark::TransportAirportRunway) {
 
             if (parameters.tileLevel <= 8) {
                 /** @todo: Dummy implementation for dynamic style changes based on \
tile level, replace with sane values */ @@ -1342,7 +1342,7 @@ GeoDataStyle::ConstPtr \
                StyleBuilder::createStyle(const StyleParameters &paramete
                                           \
                osmData.containsTag(QStringLiteral("oneway"), QStringLiteral("-1"));
                     int const lanes = isOneWay ? 1 : 2; // also for motorway which \
implicitly is one way, but has two lanes and each direction has its own highway  \
                double const laneWidth = 3.0;
-                    double const margins = visualCategory == \
GeoDataFeature::HighwayMotorway ? 2.0 : (isOneWay ? 1.0 : 0.0); +                    \
double const margins = visualCategory == GeoDataPlacemark::HighwayMotorway ? 2.0 : \
                (isOneWay ? 1.0 : 0.0);
                     double const physicalWidth = margins + lanes * laneWidth;
                     lineStyle.setPhysicalWidth(physicalWidth);
                 }
@@ -1371,7 +1371,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  lineStyle.setColor(lineStyle.color().lighter(115));
             }
 
-        } else if (visualCategory == GeoDataFeature::NaturalWater) {
+        } else if (visualCategory == GeoDataPlacemark::NaturalWater) {
             if (parameters.tileLevel <= 3) {
                 lineStyle.setWidth(1);
                 lineStyle.setPhysicalWidth(0.0);
@@ -1389,8 +1389,8 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  newStyle->setPolyStyle(polyStyle);
         newStyle->setLineStyle(lineStyle);
 
-        bool const hideLabel = visualCategory == GeoDataFeature::HighwayTrack
-                || (visualCategory >= GeoDataFeature::RailwayRail && visualCategory \
<= GeoDataFeature::RailwayFunicular); +        bool const hideLabel = visualCategory \
== GeoDataPlacemark::HighwayTrack +                || (visualCategory >= \
GeoDataPlacemark::RailwayRail && visualCategory <= \
GeoDataPlacemark::RailwayFunicular);  if (hideLabel) {
             newStyle->labelStyle().setColor(QColor(Qt::transparent));
         }
@@ -1400,7 +1400,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  GeoDataPolyStyle polyStyle = style->polyStyle();
         GeoDataLineStyle lineStyle = style->lineStyle();
         bool adjustStyle = false;
-        if (visualCategory == GeoDataFeature::Bathymetry) {
+        if (visualCategory == GeoDataPlacemark::Bathymetry) {
             auto tagIter = osmData.findTag(QStringLiteral("ele"));
             if (tagIter != osmData.tagsEnd()) {
                 const QString& elevation = tagIter.value();
@@ -1410,7 +1410,7 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  adjustStyle = true;
                 }
             }
-        } else if (visualCategory == GeoDataFeature::HighwayPedestrian) {
+        } else if (visualCategory == GeoDataPlacemark::HighwayPedestrian) {
             polyStyle.setOutline(false);
             adjustStyle = true;
         }
@@ -1427,16 +1427,16 @@ GeoDataStyle::ConstPtr StyleBuilder::createStyle(const \
StyleParameters &paramete  return style;
 }
 
-GeoDataStyle::ConstPtr \
StyleBuilder::presetStyle(GeoDataFeature::GeoDataVisualCategory visualCategory) const \
+GeoDataStyle::ConstPtr \
StyleBuilder::presetStyle(GeoDataPlacemark::GeoDataVisualCategory visualCategory) \
const  {
     if (!d->m_defaultStyleInitialized) {
         d->initializeDefaultStyles();
     }
 
-    if (visualCategory != GeoDataFeature::None && d->m_defaultStyle[visualCategory] \
) { +    if (visualCategory != GeoDataPlacemark::None && \
d->m_defaultStyle[visualCategory] ) {  return d->m_defaultStyle[visualCategory];
     } else {
-        return d->m_defaultStyle[GeoDataFeature::Default];
+        return d->m_defaultStyle[GeoDataPlacemark::Default];
     }
 }
 
@@ -1446,118 +1446,118 @@ QStringList StyleBuilder::renderOrder() const
     static QStringList paintLayerOrder;
 
     if (paintLayerOrder.isEmpty()) {
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::Landmass);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::UrbanArea);
-        for ( int i = GeoDataFeature::LanduseAllotments; i <= \
                GeoDataFeature::LanduseVineyard; i++ ) {
-            if ((GeoDataFeature::GeoDataVisualCategory)i != \
                GeoDataFeature::LanduseGrass) {
-                paintLayerOrder << Private::createPaintLayerItem("Polygon", \
(GeoDataFeature::GeoDataVisualCategory)i); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::Landmass); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::UrbanArea); +        for ( int i = \
GeoDataPlacemark::LanduseAllotments; i <= GeoDataPlacemark::LanduseVineyard; i++ ) { \
+            if ((GeoDataPlacemark::GeoDataVisualCategory)i != \
GeoDataPlacemark::LanduseGrass) { +                paintLayerOrder << \
Private::createPaintLayerItem("Polygon", (GeoDataPlacemark::GeoDataVisualCategory)i); \
}  }
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::Bathymetry);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalBeach);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalWetland);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalGlacier);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalIceShelf);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalCliff);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalPeak);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::MilitaryDangerArea);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisurePark);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisurePitch);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisureSportsCentre);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisureStadium);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalWood);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LanduseGrass);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::HighwayPedestrian);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisurePlayground);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalScrub);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisureTrack);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::TransportParking);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::TransportParkingSpace);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::ManmadeBridge);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::BarrierCityWall);
-
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::AmenityGraveyard);
-
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::AmenityKindergarten);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::EducationCollege);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::EducationSchool);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::EducationUniversity);
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::HealthHospital);
-
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::Landmass);
-
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::NaturalWater);
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalWater, "outline");
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalWater, "inline");
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalWater, "label");
-
-
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalReef, "outline");
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalReef, "inline");
-        paintLayerOrder << Private::createPaintLayerItem("LineString", \
                GeoDataFeature::NaturalReef, "label");
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::LeisureMarina);
-
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
                GeoDataFeature::TransportAirportApron);
-
-        for ( int i = GeoDataFeature::HighwaySteps; i <= \
                GeoDataFeature::HighwayMotorway; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "outline"); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::Bathymetry); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::NaturalBeach); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalWetland); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::NaturalGlacier); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalIceShelf); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::NaturalCliff); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalPeak); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::MilitaryDangerArea); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::LeisurePark); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::LeisurePitch); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::LeisureSportsCentre); +    \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::LeisureStadium); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalWood); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::LanduseGrass); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::HighwayPedestrian); +      \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::LeisurePlayground); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalScrub); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::LeisureTrack); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::TransportParking); +       \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::TransportParkingSpace); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::ManmadeBridge); +        \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::BarrierCityWall); +
+        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::AmenityGraveyard); +
+        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::AmenityKindergarten); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::EducationCollege); +       \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::EducationSchool); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::EducationUniversity); +    \
paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::HealthHospital); +
+        paintLayerOrder << Private::createPaintLayerItem("LineString", \
GeoDataPlacemark::Landmass); +
+        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::NaturalWater); +        paintLayerOrder << \
Private::createPaintLayerItem("LineString", GeoDataPlacemark::NaturalWater, \
"outline"); +        paintLayerOrder << Private::createPaintLayerItem("LineString", \
GeoDataPlacemark::NaturalWater, "inline"); +        paintLayerOrder << \
Private::createPaintLayerItem("LineString", GeoDataPlacemark::NaturalWater, "label"); \
+ +
+        paintLayerOrder << Private::createPaintLayerItem("LineString", \
GeoDataPlacemark::NaturalReef, "outline"); +        paintLayerOrder << \
Private::createPaintLayerItem("LineString", GeoDataPlacemark::NaturalReef, "inline"); \
+        paintLayerOrder << Private::createPaintLayerItem("LineString", \
GeoDataPlacemark::NaturalReef, "label"); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::LeisureMarina); +
+        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataPlacemark::TransportAirportApron); +
+        for ( int i = GeoDataPlacemark::HighwaySteps; i <= \
GeoDataPlacemark::HighwayMotorway; i++ ) { +            paintLayerOrder << \
Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "outline");  }
-        for ( int i = GeoDataFeature::HighwaySteps; i <= \
                GeoDataFeature::HighwayMotorway; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "inline"); +        for ( int i = \
GeoDataPlacemark::HighwaySteps; i <= GeoDataPlacemark::HighwayMotorway; i++ ) { +     \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "inline");  }
-        for ( int i = GeoDataFeature::HighwaySteps; i <= \
                GeoDataFeature::HighwayMotorway; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "label"); +        for ( int i = \
GeoDataPlacemark::HighwaySteps; i <= GeoDataPlacemark::HighwayMotorway; i++ ) { +     \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "label");  }
-        for ( int i = GeoDataFeature::RailwayRail; i <= \
                GeoDataFeature::RailwayFunicular; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "outline"); +        for ( int i = \
GeoDataPlacemark::RailwayRail; i <= GeoDataPlacemark::RailwayFunicular; i++ ) { +     \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "outline");  }
-        for ( int i = GeoDataFeature::RailwayRail; i <= \
                GeoDataFeature::RailwayFunicular; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "inline"); +        for ( int i = \
GeoDataPlacemark::RailwayRail; i <= GeoDataPlacemark::RailwayFunicular; i++ ) { +     \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "inline");  }
-        for ( int i = GeoDataFeature::RailwayRail; i <= \
                GeoDataFeature::RailwayFunicular; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "label"); +        for ( int i = \
GeoDataPlacemark::RailwayRail; i <= GeoDataPlacemark::RailwayFunicular; i++ ) { +     \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "label");  }
 
-        paintLayerOrder << Private::createPaintLayerItem("Polygon", \
GeoDataFeature::TransportPlatform); +        paintLayerOrder << \
Private::createPaintLayerItem("Polygon", GeoDataPlacemark::TransportPlatform);  
-        for ( int i = GeoDataFeature::AdminLevel1; i <= \
                GeoDataFeature::AdminLevel11; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "outline"); +        for ( int i = \
GeoDataPlacemark::AdminLevel1; i <= GeoDataPlacemark::AdminLevel11; i++ ) { +         \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "outline");  }
-        for ( int i = GeoDataFeature::AdminLevel1; i <= \
                GeoDataFeature::AdminLevel11; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "inline"); +        for ( int i = \
GeoDataPlacemark::AdminLevel1; i <= GeoDataPlacemark::AdminLevel11; i++ ) { +         \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "inline");  }
-        for ( int i = GeoDataFeature::AdminLevel1; i <= \
                GeoDataFeature::AdminLevel11; i++ ) {
-            paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataFeature::GeoDataVisualCategory)i, "label"); +        for ( int i = \
GeoDataPlacemark::AdminLevel1; i <= GeoDataPlacemark::AdminLevel11; i++ ) { +         \
paintLayerOrder << Private::createPaintLayerItem("LineString", \
(GeoDataPlacemark::GeoDataVisualCategory)i, "label");  }
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::Bathymetry);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::AmenityGraveyard);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalWood);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalBeach);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalWetland);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalGlacier);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalIceShelf);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalScrub);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisureMarina);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisurePark);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisurePlayground);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisurePitch);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisureSportsCentre);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisureStadium);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::LeisureTrack);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::TransportParking);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::ManmadeBridge);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::BarrierCityWall);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalWater);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalReef);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::Landmass);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalCliff);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::NaturalPeak);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::AmenityKindergarten);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::EducationCollege);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::EducationSchool);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::EducationUniversity);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
                GeoDataFeature::HealthHospital);
-        paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataFeature::MilitaryDangerArea); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::Bathymetry); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::AmenityGraveyard); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::NaturalWood); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::NaturalBeach); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::NaturalWetland); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::NaturalGlacier); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::NaturalIceShelf); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::NaturalScrub); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::LeisureMarina); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::LeisurePark); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::LeisurePlayground); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::LeisurePitch); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::LeisureSportsCentre); +      \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::LeisureStadium); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::LeisureTrack); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::TransportParking); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::ManmadeBridge); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::BarrierCityWall); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::NaturalWater); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::NaturalReef); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::Landmass); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::NaturalCliff); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::NaturalPeak); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::AmenityKindergarten); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::EducationCollege); +        \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::EducationSchool); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::EducationUniversity); +      \
paintLayerOrder << Private::createPaintLayerItem("Point", \
GeoDataPlacemark::HealthHospital); +        paintLayerOrder << \
Private::createPaintLayerItem("Point", GeoDataPlacemark::MilitaryDangerArea);  
         paintLayerOrder << QStringLiteral("Polygon/Building/frame");
         paintLayerOrder << QStringLiteral("Polygon/Building/roof");
@@ -1585,324 +1585,324 @@ int StyleBuilder::maximumZoomLevel() const
     return d->m_maximumZoomLevel;
 }
 
-QString StyleBuilder::visualCategoryName(GeoDataFeature::GeoDataVisualCategory \
category) +QString StyleBuilder::visualCategoryName(GeoDataPlacemark::GeoDataVisualCategory \
category)  {
-    static QHash<GeoDataFeature::GeoDataVisualCategory, QString> \
visualCategoryNames; +    static QHash<GeoDataPlacemark::GeoDataVisualCategory, \
QString> visualCategoryNames;  
     if (visualCategoryNames.isEmpty()) {
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::None] = "None";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Default] = "Default";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Unknown] = "Unknown";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::SmallCity] = \
                "SmallCity";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::SmallCountyCapital] = \
                "SmallCountyCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::SmallStateCapital] = \
                "SmallStateCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::SmallNationCapital] = \
                "SmallNationCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MediumCity] = \
                "MediumCity";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MediumCountyCapital] = \
                "MediumCountyCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MediumStateCapital] = \
                "MediumStateCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MediumNationCapital] = \
                "MediumNationCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::BigCity] = "BigCity";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::BigCountyCapital] = \
                "BigCountyCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::BigStateCapital] = \
                "BigStateCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::BigNationCapital] = \
                "BigNationCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::LargeCity] = \
                "LargeCity";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::LargeCountyCapital] = \
                "LargeCountyCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::LargeStateCapital] = \
                "LargeStateCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::LargeNationCapital] = \
                "LargeNationCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Nation] = "Nation";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceCity] = \
                "PlaceCity";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceCityCapital] = \
                "PlaceCityCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceSuburb] = \
                "PlaceSuburb";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceHamlet] = \
                "PlaceHamlet";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceLocality] = \
                "PlaceLocality";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceTown] = \
                "PlaceTown";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceTownCapital] = \
                "PlaceTownCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceVillage] = \
                "PlaceVillage";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::PlaceVillageCapital] = \
                "PlaceVillageCapital";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Mountain] = "Mountain";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Volcano] = "Volcano";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Mons] = "Mons";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Valley] = "Valley";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Continent] = \
                "Continent";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Ocean] = "Ocean";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::OtherTerrain] = \
                "OtherTerrain";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Crater] = "Crater";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Mare] = "Mare";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::GeographicPole] = \
                "GeographicPole";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MagneticPole] = \
                "MagneticPole";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::ShipWreck] = \
                "ShipWreck";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::AirPort] = "AirPort";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::Observatory] = \
                "Observatory";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::MilitaryDangerArea] = \
                "MilitaryDangerArea";
-        visualCategoryNames[GeoDataFeature::GeoDataFeature::OsmSite] = "OsmSite";
-        visualCategoryNames[GeoDataFeature::Coordinate] = "Coordinate";
-        visualCategoryNames[GeoDataFeature::MannedLandingSite] = \
                "MannedLandingSite";
-        visualCategoryNames[GeoDataFeature::RoboticRover] = "RoboticRover";
-        visualCategoryNames[GeoDataFeature::UnmannedSoftLandingSite] = \
                "UnmannedSoftLandingSite";
-        visualCategoryNames[GeoDataFeature::UnmannedHardLandingSite] = \
                "UnmannedHardLandingSite";
-        visualCategoryNames[GeoDataFeature::Bookmark] = "Bookmark";
-        visualCategoryNames[GeoDataFeature::NaturalWater] = "NaturalWater";
-        visualCategoryNames[GeoDataFeature::NaturalReef] = "NaturalReef";
-        visualCategoryNames[GeoDataFeature::NaturalWood] = "NaturalWood";
-        visualCategoryNames[GeoDataFeature::NaturalBeach] = "NaturalBeach";
-        visualCategoryNames[GeoDataFeature::NaturalWetland] = "NaturalWetland";
-        visualCategoryNames[GeoDataFeature::NaturalGlacier] = "NaturalGlacier";
-        visualCategoryNames[GeoDataFeature::NaturalIceShelf] = "NaturalIceShelf";
-        visualCategoryNames[GeoDataFeature::NaturalScrub] = "NaturalScrub";
-        visualCategoryNames[GeoDataFeature::NaturalCliff] = "NaturalCliff";
-        visualCategoryNames[GeoDataFeature::NaturalHeath] = "NaturalHeath";
-        visualCategoryNames[GeoDataFeature::HighwayTrafficSignals] = \
                "HighwayTrafficSignals";
-        visualCategoryNames[GeoDataFeature::HighwaySteps] = "HighwaySteps";
-        visualCategoryNames[GeoDataFeature::HighwayUnknown] = "HighwayUnknown";
-        visualCategoryNames[GeoDataFeature::HighwayPath] = "HighwayPath";
-        visualCategoryNames[GeoDataFeature::HighwayFootway] = "HighwayFootway";
-        visualCategoryNames[GeoDataFeature::HighwayTrack] = "HighwayTrack";
-        visualCategoryNames[GeoDataFeature::HighwayPedestrian] = \
                "HighwayPedestrian";
-        visualCategoryNames[GeoDataFeature::HighwayCycleway] = "HighwayCycleway";
-        visualCategoryNames[GeoDataFeature::HighwayService] = "HighwayService";
-        visualCategoryNames[GeoDataFeature::HighwayRoad] = "HighwayRoad";
-        visualCategoryNames[GeoDataFeature::HighwayResidential] = \
                "HighwayResidential";
-        visualCategoryNames[GeoDataFeature::HighwayLivingStreet] = \
                "HighwayLivingStreet";
-        visualCategoryNames[GeoDataFeature::HighwayUnclassified] = \
                "HighwayUnclassified";
-        visualCategoryNames[GeoDataFeature::HighwayTertiaryLink] = \
                "HighwayTertiaryLink";
-        visualCategoryNames[GeoDataFeature::HighwayTertiary] = "HighwayTertiary";
-        visualCategoryNames[GeoDataFeature::HighwaySecondaryLink] = \
                "HighwaySecondaryLink";
-        visualCategoryNames[GeoDataFeature::HighwaySecondary] = "HighwaySecondary";
-        visualCategoryNames[GeoDataFeature::HighwayPrimaryLink] = \
                "HighwayPrimaryLink";
-        visualCategoryNames[GeoDataFeature::HighwayPrimary] = "HighwayPrimary";
-        visualCategoryNames[GeoDataFeature::HighwayTrunkLink] = "HighwayTrunkLink";
-        visualCategoryNames[GeoDataFeature::HighwayTrunk] = "HighwayTrunk";
-        visualCategoryNames[GeoDataFeature::HighwayMotorwayLink] = \
                "HighwayMotorwayLink";
-        visualCategoryNames[GeoDataFeature::HighwayMotorway] = "HighwayMotorway";
-        visualCategoryNames[GeoDataFeature::Building] = "Building";
-        visualCategoryNames[GeoDataFeature::AccomodationCamping] = \
                "AccomodationCamping";
-        visualCategoryNames[GeoDataFeature::AccomodationHostel] = \
                "AccomodationHostel";
-        visualCategoryNames[GeoDataFeature::AccomodationHotel] = \
                "AccomodationHotel";
-        visualCategoryNames[GeoDataFeature::AccomodationMotel] = \
                "AccomodationMotel";
-        visualCategoryNames[GeoDataFeature::AccomodationYouthHostel] = \
                "AccomodationYouthHostel";
-        visualCategoryNames[GeoDataFeature::AccomodationGuestHouse] = \
                "AccomodationGuestHouse";
-        visualCategoryNames[GeoDataFeature::AmenityLibrary] = "AmenityLibrary";
-        visualCategoryNames[GeoDataFeature::AmenityKindergarten] = \
                "AmenityKindergarten";
-        visualCategoryNames[GeoDataFeature::EducationCollege] = "EducationCollege";
-        visualCategoryNames[GeoDataFeature::EducationSchool] = "EducationSchool";
-        visualCategoryNames[GeoDataFeature::EducationUniversity] = \
                "EducationUniversity";
-        visualCategoryNames[GeoDataFeature::FoodBar] = "FoodBar";
-        visualCategoryNames[GeoDataFeature::FoodBiergarten] = "FoodBiergarten";
-        visualCategoryNames[GeoDataFeature::FoodCafe] = "FoodCafe";
-        visualCategoryNames[GeoDataFeature::FoodFastFood] = "FoodFastFood";
-        visualCategoryNames[GeoDataFeature::FoodPub] = "FoodPub";
-        visualCategoryNames[GeoDataFeature::FoodRestaurant] = "FoodRestaurant";
-        visualCategoryNames[GeoDataFeature::HealthDentist] = "HealthDentist";
-        visualCategoryNames[GeoDataFeature::HealthDoctors] = "HealthDoctors";
-        visualCategoryNames[GeoDataFeature::HealthHospital] = "HealthHospital";
-        visualCategoryNames[GeoDataFeature::HealthPharmacy] = "HealthPharmacy";
-        visualCategoryNames[GeoDataFeature::HealthVeterinary] = "HealthVeterinary";
-        visualCategoryNames[GeoDataFeature::MoneyAtm] = "MoneyAtm";
-        visualCategoryNames[GeoDataFeature::MoneyBank] = "MoneyBank";
-        visualCategoryNames[GeoDataFeature::AmenityArchaeologicalSite] = \
                "AmenityArchaeologicalSite";
-        visualCategoryNames[GeoDataFeature::AmenityEmbassy] = "AmenityEmbassy";
-        visualCategoryNames[GeoDataFeature::AmenityEmergencyPhone] = \
                "AmenityEmergencyPhone";
-        visualCategoryNames[GeoDataFeature::AmenityWaterPark] = "AmenityWaterPark";
-        visualCategoryNames[GeoDataFeature::AmenityCommunityCentre] = \
                "AmenityCommunityCentre";
-        visualCategoryNames[GeoDataFeature::AmenityFountain] = "AmenityFountain";
-        visualCategoryNames[GeoDataFeature::AmenityNightClub] = "AmenityNightClub";
-        visualCategoryNames[GeoDataFeature::AmenityBench] = "AmenityBench";
-        visualCategoryNames[GeoDataFeature::AmenityCourtHouse] = \
                "AmenityCourtHouse";
-        visualCategoryNames[GeoDataFeature::AmenityFireStation] = \
                "AmenityFireStation";
-        visualCategoryNames[GeoDataFeature::AmenityHuntingStand] = \
                "AmenityHuntingStand";
-        visualCategoryNames[GeoDataFeature::AmenityPolice] = "AmenityPolice";
-        visualCategoryNames[GeoDataFeature::AmenityPostBox] = "AmenityPostBox";
-        visualCategoryNames[GeoDataFeature::AmenityPostOffice] = \
                "AmenityPostOffice";
-        visualCategoryNames[GeoDataFeature::AmenityPrison] = "AmenityPrison";
-        visualCategoryNames[GeoDataFeature::AmenityRecycling] = "AmenityRecycling";
-        visualCategoryNames[GeoDataFeature::AmenityShelter] = "AmenityShelter";
-        visualCategoryNames[GeoDataFeature::AmenityTelephone] = "AmenityTelephone";
-        visualCategoryNames[GeoDataFeature::AmenityToilets] = "AmenityToilets";
-        visualCategoryNames[GeoDataFeature::AmenityTownHall] = "AmenityTownHall";
-        visualCategoryNames[GeoDataFeature::AmenityWasteBasket] = \
                "AmenityWasteBasket";
-        visualCategoryNames[GeoDataFeature::AmenityDrinkingWater] = \
                "AmenityDrinkingWater";
-        visualCategoryNames[GeoDataFeature::AmenityGraveyard] = "AmenityGraveyard";
-        visualCategoryNames[GeoDataFeature::BarrierCityWall] = "BarrierCityWall";
-        visualCategoryNames[GeoDataFeature::BarrierGate] = "BarrierGate";
-        visualCategoryNames[GeoDataFeature::BarrierLiftGate] = "BarrierLiftGate";
-        visualCategoryNames[GeoDataFeature::BarrierWall] = "BarrierWall";
-        visualCategoryNames[GeoDataFeature::NaturalPeak] = "NaturalPeak";
-        visualCategoryNames[GeoDataFeature::NaturalTree] = "NaturalTree";
-        visualCategoryNames[GeoDataFeature::ShopBeverages] = "ShopBeverages";
-        visualCategoryNames[GeoDataFeature::ShopHifi] = "ShopHifi";
-        visualCategoryNames[GeoDataFeature::ShopSupermarket] = "ShopSupermarket";
-        visualCategoryNames[GeoDataFeature::ShopAlcohol] = "ShopAlcohol";
-        visualCategoryNames[GeoDataFeature::ShopBakery] = "ShopBakery";
-        visualCategoryNames[GeoDataFeature::ShopButcher] = "ShopButcher";
-        visualCategoryNames[GeoDataFeature::ShopConfectionery] = \
                "ShopConfectionery";
-        visualCategoryNames[GeoDataFeature::ShopConvenience] = "ShopConvenience";
-        visualCategoryNames[GeoDataFeature::ShopGreengrocer] = "ShopGreengrocer";
-        visualCategoryNames[GeoDataFeature::ShopSeafood] = "ShopSeafood";
-        visualCategoryNames[GeoDataFeature::ShopDepartmentStore] = \
                "ShopDepartmentStore";
-        visualCategoryNames[GeoDataFeature::ShopKiosk] = "ShopKiosk";
-        visualCategoryNames[GeoDataFeature::ShopBag] = "ShopBag";
-        visualCategoryNames[GeoDataFeature::ShopClothes] = "ShopClothes";
-        visualCategoryNames[GeoDataFeature::ShopFashion] = "ShopFashion";
-        visualCategoryNames[GeoDataFeature::ShopJewelry] = "ShopJewelry";
-        visualCategoryNames[GeoDataFeature::ShopShoes] = "ShopShoes";
-        visualCategoryNames[GeoDataFeature::ShopVarietyStore] = "ShopVarietyStore";
-        visualCategoryNames[GeoDataFeature::ShopBeauty] = "ShopBeauty";
-        visualCategoryNames[GeoDataFeature::ShopChemist] = "ShopChemist";
-        visualCategoryNames[GeoDataFeature::ShopCosmetics] = "ShopCosmetics";
-        visualCategoryNames[GeoDataFeature::ShopHairdresser] = "ShopHairdresser";
-        visualCategoryNames[GeoDataFeature::ShopOptician] = "ShopOptician";
-        visualCategoryNames[GeoDataFeature::ShopPerfumery] = "ShopPerfumery";
-        visualCategoryNames[GeoDataFeature::ShopDoitYourself] = "ShopDoitYourself";
-        visualCategoryNames[GeoDataFeature::ShopFlorist] = "ShopFlorist";
-        visualCategoryNames[GeoDataFeature::ShopHardware] = "ShopHardware";
-        visualCategoryNames[GeoDataFeature::ShopFurniture] = "ShopFurniture";
-        visualCategoryNames[GeoDataFeature::ShopElectronics] = "ShopElectronics";
-        visualCategoryNames[GeoDataFeature::ShopMobilePhone] = "ShopMobilePhone";
-        visualCategoryNames[GeoDataFeature::ShopBicycle] = "ShopBicycle";
-        visualCategoryNames[GeoDataFeature::ShopCar] = "ShopCar";
-        visualCategoryNames[GeoDataFeature::ShopCarRepair] = "ShopCarRepair";
-        visualCategoryNames[GeoDataFeature::ShopCarParts] = "ShopCarParts";
-        visualCategoryNames[GeoDataFeature::ShopMotorcycle] = "ShopMotorcycle";
-        visualCategoryNames[GeoDataFeature::ShopOutdoor] = "ShopOutdoor";
-        visualCategoryNames[GeoDataFeature::ShopMusicalInstrument] = \
                "ShopMusicalInstrument";
-        visualCategoryNames[GeoDataFeature::ShopPhoto] = "ShopPhoto";
-        visualCategoryNames[GeoDataFeature::ShopBook] = "ShopBook";
-        visualCategoryNames[GeoDataFeature::ShopGift] = "ShopGift";
-        visualCategoryNames[GeoDataFeature::ShopStationery] = "ShopStationery";
-        visualCategoryNames[GeoDataFeature::ShopLaundry] = "ShopLaundry";
-        visualCategoryNames[GeoDataFeature::ShopPet] = "ShopPet";
-        visualCategoryNames[GeoDataFeature::ShopToys] = "ShopToys";
-        visualCategoryNames[GeoDataFeature::ShopTravelAgency] = "ShopTravelAgency";
-        visualCategoryNames[GeoDataFeature::Shop] = "Shop";
-        visualCategoryNames[GeoDataFeature::ManmadeBridge] = "ManmadeBridge";
-        visualCategoryNames[GeoDataFeature::ManmadeLighthouse] = \
                "ManmadeLighthouse";
-        visualCategoryNames[GeoDataFeature::ManmadePier] = "ManmadePier";
-        visualCategoryNames[GeoDataFeature::ManmadeWaterTower] = \
                "ManmadeWaterTower";
-        visualCategoryNames[GeoDataFeature::ManmadeWindMill] = "ManmadeWindMill";
-        visualCategoryNames[GeoDataFeature::TouristAttraction] = \
                "TouristAttraction";
-        visualCategoryNames[GeoDataFeature::TouristCastle] = "TouristCastle";
-        visualCategoryNames[GeoDataFeature::TouristCinema] = "TouristCinema";
-        visualCategoryNames[GeoDataFeature::TouristInformation] = \
                "TouristInformation";
-        visualCategoryNames[GeoDataFeature::TouristMonument] = "TouristMonument";
-        visualCategoryNames[GeoDataFeature::TouristMuseum] = "TouristMuseum";
-        visualCategoryNames[GeoDataFeature::TouristRuin] = "TouristRuin";
-        visualCategoryNames[GeoDataFeature::TouristTheatre] = "TouristTheatre";
-        visualCategoryNames[GeoDataFeature::TouristThemePark] = "TouristThemePark";
-        visualCategoryNames[GeoDataFeature::TouristViewPoint] = "TouristViewPoint";
-        visualCategoryNames[GeoDataFeature::TouristZoo] = "TouristZoo";
-        visualCategoryNames[GeoDataFeature::TouristAlpineHut] = "TouristAlpineHut";
-        visualCategoryNames[GeoDataFeature::TransportAerodrome] = \
                "TransportAerodrome";
-        visualCategoryNames[GeoDataFeature::TransportHelipad] = "TransportHelipad";
-        visualCategoryNames[GeoDataFeature::TransportAirportTerminal] = \
                "TransportAirportTerminal";
-        visualCategoryNames[GeoDataFeature::TransportAirportGate] = \
                "TransportAirportGate";
-        visualCategoryNames[GeoDataFeature::TransportAirportRunway] = \
                "TransportAirportRunway";
-        visualCategoryNames[GeoDataFeature::TransportAirportTaxiway] = \
                "TransportAirportTaxiway";
-        visualCategoryNames[GeoDataFeature::TransportAirportApron] = \
                "TransportAirportApron";
-        visualCategoryNames[GeoDataFeature::TransportBusStation] = \
                "TransportBusStation";
-        visualCategoryNames[GeoDataFeature::TransportBusStop] = "TransportBusStop";
-        visualCategoryNames[GeoDataFeature::TransportCarShare] = \
                "TransportCarShare";
-        visualCategoryNames[GeoDataFeature::TransportFuel] = "TransportFuel";
-        visualCategoryNames[GeoDataFeature::TransportParking] = "TransportParking";
-        visualCategoryNames[GeoDataFeature::TransportParkingSpace] = \
                "TransportParkingSpace";
-        visualCategoryNames[GeoDataFeature::TransportPlatform] = \
                "TransportPlatform";
-        visualCategoryNames[GeoDataFeature::TransportRentalBicycle] = \
                "TransportRentalBicycle";
-        visualCategoryNames[GeoDataFeature::TransportRentalCar] = \
                "TransportRentalCar";
-        visualCategoryNames[GeoDataFeature::TransportTaxiRank] = \
                "TransportTaxiRank";
-        visualCategoryNames[GeoDataFeature::TransportTrainStation] = \
                "TransportTrainStation";
-        visualCategoryNames[GeoDataFeature::TransportTramStop] = \
                "TransportTramStop";
-        visualCategoryNames[GeoDataFeature::TransportBicycleParking] = \
                "TransportBicycleParking";
-        visualCategoryNames[GeoDataFeature::TransportMotorcycleParking] = \
                "TransportMotorcycleParking";
-        visualCategoryNames[GeoDataFeature::TransportSubwayEntrance] = \
                "TransportSubwayEntrance";
-        visualCategoryNames[GeoDataFeature::ReligionPlaceOfWorship] = \
                "ReligionPlaceOfWorship";
-        visualCategoryNames[GeoDataFeature::ReligionBahai] = "ReligionBahai";
-        visualCategoryNames[GeoDataFeature::ReligionBuddhist] = "ReligionBuddhist";
-        visualCategoryNames[GeoDataFeature::ReligionChristian] = \
                "ReligionChristian";
-        visualCategoryNames[GeoDataFeature::ReligionMuslim] = "ReligionMuslim";
-        visualCategoryNames[GeoDataFeature::ReligionHindu] = "ReligionHindu";
-        visualCategoryNames[GeoDataFeature::ReligionJain] = "ReligionJain";
-        visualCategoryNames[GeoDataFeature::ReligionJewish] = "ReligionJewish";
-        visualCategoryNames[GeoDataFeature::ReligionShinto] = "ReligionShinto";
-        visualCategoryNames[GeoDataFeature::ReligionSikh] = "ReligionSikh";
-        visualCategoryNames[GeoDataFeature::LeisureGolfCourse] = \
                "LeisureGolfCourse";
-        visualCategoryNames[GeoDataFeature::LeisureMarina] = "LeisureMarina";
-        visualCategoryNames[GeoDataFeature::LeisurePark] = "LeisurePark";
-        visualCategoryNames[GeoDataFeature::LeisurePlayground] = \
                "LeisurePlayground";
-        visualCategoryNames[GeoDataFeature::LeisurePitch] = "LeisurePitch";
-        visualCategoryNames[GeoDataFeature::LeisureSportsCentre] = \
                "LeisureSportsCentre";
-        visualCategoryNames[GeoDataFeature::LeisureStadium] = "LeisureStadium";
-        visualCategoryNames[GeoDataFeature::LeisureTrack] = "LeisureTrack";
-        visualCategoryNames[GeoDataFeature::LeisureSwimmingPool] = \
                "LeisureSwimmingPool";
-        visualCategoryNames[GeoDataFeature::LanduseAllotments] = \
                "LanduseAllotments";
-        visualCategoryNames[GeoDataFeature::LanduseBasin] = "LanduseBasin";
-        visualCategoryNames[GeoDataFeature::LanduseCemetery] = "LanduseCemetery";
-        visualCategoryNames[GeoDataFeature::LanduseCommercial] = \
                "LanduseCommercial";
-        visualCategoryNames[GeoDataFeature::LanduseConstruction] = \
                "LanduseConstruction";
-        visualCategoryNames[GeoDataFeature::LanduseFarmland] = "LanduseFarmland";
-        visualCategoryNames[GeoDataFeature::LanduseFarmyard] = "LanduseFarmyard";
-        visualCategoryNames[GeoDataFeature::LanduseGarages] = "LanduseGarages";
-        visualCategoryNames[GeoDataFeature::LanduseGrass] = "LanduseGrass";
-        visualCategoryNames[GeoDataFeature::LanduseIndustrial] = \
                "LanduseIndustrial";
-        visualCategoryNames[GeoDataFeature::LanduseLandfill] = "LanduseLandfill";
-        visualCategoryNames[GeoDataFeature::LanduseMeadow] = "LanduseMeadow";
-        visualCategoryNames[GeoDataFeature::LanduseMilitary] = "LanduseMilitary";
-        visualCategoryNames[GeoDataFeature::LanduseQuarry] = "LanduseQuarry";
-        visualCategoryNames[GeoDataFeature::LanduseRailway] = "LanduseRailway";
-        visualCategoryNames[GeoDataFeature::LanduseReservoir] = "LanduseReservoir";
-        visualCategoryNames[GeoDataFeature::LanduseResidential] = \
                "LanduseResidential";
-        visualCategoryNames[GeoDataFeature::LanduseRetail] = "LanduseRetail";
-        visualCategoryNames[GeoDataFeature::LanduseOrchard] = "LanduseOrchard";
-        visualCategoryNames[GeoDataFeature::LanduseVineyard] = "LanduseVineyard";
-        visualCategoryNames[GeoDataFeature::RailwayRail] = "RailwayRail";
-        visualCategoryNames[GeoDataFeature::RailwayNarrowGauge] = \
                "RailwayNarrowGauge";
-        visualCategoryNames[GeoDataFeature::RailwayTram] = "RailwayTram";
-        visualCategoryNames[GeoDataFeature::RailwayLightRail] = "RailwayLightRail";
-        visualCategoryNames[GeoDataFeature::RailwayAbandoned] = "RailwayAbandoned";
-        visualCategoryNames[GeoDataFeature::RailwaySubway] = "RailwaySubway";
-        visualCategoryNames[GeoDataFeature::RailwayPreserved] = "RailwayPreserved";
-        visualCategoryNames[GeoDataFeature::RailwayMiniature] = "RailwayMiniature";
-        visualCategoryNames[GeoDataFeature::RailwayConstruction] = \
                "RailwayConstruction";
-        visualCategoryNames[GeoDataFeature::RailwayMonorail] = "RailwayMonorail";
-        visualCategoryNames[GeoDataFeature::RailwayFunicular] = "RailwayFunicular";
-        visualCategoryNames[GeoDataFeature::PowerTower] = "PowerTower";
-        visualCategoryNames[GeoDataFeature::Satellite] = "Satellite";
-        visualCategoryNames[GeoDataFeature::Landmass] = "Landmass";
-        visualCategoryNames[GeoDataFeature::UrbanArea] = "UrbanArea";
-        visualCategoryNames[GeoDataFeature::InternationalDateLine] = \
                "InternationalDateLine";
-        visualCategoryNames[GeoDataFeature::Bathymetry] = "Bathymetry";
-        visualCategoryNames[GeoDataFeature::AdminLevel1] = "AdminLevel1";
-        visualCategoryNames[GeoDataFeature::AdminLevel2] = "AdminLevel2";
-        visualCategoryNames[GeoDataFeature::AdminLevel3] = "AdminLevel3";
-        visualCategoryNames[GeoDataFeature::AdminLevel4] = "AdminLevel4";
-        visualCategoryNames[GeoDataFeature::AdminLevel5] = "AdminLevel5";
-        visualCategoryNames[GeoDataFeature::AdminLevel6] = "AdminLevel6";
-        visualCategoryNames[GeoDataFeature::AdminLevel7] = "AdminLevel7";
-        visualCategoryNames[GeoDataFeature::AdminLevel8] = "AdminLevel8";
-        visualCategoryNames[GeoDataFeature::AdminLevel9] = "AdminLevel9";
-        visualCategoryNames[GeoDataFeature::AdminLevel10] = "AdminLevel10";
-        visualCategoryNames[GeoDataFeature::AdminLevel11] = "AdminLevel11";
-        visualCategoryNames[GeoDataFeature::BoundaryMaritime] = "BoundaryMaritime";
-        visualCategoryNames[GeoDataFeature::LastIndex] = "LastIndex";
+        visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::None] = "None";
+        visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Default] = \
"Default"; +        visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Unknown] \
= "Unknown"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::SmallCity] = "SmallCity"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::SmallCountyCapital] = \
"SmallCountyCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::SmallStateCapital] = \
"SmallStateCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::SmallNationCapital] = \
"SmallNationCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MediumCity] = "MediumCity"; + \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MediumCountyCapital] = \
"MediumCountyCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MediumStateCapital] = \
"MediumStateCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MediumNationCapital] = \
"MediumNationCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::BigCity] = "BigCity"; +       \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::BigCountyCapital] = \
"BigCountyCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::BigStateCapital] = \
"BigStateCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::BigNationCapital] = \
"BigNationCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::LargeCity] = "LargeCity"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::LargeCountyCapital] = \
"LargeCountyCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::LargeStateCapital] = \
"LargeStateCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::LargeNationCapital] = \
"LargeNationCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Nation] = "Nation"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceCity] = "PlaceCity"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceCityCapital] = \
"PlaceCityCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceSuburb] = "PlaceSuburb"; \
+        visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceHamlet] = \
"PlaceHamlet"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceLocality] = \
"PlaceLocality"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceTown] = "PlaceTown"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceTownCapital] = \
"PlaceTownCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceVillage] = \
"PlaceVillage"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::PlaceVillageCapital] = \
"PlaceVillageCapital"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Mountain] = "Mountain"; +     \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Volcano] = "Volcano"; +       \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Mons] = "Mons"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Valley] = "Valley"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Continent] = "Continent"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Ocean] = "Ocean"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::OtherTerrain] = \
"OtherTerrain"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Crater] = "Crater"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Mare] = "Mare"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::GeographicPole] = \
"GeographicPole"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MagneticPole] = \
"MagneticPole"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::ShipWreck] = "ShipWreck"; +   \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::AirPort] = "AirPort"; +       \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::Observatory] = "Observatory"; \
+        visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::MilitaryDangerArea] \
= "MilitaryDangerArea"; +        \
visualCategoryNames[GeoDataPlacemark::GeoDataPlacemark::OsmSite] = "OsmSite"; +       \
visualCategoryNames[GeoDataPlacemark::Coordinate] = "Coordinate"; +        \
visualCategoryNames[GeoDataPlacemark::MannedLandingSite] = "MannedLandingSite"; +     \
visualCategoryNames[GeoDataPlacemark::RoboticRover] = "RoboticRover"; +        \
visualCategoryNames[GeoDataPlacemark::UnmannedSoftLandingSite] = \
"UnmannedSoftLandingSite"; +        \
visualCategoryNames[GeoDataPlacemark::UnmannedHardLandingSite] = \
"UnmannedHardLandingSite"; +        visualCategoryNames[GeoDataPlacemark::Bookmark] = \
"Bookmark"; +        visualCategoryNames[GeoDataPlacemark::NaturalWater] = \
"NaturalWater"; +        visualCategoryNames[GeoDataPlacemark::NaturalReef] = \
"NaturalReef"; +        visualCategoryNames[GeoDataPlacemark::NaturalWood] = \
"NaturalWood"; +        visualCategoryNames[GeoDataPlacemark::NaturalBeach] = \
"NaturalBeach"; +        visualCategoryNames[GeoDataPlacemark::NaturalWetland] = \
"NaturalWetland"; +        visualCategoryNames[GeoDataPlacemark::NaturalGlacier] = \
"NaturalGlacier"; +        visualCategoryNames[GeoDataPlacemark::NaturalIceShelf] = \
"NaturalIceShelf"; +        visualCategoryNames[GeoDataPlacemark::NaturalScrub] = \
"NaturalScrub"; +        visualCategoryNames[GeoDataPlacemark::NaturalCliff] = \
"NaturalCliff"; +        visualCategoryNames[GeoDataPlacemark::NaturalHeath] = \
"NaturalHeath"; +        visualCategoryNames[GeoDataPlacemark::HighwayTrafficSignals] \
= "HighwayTrafficSignals"; +        \
visualCategoryNames[GeoDataPlacemark::HighwaySteps] = "HighwaySteps"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayUnknown] = "HighwayUnknown"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayPath] = "HighwayPath"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayFootway] = "HighwayFootway"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayTrack] = "HighwayTrack"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayPedestrian] = "HighwayPedestrian"; +     \
visualCategoryNames[GeoDataPlacemark::HighwayCycleway] = "HighwayCycleway"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayService] = "HighwayService"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayRoad] = "HighwayRoad"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayResidential] = "HighwayResidential"; +   \
visualCategoryNames[GeoDataPlacemark::HighwayLivingStreet] = "HighwayLivingStreet"; + \
visualCategoryNames[GeoDataPlacemark::HighwayUnclassified] = "HighwayUnclassified"; + \
visualCategoryNames[GeoDataPlacemark::HighwayTertiaryLink] = "HighwayTertiaryLink"; + \
visualCategoryNames[GeoDataPlacemark::HighwayTertiary] = "HighwayTertiary"; +        \
visualCategoryNames[GeoDataPlacemark::HighwaySecondaryLink] = "HighwaySecondaryLink"; \
+        visualCategoryNames[GeoDataPlacemark::HighwaySecondary] = \
"HighwaySecondary"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayPrimaryLink] = "HighwayPrimaryLink"; +   \
visualCategoryNames[GeoDataPlacemark::HighwayPrimary] = "HighwayPrimary"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayTrunkLink] = "HighwayTrunkLink"; +       \
visualCategoryNames[GeoDataPlacemark::HighwayTrunk] = "HighwayTrunk"; +        \
visualCategoryNames[GeoDataPlacemark::HighwayMotorwayLink] = "HighwayMotorwayLink"; + \
visualCategoryNames[GeoDataPlacemark::HighwayMotorway] = "HighwayMotorway"; +        \
visualCategoryNames[GeoDataPlacemark::Building] = "Building"; +        \
visualCategoryNames[GeoDataPlacemark::AccomodationCamping] = "AccomodationCamping"; + \
visualCategoryNames[GeoDataPlacemark::AccomodationHostel] = "AccomodationHostel"; +   \
visualCategoryNames[GeoDataPlacemark::AccomodationHotel] = "AccomodationHotel"; +     \
visualCategoryNames[GeoDataPlacemark::AccomodationMotel] = "AccomodationMotel"; +     \
visualCategoryNames[GeoDataPlacemark::AccomodationYouthHostel] = \
"AccomodationYouthHostel"; +        \
visualCategoryNames[GeoDataPlacemark::AccomodationGuestHouse] = \
"AccomodationGuestHouse"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityLibrary] = "AmenityLibrary"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityKindergarten] = "AmenityKindergarten"; + \
visualCategoryNames[GeoDataPlacemark::EducationCollege] = "EducationCollege"; +       \
visualCategoryNames[GeoDataPlacemark::EducationSchool] = "EducationSchool"; +        \
visualCategoryNames[GeoDataPlacemark::EducationUniversity] = "EducationUniversity"; + \
visualCategoryNames[GeoDataPlacemark::FoodBar] = "FoodBar"; +        \
visualCategoryNames[GeoDataPlacemark::FoodBiergarten] = "FoodBiergarten"; +        \
visualCategoryNames[GeoDataPlacemark::FoodCafe] = "FoodCafe"; +        \
visualCategoryNames[GeoDataPlacemark::FoodFastFood] = "FoodFastFood"; +        \
visualCategoryNames[GeoDataPlacemark::FoodPub] = "FoodPub"; +        \
visualCategoryNames[GeoDataPlacemark::FoodRestaurant] = "FoodRestaurant"; +        \
visualCategoryNames[GeoDataPlacemark::HealthDentist] = "HealthDentist"; +        \
visualCategoryNames[GeoDataPlacemark::HealthDoctors] = "HealthDoctors"; +        \
visualCategoryNames[GeoDataPlacemark::HealthHospital] = "HealthHospital"; +        \
visualCategoryNames[GeoDataPlacemark::HealthPharmacy] = "HealthPharmacy"; +        \
visualCategoryNames[GeoDataPlacemark::HealthVeterinary] = "HealthVeterinary"; +       \
visualCategoryNames[GeoDataPlacemark::MoneyAtm] = "MoneyAtm"; +        \
visualCategoryNames[GeoDataPlacemark::MoneyBank] = "MoneyBank"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityArchaeologicalSite] = \
"AmenityArchaeologicalSite"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityEmbassy] = "AmenityEmbassy"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityEmergencyPhone] = \
"AmenityEmergencyPhone"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityWaterPark] = "AmenityWaterPark"; +       \
visualCategoryNames[GeoDataPlacemark::AmenityCommunityCentre] = \
"AmenityCommunityCentre"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityFountain] = "AmenityFountain"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityNightClub] = "AmenityNightClub"; +       \
visualCategoryNames[GeoDataPlacemark::AmenityBench] = "AmenityBench"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityCourtHouse] = "AmenityCourtHouse"; +     \
visualCategoryNames[GeoDataPlacemark::AmenityFireStation] = "AmenityFireStation"; +   \
visualCategoryNames[GeoDataPlacemark::AmenityHuntingStand] = "AmenityHuntingStand"; + \
visualCategoryNames[GeoDataPlacemark::AmenityPolice] = "AmenityPolice"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityPostBox] = "AmenityPostBox"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityPostOffice] = "AmenityPostOffice"; +     \
visualCategoryNames[GeoDataPlacemark::AmenityPrison] = "AmenityPrison"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityRecycling] = "AmenityRecycling"; +       \
visualCategoryNames[GeoDataPlacemark::AmenityShelter] = "AmenityShelter"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityTelephone] = "AmenityTelephone"; +       \
visualCategoryNames[GeoDataPlacemark::AmenityToilets] = "AmenityToilets"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityTownHall] = "AmenityTownHall"; +        \
visualCategoryNames[GeoDataPlacemark::AmenityWasteBasket] = "AmenityWasteBasket"; +   \
visualCategoryNames[GeoDataPlacemark::AmenityDrinkingWater] = "AmenityDrinkingWater"; \
+        visualCategoryNames[GeoDataPlacemark::AmenityGraveyard] = \
"AmenityGraveyard"; +        visualCategoryNames[GeoDataPlacemark::BarrierCityWall] = \
"BarrierCityWall"; +        visualCategoryNames[GeoDataPlacemark::BarrierGate] = \
"BarrierGate"; +        visualCategoryNames[GeoDataPlacemark::BarrierLiftGate] = \
"BarrierLiftGate"; +        visualCategoryNames[GeoDataPlacemark::BarrierWall] = \
"BarrierWall"; +        visualCategoryNames[GeoDataPlacemark::NaturalPeak] = \
"NaturalPeak"; +        visualCategoryNames[GeoDataPlacemark::NaturalTree] = \
"NaturalTree"; +        visualCategoryNames[GeoDataPlacemark::ShopBeverages] = \
"ShopBeverages"; +        visualCategoryNames[GeoDataPlacemark::ShopHifi] = \
"ShopHifi"; +        visualCategoryNames[GeoDataPlacemark::ShopSupermarket] = \
"ShopSupermarket"; +        visualCategoryNames[GeoDataPlacemark::ShopAlcohol] = \
"ShopAlcohol"; +        visualCategoryNames[GeoDataPlacemark::ShopBakery] = \
"ShopBakery"; +        visualCategoryNames[GeoDataPlacemark::ShopButcher] = \
"ShopButcher"; +        visualCategoryNames[GeoDataPlacemark::ShopConfectionery] = \
"ShopConfectionery"; +        visualCategoryNames[GeoDataPlacemark::ShopConvenience] \
= "ShopConvenience"; +        visualCategoryNames[GeoDataPlacemark::ShopGreengrocer] \
= "ShopGreengrocer"; +        visualCategoryNames[GeoDataPlacemark::ShopSeafood] = \
"ShopSeafood"; +        visualCategoryNames[GeoDataPlacemark::ShopDepartmentStore] = \
"ShopDepartmentStore"; +        visualCategoryNames[GeoDataPlacemark::ShopKiosk] = \
"ShopKiosk"; +        visualCategoryNames[GeoDataPlacemark::ShopBag] = "ShopBag";
+        visualCategoryNames[GeoDataPlacemark::ShopClothes] = "ShopClothes";
+        visualCategoryNames[GeoDataPlacemark::ShopFashion] = "ShopFashion";
+        visualCategoryNames[GeoDataPlacemark::ShopJewelry] = "ShopJewelry";
+        visualCategoryNames[GeoDataPlacemark::ShopShoes] = "ShopShoes";
+        visualCategoryNames[GeoDataPlacemark::ShopVarietyStore] = \
"ShopVarietyStore"; +        visualCategoryNames[GeoDataPlacemark::ShopBeauty] = \
"ShopBeauty"; +        visualCategoryNames[GeoDataPlacemark::ShopChemist] = \
"ShopChemist"; +        visualCategoryNames[GeoDataPlacemark::ShopCosmetics] = \
"ShopCosmetics"; +        visualCategoryNames[GeoDataPlacemark::ShopHairdresser] = \
"ShopHairdresser"; +        visualCategoryNames[GeoDataPlacemark::ShopOptician] = \
"ShopOptician"; +        visualCategoryNames[GeoDataPlacemark::ShopPerfumery] = \
"ShopPerfumery"; +        visualCategoryNames[GeoDataPlacemark::ShopDoitYourself] = \
"ShopDoitYourself"; +        visualCategoryNames[GeoDataPlacemark::ShopFlorist] = \
"ShopFlorist"; +        visualCategoryNames[GeoDataPlacemark::ShopHardware] = \
"ShopHardware"; +        visualCategoryNames[GeoDataPlacemark::ShopFurniture] = \
"ShopFurniture"; +        visualCategoryNames[GeoDataPlacemark::ShopElectronics] = \
"ShopElectronics"; +        visualCategoryNames[GeoDataPlacemark::ShopMobilePhone] = \
"ShopMobilePhone"; +        visualCategoryNames[GeoDataPlacemark::ShopBicycle] = \
"ShopBicycle"; +        visualCategoryNames[GeoDataPlacemark::ShopCar] = "ShopCar";
+        visualCategoryNames[GeoDataPlacemark::ShopCarRepair] = "ShopCarRepair";
+        visualCategoryNames[GeoDataPlacemark::ShopCarParts] = "ShopCarParts";
+        visualCategoryNames[GeoDataPlacemark::ShopMotorcycle] = "ShopMotorcycle";
+        visualCategoryNames[GeoDataPlacemark::ShopOutdoor] = "ShopOutdoor";
+        visualCategoryNames[GeoDataPlacemark::ShopMusicalInstrument] = \
"ShopMusicalInstrument"; +        visualCategoryNames[GeoDataPlacemark::ShopPhoto] = \
"ShopPhoto"; +        visualCategoryNames[GeoDataPlacemark::ShopBook] = "ShopBook";
+        visualCategoryNames[GeoDataPlacemark::ShopGift] = "ShopGift";
+        visualCategoryNames[GeoDataPlacemark::ShopStationery] = "ShopStationery";
+        visualCategoryNames[GeoDataPlacemark::ShopLaundry] = "ShopLaundry";
+        visualCategoryNames[GeoDataPlacemark::ShopPet] = "ShopPet";
+        visualCategoryNames[GeoDataPlacemark::ShopToys] = "ShopToys";
+        visualCategoryNames[GeoDataPlacemark::ShopTravelAgency] = \
"ShopTravelAgency"; +        visualCategoryNames[GeoDataPlacemark::Shop] = "Shop";
+        visualCategoryNames[GeoDataPlacemark::ManmadeBridge] = "ManmadeBridge";
+        visualCategoryNames[GeoDataPlacemark::ManmadeLighthouse] = \
"ManmadeLighthouse"; +        visualCategoryNames[GeoDataPlacemark::ManmadePier] = \
"ManmadePier"; +        visualCategoryNames[GeoDataPlacemark::ManmadeWaterTower] = \
"ManmadeWaterTower"; +        visualCategoryNames[GeoDataPlacemark::ManmadeWindMill] \
= "ManmadeWindMill"; +        \
visualCategoryNames[GeoDataPlacemark::TouristAttraction] = "TouristAttraction"; +     \
visualCategoryNames[GeoDataPlacemark::TouristCastle] = "TouristCastle"; +        \
visualCategoryNames[GeoDataPlacemark::TouristCinema] = "TouristCinema"; +        \
visualCategoryNames[GeoDataPlacemark::TouristInformation] = "TouristInformation"; +   \
visualCategoryNames[GeoDataPlacemark::TouristMonument] = "TouristMonument"; +        \
visualCategoryNames[GeoDataPlacemark::TouristMuseum] = "TouristMuseum"; +        \
visualCategoryNames[GeoDataPlacemark::TouristRuin] = "TouristRuin"; +        \
visualCategoryNames[GeoDataPlacemark::TouristTheatre] = "TouristTheatre"; +        \
visualCategoryNames[GeoDataPlacemark::TouristThemePark] = "TouristThemePark"; +       \
visualCategoryNames[GeoDataPlacemark::TouristViewPoint] = "TouristViewPoint"; +       \
visualCategoryNames[GeoDataPlacemark::TouristZoo] = "TouristZoo"; +        \
visualCategoryNames[GeoDataPlacemark::TouristAlpineHut] = "TouristAlpineHut"; +       \
visualCategoryNames[GeoDataPlacemark::TransportAerodrome] = "TransportAerodrome"; +   \
visualCategoryNames[GeoDataPlacemark::TransportHelipad] = "TransportHelipad"; +       \
visualCategoryNames[GeoDataPlacemark::TransportAirportTerminal] = \
"TransportAirportTerminal"; +        \
visualCategoryNames[GeoDataPlacemark::TransportAirportGate] = "TransportAirportGate"; \
+        visualCategoryNames[GeoDataPlacemark::TransportAirportRunway] = \
"TransportAirportRunway"; +        \
visualCategoryNames[GeoDataPlacemark::TransportAirportTaxiway] = \
"TransportAirportTaxiway"; +        \
visualCategoryNames[GeoDataPlacemark::TransportAirportApron] = \
"TransportAirportApron"; +        \
visualCategoryNames[GeoDataPlacemark::TransportBusStation] = "TransportBusStation"; + \
visualCategoryNames[GeoDataPlacemark::TransportBusStop] = "TransportBusStop"; +       \
visualCategoryNames[GeoDataPlacemark::TransportCarShare] = "TransportCarShare"; +     \
visualCategoryNames[GeoDataPlacemark::TransportFuel] = "TransportFuel"; +        \
visualCategoryNames[GeoDataPlacemark::TransportParking] = "TransportParking"; +       \
visualCategoryNames[GeoDataPlacemark::TransportParkingSpace] = \
"TransportParkingSpace"; +        \
visualCategoryNames[GeoDataPlacemark::TransportPlatform] = "TransportPlatform"; +     \
visualCategoryNames[GeoDataPlacemark::TransportRentalBicycle] = \
"TransportRentalBicycle"; +        \
visualCategoryNames[GeoDataPlacemark::TransportRentalCar] = "TransportRentalCar"; +   \
visualCategoryNames[GeoDataPlacemark::TransportTaxiRank] = "TransportTaxiRank"; +     \
visualCategoryNames[GeoDataPlacemark::TransportTrainStation] = \
"TransportTrainStation"; +        \
visualCategoryNames[GeoDataPlacemark::TransportTramStop] = "TransportTramStop"; +     \
visualCategoryNames[GeoDataPlacemark::TransportBicycleParking] = \
"TransportBicycleParking"; +        \
visualCategoryNames[GeoDataPlacemark::TransportMotorcycleParking] = \
"TransportMotorcycleParking"; +        \
visualCategoryNames[GeoDataPlacemark::TransportSubwayEntrance] = \
"TransportSubwayEntrance"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionPlaceOfWorship] = \
"ReligionPlaceOfWorship"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionBahai] = "ReligionBahai"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionBuddhist] = "ReligionBuddhist"; +       \
visualCategoryNames[GeoDataPlacemark::ReligionChristian] = "ReligionChristian"; +     \
visualCategoryNames[GeoDataPlacemark::ReligionMuslim] = "ReligionMuslim"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionHindu] = "ReligionHindu"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionJain] = "ReligionJain"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionJewish] = "ReligionJewish"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionShinto] = "ReligionShinto"; +        \
visualCategoryNames[GeoDataPlacemark::ReligionSikh] = "ReligionSikh"; +        \
visualCategoryNames[GeoDataPlacemark::LeisureGolfCourse] = "LeisureGolfCourse"; +     \
visualCategoryNames[GeoDataPlacemark::LeisureMarina] = "LeisureMarina"; +        \
visualCategoryNames[GeoDataPlacemark::LeisurePark] = "LeisurePark"; +        \
visualCategoryNames[GeoDataPlacemark::LeisurePlayground] = "LeisurePlayground"; +     \
visualCategoryNames[GeoDataPlacemark::LeisurePitch] = "LeisurePitch"; +        \
visualCategoryNames[GeoDataPlacemark::LeisureSportsCentre] = "LeisureSportsCentre"; + \
visualCategoryNames[GeoDataPlacemark::LeisureStadium] = "LeisureStadium"; +        \
visualCategoryNames[GeoDataPlacemark::LeisureTrack] = "LeisureTrack"; +        \
visualCategoryNames[GeoDataPlacemark::LeisureSwimmingPool] = "LeisureSwimmingPool"; + \
visualCategoryNames[GeoDataPlacemark::LanduseAllotments] = "LanduseAllotments"; +     \
visualCategoryNames[GeoDataPlacemark::LanduseBasin] = "LanduseBasin"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseCemetery] = "LanduseCemetery"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseCommercial] = "LanduseCommercial"; +     \
visualCategoryNames[GeoDataPlacemark::LanduseConstruction] = "LanduseConstruction"; + \
visualCategoryNames[GeoDataPlacemark::LanduseFarmland] = "LanduseFarmland"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseFarmyard] = "LanduseFarmyard"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseGarages] = "LanduseGarages"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseGrass] = "LanduseGrass"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseIndustrial] = "LanduseIndustrial"; +     \
visualCategoryNames[GeoDataPlacemark::LanduseLandfill] = "LanduseLandfill"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseMeadow] = "LanduseMeadow"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseMilitary] = "LanduseMilitary"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseQuarry] = "LanduseQuarry"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseRailway] = "LanduseRailway"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseReservoir] = "LanduseReservoir"; +       \
visualCategoryNames[GeoDataPlacemark::LanduseResidential] = "LanduseResidential"; +   \
visualCategoryNames[GeoDataPlacemark::LanduseRetail] = "LanduseRetail"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseOrchard] = "LanduseOrchard"; +        \
visualCategoryNames[GeoDataPlacemark::LanduseVineyard] = "LanduseVineyard"; +        \
visualCategoryNames[GeoDataPlacemark::RailwayRail] = "RailwayRail"; +        \
visualCategoryNames[GeoDataPlacemark::RailwayNarrowGauge] = "RailwayNarrowGauge"; +   \
visualCategoryNames[GeoDataPlacemark::RailwayTram] = "RailwayTram"; +        \
visualCategoryNames[GeoDataPlacemark::RailwayLightRail] = "RailwayLightRail"; +       \
visualCategoryNames[GeoDataPlacemark::RailwayAbandoned] = "RailwayAbandoned"; +       \
visualCategoryNames[GeoDataPlacemark::RailwaySubway] = "RailwaySubway"; +        \
visualCategoryNames[GeoDataPlacemark::RailwayPreserved] = "RailwayPreserved"; +       \
visualCategoryNames[GeoDataPlacemark::RailwayMiniature] = "RailwayMiniature"; +       \
visualCategoryNames[GeoDataPlacemark::RailwayConstruction] = "RailwayConstruction"; + \
visualCategoryNames[GeoDataPlacemark::RailwayMonorail] = "RailwayMonorail"; +        \
visualCategoryNames[GeoDataPlacemark::RailwayFunicular] = "RailwayFunicular"; +       \
visualCategoryNames[GeoDataPlacemark::PowerTower] = "PowerTower"; +        \
visualCategoryNames[GeoDataPlacemark::Satellite] = "Satellite"; +        \
visualCategoryNames[GeoDataPlacemark::Landmass] = "Landmass"; +        \
visualCategoryNames[GeoDataPlacemark::UrbanArea] = "UrbanArea"; +        \
visualCategoryNames[GeoDataPlacemark::InternationalDateLine] = \
"InternationalDateLine"; +        visualCategoryNames[GeoDataPlacemark::Bathymetry] = \
"Bathymetry"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel1] = \
"AdminLevel1"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel2] = \
"AdminLevel2"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel3] = \
"AdminLevel3"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel4] = \
"AdminLevel4"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel5] = \
"AdminLevel5"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel6] = \
"AdminLevel6"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel7] = \
"AdminLevel7"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel8] = \
"AdminLevel8"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel9] = \
"AdminLevel9"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel10] = \
"AdminLevel10"; +        visualCategoryNames[GeoDataPlacemark::AdminLevel11] = \
"AdminLevel11"; +        visualCategoryNames[GeoDataPlacemark::BoundaryMaritime] = \
"BoundaryMaritime"; +        visualCategoryNames[GeoDataPlacemark::LastIndex] = \
"LastIndex";  }
 
     Q_ASSERT(visualCategoryNames.contains(category));
     return visualCategoryNames[category];
 }
 
-GeoDataFeature::GeoDataVisualCategory StyleBuilder::osmVisualCategory(const \
StyleBuilder::OsmTag &tag) +GeoDataPlacemark::GeoDataVisualCategory \
StyleBuilder::osmVisualCategory(const StyleBuilder::OsmTag &tag)  {
     Private::initializeOsmVisualCategories();
 
-    return Private::s_visualCategories.value(tag, GeoDataFeature::None);
+    return Private::s_visualCategories.value(tag, GeoDataPlacemark::None);
 }
 
-QHash<StyleBuilder::OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator \
StyleBuilder::begin() +QHash<StyleBuilder::OsmTag, \
GeoDataPlacemark::GeoDataVisualCategory>::const_iterator StyleBuilder::begin()  {
     Private::initializeOsmVisualCategories();
 
     return Private::s_visualCategories.constBegin();
 }
 
-QHash<StyleBuilder::OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator \
StyleBuilder::end() +QHash<StyleBuilder::OsmTag, \
GeoDataPlacemark::GeoDataVisualCategory>::const_iterator StyleBuilder::end()  {
     Private::initializeOsmVisualCategories();
 
@@ -2003,7 +2003,7 @@ QSet<StyleBuilder::OsmTag> StyleBuilder::buildingTags()
     return osmBuildingTags;
 }
 
-GeoDataFeature::GeoDataVisualCategory StyleBuilder::determineVisualCategory(const \
OsmPlacemarkData &osmData) +GeoDataPlacemark::GeoDataVisualCategory \
StyleBuilder::determineVisualCategory(const OsmPlacemarkData &osmData)  {
     if (osmData.containsTagKey(QStringLiteral("area:highway")) ||              // \
                Not supported yet
             osmData.containsTag("boundary", "protected_area") ||   // Not relevant \
for the default map @@ -2016,38 +2016,38 @@ GeoDataFeature::GeoDataVisualCategory \
                StyleBuilder::determineVisualCategory(cons
             osmData.containsTagKey(QStringLiteral("abandoned:leisure")) ||
             osmData.containsTagKey(QStringLiteral("disused:highway")) ||
             osmData.containsTag("highway", "razed")) {
-        return GeoDataFeature::None;
+        return GeoDataPlacemark::None;
     }
 
     if (osmData.containsTag("building", "yes")) {
-        return GeoDataFeature::Building;
+        return GeoDataPlacemark::Building;
     }
 
     if (osmData.containsTag("historic", "castle") && \
                osmData.containsTag("castle_type", "kremlin")) {
-        return GeoDataFeature::None;
+        return GeoDataPlacemark::None;
     }
 
     if( osmData.containsTag("natural", "glacier") && \
                osmData.containsTag("glacier:type", "shelf") ){
-        return GeoDataFeature::NaturalIceShelf;
+        return GeoDataPlacemark::NaturalIceShelf;
     }
 
     for (auto iter = osmData.tagsBegin(), end=osmData.tagsEnd(); iter != end; \
++iter) {  const auto tag = OsmTag(iter.key(), iter.value());
-        GeoDataFeature::GeoDataVisualCategory category = osmVisualCategory(tag);
-        if (category != GeoDataFeature::None) {
-            if (category == GeoDataFeature::PlaceCity && \
                osmData.containsTag("capital", "yes")) {
-                category = GeoDataFeature::PlaceCityCapital;
-            } else if (category == GeoDataFeature::PlaceTown && \
                osmData.containsTag("capital", "yes")) {
-                category = GeoDataFeature::PlaceTownCapital;
-            } else if (category == GeoDataFeature::PlaceVillage && \
                osmData.containsTag("capital", "yes")) {
-                category = GeoDataFeature::PlaceVillageCapital;
+        GeoDataPlacemark::GeoDataVisualCategory category = osmVisualCategory(tag);
+        if (category != GeoDataPlacemark::None) {
+            if (category == GeoDataPlacemark::PlaceCity && \
osmData.containsTag("capital", "yes")) { +                category = \
GeoDataPlacemark::PlaceCityCapital; +            } else if (category == \
GeoDataPlacemark::PlaceTown && osmData.containsTag("capital", "yes")) { +             \
category = GeoDataPlacemark::PlaceTownCapital; +            } else if (category == \
GeoDataPlacemark::PlaceVillage && osmData.containsTag("capital", "yes")) { +          \
category = GeoDataPlacemark::PlaceVillageCapital;  }
 
             return category;
         }
     }
 
-    return GeoDataFeature::None;
+    return GeoDataPlacemark::None;
 }
 
 StyleParameters::StyleParameters(const GeoDataPlacemark *placemark_, int tileLevel_) \
                :
diff --git a/src/lib/marble/StyleBuilder.h b/src/lib/marble/StyleBuilder.h
index 6acd2ad..d3fb756 100644
--- a/src/lib/marble/StyleBuilder.h
+++ b/src/lib/marble/StyleBuilder.h
@@ -13,7 +13,7 @@
 
 #include "marble_export.h"
 
-#include <GeoDataFeature.h>
+#include <GeoDataPlacemark.h>
 #include <GeoDataStyle.h>
 
 #include <QHash>
@@ -23,7 +23,6 @@ class QFont;
 class QColor;
 
 namespace Marble {
-class GeoDataPlacemark;
 class OsmPlacemarkData;
 
 class MARBLE_EXPORT StyleParameters
@@ -53,7 +52,7 @@ public:
     void setDefaultLabelColor( const QColor& color );
 
     GeoDataStyle::ConstPtr createStyle(const StyleParameters &parameters) const;
-    GeoDataStyle::ConstPtr presetStyle(GeoDataFeature::GeoDataVisualCategory \
visualCategory) const; +    GeoDataStyle::ConstPtr \
presetStyle(GeoDataPlacemark::GeoDataVisualCategory visualCategory) const;  
     /**
      * @brief Returns the order in which the visual categories used in the theme \
shall be painted on the map. @@ -76,23 +75,23 @@ public:
      */
     int maximumZoomLevel() const;
 
-    static QString visualCategoryName(GeoDataFeature::GeoDataVisualCategory \
category); +    static QString \
visualCategoryName(GeoDataPlacemark::GeoDataVisualCategory category);  
     /**
      * @brief  Convenience categorization of placemarks for Osm key=value pairs
      */
-    static GeoDataFeature::GeoDataVisualCategory osmVisualCategory(const OsmTag \
&tag); +    static GeoDataPlacemark::GeoDataVisualCategory osmVisualCategory(const \
OsmTag &tag);  
     /**
      * @brief begin and end provide an stl style iterator for the preset map
      */
-    static QHash<OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator \
                begin();
-    static QHash<OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator \
end(); +    static QHash<OsmTag, \
GeoDataPlacemark::GeoDataVisualCategory>::const_iterator begin(); +    static \
QHash<OsmTag, GeoDataPlacemark::GeoDataVisualCategory>::const_iterator end();  
     static QStringList shopValues();
     static QSet<OsmTag> buildingTags();
 
-    static GeoDataFeature::GeoDataVisualCategory determineVisualCategory(const \
OsmPlacemarkData &osmData); +    static GeoDataPlacemark::GeoDataVisualCategory \
determineVisualCategory(const OsmPlacemarkData &osmData);  
 private:
     Q_DISABLE_COPY(StyleBuilder)
diff --git a/src/lib/marble/declarative/MarbleQuickItem.cpp \
b/src/lib/marble/declarative/MarbleQuickItem.cpp index 3f8dbe0..96f1049 100644
--- a/src/lib/marble/declarative/MarbleQuickItem.cpp
+++ b/src/lib/marble/declarative/MarbleQuickItem.cpp
@@ -589,8 +589,8 @@ namespace Marble
 
         // Select bookmarks only if nothing else is found
         qSort(placemarks.begin(), placemarks.end(), [] (GeoDataPlacemark const *a, \
                GeoDataPlacemark const *b) {
-            int const left = a->visualCategory() == GeoDataFeature::Bookmark ? -1 : \
                a->visualCategory();
-            int const right = b->visualCategory() == GeoDataFeature::Bookmark ? -1 : \
b->visualCategory(); +            int const left = a->visualCategory() == \
GeoDataPlacemark::Bookmark ? -1 : a->visualCategory(); +            int const right = \
b->visualCategory() == GeoDataPlacemark::Bookmark ? -1 : b->visualCategory();  return \
left > right;  });
 
diff --git a/src/lib/marble/declarative/Placemark.cpp \
b/src/lib/marble/declarative/Placemark.cpp index f861134..5a76bc2 100644
--- a/src/lib/marble/declarative/Placemark.cpp
+++ b/src/lib/marble/declarative/Placemark.cpp
@@ -49,7 +49,7 @@ void Placemark::setGeoDataPlacemark( const Marble::GeoDataPlacemark \
&placemark )  emit elevationChanged();
     emit amenityChanged();
     emit shopChanged();
-    if (m_placemark.visualCategory() == GeoDataFeature::TransportFuel) {
+    if (m_placemark.visualCategory() == GeoDataPlacemark::TransportFuel) {
         emit fuelDetailsChanged();
     }
 }
@@ -74,7 +74,7 @@ QString Placemark::description() const
     if (m_description.isEmpty()) {
         auto const category = m_placemark.visualCategory();
         m_description = m_placemark.categoryName();
-        if (category >= GeoDataFeature::FoodBar && category <= \
GeoDataFeature::FoodRestaurant) { +        if (category >= GeoDataPlacemark::FoodBar \
&& category <= GeoDataPlacemark::FoodRestaurant) {  addTagValue(m_description, \
"brand");  addTagValue(m_description, "cuisine");
             addTagDescription(m_description, "self_service", "yes", "Self Service");
@@ -90,19 +90,19 @@ QString Placemark::description() const
             addTagDescription(m_description, "smoking:outside", "yes", "Smoking \
                (outside)");
             addTagDescription(m_description, "smoking:outside", "separated", \
                "Smoking (outside separated)");
             addTagDescription(m_description, "smoking:outside", "no", "No smoking \
                outside");
-        } else if (category >= GeoDataFeature::ShopBeverages && category <= \
GeoDataFeature::Shop) { +        } else if (category >= \
GeoDataPlacemark::ShopBeverages && category <= GeoDataPlacemark::Shop) {  \
                addTagValue(m_description, "operator");
-        } else if (category == GeoDataFeature::TransportBusStop) {
+        } else if (category == GeoDataPlacemark::TransportBusStop) {
             addTagValue(m_description, "network");
             addTagValue(m_description, "operator");
             addTagValue(m_description, "ref");
-        } else if (category == GeoDataFeature::TransportCarShare) {
+        } else if (category == GeoDataPlacemark::TransportCarShare) {
             addTagValue(m_description, "network");
             addTagValue(m_description, "operator");
-        } else if (category == GeoDataFeature::TransportFuel) {
+        } else if (category == GeoDataPlacemark::TransportFuel) {
             addTagValue(m_description, "brand");
             addTagValue(m_description, "operator");
-        } else if (category == GeoDataFeature::NaturalTree) {
+        } else if (category == GeoDataPlacemark::NaturalTree) {
             addTagValue(m_description, "species:en");
             addTagValue(m_description, "genus:en");
             addTagValue(m_description, "leaf_type");
@@ -122,7 +122,7 @@ QString Placemark::address() const
 
 QString Placemark::fuelDetails() const
 {
-    if (m_fuelDetails.isEmpty() && m_placemark.visualCategory() == \
GeoDataFeature::TransportFuel) { +    if (m_fuelDetails.isEmpty() && \
                m_placemark.visualCategory() == GeoDataPlacemark::TransportFuel) {
         addTagDescription(m_fuelDetails, "fuel:diesel", "yes", tr("Diesel"));
         addTagDescription(m_fuelDetails, "fuel:octane_91", "yes", tr("Octane 91"));
         addTagDescription(m_fuelDetails, "fuel:octane_95", "yes", tr("Octane 95"));
diff --git a/src/lib/marble/geodata/data/GeoDataFeature.h \
b/src/lib/marble/geodata/data/GeoDataFeature.h index 46ce728..9ec006c 100644
--- a/src/lib/marble/geodata/data/GeoDataFeature.h
+++ b/src/lib/marble/geodata/data/GeoDataFeature.h
@@ -66,374 +66,6 @@ class GEODATA_EXPORT GeoDataFeature : public GeoDataObject
     virtual const char* nodeType() const;
 
     EnumFeatureId featureId() const;
-    /**
-     * @brief  A categorization of a placemark as defined by ...FIXME.
-     * There is an additional osm tag mapping to GeoDataVisualCategory
-     * in OsmPlacemarkData
-     */
-    enum GeoDataVisualCategory {
-        None,
-        Default,
-        Unknown,
-
-        // The order of the cities needs to stay fixed as the
-        // algorithms rely on that.
-        SmallCity,
-        SmallCountyCapital,
-        SmallStateCapital,
-        SmallNationCapital,
-        MediumCity,
-        MediumCountyCapital,
-        MediumStateCapital,
-        MediumNationCapital,
-        BigCity,
-        BigCountyCapital,
-        BigStateCapital,
-        BigNationCapital,
-        LargeCity,
-        LargeCountyCapital,
-        LargeStateCapital,
-        LargeNationCapital,
-        Nation,
-
-        // Terrain
-        Mountain,
-        Volcano,
-        Mons,                    // m
-        Valley,                  // v
-        Continent,
-        Ocean,
-        OtherTerrain,            // o
-
-        // Space Terrain
-        Crater,                  // c
-        Mare,                    // a
-
-        // Places of Interest
-        GeographicPole,
-        MagneticPole,
-        ShipWreck,
-        AirPort,
-        Observatory,
-
-        // Military
-        MilitaryDangerArea,
-
-        // Runners
-        OsmSite,
-        Coordinate,
-
-        // Planets
-        MannedLandingSite,       // h
-        RoboticRover,            // r
-        UnmannedSoftLandingSite, // u
-        UnmannedHardLandingSite, // i
-
-        Bookmark,
-
-        Satellite,
-
-        /*
-         * Start of OpenStreetMap categories
-         */
-
-        PlaceCity,
-        PlaceCityCapital,
-        PlaceSuburb,
-        PlaceHamlet,
-        PlaceLocality,
-        PlaceTown,
-        PlaceTownCapital,
-        PlaceVillage,
-        PlaceVillageCapital,
-
-        NaturalWater,
-        NaturalReef,
-        NaturalWood,
-        NaturalBeach,
-        NaturalWetland,
-        NaturalGlacier,
-        NaturalIceShelf,
-        NaturalScrub,
-        NaturalCliff,
-        NaturalHeath,
-
-        HighwayTrafficSignals,
-
-        // OpenStreetMap highways
-        HighwaySteps,
-        HighwayUnknown,
-        HighwayPath,
-        HighwayFootway,
-        HighwayTrack,
-        HighwayPedestrian,
-        HighwayCycleway,
-        HighwayService,
-        HighwayRoad,
-        HighwayResidential,
-        HighwayLivingStreet,
-        HighwayUnclassified,
-        HighwayTertiaryLink,
-        HighwayTertiary,
-        HighwaySecondaryLink,
-        HighwaySecondary,
-        HighwayPrimaryLink,
-        HighwayPrimary,
-        HighwayTrunkLink,
-        HighwayTrunk,
-        HighwayMotorwayLink,
-        HighwayMotorway,
-
-        //OSM building
-        Building,
-
-        // OpenStreetMap category Accomodation
-        AccomodationCamping,
-        AccomodationHostel,
-        AccomodationHotel,
-        AccomodationMotel,
-        AccomodationYouthHostel,
-        AccomodationGuestHouse,
-
-        // OpenStreetMap category Amenity
-        AmenityLibrary,
-        AmenityKindergarten, ///< @since 0.26.0
-
-        // OpenStreetMap category Education
-        EducationCollege,
-        EducationSchool,
-        EducationUniversity,
-
-        // OpenStreetMap category Food
-        FoodBar,
-        FoodBiergarten,
-        FoodCafe,
-        FoodFastFood,
-        FoodPub,
-        FoodRestaurant,
-
-        // OpenStreetMap category Health
-        HealthDentist,
-        HealthDoctors,
-        HealthHospital,
-        HealthPharmacy,
-        HealthVeterinary,
-
-        // OpenStreetMap category Money
-        MoneyAtm,
-        MoneyBank,
-
-        AmenityArchaeologicalSite,
-        AmenityEmbassy,
-        AmenityEmergencyPhone,
-        AmenityWaterPark,
-        AmenityCommunityCentre,
-        AmenityFountain,
-        AmenityNightClub,
-        AmenityBench,
-        AmenityCourtHouse,
-        AmenityFireStation,
-        AmenityHuntingStand,
-        AmenityPolice,
-        AmenityPostBox,
-        AmenityPostOffice,
-        AmenityPrison,
-        AmenityRecycling,
-        AmenityShelter, ///< @since 0.26.0
-        AmenityTelephone,
-        AmenityToilets,
-        AmenityTownHall,
-        AmenityWasteBasket,
-        AmenityDrinkingWater,
-        AmenityGraveyard,
-
-        // OpenStreetMap category Barrier
-        BarrierCityWall,
-        BarrierGate,
-        BarrierLiftGate,
-        BarrierWall,
-
-        NaturalPeak,
-        NaturalTree,
-
-        // OpenStreetMap category Shopping
-        ShopBeverages,
-        ShopHifi,
-        ShopSupermarket,
-        ShopAlcohol,
-        ShopBakery,
-        ShopButcher,
-        ShopConfectionery,
-        ShopConvenience,
-        ShopGreengrocer,
-        ShopSeafood,
-        ShopDepartmentStore,
-        ShopKiosk,
-        ShopBag,
-        ShopClothes,
-        ShopFashion,
-        ShopJewelry,
-        ShopShoes,
-        ShopVarietyStore,
-        ShopBeauty,
-        ShopChemist,
-        ShopCosmetics,
-        ShopHairdresser,
-        ShopOptician,
-        ShopPerfumery,
-        ShopDoitYourself,
-        ShopFlorist,
-        ShopHardware,
-        ShopFurniture,
-        ShopElectronics,
-        ShopMobilePhone,
-        ShopBicycle,
-        ShopCar,
-        ShopCarRepair,
-        ShopCarParts,
-        ShopMotorcycle,
-        ShopOutdoor,
-        ShopMusicalInstrument,
-        ShopPhoto,
-        ShopBook,
-        ShopGift,
-        ShopStationery,
-        ShopLaundry,
-        ShopPet,
-        ShopToys,
-        ShopTravelAgency,
-        Shop,
-
-        ManmadeBridge,
-        ManmadeLighthouse,
-        ManmadePier,
-        ManmadeWaterTower,
-        ManmadeWindMill,
-
-
-        // OpenStreetMap category Tourist
-        TouristAttraction,
-        TouristCastle,
-        TouristCinema,
-        TouristInformation,
-        TouristMonument,
-        TouristMuseum,
-        TouristRuin,
-        TouristTheatre,
-        TouristThemePark,
-        TouristViewPoint,
-        TouristZoo,
-        TouristAlpineHut,
-
-        // OpenStreetMap category Transport
-        TransportAerodrome,
-        TransportHelipad,
-        TransportAirportTerminal,
-        TransportAirportGate, ///< @since 0.26.0
-        TransportAirportRunway, ///< @since 0.26.0
-        TransportAirportTaxiway, ///< @since 0.26.0
-        TransportAirportApron, ///< @since 0.26.0
-        TransportBusStation,
-        TransportBusStop,
-        TransportCarShare,
-        TransportFuel,
-        TransportParking,
-        TransportParkingSpace,
-        TransportPlatform,
-        TransportRentalBicycle,
-        TransportRentalCar,
-        TransportTaxiRank,
-        TransportTrainStation,
-        TransportTramStop,
-        TransportBicycleParking,
-        TransportMotorcycleParking,
-        TransportSubwayEntrance,
-
-        // OpenStreetMap category religion
-        ReligionPlaceOfWorship,
-        ReligionBahai,
-        ReligionBuddhist,
-        ReligionChristian,
-        ReligionMuslim,
-        ReligionHindu,
-        ReligionJain,
-        ReligionJewish,
-        ReligionShinto,
-        ReligionSikh,
-
-        // OpenStreetMap category Leisure
-        LeisureGolfCourse,
-        LeisureMarina, ///< @since 0.26.0
-        LeisurePark,
-        LeisurePlayground,
-        LeisurePitch,
-        LeisureSportsCentre,
-        LeisureStadium,
-        LeisureTrack,
-        LeisureSwimmingPool,
-
-        LanduseAllotments,
-        LanduseBasin,
-        LanduseCemetery,
-        LanduseCommercial,
-        LanduseConstruction,
-        LanduseFarmland,
-        LanduseFarmyard,
-        LanduseGarages,
-        LanduseGrass,
-        LanduseIndustrial,
-        LanduseLandfill,
-        LanduseMeadow,
-        LanduseMilitary,
-        LanduseQuarry,
-        LanduseRailway,
-        LanduseReservoir,
-        LanduseResidential,
-        LanduseRetail,
-        LanduseOrchard,
-        LanduseVineyard,
-
-        RailwayRail,
-        RailwayNarrowGauge,
-        RailwayTram,
-        RailwayLightRail,
-        RailwayAbandoned,
-        RailwaySubway,
-        RailwayPreserved,
-        RailwayMiniature,
-        RailwayConstruction,
-        RailwayMonorail,
-        RailwayFunicular,
-
-        // OpenStreetMap category Power
-        PowerTower,
-
-        //Admin level tags for depicting boundary
-        AdminLevel1,
-        AdminLevel2,
-        AdminLevel3,
-        AdminLevel4,
-        AdminLevel5,
-        AdminLevel6,
-        AdminLevel7,
-        AdminLevel8,
-        AdminLevel9,
-        AdminLevel10,
-        AdminLevel11,
-
-        BoundaryMaritime,
-
-        //Custom OSM Tags
-        Landmass,
-        UrbanArea,
-        InternationalDateLine,
-        Bathymetry, ///< @since 0.26.0
-
-        // Important: Make sure that this is always the last
-        // item and just use it to specify the array size
-        LastIndex
-
-    };
 
     /**
      * @brief The name of the feature
diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp \
b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp index cad8297..bc658de 100644
--- a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp
+++ b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp
@@ -166,12 +166,12 @@ bool GeoDataPlacemark::operator!=( const GeoDataPlacemark& \
other ) const  return !this->operator==( other );
 }
 
-GeoDataFeature::GeoDataVisualCategory GeoDataPlacemark::visualCategory() const
+GeoDataPlacemark::GeoDataVisualCategory GeoDataPlacemark::visualCategory() const
 {
     return p()->m_visualCategory;
 }
 
-void GeoDataPlacemark::setVisualCategory(GeoDataFeature::GeoDataVisualCategory \
index) +void GeoDataPlacemark::setVisualCategory(GeoDataPlacemark::GeoDataVisualCategory \
index)  {
     detach();
     p()->m_visualCategory = index;
diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.h \
b/src/lib/marble/geodata/data/GeoDataPlacemark.h index 9c9c72d..0ffdbf5 100644
--- a/src/lib/marble/geodata/data/GeoDataPlacemark.h
+++ b/src/lib/marble/geodata/data/GeoDataPlacemark.h
@@ -82,6 +82,375 @@ class GEODATA_EXPORT GeoDataPlacemark: public GeoDataFeature
     bool operator!=( const GeoDataPlacemark& other ) const;
 
     /**
+     * @brief  A categorization of a placemark as defined by ...FIXME.
+     * There is an additional osm tag mapping to GeoDataVisualCategory
+     * in OsmPlacemarkData
+     */
+    enum GeoDataVisualCategory {
+        None,
+        Default,
+        Unknown,
+
+        // The order of the cities needs to stay fixed as the
+        // algorithms rely on that.
+        SmallCity,
+        SmallCountyCapital,
+        SmallStateCapital,
+        SmallNationCapital,
+        MediumCity,
+        MediumCountyCapital,
+        MediumStateCapital,
+        MediumNationCapital,
+        BigCity,
+        BigCountyCapital,
+        BigStateCapital,
+        BigNationCapital,
+        LargeCity,
+        LargeCountyCapital,
+        LargeStateCapital,
+        LargeNationCapital,
+        Nation,
+
+        // Terrain
+        Mountain,
+        Volcano,
+        Mons,                    // m
+        Valley,                  // v
+        Continent,
+        Ocean,
+        OtherTerrain,            // o
+
+        // Space Terrain
+        Crater,                  // c
+        Mare,                    // a
+
+        // Places of Interest
+        GeographicPole,
+        MagneticPole,
+        ShipWreck,
+        AirPort,
+        Observatory,
+
+        // Military
+        MilitaryDangerArea,
+
+        // Runners
+        OsmSite,
+        Coordinate,
+
+        // Planets
+        MannedLandingSite,       // h
+        RoboticRover,            // r
+        UnmannedSoftLandingSite, // u
+        UnmannedHardLandingSite, // i
+
+        Bookmark,
+
+        Satellite,
+
+        /*
+         * Start of OpenStreetMap categories
+         */
+
+        PlaceCity,
+        PlaceCityCapital,
+        PlaceSuburb,
+        PlaceHamlet,
+        PlaceLocality,
+        PlaceTown,
+        PlaceTownCapital,
+        PlaceVillage,
+        PlaceVillageCapital,
+
+        NaturalWater,
+        NaturalReef,
+        NaturalWood,
+        NaturalBeach,
+        NaturalWetland,
+        NaturalGlacier,
+        NaturalIceShelf,
+        NaturalScrub,
+        NaturalCliff,
+        NaturalHeath,
+
+        HighwayTrafficSignals,
+
+        // OpenStreetMap highways
+        HighwaySteps,
+        HighwayUnknown,
+        HighwayPath,
+        HighwayFootway,
+        HighwayTrack,
+        HighwayPedestrian,
+        HighwayCycleway,
+        HighwayService,
+        HighwayRoad,
+        HighwayResidential,
+        HighwayLivingStreet,
+        HighwayUnclassified,
+        HighwayTertiaryLink,
+        HighwayTertiary,
+        HighwaySecondaryLink,
+        HighwaySecondary,
+        HighwayPrimaryLink,
+        HighwayPrimary,
+        HighwayTrunkLink,
+        HighwayTrunk,
+        HighwayMotorwayLink,
+        HighwayMotorway,
+
+        //OSM building
+        Building,
+
+        // OpenStreetMap category Accomodation
+        AccomodationCamping,
+        AccomodationHostel,
+        AccomodationHotel,
+        AccomodationMotel,
+        AccomodationYouthHostel,
+        AccomodationGuestHouse,
+
+        // OpenStreetMap category Amenity
+        AmenityLibrary,
+        AmenityKindergarten, ///< @since 0.26.0
+
+        // OpenStreetMap category Education
+        EducationCollege,
+        EducationSchool,
+        EducationUniversity,
+
+        // OpenStreetMap category Food
+        FoodBar,
+        FoodBiergarten,
+        FoodCafe,
+        FoodFastFood,
+        FoodPub,
+        FoodRestaurant,
+
+        // OpenStreetMap category Health
+        HealthDentist,
+        HealthDoctors,
+        HealthHospital,
+        HealthPharmacy,
+        HealthVeterinary,
+
+        // OpenStreetMap category Money
+        MoneyAtm,
+        MoneyBank,
+
+        AmenityArchaeologicalSite,
+        AmenityEmbassy,
+        AmenityEmergencyPhone,
+        AmenityWaterPark,
+        AmenityCommunityCentre,
+        AmenityFountain,
+        AmenityNightClub,
+        AmenityBench,
+        AmenityCourtHouse,
+        AmenityFireStation,
+        AmenityHuntingStand,
+        AmenityPolice,
+        AmenityPostBox,
+        AmenityPostOffice,
+        AmenityPrison,
+        AmenityRecycling,
+        AmenityShelter, ///< @since 0.26.0
+        AmenityTelephone,
+        AmenityToilets,
+        AmenityTownHall,
+        AmenityWasteBasket,
+        AmenityDrinkingWater,
+        AmenityGraveyard,
+
+        // OpenStreetMap category Barrier
+        BarrierCityWall,
+        BarrierGate,
+        BarrierLiftGate,
+        BarrierWall,
+
+        NaturalPeak,
+        NaturalTree,
+
+        // OpenStreetMap category Shopping
+        ShopBeverages,
+        ShopHifi,
+        ShopSupermarket,
+        ShopAlcohol,
+        ShopBakery,
+        ShopButcher,
+        ShopConfectionery,
+        ShopConvenience,
+        ShopGreengrocer,
+        ShopSeafood,
+        ShopDepartmentStore,
+        ShopKiosk,
+        ShopBag,
+        ShopClothes,
+        ShopFashion,
+        ShopJewelry,
+        ShopShoes,
+        ShopVarietyStore,
+        ShopBeauty,
+        ShopChemist,
+        ShopCosmetics,
+        ShopHairdresser,
+        ShopOptician,
+        ShopPerfumery,
+        ShopDoitYourself,
+        ShopFlorist,
+        ShopHardware,
+        ShopFurniture,
+        ShopElectronics,
+        ShopMobilePhone,
+        ShopBicycle,
+        ShopCar,
+        ShopCarRepair,
+        ShopCarParts,
+        ShopMotorcycle,
+        ShopOutdoor,
+        ShopMusicalInstrument,
+        ShopPhoto,
+        ShopBook,
+        ShopGift,
+        ShopStationery,
+        ShopLaundry,
+        ShopPet,
+        ShopToys,
+        ShopTravelAgency,
+        Shop,
+
+        ManmadeBridge,
+        ManmadeLighthouse,
+        ManmadePier,
+        ManmadeWaterTower,
+        ManmadeWindMill,
+
+
+        // OpenStreetMap category Tourist
+        TouristAttraction,
+        TouristCastle,
+        TouristCinema,
+        TouristInformation,
+        TouristMonument,
+        TouristMuseum,
+        TouristRuin,
+        TouristTheatre,
+        TouristThemePark,
+        TouristViewPoint,
+        TouristZoo,
+        TouristAlpineHut,
+
+        // OpenStreetMap category Transport
+        TransportAerodrome,
+        TransportHelipad,
+        TransportAirportTerminal,
+        TransportAirportGate, ///< @since 0.26.0
+        TransportAirportRunway, ///< @since 0.26.0
+        TransportAirportTaxiway, ///< @since 0.26.0
+        TransportAirportApron, ///< @since 0.26.0
+        TransportBusStation,
+        TransportBusStop,
+        TransportCarShare,
+        TransportFuel,
+        TransportParking,
+        TransportParkingSpace,
+        TransportPlatform,
+        TransportRentalBicycle,
+        TransportRentalCar,
+        TransportTaxiRank,
+        TransportTrainStation,
+        TransportTramStop,
+        TransportBicycleParking,
+        TransportMotorcycleParking,
+        TransportSubwayEntrance,
+
+        // OpenStreetMap category religion
+        ReligionPlaceOfWorship,
+        ReligionBahai,
+        ReligionBuddhist,
+        ReligionChristian,
+        ReligionMuslim,
+        ReligionHindu,
+        ReligionJain,
+        ReligionJewish,
+        ReligionShinto,
+        ReligionSikh,
+
+        // OpenStreetMap category Leisure
+        LeisureGolfCourse,
+        LeisureMarina, ///< @since 0.26.0
+        LeisurePark,
+        LeisurePlayground,
+        LeisurePitch,
+        LeisureSportsCentre,
+        LeisureStadium,
+        LeisureTrack,
+        LeisureSwimmingPool,
+
+        LanduseAllotments,
+        LanduseBasin,
+        LanduseCemetery,
+        LanduseCommercial,
+        LanduseConstruction,
+        LanduseFarmland,
+        LanduseFarmyard,
+        LanduseGarages,
+        LanduseGrass,
+        LanduseIndustrial,
+        LanduseLandfill,
+        LanduseMeadow,
+        LanduseMilitary,
+        LanduseQuarry,
+        LanduseRailway,
+        LanduseReservoir,
+        LanduseResidential,
+        LanduseRetail,
+        LanduseOrchard,
+        LanduseVineyard,
+
+        RailwayRail,
+        RailwayNarrowGauge,
+        RailwayTram,
+        RailwayLightRail,
+        RailwayAbandoned,
+        RailwaySubway,
+        RailwayPreserved,
+        RailwayMiniature,
+        RailwayConstruction,
+        RailwayMonorail,
+        RailwayFunicular,
+
+        // OpenStreetMap category Power
+        PowerTower,
+
+        //Admin level tags for depicting boundary
+        AdminLevel1,
+        AdminLevel2,
+        AdminLevel3,
+        AdminLevel4,
+        AdminLevel5,
+        AdminLevel6,
+        AdminLevel7,
+        AdminLevel8,
+        AdminLevel9,
+        AdminLevel10,
+        AdminLevel11,
+
+        BoundaryMaritime,
+
+        //Custom OSM Tags
+        Landmass,
+        UrbanArea,
+        InternationalDateLine,
+        Bathymetry, ///< @since 0.26.0
+
+        // Important: Make sure that this is always the last
+        // item and just use it to specify the array size
+        LastIndex
+
+    };
+
+    /**
      * Return the symbol index of the placemark.
      */
     GeoDataVisualCategory visualCategory() const;
diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark_p.h \
b/src/lib/marble/geodata/data/GeoDataPlacemark_p.h index 8ac0189..c449371 100644
--- a/src/lib/marble/geodata/data/GeoDataPlacemark_p.h
+++ b/src/lib/marble/geodata/data/GeoDataPlacemark_p.h
@@ -65,7 +65,7 @@ class GeoDataPlacemarkPrivate : public GeoDataFeaturePrivate
         m_geometry(new GeoDataPoint),
         m_population( -1 ),
         m_placemarkExtendedData(nullptr),
-        m_visualCategory(GeoDataFeature::Default)
+        m_visualCategory(GeoDataPlacemark::Default)
     {
     }
 
@@ -163,7 +163,7 @@ class GeoDataPlacemarkPrivate : public GeoDataFeaturePrivate
     GeoDataGeometry    *m_geometry;     // any GeoDataGeometry entry like locations
     qint64              m_population;   // population in number of inhabitants
     GeoDataPlacemarkExtendedData *m_placemarkExtendedData;
-    GeoDataFeature::GeoDataVisualCategory m_visualCategory; // the visual category
+    GeoDataPlacemark::GeoDataVisualCategory m_visualCategory; // the visual category
 
     static const OsmPlacemarkData s_nullOsmPlacemarkData;
     static const GeoDataPlacemarkExtendedData s_nullPlacemarkExtendedData;
diff --git a/src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp \
b/src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp index \
                6496a6c..8cefb51 100644
--- a/src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp
+++ b/src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp
@@ -19,7 +19,7 @@ namespace Marble
 
 AbstractGeoPolygonGraphicsItem *GeoPolygonGraphicsItem::createGraphicsItem(const \
GeoDataPlacemark *placemark, const GeoDataPolygon *polygon)  {
-    if (placemark->visualCategory() == GeoDataFeature::Building) {
+    if (placemark->visualCategory() == GeoDataPlacemark::Building) {
         return new BuildingGeoPolygonGraphicsItem(placemark, polygon);
     }
     return new GeoPolygonGraphicsItem(placemark, polygon);
@@ -27,7 +27,7 @@ AbstractGeoPolygonGraphicsItem \
*GeoPolygonGraphicsItem::createGraphicsItem(const  
 AbstractGeoPolygonGraphicsItem *GeoPolygonGraphicsItem::createGraphicsItem(const \
GeoDataPlacemark *placemark, const GeoDataLinearRing *ring)  {
-    if (placemark->visualCategory() == GeoDataFeature::Building) {
+    if (placemark->visualCategory() == GeoDataPlacemark::Building) {
         return new BuildingGeoPolygonGraphicsItem(placemark, ring);
     }
     return new GeoPolygonGraphicsItem(placemark, ring);
@@ -40,7 +40,7 @@ GeoPolygonGraphicsItem::GeoPolygonGraphicsItem(const \
GeoDataPlacemark *placemark  const int elevation = extractElevation(*placemark);
     setZValue(zValue() + elevation);
 
-    const GeoDataFeature::GeoDataVisualCategory visualCategory = \
placemark->visualCategory(); +    const GeoDataPlacemark::GeoDataVisualCategory \
                visualCategory = placemark->visualCategory();
     const QString paintLayer = QLatin1String("Polygon/") + \
StyleBuilder::visualCategoryName(visualCategory);  \
setPaintLayers(QStringList(paintLayer));  }
@@ -51,7 +51,7 @@ GeoPolygonGraphicsItem::GeoPolygonGraphicsItem(const \
GeoDataPlacemark *placemark  const int elevation = extractElevation(*placemark);
     setZValue(zValue() + elevation);
 
-    const GeoDataFeature::GeoDataVisualCategory visualCategory = \
placemark->visualCategory(); +    const GeoDataPlacemark::GeoDataVisualCategory \
                visualCategory = placemark->visualCategory();
     const QString paintLayer = QLatin1String("Polygon/") + \
StyleBuilder::visualCategoryName(visualCategory);  \
setPaintLayers(QStringList(paintLayer));  }
diff --git a/src/lib/marble/layers/GeometryLayer.cpp \
b/src/lib/marble/layers/GeometryLayer.cpp index 62d8b8f..ee91f6d 100644
--- a/src/lib/marble/layers/GeometryLayer.cpp
+++ b/src/lib/marble/layers/GeometryLayer.cpp
@@ -444,7 +444,7 @@ QVector<const GeoDataFeature *> \
                GeometryLayer::whichBuildingAt(const QPoint &cur
         if (item->feature()->nodeType() == GeoDataTypes::GeoDataPlacemarkType) {
             const GeoDataPlacemark* placemark = static_cast<const \
GeoDataPlacemark*>(item->feature());  
-            if (placemark->visualCategory() != GeoDataFeature::Building) {
+            if (placemark->visualCategory() != GeoDataPlacemark::Building) {
                 continue;
             }
 
diff --git a/src/lib/marble/osm/OsmTagEditorWidget_p.cpp \
b/src/lib/marble/osm/OsmTagEditorWidget_p.cpp index 3502089..bf9df71 100644
--- a/src/lib/marble/osm/OsmTagEditorWidget_p.cpp
+++ b/src/lib/marble/osm/OsmTagEditorWidget_p.cpp
@@ -109,7 +109,7 @@ QTreeWidgetItem *OsmTagEditorWidgetPrivate::tagWidgetItem( const \
OsmTag &tag ) c  QTreeWidgetItem *tagItem = new QTreeWidgetItem( itemText );
 
     // Getting the icon preset for the tag ( if there's one available )
-    const GeoDataFeature::GeoDataVisualCategory category = \
StyleBuilder::osmVisualCategory(tag); +    const \
GeoDataPlacemark::GeoDataVisualCategory category = \
StyleBuilder::osmVisualCategory(tag);  GeoDataStyle::ConstPtr style = \
styleBuilder.presetStyle(category);  QPixmap iconPixmap = QPixmap::fromImage( \
style->iconStyle().icon() );  tagItem->setIcon( 1, QIcon( iconPixmap ) );
@@ -125,8 +125,8 @@ QList<OsmTagEditorWidgetPrivate::OsmTag> \
OsmTagEditorWidgetPrivate::recommendedT  
     QStringList filter = generateTagFilter();
 
-    QHash<OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator it = \
                StyleBuilder::begin();
-    QHash<OsmTag, GeoDataFeature::GeoDataVisualCategory>::const_iterator end = \
StyleBuilder::end(); +    QHash<OsmTag, \
GeoDataPlacemark::GeoDataVisualCategory>::const_iterator it = StyleBuilder::begin(); \
+    QHash<OsmTag, GeoDataPlacemark::GeoDataVisualCategory>::const_iterator end = \
StyleBuilder::end();  
     for ( ; it != end; ++it ) {
         if ( filter.contains( it.key().first ) ) {
diff --git a/src/plugins/render/annotate/AnnotatePlugin.cpp \
b/src/plugins/render/annotate/AnnotatePlugin.cpp index 09c3985..2a3fbcd 100644
--- a/src/plugins/render/annotate/AnnotatePlugin.cpp
+++ b/src/plugins/render/annotate/AnnotatePlugin.cpp
@@ -334,9 +334,9 @@ void AnnotatePlugin::removeFocusItem()
         disableFocusActions();
 
         m_graphicsItems.removeAll( m_focusItem );
-        m_marbleWidget->model()->treeModel()->removeFeature( m_focusItem->feature() \
); +        m_marbleWidget->model()->treeModel()->removeFeature( \
m_focusItem->placemark() );  
-        delete m_focusItem->feature();
+        delete m_focusItem->placemark();
         delete m_focusItem;
         m_movedItem = 0;
         m_focusItem = 0;
@@ -1697,7 +1697,7 @@ void AnnotatePlugin::cutItem()
     // If there is already an item copied/cut, free its memory and replace it with \
this one.  // The same applies when copying.
     if ( m_clipboardItem ) {
-        delete m_clipboardItem->feature();
+        delete m_clipboardItem->placemark();
         delete m_clipboardItem;
         m_clipboardItem = 0;
     }
@@ -1706,7 +1706,7 @@ void AnnotatePlugin::cutItem()
     m_pasteGraphicItem->setVisible( true );
 
     m_graphicsItems.removeAll( m_focusItem );
-    m_marbleWidget->model()->treeModel()->removeFeature( m_focusItem->feature() );
+    m_marbleWidget->model()->treeModel()->removeFeature( m_focusItem->placemark() );
 
     m_focusItem = 0;
 }
@@ -1714,7 +1714,7 @@ void AnnotatePlugin::cutItem()
 void AnnotatePlugin::copyItem()
 {
     if ( m_clipboardItem ) {
-        delete m_clipboardItem->feature();
+        delete m_clipboardItem->placemark();
         delete m_clipboardItem;
         m_clipboardItem = 0;
     }
diff --git a/src/plugins/render/annotate/EditPolygonDialog.cpp \
b/src/plugins/render/annotate/EditPolygonDialog.cpp index cdf043c..487c525 100644
--- a/src/plugins/render/annotate/EditPolygonDialog.cpp
+++ b/src/plugins/render/annotate/EditPolygonDialog.cpp
@@ -261,8 +261,8 @@ void EditPolygonDialog::updatePolygon()
     // If there is not custom style initialized( default #polyline url is used ) and \
there is a osmTag-based style  // available, set it
     const OsmPlacemarkData osmData = d->m_osmTagEditorWidget->placemarkData();
-    const GeoDataFeature::GeoDataVisualCategory category = \
                StyleBuilder::determineVisualCategory(osmData);
-    if (d->m_placemark->styleUrl() == QLatin1String("#polygon") && category != \
GeoDataFeature::None) { +    const GeoDataPlacemark::GeoDataVisualCategory category = \
StyleBuilder::determineVisualCategory(osmData); +    if (d->m_placemark->styleUrl() \
                == QLatin1String("#polygon") && category != GeoDataPlacemark::None) {
         d->m_placemark->setStyle( GeoDataStyle::Ptr() ); // first clear style so \
style gets set by setVisualCategory()  d->m_placemark->setVisualCategory( category );
     }
diff --git a/src/plugins/render/annotate/EditPolylineDialog.cpp \
b/src/plugins/render/annotate/EditPolylineDialog.cpp index ef1344c..43155cc 100644
--- a/src/plugins/render/annotate/EditPolylineDialog.cpp
+++ b/src/plugins/render/annotate/EditPolylineDialog.cpp
@@ -222,8 +222,8 @@ void EditPolylineDialog::updatePolyline()
     // If there is no custom style initialized( default #polyline url is used ) and \
there is a osmTag-based style  // available, set it
     const OsmPlacemarkData osmData = d->m_osmTagEditorWidget->placemarkData();
-    const GeoDataFeature::GeoDataVisualCategory category = \
                StyleBuilder::determineVisualCategory(osmData);
-    if (d->m_placemark->styleUrl() == QLatin1String("#polyline") && category != \
GeoDataFeature::None) { +    const GeoDataPlacemark::GeoDataVisualCategory category = \
StyleBuilder::determineVisualCategory(osmData); +    if (d->m_placemark->styleUrl() \
                == QLatin1String("#polyline") && category != GeoDataPlacemark::None) \
                {
         d->m_placemark->setStyle( GeoDataStyle::Ptr() ); // first clear style so \
style gets set by setVisualCategory()  d->m_placemark->setVisualCategory( category );
     }
diff --git a/src/plugins/render/satellites/SatellitesMSCItem.cpp \
b/src/plugins/render/satellites/SatellitesMSCItem.cpp index 6deb19c..bf92551 100644
--- a/src/plugins/render/satellites/SatellitesMSCItem.cpp
+++ b/src/plugins/render/satellites/SatellitesMSCItem.cpp
@@ -48,7 +48,7 @@ SatellitesMSCItem::SatellitesMSCItem( const QString &name,
       m_missionStart( missionStart ),
       m_missionEnd( missionEnd )
 {
-    placemark()->setVisualCategory( GeoDataFeature::Satellite );
+    placemark()->setVisualCategory(GeoDataPlacemark::Satellite);
     placemark()->setZoomLevel( 0 );
     placemark()->setGeometry( m_track );
 
diff --git a/src/plugins/render/satellites/SatellitesTLEItem.cpp \
b/src/plugins/render/satellites/SatellitesTLEItem.cpp index bc99737..943a817 100644
--- a/src/plugins/render/satellites/SatellitesTLEItem.cpp
+++ b/src/plugins/render/satellites/SatellitesTLEItem.cpp
@@ -45,7 +45,7 @@ SatellitesTLEItem::SatellitesTLEItem( const QString &name,
 
     setDescription();
 
-    placemark()->setVisualCategory( GeoDataFeature::Satellite );
+    placemark()->setVisualCategory(GeoDataPlacemark::Satellite);
     placemark()->setZoomLevel( 0 );
     placemark()->setGeometry( m_track );
 
diff --git a/src/plugins/runner/geouri/GeoUriRunner.cpp \
b/src/plugins/runner/geouri/GeoUriRunner.cpp index b532c9b..8892555 100644
--- a/src/plugins/runner/geouri/GeoUriRunner.cpp
+++ b/src/plugins/runner/geouri/GeoUriRunner.cpp
@@ -45,7 +45,7 @@ void GeoUriRunner::search(const QString &searchTerm, const \
GeoDataLatLonBox &)  GeoDataPlacemark *placemark = new GeoDataPlacemark;
         placemark->setName(searchTerm);
         placemark->setCoordinate(coordinates);
-        placemark->setVisualCategory(GeoDataFeature::Coordinate);
+        placemark->setVisualCategory(GeoDataPlacemark::Coordinate);
         placemark->setPopularity(1000000000);
         placemark->setZoomLevel(1);
 
diff --git a/src/plugins/runner/hostip/HostipRunner.cpp \
b/src/plugins/runner/hostip/HostipRunner.cpp index 17638ed..72de826 100644
--- a/src/plugins/runner/hostip/HostipRunner.cpp
+++ b/src/plugins/runner/hostip/HostipRunner.cpp
@@ -117,7 +117,7 @@ void HostipRunner::slotRequestFinished( QNetworkReply* reply )
                                  arg( m_hostInfo.addresses().first().toString() ) );
 
         placemark->setCoordinate( lon * DEG2RAD, lat * DEG2RAD );
-        placemark->setVisualCategory( GeoDataFeature::Coordinate );
+        placemark->setVisualCategory(GeoDataPlacemark::Coordinate);
         placemarks << placemark;
     }
     
diff --git a/src/plugins/runner/json/JsonParser.cpp \
b/src/plugins/runner/json/JsonParser.cpp index ffd3481..aff1ac1 100644
--- a/src/plugins/runner/json/JsonParser.cpp
+++ b/src/plugins/runner/json/JsonParser.cpp
@@ -275,8 +275,8 @@ bool JsonParser::read( QIODevice* device )
                         }
                     }
 
-                    const GeoDataFeature::GeoDataVisualCategory category = \
                StyleBuilder::determineVisualCategory(osmData);
-                    if (category != GeoDataFeature::None) {
+                    const GeoDataPlacemark::GeoDataVisualCategory category = \
StyleBuilder::determineVisualCategory(osmData); +                    if (category != \
GeoDataPlacemark::None) {  // Add the visual category to all the placemarks
                         for (int pl = 0 ; pl < placemarkList.length(); ++pl) {
                             placemarkList.at(pl)->setVisualCategory(category);
diff --git a/src/plugins/runner/latlon/LatLonRunner.cpp \
b/src/plugins/runner/latlon/LatLonRunner.cpp index 31ce49d..51719be 100644
--- a/src/plugins/runner/latlon/LatLonRunner.cpp
+++ b/src/plugins/runner/latlon/LatLonRunner.cpp
@@ -45,7 +45,7 @@ void LatLonRunner::search( const QString &searchTerm, const \
GeoDataLatLonBox & )  qreal lon, lat;
         coord.geoCoordinates( lon, lat );
         placemark->setCoordinate( lon, lat );
-        placemark->setVisualCategory( GeoDataFeature::Coordinate );
+        placemark->setVisualCategory(GeoDataPlacemark::Coordinate);
         placemark->setPopularity( 1000000000 );
         placemark->setZoomLevel( 1 );
         vector.append( placemark );
diff --git a/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp \
b/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp index 1a39827..0d5d896 \
                100644
--- a/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp
+++ b/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp
@@ -24,74 +24,74 @@
 namespace Marble
 {
 
-QMap<OsmPlacemark::OsmCategory, GeoDataFeature::GeoDataVisualCategory> \
LocalOsmSearchRunner::m_categoryMap; +QMap<OsmPlacemark::OsmCategory, \
GeoDataPlacemark::GeoDataVisualCategory> LocalOsmSearchRunner::m_categoryMap;  
 LocalOsmSearchRunner::LocalOsmSearchRunner( const QStringList &databaseFiles, \
QObject *parent ) :  SearchRunner( parent ),
     m_database( databaseFiles )
 {
     if ( m_categoryMap.isEmpty() ) {
-        m_categoryMap[OsmPlacemark::UnknownCategory] = GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::Address] = GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::AccomodationCamping] = \
                GeoDataFeature::AccomodationCamping;
-        m_categoryMap[OsmPlacemark::AccomodationHostel] = \
                GeoDataFeature::AccomodationHostel;
-        m_categoryMap[OsmPlacemark::AccomodationHotel] = \
                GeoDataFeature::AccomodationHotel;
-        m_categoryMap[OsmPlacemark::AccomodationMotel] = \
                GeoDataFeature::AccomodationMotel;
-        m_categoryMap[OsmPlacemark::AccomodationYouthHostel] = \
                GeoDataFeature::AccomodationYouthHostel;
-        m_categoryMap[OsmPlacemark::AmenityLibrary] = \
                GeoDataFeature::AmenityLibrary;
-        m_categoryMap[OsmPlacemark::EducationCollege] = \
                GeoDataFeature::EducationCollege;
-        m_categoryMap[OsmPlacemark::EducationSchool] = \
                GeoDataFeature::EducationSchool;
-        m_categoryMap[OsmPlacemark::EducationUniversity] = \
                GeoDataFeature::EducationUniversity;
-        m_categoryMap[OsmPlacemark::FoodBar] = GeoDataFeature::FoodBar;
-        m_categoryMap[OsmPlacemark::FoodBiergarten] = \
                GeoDataFeature::FoodBiergarten;
-        m_categoryMap[OsmPlacemark::FoodCafe] = GeoDataFeature::FoodCafe;
-        m_categoryMap[OsmPlacemark::FoodFastFood] = GeoDataFeature::FoodFastFood;
-        m_categoryMap[OsmPlacemark::FoodPub] = GeoDataFeature::FoodPub;
-        m_categoryMap[OsmPlacemark::FoodRestaurant] = \
                GeoDataFeature::FoodRestaurant;
-        m_categoryMap[OsmPlacemark::HealthDoctors] = GeoDataFeature::HealthDoctors;
-        m_categoryMap[OsmPlacemark::HealthHospital] = \
                GeoDataFeature::HealthHospital;
-        m_categoryMap[OsmPlacemark::HealthPharmacy] = \
                GeoDataFeature::HealthPharmacy;
-        m_categoryMap[OsmPlacemark::MoneyAtm] = GeoDataFeature::MoneyAtm;
-        m_categoryMap[OsmPlacemark::MoneyBank] = GeoDataFeature::MoneyBank;
-        m_categoryMap[OsmPlacemark::ShoppingBeverages] = \
                GeoDataFeature::ShopBeverages;
-        m_categoryMap[OsmPlacemark::ShoppingHifi] = GeoDataFeature::ShopHifi;
-        m_categoryMap[OsmPlacemark::ShoppingSupermarket] = \
                GeoDataFeature::ShopSupermarket;
-        m_categoryMap[OsmPlacemark::TouristAttraction] = \
                GeoDataFeature::TouristAttraction;
-        m_categoryMap[OsmPlacemark::TouristCastle] = GeoDataFeature::TouristCastle;
-        m_categoryMap[OsmPlacemark::TouristCinema] = GeoDataFeature::TouristCinema;
-        m_categoryMap[OsmPlacemark::TouristMonument] = \
                GeoDataFeature::TouristMonument;
-        m_categoryMap[OsmPlacemark::TouristMuseum] = GeoDataFeature::TouristMuseum;
-        m_categoryMap[OsmPlacemark::TouristRuin] = GeoDataFeature::TouristRuin;
-        m_categoryMap[OsmPlacemark::TouristTheatre] = \
                GeoDataFeature::TouristTheatre;
-        m_categoryMap[OsmPlacemark::TouristThemePark] = \
                GeoDataFeature::TouristThemePark;
-        m_categoryMap[OsmPlacemark::TouristViewPoint] = \
                GeoDataFeature::TouristViewPoint;
-        m_categoryMap[OsmPlacemark::TouristZoo] = GeoDataFeature::TouristZoo;
-        m_categoryMap[OsmPlacemark::TransportAirport] = \
                GeoDataFeature::TransportAerodrome;
-        m_categoryMap[OsmPlacemark::TransportAirportTerminal] = \
                GeoDataFeature::TransportAirportTerminal;
-        m_categoryMap[OsmPlacemark::TransportAirportRunway] = \
                GeoDataFeature::TransportAirportRunway;
-        m_categoryMap[OsmPlacemark::TransportAirportApron] = \
                GeoDataFeature::TransportAirportApron;
-        m_categoryMap[OsmPlacemark::TransportAirportTaxiway] = \
                GeoDataFeature::TransportAirportTaxiway;
-        m_categoryMap[OsmPlacemark::TransportBusStation] = \
                GeoDataFeature::TransportBusStation;
-        m_categoryMap[OsmPlacemark::TransportBusStop] = \
                GeoDataFeature::TransportBusStop;
-        m_categoryMap[OsmPlacemark::TransportCarShare] = \
                GeoDataFeature::TransportCarShare;
-        m_categoryMap[OsmPlacemark::TransportFuel] = GeoDataFeature::TransportFuel;
-        m_categoryMap[OsmPlacemark::TransportParking] = \
                GeoDataFeature::TransportParking;
-        m_categoryMap[OsmPlacemark::TransportTrainStation] = \
                GeoDataFeature::TransportTrainStation;
-        m_categoryMap[OsmPlacemark::TransportTramStop] = \
                GeoDataFeature::TransportTramStop;
-        m_categoryMap[OsmPlacemark::TransportRentalBicycle] = \
                GeoDataFeature::TransportRentalBicycle;
-        m_categoryMap[OsmPlacemark::TransportRentalCar] = \
                GeoDataFeature::TransportRentalCar;
-        m_categoryMap[OsmPlacemark::TransportSpeedCamera] = GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::TransportTaxiRank] = \
                GeoDataFeature::TransportTaxiRank;
-        m_categoryMap[OsmPlacemark::PlacesRegion] = GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::PlacesCounty] = GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::PlacesCity] = GeoDataFeature::PlaceCity;
-        m_categoryMap[OsmPlacemark::PlacesTown] = GeoDataFeature::PlaceTown;
-        m_categoryMap[OsmPlacemark::PlacesVillage] = GeoDataFeature::PlaceVillage;
-        m_categoryMap[OsmPlacemark::PlacesHamlet] = GeoDataFeature::PlaceHamlet;
-        m_categoryMap[OsmPlacemark::PlacesIsolatedDwelling] = \
                GeoDataFeature::OsmSite;
-        m_categoryMap[OsmPlacemark::PlacesSuburb] = GeoDataFeature::PlaceSuburb;
-        m_categoryMap[OsmPlacemark::PlacesLocality] = GeoDataFeature::PlaceLocality;
-        m_categoryMap[OsmPlacemark::PlacesIsland] = GeoDataFeature::OsmSite;
+        m_categoryMap[OsmPlacemark::UnknownCategory] = GeoDataPlacemark::OsmSite;
+        m_categoryMap[OsmPlacemark::Address] = GeoDataPlacemark::OsmSite;
+        m_categoryMap[OsmPlacemark::AccomodationCamping] = \
GeoDataPlacemark::AccomodationCamping; +        \
m_categoryMap[OsmPlacemark::AccomodationHostel] = \
GeoDataPlacemark::AccomodationHostel; +        \
m_categoryMap[OsmPlacemark::AccomodationHotel] = GeoDataPlacemark::AccomodationHotel; \
+        m_categoryMap[OsmPlacemark::AccomodationMotel] = \
GeoDataPlacemark::AccomodationMotel; +        \
m_categoryMap[OsmPlacemark::AccomodationYouthHostel] = \
GeoDataPlacemark::AccomodationYouthHostel; +        \
m_categoryMap[OsmPlacemark::AmenityLibrary] = GeoDataPlacemark::AmenityLibrary; +     \
m_categoryMap[OsmPlacemark::EducationCollege] = GeoDataPlacemark::EducationCollege; + \
m_categoryMap[OsmPlacemark::EducationSchool] = GeoDataPlacemark::EducationSchool; +   \
m_categoryMap[OsmPlacemark::EducationUniversity] = \
GeoDataPlacemark::EducationUniversity; +        m_categoryMap[OsmPlacemark::FoodBar] \
= GeoDataPlacemark::FoodBar; +        m_categoryMap[OsmPlacemark::FoodBiergarten] = \
GeoDataPlacemark::FoodBiergarten; +        m_categoryMap[OsmPlacemark::FoodCafe] = \
GeoDataPlacemark::FoodCafe; +        m_categoryMap[OsmPlacemark::FoodFastFood] = \
GeoDataPlacemark::FoodFastFood; +        m_categoryMap[OsmPlacemark::FoodPub] = \
GeoDataPlacemark::FoodPub; +        m_categoryMap[OsmPlacemark::FoodRestaurant] = \
GeoDataPlacemark::FoodRestaurant; +        m_categoryMap[OsmPlacemark::HealthDoctors] \
= GeoDataPlacemark::HealthDoctors; +        \
m_categoryMap[OsmPlacemark::HealthHospital] = GeoDataPlacemark::HealthHospital; +     \
m_categoryMap[OsmPlacemark::HealthPharmacy] = GeoDataPlacemark::HealthPharmacy; +     \
m_categoryMap[OsmPlacemark::MoneyAtm] = GeoDataPlacemark::MoneyAtm; +        \
m_categoryMap[OsmPlacemark::MoneyBank] = GeoDataPlacemark::MoneyBank; +        \
m_categoryMap[OsmPlacemark::ShoppingBeverages] = GeoDataPlacemark::ShopBeverages; +   \
m_categoryMap[OsmPlacemark::ShoppingHifi] = GeoDataPlacemark::ShopHifi; +        \
m_categoryMap[OsmPlacemark::ShoppingSupermarket] = GeoDataPlacemark::ShopSupermarket; \
+        m_categoryMap[OsmPlacemark::TouristAttraction] = \
GeoDataPlacemark::TouristAttraction; +        \
m_categoryMap[OsmPlacemark::TouristCastle] = GeoDataPlacemark::TouristCastle; +       \
m_categoryMap[OsmPlacemark::TouristCinema] = GeoDataPlacemark::TouristCinema; +       \
m_categoryMap[OsmPlacemark::TouristMonument] = GeoDataPlacemark::TouristMonument; +   \
m_categoryMap[OsmPlacemark::TouristMuseum] = GeoDataPlacemark::TouristMuseum; +       \
m_categoryMap[OsmPlacemark::TouristRuin] = GeoDataPlacemark::TouristRuin; +        \
m_categoryMap[OsmPlacemark::TouristTheatre] = GeoDataPlacemark::TouristTheatre; +     \
m_categoryMap[OsmPlacemark::TouristThemePark] = GeoDataPlacemark::TouristThemePark; + \
m_categoryMap[OsmPlacemark::TouristViewPoint] = GeoDataPlacemark::TouristViewPoint; + \
m_categoryMap[OsmPlacemark::TouristZoo] = GeoDataPlacemark::TouristZoo; +        \
m_categoryMap[OsmPlacemark::TransportAirport] = GeoDataPlacemark::TransportAerodrome; \
+        m_categoryMap[OsmPlacemark::TransportAirportTerminal] = \
GeoDataPlacemark::TransportAirportTerminal; +        \
m_categoryMap[OsmPlacemark::TransportAirportRunway] = \
GeoDataPlacemark::TransportAirportRunway; +        \
m_categoryMap[OsmPlacemark::TransportAirportApron] = \
GeoDataPlacemark::TransportAirportApron; +        \
m_categoryMap[OsmPlacemark::TransportAirportTaxiway] = \
GeoDataPlacemark::TransportAirportTaxiway; +        \
m_categoryMap[OsmPlacemark::TransportBusStation] = \
GeoDataPlacemark::TransportBusStation; +        \
m_categoryMap[OsmPlacemark::TransportBusStop] = GeoDataPlacemark::TransportBusStop; + \
m_categoryMap[OsmPlacemark::TransportCarShare] = GeoDataPlacemark::TransportCarShare; \
+        m_categoryMap[OsmPlacemark::TransportFuel] = \
GeoDataPlacemark::TransportFuel; +        \
m_categoryMap[OsmPlacemark::TransportParking] = GeoDataPlacemark::TransportParking; + \
m_categoryMap[OsmPlacemark::TransportTrainStation] = \
GeoDataPlacemark::TransportTrainStation; +        \
m_categoryMap[OsmPlacemark::TransportTramStop] = GeoDataPlacemark::TransportTramStop; \
+        m_categoryMap[OsmPlacemark::TransportRentalBicycle] = \
GeoDataPlacemark::TransportRentalBicycle; +        \
m_categoryMap[OsmPlacemark::TransportRentalCar] = \
GeoDataPlacemark::TransportRentalCar; +        \
m_categoryMap[OsmPlacemark::TransportSpeedCamera] = GeoDataPlacemark::OsmSite; +      \
m_categoryMap[OsmPlacemark::TransportTaxiRank] = GeoDataPlacemark::TransportTaxiRank; \
+        m_categoryMap[OsmPlacemark::PlacesRegion] = GeoDataPlacemark::OsmSite; +     \
m_categoryMap[OsmPlacemark::PlacesCounty] = GeoDataPlacemark::OsmSite; +        \
m_categoryMap[OsmPlacemark::PlacesCity] = GeoDataPlacemark::PlaceCity; +        \
m_categoryMap[OsmPlacemark::PlacesTown] = GeoDataPlacemark::PlaceTown; +        \
m_categoryMap[OsmPlacemark::PlacesVillage] = GeoDataPlacemark::PlaceVillage; +        \
m_categoryMap[OsmPlacemark::PlacesHamlet] = GeoDataPlacemark::PlaceHamlet; +        \
m_categoryMap[OsmPlacemark::PlacesIsolatedDwelling] = GeoDataPlacemark::OsmSite; +    \
m_categoryMap[OsmPlacemark::PlacesSuburb] = GeoDataPlacemark::PlaceSuburb; +        \
m_categoryMap[OsmPlacemark::PlacesLocality] = GeoDataPlacemark::PlaceLocality; +      \
m_categoryMap[OsmPlacemark::PlacesIsland] = GeoDataPlacemark::OsmSite;  }
 }
 
diff --git a/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h \
b/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h index c654a2c..04c39a1 \
                100644
--- a/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h
+++ b/src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h
@@ -16,7 +16,7 @@
 
 #include "OsmDatabase.h"
 #include "OsmPlacemark.h"
-#include "GeoDataFeature.h"
+#include "GeoDataPlacemark.h"
 
 #include <QMap>
 
@@ -36,7 +36,7 @@ public:
 private:
     OsmDatabase m_database;
 
-    static QMap<OsmPlacemark::OsmCategory, GeoDataFeature::GeoDataVisualCategory> \
m_categoryMap; +    static QMap<OsmPlacemark::OsmCategory, \
GeoDataPlacemark::GeoDataVisualCategory> m_categoryMap;  };
 
 }
diff --git a/src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp \
b/src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp
 index 9e9032a..360b9a8 100644
--- a/src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp
                
+++ b/src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp
 @@ -104,7 +104,7 @@ void OsmNominatimRunner::handleResult( QNetworkReply* reply )
     if ( places.size() == 1 ) {
         QString address = places.item( 0 ).toElement().text();
         GeoDataPlacemark placemark;
-        placemark.setVisualCategory(GeoDataFeature::Coordinate);
+        placemark.setVisualCategory(GeoDataPlacemark::Coordinate);
         placemark.setAddress( address );
         placemark.setCoordinate( m_coordinates );
 
diff --git a/src/plugins/runner/osm/OsmNode.cpp b/src/plugins/runner/osm/OsmNode.cpp
index 56af568..ad5e0e3 100644
--- a/src/plugins/runner/osm/OsmNode.cpp
+++ b/src/plugins/runner/osm/OsmNode.cpp
@@ -36,9 +36,9 @@ void OsmNode::setCoordinates(const GeoDataCoordinates &coordinates)
 
 void OsmNode::create(GeoDataDocument *document) const
 {
-    GeoDataFeature::GeoDataVisualCategory const category = \
StyleBuilder::determineVisualCategory(m_osmData); +    \
GeoDataPlacemark::GeoDataVisualCategory const category = \
StyleBuilder::determineVisualCategory(m_osmData);  
-    if (category == GeoDataFeature::None) {
+    if (category == GeoDataPlacemark::None) {
         return;
     }
 
@@ -47,7 +47,7 @@ void OsmNode::create(GeoDataDocument *document) const
     placemark->setCoordinate(m_coordinates);
 
     QHash<QString, QString>::const_iterator tagIter;
-    if ((category == GeoDataFeature::TransportCarShare || category == \
GeoDataFeature::MoneyAtm) +    if ((category == GeoDataPlacemark::TransportCarShare \
                || category == GeoDataPlacemark::MoneyAtm)
             && (tagIter = m_osmData.findTag(QStringLiteral("operator"))) != \
m_osmData.tagsEnd()) {  placemark->setName(tagIter.value());
     } else {
@@ -60,7 +60,7 @@ void OsmNode::create(GeoDataDocument *document) const
     placemark->setStyle( GeoDataStyle::Ptr() );
 
     placemark->setZoomLevel( 18 );
-    if (category >= GeoDataFeature::PlaceCity && category <= \
GeoDataFeature::PlaceVillageCapital) { +    if (category >= \
                GeoDataPlacemark::PlaceCity && category <= \
                GeoDataPlacemark::PlaceVillageCapital) {
         int const population = \
m_osmData.tagValue(QStringLiteral("population")).toInt();  \
placemark->setPopulation(qMax(0, population));  if (population > 0) {
@@ -68,25 +68,25 @@ void OsmNode::create(GeoDataDocument *document) const
             placemark->setPopularity(population);
         } else {
             switch (category) {
-            case GeoDataFeature::PlaceCity:
-            case GeoDataFeature::PlaceCityCapital:
+            case GeoDataPlacemark::PlaceCity:
+            case GeoDataPlacemark::PlaceCityCapital:
                 placemark->setZoomLevel(9);
                 break;
-            case GeoDataFeature::PlaceSuburb:
+            case GeoDataPlacemark::PlaceSuburb:
                 placemark->setZoomLevel(13);
                 break;
-            case GeoDataFeature::PlaceHamlet:
+            case GeoDataPlacemark::PlaceHamlet:
                 placemark->setZoomLevel(15);
                 break;
-            case GeoDataFeature::PlaceLocality:
+            case GeoDataPlacemark::PlaceLocality:
                 placemark->setZoomLevel(15);
                 break;
-            case GeoDataFeature::PlaceTown:
-            case GeoDataFeature::PlaceTownCapital:
+            case GeoDataPlacemark::PlaceTown:
+            case GeoDataPlacemark::PlaceTownCapital:
                 placemark->setZoomLevel(11);
                 break;
-            case GeoDataFeature::PlaceVillage:
-            case GeoDataFeature::PlaceVillageCapital:
+            case GeoDataPlacemark::PlaceVillage:
+            case GeoDataPlacemark::PlaceVillageCapital:
                 placemark->setZoomLevel(13);
                 break;
             default:
diff --git a/src/plugins/runner/osm/OsmRelation.cpp \
b/src/plugins/runner/osm/OsmRelation.cpp index 654285c..ceaf828 100644
--- a/src/plugins/runner/osm/OsmRelation.cpp
+++ b/src/plugins/runner/osm/OsmRelation.cpp
@@ -65,15 +65,15 @@ void OsmRelation::create(GeoDataDocument *document, OsmWays \
&ways, const OsmNode  return;
     }
 
-    GeoDataFeature::GeoDataVisualCategory outerCategory = \
                StyleBuilder::determineVisualCategory(m_osmData);
-    if (outerCategory == GeoDataFeature::None) {
+    GeoDataPlacemark::GeoDataVisualCategory outerCategory = \
StyleBuilder::determineVisualCategory(m_osmData); +    if (outerCategory == \
GeoDataPlacemark::None) {  // Try to determine the visual category from the relation \
                members
-        GeoDataFeature::GeoDataVisualCategory const firstCategory =
+        GeoDataPlacemark::GeoDataVisualCategory const firstCategory =
                 StyleBuilder::determineVisualCategory(ways[*outerWays.begin()].osmData());
  
         bool categoriesAreSame = true;
         foreach (auto wayId, outerWays) {
-            GeoDataFeature::GeoDataVisualCategory const category =
+            GeoDataPlacemark::GeoDataVisualCategory const category =
                     StyleBuilder::determineVisualCategory(ways[wayId].osmData());
             if( category != firstCategory ) {
                 categoriesAreSame = false;
@@ -88,8 +88,8 @@ void OsmRelation::create(GeoDataDocument *document, OsmWays &ways, \
const OsmNode  
     foreach(qint64 wayId, outerWays) {
         Q_ASSERT(ways.contains(wayId));
-        GeoDataFeature::GeoDataVisualCategory const category = \
                StyleBuilder::determineVisualCategory(ways[wayId].osmData());
-        if (category == GeoDataFeature::None || category == outerCategory) {
+        GeoDataPlacemark::GeoDataVisualCategory const category = \
StyleBuilder::determineVisualCategory(ways[wayId].osmData()); +        if (category \
                == GeoDataPlacemark::None || category == outerCategory) {
             // Schedule way for removal: It's a non-styled way only used to create \
the outer boundary in this polygon  usedWays << wayId;
         } // else we keep it
@@ -108,7 +108,7 @@ void OsmRelation::create(GeoDataDocument *document, OsmWays \
&ways, const OsmNode  int index = 0;
     foreach(qint64 wayId, innerWays) {
         Q_ASSERT(ways.contains(wayId));
-        if (StyleBuilder::determineVisualCategory(ways[wayId].osmData()) == \
GeoDataFeature::None) { +        if \
(StyleBuilder::determineVisualCategory(ways[wayId].osmData()) == \
                GeoDataPlacemark::None) {
             // Schedule way for removal: It's a non-styled way only used to create \
the inner boundary in this polygon  usedWays << wayId;
         }
@@ -119,7 +119,7 @@ void OsmRelation::create(GeoDataDocument *document, OsmWays \
&ways, const OsmNode  ++index;
     }
 
-    if (outerCategory == GeoDataFeature::Bathymetry) {
+    if (outerCategory == GeoDataPlacemark::Bathymetry) {
         // In case of a bathymetry store elevation info since it is required during \
styling  // The ele=* tag is present in the outermost way
         const QString ele = QStringLiteral("ele");
@@ -144,7 +144,7 @@ void OsmRelation::create(GeoDataDocument *document, OsmWays \
&ways, const OsmNode  placemark->setName(m_osmData.tagValue(QStringLiteral("name")));
         placemark->setVisualCategory(outerCategory);
         placemark->setStyle( GeoDataStyle::Ptr() );
-        placemark->setVisible(outerCategory != GeoDataFeature::None);
+        placemark->setVisible(outerCategory != GeoDataPlacemark::None);
         placemark->setGeometry(polygon);
         if (hasMultipleOuterRings) {
             /** @TODO Use a GeoDataMultiGeometry to keep the ID? */
diff --git a/src/plugins/runner/osm/OsmWay.cpp b/src/plugins/runner/osm/OsmWay.cpp
index c5e9c97..151f91d 100644
--- a/src/plugins/runner/osm/OsmWay.cpp
+++ b/src/plugins/runner/osm/OsmWay.cpp
@@ -74,7 +74,7 @@ void OsmWay::create(GeoDataDocument *document, const OsmNodes \
&nodes, QSet<qint6  placemark->setName(m_osmData.tagValue(QStringLiteral("ref")));
     }
     placemark->setOsmData(osmData);
-    placemark->setVisible(placemark->visualCategory() != GeoDataFeature::None);
+    placemark->setVisible(placemark->visualCategory() != GeoDataPlacemark::None);
 
     document->append(placemark);
 }
diff --git a/tools/vectorosm-tilecreator/WayChunk.cpp \
b/tools/vectorosm-tilecreator/WayChunk.cpp index f3f484f..fb8eb42 100644
--- a/tools/vectorosm-tilecreator/WayChunk.cpp
+++ b/tools/vectorosm-tilecreator/WayChunk.cpp
@@ -115,11 +115,11 @@ int WayChunk::size() const
 
 bool WayChunk::concatPossible(GeoDataPlacemark *placemark) const
 {
-    GeoDataFeature::GeoDataVisualCategory category = placemark->visualCategory();
+    const GeoDataPlacemark::GeoDataVisualCategory category = \
placemark->visualCategory();  return (category == m_visualCategory);
-}	
+}
 
-GeoDataFeature::GeoDataVisualCategory WayChunk::visualCategory() const
+GeoDataPlacemark::GeoDataVisualCategory WayChunk::visualCategory() const
 {
     return m_visualCategory;
 }
diff --git a/tools/vectorosm-tilecreator/WayChunk.h \
b/tools/vectorosm-tilecreator/WayChunk.h index d02033e..c92d88f 100644
--- a/tools/vectorosm-tilecreator/WayChunk.h
+++ b/tools/vectorosm-tilecreator/WayChunk.h
@@ -11,7 +11,7 @@
 #ifndef MARBLE_WAYCHUNK_H
 #define MARBLE_WAYCHUNK_H
 
-#include "GeoDataFeature.h"
+#include "GeoDataPlacemark.h"
 
 #include <QList>
 
@@ -41,13 +41,13 @@ public:
     void printIds() const;
     int size() const;
     bool concatPossible(GeoDataPlacemark *placemark) const;
-    GeoDataFeature::GeoDataVisualCategory visualCategory() const;
+    GeoDataPlacemark::GeoDataVisualCategory visualCategory() const;
 
 private:
     QList<GeoDataPlacemark*> m_wayList;
     qint64 m_first;
     qint64 m_last;
-    GeoDataFeature::GeoDataVisualCategory  m_visualCategory;
+    GeoDataPlacemark::GeoDataVisualCategory m_visualCategory;
 };
 
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic