From 6653955bf1b3d29b75edfc66a22cad1728ba19b7 Mon Sep 17 00:00:00 2001 From: Harry Bond Date: Fri, 26 Jan 2024 12:11:48 +0000 Subject: [PATCH] get local_ref Signed-off-by: Harry Bond --- .../main/java/app/organicmaps/bookmarks/data/Metadata.java | 3 ++- generator/osm2meta.cpp | 6 ++++++ generator/osm2meta.hpp | 1 + indexer/feature_meta.cpp | 3 +++ indexer/feature_meta.hpp | 1 + 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java b/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java index cf8d89f46d..c5ed8f88d7 100644 --- a/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java +++ b/android/app/src/main/java/app/organicmaps/bookmarks/data/Metadata.java @@ -61,7 +61,8 @@ public class Metadata implements Parcelable FMD_BUILDING_MIN_LEVEL(40), FMD_WIKIMEDIA_COMMONS(41), FMD_CAPACITY(42), - FMD_WHEELCHAIR(43); + FMD_WHEELCHAIR(43), + FMD_LOCAL_REF(44); private final int mMetaType; MetadataType(int metadataType) diff --git a/generator/osm2meta.cpp b/generator/osm2meta.cpp index 7562b6b920..1ef1cd4d3c 100644 --- a/generator/osm2meta.cpp +++ b/generator/osm2meta.cpp @@ -332,6 +332,11 @@ std::string MetadataTagProcessorImpl::ValidateAndFormat_capacity(std::string con return v; } +std::string MetadataTagProcessorImpl::ValidateAndFormat_local_ref(std::string const & v) +{ + return v; +} + std::string MetadataTagProcessorImpl::ValidateAndFormat_duration(std::string const & v) const { if (!ftypes::IsWayWithDurationChecker::Instance()(m_params.m_types)) @@ -526,6 +531,7 @@ void MetadataTagProcessor::operator()(std::string const & k, std::string const & break; case Metadata::FMD_DURATION: valid = ValidateAndFormat_duration(v); break; case Metadata::FMD_CAPACITY: valid = ValidateAndFormat_capacity(v); break; + case Metadata::FMD_LOCAL_REF: valid = ValidateAndFormat_local_ref(v); break; // Metadata types we do not get from OSM. case Metadata::FMD_CUISINE: case Metadata::FMD_DESCRIPTION: // processed separately diff --git a/generator/osm2meta.hpp b/generator/osm2meta.hpp index bddc828385..614e4e4f46 100644 --- a/generator/osm2meta.hpp +++ b/generator/osm2meta.hpp @@ -17,6 +17,7 @@ struct MetadataTagProcessorImpl static std::string ValidateAndFormat_opening_hours(std::string const & v) ; std::string ValidateAndFormat_ele(std::string const & v) const; static std::string ValidateAndFormat_destination(std::string const & v) ; + static std::string ValidateAndFormat_local_ref(std::string const & v) ; static std::string ValidateAndFormat_destination_ref(std::string const & v) ; static std::string ValidateAndFormat_junction_ref(std::string const & v) ; static std::string ValidateAndFormat_turn_lanes(std::string const & v) ; diff --git a/indexer/feature_meta.cpp b/indexer/feature_meta.cpp index 048b889124..7c0588f562 100644 --- a/indexer/feature_meta.cpp +++ b/indexer/feature_meta.cpp @@ -124,6 +124,8 @@ bool Metadata::TypeFromString(string_view k, Metadata::EType & outType) outType = Metadata::FMD_DURATION; else if (k == "capacity") outType = Metadata::FMD_CAPACITY; + else if (k == "local_ref") + outType = Metadata::FMD_LOCAL_REF; else return false; @@ -241,6 +243,7 @@ string ToString(Metadata::EType type) case Metadata::FMD_WIKIMEDIA_COMMONS: return "wikimedia_commons"; case Metadata::FMD_CAPACITY: return "capacity"; case Metadata::FMD_WHEELCHAIR: return "wheelchair"; + case Metadata::FMD_LOCAL_REF: return "local_ref"; case Metadata::FMD_COUNT: CHECK(false, ("FMD_COUNT can not be used as a type.")); }; diff --git a/indexer/feature_meta.hpp b/indexer/feature_meta.hpp index 3c6e6b69e5..79ac17f178 100644 --- a/indexer/feature_meta.hpp +++ b/indexer/feature_meta.hpp @@ -149,6 +149,7 @@ public: FMD_WIKIMEDIA_COMMONS = 41, FMD_CAPACITY = 42, FMD_WHEELCHAIR = 43, // Value is runtime only, data is taken from the classificator types + FMD_LOCAL_REF = 44, FMD_COUNT };