From 770068b9bc636a8433e8fc9b195b852cf89c0895 Mon Sep 17 00:00:00 2001 From: vng Date: Wed, 5 Oct 2011 17:36:22 +0300 Subject: [PATCH] Add "shop-convenience" and "shop-supermarket" to classificator. TODO: Move them upper in types.txt before countries generation. --- data/classificator.txt | 8 ++++-- data/drawing_rules.bin | Bin 324312 -> 326786 bytes data/types.txt | 2 ++ data/visibility.txt | 2 ++ indexer/old/feature_loader_101.cpp | 44 ++++++++++++++++++++++++++++- 5 files changed, 52 insertions(+), 4 deletions(-) diff --git a/data/classificator.txt b/data/classificator.txt index d32edd036a..baccb27870 100644 --- a/data/classificator.txt +++ b/data/classificator.txt @@ -1020,9 +1020,11 @@ world + even 17|0|4|92 - all 17|0|5|93 - {} - shop 17|3|19|11829 + - bakery 17|2|62|1573 - - hairdresser 17|2|63|1574 - + shop + + bakery 17|2|62|1573 17|3|19|11829 - + hairdresser 17|2|63|1574 17|3|19|11829 - + convenience 17|2|122|1572 17|3|19|11829 - + supermarket 17|2|122|1572 17|3|19|11829 - {} historic + battlefield 17|2|68|1579 17|3|19|11829 - diff --git a/data/drawing_rules.bin b/data/drawing_rules.bin index 9a974a6aa1989d6008462d6469c977bf6437d1e9..2929692b2d43ed1795e250ade43315e67b01a2fa 100755 GIT binary patch delta 4462 zcmds5S!|S56sG(qg#w||DTA%1GAV^Aw5h{VC}ruCMcF%wU@eu!Qcy@~DO8XKsAbA( zf=2Yb7`CQ@5TvqI1j7)bxJ0SJ7!8T`#WxZl@c~iP^WT|s&;92w2J}r{nETzceCIpo z-uuH3zoa++mfjReiu88y~xCkJlq(}TuU;2A(LtS-!&C>c+)$1@g z3#KRKxa6JG9H$i{Aw;BdpGt4$ofU(wS6DfHG##liU5r2P;o?Vqrc2wj^ zrq|Va7%kHKaOrB8A?pA-eECEqL~W=w^ZD?LT9{?VP+a|HR*pKt%80`l-VU`^ju`py z;u5x|L! zP-=O^!mNLBgR9CJmZK`Fvq%Vw?+91Ou}oG~%^DC>C7u@#Z-%K_8i75PFx0LhL$XL| z2Ixa7EDbweg^+2P{~m#V9E4)4H>=*XnZ()MY^C7wjZh}WN{T7wnp@T%Nr-;MbP>rZjNdQ&byA^X(Lf}FRn2-|0q*vp}Qm_S{5@%I>n%%WDys|~l1a~|Q$-Dqx zYSL6?hkY{fhI>0cDtAisM?)$ef6bhzRNS-+df}*Mc$)e7w~`8TKY>jAsTpz&bcGQ1 zy)}GeAB=95?~fMJe{=+l?~g%vBm$Gzr$r}F+^K~rxU0qNs}gz;4&P>08NkRk{REPy z8pg*lYr8hG58N8b5{S*5F1dwVNWE#+uOfmE|Jnib*~cDMT6^*BoiIVbRJ^+rD$F%0 z#cwY$QOadtAPngk*bPs_E$z3antuoP$XCPv=r>iL*Rf$QG^TK&ba|zte;+J!0Ch*e zgTal^8{6B!kHLbZWIXTz`1OroUwY{%X8Yc!sjJKR(FI_ zeVJ+NWL$AjUSB4gjH?b&+vy_Vw#OW(4zB8;c$V`>3-MTjz)JR-b5Nc@ zo^dadHZ!drd{Ij%avF)9Z7}pco61vE&F(HiRy#c66gS(=Ss9VO=2NeZPcpLqlihKk zP5%6}CCQ83(%-bpEluc3o$mtF$a|#944zC7i+~I}N{OSEJS;z@FWs21s6a^FZa8V0`njWC3|rhuOs!;HIV z-g(`boj3Y^eh7lOIpJpVB%0&j*eA@cKnbOl``!RL76HVjDm67SuH>wg1lTWMkd delta 4199 zcmds3ZA{f=6!-Q&L%5~_zRPXicne=5Dk;quE{dAUTcC*=N)E~8Ca4+799{_p!9ru> zY+3msn=Y4PW>+NZDm9f>`K8v}nryA+<{W%zE1Od19yrg-y|$Hp>)ZeNopXNAIluEf z=lR#&8ujBZqx|)*`UmQrPr#Sy>JDUQLhl&NT?)^-9>()|kc@qK;K81yFv|jB&jR4a zT<}>axy^L0`^?DNJeX(rEH}PANX9H^>@ot1jAiU9C;{IIvHFUkz*ur#Oi&dN7s84_ zFPWg{1Fs^ul-7!4z{>-0%{lLC=~@U2)(OUH*e?HGQ%?2~bIZ00NH^D^Jk>Gd z#3{)%eL@(bG^biYl%oPT!6Dlv-+NFq#ZkwLw+myxpGMt!GM&YSc`#zSKwLmU4Ls#!SP%uqffDtb=kVSyn{t#{O-TcI6JpiNw|T zmTMh_{#Rk4B&*Q2YA6)YUk$6|oB2n-1|xmEAg?+p=+#^3kqcZ!)S zn=B7*U<~#)S1bM53IK$gV zb-x9O$DdBZEIq*)U$T|%)}#;hZ;*u!#r|#zQSS^HH{N66Q(E(1iNgENKQUJSmve4yH~lw3;3wvwGeM@P>4nBiyV<$;WzX z3lKM;jY^2|%2QA(kr}7Khxt#?c{q3hygDnwy?Ey^B#I)*M#Ki=o4uA;f#Y%RmoR)l z3MC^E4&tc+$TbMGH!G7CZd#;A_?0v8qL}I1i@Q1?OMt!(D3|Y0nXOZ5-1yE}TN44J zvF{8_XiYdW3`;xVA&Fzs?oK@rS+BH9G_;OgggH7BYV1gCu7()A`WfU%IQ4})Hxx_H z>3uCU2A5o>L3ZbyZXVl@UxFe{&rtv8utJzgy^(nEBE;hA2Ku>Z{{k|_#J=BNrpufZ z47*P!f_hwXB?Jtf2=(qV-sz_cw*3@5r{6Q{U?j?Bd@P1{{X+xQZqJE$mFq@R1bE8&!k=iuFif4h;ABuENy(l8Hy00Q~0xrJ{*;1j% ysoa>TtUF9e0$54w3I?`+4cY0g8qE40rUrh!1wof<9QJ+(v#|D0N;&E_?D!j1<8wX$ diff --git a/data/types.txt b/data/types.txt index 26d4035850..79e87cf59e 100644 --- a/data/types.txt +++ b/data/types.txt @@ -698,3 +698,5 @@ highway|tertiary_link|area| highway|unsurfaced|tunnel| highway|secondary_link|area| natural|allotments| +shop|convenience| +shop|supermarket| diff --git a/data/visibility.txt b/data/visibility.txt index a087b764de..6a23267e75 100644 --- a/data/visibility.txt +++ b/data/visibility.txt @@ -989,7 +989,9 @@ world 000000000000000000 + {} shop 000000000000000000 + bakery 000000000000000001 - + convenience 000000000000000001 - hairdresser 000000000000000001 - + supermarket 000000000000000001 - {} sport 000000000000000000 + american_football 000000000000000001 - diff --git a/indexer/old/feature_loader_101.cpp b/indexer/old/feature_loader_101.cpp index 4f253d87c9..cae2f8ca43 100644 --- a/indexer/old/feature_loader_101.cpp +++ b/indexer/old/feature_loader_101.cpp @@ -36,13 +36,55 @@ uint8_t LoaderImpl::GetHeader() return header; } +namespace +{ + class TypeConvertor + { + vector m_inc; + + public: + TypeConvertor() + { + char const * arr[][2] = { + { "shop", "convenience" }, // new type + { "shop", "hairdresser" } + }; + + Classificator const & c = classif(); + + for (size_t i = 0; i < ARRAY_SIZE(arr); ++i) + { + vector v; + v.push_back(arr[i][0]); + v.push_back(arr[i][1]); + m_inc.push_back(c.GetTypeByPath(v)); + } + } + + uint32_t Convert(uint32_t t) const + { + size_t const count = m_inc.size(); + for (size_t i = 0; i < count; ++i) + if (m_inc[i] == t) + { + // return next type (advance by 1) + ASSERT_LESS ( i+1, count, () ); + return m_inc[i+1]; + } + return t; + } + }; +} + void LoaderImpl::ParseTypes() { ArrayByteSource source(DataPtr() + m_TypesOffset); + static TypeConvertor typeC; + size_t const count = m_pF->GetTypesCount(); for (size_t i = 0; i < count; ++i) - m_pF->m_Types[i] = ReadVarUint(source); + m_pF->m_Types[i] = typeC.Convert(ReadVarUint(source)); m_CommonOffset = CalcOffset(source); }