diff --git a/DataStructures/ExtractorCallBacks.h b/DataStructures/ExtractorCallBacks.h index 0f25f2bf8..8f274e319 100644 --- a/DataStructures/ExtractorCallBacks.h +++ b/DataStructures/ExtractorCallBacks.h @@ -157,6 +157,10 @@ public: std::string cycleway( w.keyVals.Find("cycleway")); std::string duration ( w.keyVals.Find("duration")); std::string service (w.keyVals.Find("service")); + std::string area(w.keyVals.Find("area")); + + if("yes" == area && settings.ignoreAreas) + return true; //Save the name of the way if it has one, ref has precedence over name tag. if ( 0 < ref.length() ) diff --git a/DataStructures/ExtractorStructs.h b/DataStructures/ExtractorStructs.h index 03c87ccf7..51787ee05 100644 --- a/DataStructures/ExtractorStructs.h +++ b/DataStructures/ExtractorStructs.h @@ -269,7 +269,7 @@ struct CmpWayByID : public std::binary_function<_WayIDStartAndEndEdge, _WayIDSta }; struct Settings { - Settings() : obeyBollards(true), obeyOneways(true), useRestrictions(true), accessTag("motorcar"), defaultSpeed(30), takeMinimumOfSpeeds(false), excludeFromGrid("ferry") {} + Settings() : obeyBollards(true), obeyOneways(true), useRestrictions(true), ignoreAreas(false), accessTag("motorcar"), defaultSpeed(30), takeMinimumOfSpeeds(false), excludeFromGrid("ferry") {} StringToIntPairMap speedProfile; int operator[](const std::string & param) const { if(speedProfile.find(param) == speedProfile.end()) @@ -292,6 +292,7 @@ struct Settings { bool obeyBollards; bool obeyOneways; bool useRestrictions; + bool ignoreAreas; std::string accessTag; int defaultSpeed; bool takeMinimumOfSpeeds; diff --git a/speedprofile.ini b/speedprofile.ini index 998018369..f7752f2b8 100644 --- a/speedprofile.ini +++ b/speedprofile.ini @@ -19,6 +19,7 @@ obeyBollards = yes obeyOneways = yes useRestrictions = yes + ignoreAreas = yes accessTag = motorcar excludeFromGrid = ferry defaultSpeed = 50