From 33da552d3321e860bfdf723b3b6b72375d9456e1 Mon Sep 17 00:00:00 2001 From: Ilya Zverev Date: Tue, 10 Jan 2017 18:42:54 +0300 Subject: [PATCH 1/3] [generator] Process wifi=* tags --- generator/osm2meta.cpp | 3 +++ generator/osm2type.cpp | 6 ++++-- indexer/feature_meta.cpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/generator/osm2meta.cpp b/generator/osm2meta.cpp index 4815130e5a..340050c782 100644 --- a/generator/osm2meta.cpp +++ b/generator/osm2meta.cpp @@ -164,6 +164,9 @@ string MetadataTagProcessorImpl::ValidateAndFormat_internet(string v) const strings::AsciiToLower(v); if (v == "wlan" || v == "wired" || v == "yes" || v == "no") return v; + // Process wifi=free tag. + if (v == "free") + return "wlan"; return {}; } diff --git a/generator/osm2type.cpp b/generator/osm2type.cpp index c46a66ac77..434319cf64 100644 --- a/generator/osm2type.cpp +++ b/generator/osm2type.cpp @@ -219,7 +219,7 @@ namespace ftype public: enum EType { ENTRANCE, HIGHWAY, ADDRESS, ONEWAY, PRIVATE, LIT, NOFOOT, YESFOOT, NOBICYCLE, YESBICYCLE, BICYCLE_BIDIR, SURFPGOOD, SURFPBAD, SURFUGOOD, SURFUBAD, - HASPARTS, NOCAR, YESCAR, + HASPARTS, NOCAR, YESCAR, WLAN, RW_STATION, RW_STATION_SUBWAY, WHEELCHAIR_YES }; CachedTypes() @@ -236,7 +236,8 @@ namespace ftype {"hwtag", "nobicycle"}, {"hwtag", "yesbicycle"}, {"hwtag", "bidir_bicycle"}, {"psurface", "paved_good"}, {"psurface", "paved_bad"}, {"psurface", "unpaved_good"}, {"psurface", "unpaved_bad"}, - {"building", "has_parts"}, {"hwtag", "nocar"}, {"hwtag", "yescar"} + {"building", "has_parts"}, {"hwtag", "nocar"}, {"hwtag", "yescar"}, + {"internet_access", "wlan"} }; for (auto const & e : arr) m_types.push_back(c.GetTypeByPath(e)); @@ -552,6 +553,7 @@ namespace ftype TagProcessor(p).ApplyRules ({ { "wheelchair", "designated", [¶ms] { params.AddType(types.Get(CachedTypes::WHEELCHAIR_YES)); }}, + { "wifi", "~", [¶ms] { params.AddType(types.Get(CachedTypes::WLAN)); }}, { "building:part", "no", [¶ms] { params.AddType(types.Get(CachedTypes::HASPARTS)); }}, { "building:parts", "~", [¶ms] { params.AddType(types.Get(CachedTypes::HASPARTS)); }}, }); diff --git a/indexer/feature_meta.cpp b/indexer/feature_meta.cpp index 42a8bea00f..3c1a8530b6 100644 --- a/indexer/feature_meta.cpp +++ b/indexer/feature_meta.cpp @@ -60,7 +60,7 @@ bool Metadata::TypeFromString(string const & k, Metadata::EType & outType) outType = Metadata::FMD_URL; else if (k == "website" || k == "contact:website") outType = Metadata::FMD_WEBSITE; - else if (k == "internet_access") + else if (k == "internet_access" || k == "wifi") outType = Metadata::FMD_INTERNET; else if (k == "ele") outType = Metadata::FMD_ELE; From 87ad5d2449a7942f46cd0b4d8349f15f18cb00fc Mon Sep 17 00:00:00 2001 From: Ilya Zverev Date: Wed, 11 Jan 2017 13:16:31 +0300 Subject: [PATCH 2/3] [generator] Discard FMD_URL metadata --- indexer/feature_meta.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indexer/feature_meta.cpp b/indexer/feature_meta.cpp index 3c1a8530b6..e1362f671b 100644 --- a/indexer/feature_meta.cpp +++ b/indexer/feature_meta.cpp @@ -57,7 +57,7 @@ bool Metadata::TypeFromString(string const & k, Metadata::EType & outType) else if (k == "operator") outType = Metadata::FMD_OPERATOR; else if (k == "url") // TODO: Should we match url to website here? - outType = Metadata::FMD_URL; + outType = Metadata::FMD_WEBSITE; else if (k == "website" || k == "contact:website") outType = Metadata::FMD_WEBSITE; else if (k == "internet_access" || k == "wifi") From 4f504a83c22250cddde674f51beaa5b880ae82ff Mon Sep 17 00:00:00 2001 From: Ilya Zverev Date: Wed, 11 Jan 2017 15:34:15 +0300 Subject: [PATCH 3/3] [generator] Add FMD_INTERNET metadata type --- generator/osm2meta.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generator/osm2meta.hpp b/generator/osm2meta.hpp index d455aa8ed2..ffbdfe2e0e 100644 --- a/generator/osm2meta.hpp +++ b/generator/osm2meta.hpp @@ -80,7 +80,7 @@ public: case Metadata::FMD_OPERATOR: valid = ValidateAndFormat_operator(v); break; case Metadata::FMD_URL: // The same validator as for website. case Metadata::FMD_WEBSITE: valid = ValidateAndFormat_url(v); break; - case Metadata::FMD_INTERNET: ValidateAndFormat_internet(v); break; + case Metadata::FMD_INTERNET: valid = ValidateAndFormat_internet(v); break; case Metadata::FMD_ELE: valid = ValidateAndFormat_ele(v); break; case Metadata::FMD_TURN_LANES: valid = ValidateAndFormat_turn_lanes(v); break; case Metadata::FMD_TURN_LANES_FORWARD: valid = ValidateAndFormat_turn_lanes_forward(v); break;