| | 1 | {{{ |
| | 2 | #!rule |
| | 3 | |
| | 4 | meta |
| | 5 | { |
| | 6 | title: "ATMs in Slovakia"; |
| | 7 | version: "22.1_2017-13-00"; |
| | 8 | description: "Rules implementing operator and ref tag checks for ATMs in Slovak Republic."; |
| | 9 | icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAMAAACoeN87AAABLFBMVEX/AAD///8AAMwAAM96AKJ6etz/5+f/3Nz/PT3/u7v/CAgAANAAAMn/KCj/9/f/Ozv/rq7/X1//pKT/eHj/4uL/kJD/f3/v7/z/EhL/z8//LS3/w8P/9PT/ysr/7u7/QUH/19f/UlL5+f7/cXEzM9P/qKh2duH/TEz/amr/Y2P/iYlqat4qKs/R0fX/NDT/Hh7d3fduAI1VVdpcXNecnOjxAAr/mpo4ONXIyPOOAHZISNaysu+kAFlFAJgUALTsACDhADN/AIFvb+CFAGSXAGzLNF5nAJe4AEJFAK5ZAKzUADmnp+rGAFenAH+ZAIO7AFnKAEC7ADdpAKiJieW6uu9ERNfa2vccHNHCibqPj+WJKabkwNidSap4eNyFAJfYACHforu2AGmOAIbtOUizLmC6AAAAZElEQVQoz2NgJAgYhqQSBgYGRQYQwKuEgRGXEiYQYITISTBAuKgArgRkCj9eJZyM7ECIR4kugzQbGyMbHx4l4XDn4lTCBJTkBhGMuJUIQSh7JtxKoIARqxIoUIb7HQ8grGLYAAA+lgRgA6U6OwAAAABJRU5ErkJggg=="; |
| | 10 | author: "Jose Riha"; |
| | 11 | link: "http://wiki.openstreetmap.org/wiki/ATM_Slovakia"; |
| | 12 | watch-modified: true; |
| | 13 | min-josm-version: "11424"; /* due to territory selectors */ |
| | 14 | } |
| | 15 | |
| | 16 | /* |
| | 17 | please send fixes and suggestions to: jose1711 gmail com |
| | 18 | */ |
| | 19 | |
| | 20 | /* |
| | 21 | operator tag may not be empty |
| | 22 | */ |
| | 23 | *[amenity=atm][!operator][inside("SK")]{ |
| | 24 | throwError: tr("Operator tag required for ATM"); |
| | 25 | assertMatch: "node amenity=atm"; |
| | 26 | assertNoMatch: "node amenity=atm operator=Sberbank"; |
| | 27 | } |
| | 28 | |
| | 29 | /* |
| | 30 | only allow enumarated values for operator |
| | 31 | */ |
| | 32 | *[amenity=atm][operator][operator !~ /^(ČSOB|OTP banka|Poštová banka|Prima banka|Sberbank|Slovenská sporiteľňa|Tatra banka|UniCredit Bank|VÚB)$/][inside("SK")]{ |
| | 33 | throwError: tr("Unrecognized operator (see http://wiki.openstreetmap.org/wiki/ATM_Slovakia)"); |
| | 34 | assertMatch: "node amenity=atm operator=SSberbank"; |
| | 35 | assertNoMatch: "node amenity=atm operator=VÚB"; |
| | 36 | } |
| | 37 | |
| | 38 | *[amenity=atm][operator="ČSOB"][ref !~ /^S2CS[0-9]{3}[A-Z]$/]{ |
| | 39 | throwError: tr("ATM ref value must match S2CS[0-9]{3}[A-Z]"); |
| | 40 | } |
| | 41 | |
| | 42 | *[amenity=atm][operator="OTP banka"][ref !~ /^S6AI[0-9]{4}[A-Z]$/]{ |
| | 43 | throwError: tr("ATM ref value must match S6AI[0-9]{4}[A-Z]"); |
| | 44 | } |
| | 45 | |
| | 46 | *[amenity=atm][operator="Poštová banka"][ref !~ /^S6AP[0-9]{3}[A-Z]$/]{ |
| | 47 | throwError: tr("ATM ref value must match S6AP[0-9]{3}[A-Z]"); |
| | 48 | } |
| | 49 | |
| | 50 | *[amenity=atm][operator="Prima banka"][ref !~ /^S6AK[0-9]{3}[A-Z]$/]{ |
| | 51 | throwError: tr("ATM ref value must match S6AK[0-9]{3}[A-Z]"); |
| | 52 | } |
| | 53 | |
| | 54 | *[amenity=atm][operator="Sberbank"][ref !~ /^S6AL[0-9]{2,3}[A-Z]$/]{ |
| | 55 | throwError: tr("ATM ref value must match S6AL[0-9][0-9][0-9]?[A-Z]"); |
| | 56 | } |
| | 57 | |
| | 58 | *[amenity=atm][operator="Tatra banka"][ref !~ /^TATN[0-9]{3}[A-Z]$/]{ |
| | 59 | throwError: tr("ATM ref value must match TATN[0-9]{3}[A-Z]"); |
| | 60 | } |
| | 61 | |
| | 62 | *[amenity=atm][operator="UniCredit Bank"][ref !~ /^S6AN[0-9]{3}[A-Z]$/]{ |
| | 63 | throwError: tr("ATM ref value must match S6AN[0-9]{3}[A-Z]"); |
| | 64 | } |
| | 65 | |
| | 66 | *[amenity=atm][operator="Slovenská sporiteľňa"][ref !~ /^[0-9][0-9][0-9][0-9]$/]{ |
| | 67 | throwError: tr("ATM ref value must match [0-9]{4}"); |
| | 68 | } |
| | 69 | |
| | 70 | *[amenity=atm][operator="VÚB"][ref !~ /^S6AV[0-9]{3}[A-Z]$/]{ |
| | 71 | throwError: tr("ATM ref value must match S6AV[0-9]{3}[A-Z]"); |
| | 72 | } |
| | 73 | |
| | 74 | *[amenity=atm][operator][brand]{ |
| | 75 | throwWarning: tr("Usage of brand tag is discouraged (use operator instead)"); |
| | 76 | } |
| | 77 | |
| | 78 | *[amenity=atm][!operator][brand]{ |
| | 79 | throwWarning: tr("Usage of brand tag is discouraged (use operator instead)"); |
| | 80 | fixChangeKey: "brand=>operator"; |
| | 81 | } |
| | 82 | }}} |