| 22 | | set itthon; |
| 23 | | } |
| 24 | | |
| 25 | | way[highway=~/trunk|primary|secondary|tertiary|unclassified|residential|living_street|service/][name*="u."].itthon { |
| 26 | | group: "[HU] specifikus szabályok"; |
| 27 | | throwWarning: "gyanús utca rövidítés, használd a teljes \"utca\" megnevezést"; |
| 28 | | } |
| | 24 | set itthon; |
| | 25 | } |
| | 26 | |
| | 27 | /* street names */ |
| | 28 | |
| | 29 | way[highway=~/^(trunk|primary|secondary|tertiary|unclassified|residential|living_street|service|pedestrian)(_link)?$/][name=~/(?<!\p{L})u\./].itthon { |
| | 30 | group: "[HU] specifikus szabályok"; |
| | 31 | throwWarning: "gyanús utca rövidítés, használd a teljes \"utca\" megnevezést"; |
| | 32 | fixAdd: concat("name=", replace(tag("name"), "u.", "utca")); |
| | 33 | assertMatch: "way highway=residential name=\"Fő u.\""; |
| | 34 | assertMatch: "way highway=primary_link name=\"Kossuth Lajos u.\""; |
| | 35 | assertNoMatch: "way highway=residential name=\"Fő utca\""; |
| | 36 | assertNoMatch: "way highway=footway name=\"Fő u.\""; |
| | 37 | assertNoMatch: "way highway=residential name=\"Bartóku.\""; |
| | 38 | } |
| | 39 | |
| | 40 | *[addr:street=~/(?<!\p{L})u\./].itthon { |
| | 41 | group: "[HU] specifikus szabályok"; |
| | 42 | throwWarning: "gyanús utca rövidítés a címben, használd a teljes \"utca\" megnevezést"; |
| | 43 | fixAdd: concat("addr:street=", replace(tag("addr:street"), "u.", "utca")); |
| | 44 | assertMatch: "node addr:street=\"Fő u.\""; |
| | 45 | assertNoMatch: "node addr:street=\"Fő utca\""; |
| | 46 | } |
| | 47 | |
| | 48 | way[highway][name=~/(?<!\p{L})(krt|rkp|ltp|stny)\./].itthon, |
| | 49 | *[addr:street=~/(?<!\p{L})(krt|rkp|ltp|stny)\./].itthon { |
| | 50 | group: "[HU] specifikus szabályok"; |
| | 51 | throwWarning: "gyanús rövidítés az utcanévben (krt., rkp., ltp., stny.), írd ki teljesen"; |
| | 52 | assertMatch: "way highway=primary name=\"Szent István krt.\""; |
| | 53 | assertMatch: "node addr:street=\"Pesti alsó rkp.\""; |
| | 54 | assertNoMatch: "way highway=primary name=\"Szent István körút\""; |
| | 55 | } |
| | 56 | |
| | 57 | way[highway][name=~/ (Utca|Út|Útja|Tér|Tere|Köz|Körút|Sor|Sétány|Rakpart|Fasor|Lakótelep)$/].itthon, |
| | 58 | *[addr:street=~/ (Utca|Út|Útja|Tér|Tere|Köz|Körút|Sor|Sétány|Rakpart|Fasor|Lakótelep)$/].itthon { |
| | 59 | group: "[HU] specifikus szabályok"; |
| | 60 | throwWarning: "a közterület jellegét kisbetűvel írjuk (pl. utca, út, tér)"; |
| | 61 | assertMatch: "way highway=residential name=\"Fő Utca\""; |
| | 62 | assertMatch: "node addr:street=\"Kossuth Lajos Út\""; |
| | 63 | assertNoMatch: "way highway=residential name=\"Fő utca\""; |
| | 64 | assertNoMatch: "node addr:street=\"Hősök tere\""; |
| | 65 | } |
| | 66 | |
| | 67 | /* living street */ |
| 55 | | group: "[HU] specifikus szabályok"; |
| 56 | | throwWarning: "lakó-pihenő övezetben add meg a jogszabályi maximális sebességet (20 km/h)"; |
| 57 | | fixAdd: "maxspeed=20"; |
| 58 | | fixAdd: "source:maxspeed=HU:living_street"; |
| 59 | | } |
| 60 | | |
| 61 | | *[source:maxspeed="HU:urban"][maxspeed!=50].itthon, |
| 62 | | *[source:maxspeed:forward="HU:urban"][maxspeed:forward!=50].itthon, |
| 63 | | *[source:maxspeed:backward="HU:urban"][maxspeed:backward!=50].itthon, |
| 64 | | *[source:maxspeed="HU:rural"][maxspeed!=90].itthon, |
| 65 | | *[source:maxspeed:forward="HU:rural"][maxspeed:forward!=90].itthon, |
| 66 | | *[source:maxspeed:backward="HU:rural"][maxspeed:backward!=90].itthon, |
| 67 | | *[source:maxspeed="HU:trunk"][maxspeed!=110].itthon, |
| 68 | | *[source:maxspeed:forward="HU:trunk"][maxspeed:forward!=110].itthon, |
| 69 | | *[source:maxspeed:backward="HU:trunk"][maxspeed:backward!=110].itthon, |
| 70 | | *[source:maxspeed="HU:motorway"][maxspeed!=130].itthon, |
| 71 | | *[source:maxspeed:forward="HU:motorway"][maxspeed:forward!=130].itthon, |
| 72 | | *[source:maxspeed:backward="HU:motorway"][maxspeed:backward!=130].itthon { |
| 73 | | group: "[HU] specifikus szabályok"; |
| 74 | | throwWarning: "a maximálisan megengedett sebesség és a sebességforrás nem egyezik"; |
| 75 | | } |
| 76 | | |
| 77 | | *[!maxspeed][!maxspeed:forward][!maxspeed:backward] { |
| 78 | | set no_maxspeed; |
| 79 | | } |
| 80 | | |
| 81 | | *[maxspeed:type="HU:urban"].itthon.no_maxspeed, |
| 82 | | *[source:maxspeed="HU:urban"].itthon.no_maxspeed { |
| 83 | | group: "[HU] specifikus szabályok"; |
| 84 | | throwWarning: "hiányzó maximális sebesség: 50"; |
| 85 | | fixAdd: "maxspeed=50"; |
| 86 | | } |
| 87 | | |
| 88 | | *[maxspeed:type="HU:rural"].itthon.no_maxspeed, |
| 89 | | *[source:maxspeed="HU:rural"].itthon.no_maxspeed { |
| 90 | | group: "[HU] specifikus szabályok"; |
| 91 | | throwWarning: "hiányzó maximális sebesség: 90"; |
| 92 | | fixAdd: "maxspeed=90"; |
| | 94 | group: "[HU] specifikus szabályok"; |
| | 95 | throwWarning: "lakó-pihenő övezetben add meg a jogszabályi maximális sebességet (20 km/h)"; |
| | 96 | fixAdd: "maxspeed=20"; |
| | 97 | fixAdd: "source:maxspeed=HU:living_street"; |
| | 98 | assertMatch: "way highway=living_street"; |
| | 99 | assertNoMatch: "way highway=living_street maxspeed=20"; |
| | 100 | } |
| | 101 | |
| | 102 | way[highway=living_street][maxspeed][maxspeed!=20][source:maxspeed!="HU:living_street"][maxspeed:type!="HU:living_street"].itthon { |
| | 103 | group: "[HU] specifikus szabályok"; |
| | 104 | throwWarning: "lakó-pihenő övezetben a maximális sebesség 20 km/h"; |
| | 105 | fixAdd: "maxspeed=20"; |
| | 106 | assertMatch: "way highway=living_street maxspeed=30"; |
| | 107 | assertNoMatch: "way highway=living_street maxspeed=20"; |
| | 108 | } |
| | 109 | |
| | 110 | /* maxspeed */ |
| | 111 | |
| | 112 | *[source:maxspeed="HU:urban"][maxspeed][maxspeed!=50].itthon, |
| | 113 | *[source:maxspeed:forward="HU:urban"][maxspeed:forward][maxspeed:forward!=50].itthon, |
| | 114 | *[source:maxspeed:backward="HU:urban"][maxspeed:backward][maxspeed:backward!=50].itthon, |
| | 115 | *[source:maxspeed="HU:rural"][maxspeed][maxspeed!=90].itthon, |
| | 116 | *[source:maxspeed:forward="HU:rural"][maxspeed:forward][maxspeed:forward!=90].itthon, |
| | 117 | *[source:maxspeed:backward="HU:rural"][maxspeed:backward][maxspeed:backward!=90].itthon, |
| | 118 | *[source:maxspeed="HU:trunk"][maxspeed][maxspeed!=110].itthon, |
| | 119 | *[source:maxspeed:forward="HU:trunk"][maxspeed:forward][maxspeed:forward!=110].itthon, |
| | 120 | *[source:maxspeed:backward="HU:trunk"][maxspeed:backward][maxspeed:backward!=110].itthon, |
| | 121 | *[source:maxspeed="HU:motorway"][maxspeed][maxspeed!=130].itthon, |
| | 122 | *[source:maxspeed:forward="HU:motorway"][maxspeed:forward][maxspeed:forward!=130].itthon, |
| | 123 | *[source:maxspeed:backward="HU:motorway"][maxspeed:backward][maxspeed:backward!=130].itthon, |
| | 124 | *[source:maxspeed="HU:living_street"][maxspeed][maxspeed!=20].itthon, |
| | 125 | *[maxspeed:type="HU:urban"][!source:maxspeed][maxspeed][maxspeed!=50].itthon, |
| | 126 | *[maxspeed:type="HU:rural"][!source:maxspeed][maxspeed][maxspeed!=90].itthon, |
| | 127 | *[maxspeed:type="HU:trunk"][!source:maxspeed][maxspeed][maxspeed!=110].itthon, |
| | 128 | *[maxspeed:type="HU:motorway"][!source:maxspeed][maxspeed][maxspeed!=130].itthon, |
| | 129 | *[maxspeed:type="HU:living_street"][!source:maxspeed][maxspeed][maxspeed!=20].itthon { |
| | 130 | group: "[HU] specifikus szabályok"; |
| | 131 | throwWarning: "a maximálisan megengedett sebesség és a sebességforrás nem egyezik"; |
| | 132 | assertMatch: "way highway=primary source:maxspeed=HU:urban maxspeed=60"; |
| | 133 | assertMatch: "way highway=primary maxspeed:type=HU:rural maxspeed=50"; |
| | 134 | assertMatch: "way highway=primary source:maxspeed:forward=HU:urban maxspeed:forward=70"; |
| | 135 | assertNoMatch: "way highway=primary source:maxspeed=HU:urban maxspeed=50"; |
| | 136 | assertNoMatch: "way highway=primary source:maxspeed=HU:urban"; |
| 96 | | group: "[HU] specifikus szabályok"; |
| 97 | | throwWarning: "{0.key} és {1.key} ugyanazon az objektumon, távolítsd el az egyiket"; |
| 98 | | } |
| 99 | | |
| 100 | | *[name=~/(?i)tüzép|tüzifa/][shop!=trade][!highway][!railway].itthon { |
| 101 | | group: "[HU] specifikus szabályok"; |
| 102 | | throwWarning: "tüzéptelepekre használd a shop=trade címkézést"; |
| 103 | | fixAdd: "shop=trade"; |
| 104 | | } |
| 105 | | |
| 106 | | *[building][name=~/(?i)kastély/][historic][historic!=castle].itthon { |
| 107 | | group: "[HU] specifikus szabályok"; |
| 108 | | throwWarning: "történelmi kastélyokra használd a historic=castle + castle_type=* címkézést"; |
| 109 | | fixAdd: "historic=castle"; |
| 110 | | } |
| 111 | | |
| 112 | | *[shop=clothes][name=~/(?i)használt/][!second_hand].itthon { |
| 113 | | group: "[HU] specifikus szabályok"; |
| 114 | | throwWarning: "használt ruhás bolthoz használd a second_hand=yes címkézést"; |
| 115 | | fixAdd: "second_hand=yes"; |
| 116 | | } |
| 117 | | |
| 118 | | *[landuse=cemetery][name=~/(?i)zsidó/][religion!=jewish].itthon { |
| 119 | | group: "[HU] specifikus szabályok"; |
| 120 | | throwWarning: "zsidó temetőhöz használd a religion=jewish címkézést"; |
| 121 | | fixAdd: "religion=jewish"; |
| 122 | | } |
| 123 | | |
| 124 | | *[historic=memorial][name=~/(?i)háború/][memorial!=war_memorial].itthon { |
| 125 | | group: "[HU] specifikus szabályok"; |
| 126 | | throwWarning: "háborús emlékműhöz használd a memorial=war_memorial címkézést"; |
| 127 | | fixAdd: "memorial=war_memorial"; |
| 128 | | } |
| 129 | | |
| 130 | | *[memorial=war_memorial][!memorial:conflict][name=~/(?i)(?<!I)(I\. világ)/].itthon { |
| 131 | | group: "[HU] specifikus szabályok"; |
| 132 | | throwWarning: "I. világháborús emlékműhöz használd a memorial:conflict=WW1 címkézést"; |
| 133 | | fixAdd: "memorial:conflict=WW1"; |
| 134 | | /* FIXME: doesn't work for some reason |
| 135 | | assertMatch: "node memorial=war_memorial name=\"I. világháborús emlékmű\""; */ |
| 136 | | assertNoMatch: "node memorial=war_memorial name=\"II. világháborús emlékmű\""; |
| 137 | | } |
| 138 | | |
| 139 | | *[memorial=war_memorial][!memorial:conflict][name=~/(?i)II\. világ/].itthon { |
| 140 | | group: "[HU] specifikus szabályok"; |
| 141 | | throwWarning: "II. világháborús emlékműhöz használd a memorial:conflict=WW2 címkézést"; |
| 142 | | fixAdd: "memorial:conflict=WW2"; |
| 143 | | /* FIXME: doesn't work for some reason |
| 144 | | assertMatch: "node memorial=war_memorial name=\"II. világháborús emlékmű\""; */ |
| 145 | | assertNoMatch: "node memorial=war_memorial name=\"I. világháborús emlékmű\""; |
| 146 | | } |
| 147 | | |
| 148 | | /* FIXME: I. és II. világháborús emlékmű */ |
| 149 | | |
| 150 | | area[landuse=quarry][name=~/(?i)szén/][!resource].itthon { |
| 151 | | group: "[HU] specifikus szabályok"; |
| 152 | | throwWarning: "add meg a bányából kinyert nyersanyagot: szén"; |
| 153 | | fixAdd: "resource=coal"; |
| 154 | | } |
| 155 | | |
| 156 | | area[landuse=quarry][name=~/(?i)kavics/][!resource].itthon { |
| 157 | | group: "[HU] specifikus szabályok"; |
| 158 | | throwWarning: "add meg a bányából kinyert nyersanyagot: kavics"; |
| 159 | | fixAdd: "resource=aggregate"; |
| 160 | | } |
| 161 | | |
| 162 | | *[name=~/(?i)statisztikai hivatal/][office=government][government!=statistics].itthon { |
| 163 | | group: "[HU] specifikus szabályok"; |
| 164 | | throwWarning: "add meg a KSH irodához tartozó címkét"; |
| 165 | | fixAdd: "government=statistics"; |
| 166 | | } |
| 167 | | |
| 168 | | *[name=~/(?i)államkincstár/][office=government][government!=treasury].itthon { |
| 169 | | group: "[HU] specifikus szabályok"; |
| 170 | | throwWarning: "add meg az államkincstárhoz irodához tartozó címkét"; |
| 171 | | fixAdd: "government=treasury"; |
| 172 | | } |
| 173 | | |
| 174 | | *[name=~/(?i)faluház/][!highway][!amenity].itthon, |
| 175 | | *[name=~/(?i)faluház/][!highway][amenity!=community_centre].itthon { |
| 176 | | group: "[HU] specifikus szabályok"; |
| 177 | | throwWarning: "faluházhoz használd az amenity=community_centre címkét"; |
| 178 | | fixRemove: "amenity"; |
| 179 | | fixAdd: "amenity=community_centre"; |
| 180 | | } |
| 181 | | |
| 182 | | *[name=~/(?i)községháza/][!highway][!route][!amenity].itthon, |
| 183 | | *[name=~/(?i)községháza/][!highway][!route][amenity!=townhall].itthon { |
| 184 | | group: "[HU] specifikus szabályok"; |
| 185 | | throwWarning: "községházához használd az amenity=townhall címkét"; |
| 186 | | fixRemove: "amenity"; |
| 187 | | fixAdd: "amenity=townhall"; |
| 188 | | } |
| 189 | | |
| | 140 | group: "[HU] specifikus szabályok"; |
| | 141 | throwWarning: "{0.key} és {1.key} ugyanazon az objektumon, távolítsd el az egyiket"; |
| | 142 | assertMatch: "way maxspeed:type=HU:urban source:maxspeed=HU:urban"; |
| | 143 | assertNoMatch: "way source:maxspeed=HU:urban"; |
| | 144 | } |
| | 145 | |
| | 146 | /* names suggesting missing or wrong tags */ |
| | 147 | |
| | 148 | *[name=~/(?iu)tüzép|t[üű]zifa/][shop!=trade][!highway][!railway].itthon { |
| | 149 | group: "[HU] specifikus szabályok"; |
| | 150 | throwWarning: "tüzéptelepekre használd a shop=trade címkézést"; |
| | 151 | fixAdd: "shop=trade"; |
| | 152 | assertMatch: "node name=TÜZÉP"; |
| | 153 | assertMatch: "node name=\"Tűzifa kereskedés\""; |
| | 154 | assertNoMatch: "node name=Tüzép shop=trade"; |
| | 155 | } |
| | 156 | |
| | 157 | *[building][name=~/(?iu)kastély/][historic][historic!=castle].itthon { |
| | 158 | group: "[HU] specifikus szabályok"; |
| | 159 | throwWarning: "történelmi kastélyokra használd a historic=castle + castle_type=* címkézést"; |
| | 160 | fixAdd: "historic=castle"; |
| | 161 | assertMatch: "way building=yes historic=manor name=\"Esterházy-KASTÉLY\""; |
| | 162 | assertNoMatch: "way building=yes historic=castle name=Esterházy-kastély"; |
| | 163 | } |
| | 164 | |
| | 165 | *[shop=clothes][name=~/(?iu)használt/][!second_hand].itthon { |
| | 166 | group: "[HU] specifikus szabályok"; |
| | 167 | throwWarning: "használt ruhás bolthoz használd a second_hand=yes címkézést"; |
| | 168 | fixAdd: "second_hand=yes"; |
| | 169 | assertMatch: "node shop=clothes name=\"HASZNÁLT RUHA\""; |
| | 170 | assertNoMatch: "node shop=clothes second_hand=yes name=\"Használt ruha\""; |
| | 171 | } |
| | 172 | |
| | 173 | *[landuse=cemetery][name=~/(?iu)zsidó/][religion!=jewish].itthon { |
| | 174 | group: "[HU] specifikus szabályok"; |
| | 175 | throwWarning: "zsidó temetőhöz használd a religion=jewish címkézést"; |
| | 176 | fixAdd: "religion=jewish"; |
| | 177 | assertMatch: "way landuse=cemetery name=\"Zsidó temető\""; |
| | 178 | assertNoMatch: "way landuse=cemetery religion=jewish name=\"Zsidó temető\""; |
| | 179 | } |
| | 180 | |
| | 181 | *[historic=memorial][name=~/(?iu)háború|hősi emlékmű/][memorial!=war_memorial].itthon { |
| | 182 | group: "[HU] specifikus szabályok"; |
| | 183 | throwWarning: "háborús emlékműhöz használd a memorial=war_memorial címkézést"; |
| | 184 | fixAdd: "memorial=war_memorial"; |
| | 185 | assertMatch: "node historic=memorial name=\"Hősi emlékmű\""; |
| | 186 | assertMatch: "node historic=memorial name=\"I. VILÁGHÁBORÚS emlékmű\""; |
| | 187 | assertNoMatch: "node historic=memorial memorial=war_memorial name=\"Hősi emlékmű\""; |
| | 188 | } |
| | 189 | |
| | 190 | *[memorial=war_memorial][!memorial:conflict][name=~/(?iu)(?<!I)I\.\s*(és|,)\s*(a\s+)?II\.|első\s+és\s+(a\s+)?második/].itthon { |
| | 191 | group: "[HU] specifikus szabályok"; |
| | 192 | throwWarning: "I. és II. világháborús emlékműhöz használd a memorial:conflict=WW1;WW2 címkézést"; |
| | 193 | fixAdd: "memorial:conflict=WW1;WW2"; |
| | 194 | assertMatch: "node memorial=war_memorial name=\"I. és II. világháborús emlékmű\""; |
| | 195 | assertMatch: "node memorial=war_memorial name=\"Első és második világháborús emlékmű\""; |
| | 196 | assertNoMatch: "node memorial=war_memorial name=\"I. világháborús emlékmű\""; |
| | 197 | assertNoMatch: "node memorial=war_memorial name=\"II. világháborús emlékmű\""; |
| | 198 | } |
| | 199 | |
| | 200 | *[memorial=war_memorial][!memorial:conflict][name=~/(?iu)(?<!I)I\. világ|első világ/].itthon { |
| | 201 | group: "[HU] specifikus szabályok"; |
| | 202 | throwWarning: "I. világháborús emlékműhöz használd a memorial:conflict=WW1 címkézést"; |
| | 203 | fixAdd: "memorial:conflict=WW1"; |
| | 204 | assertMatch: "node memorial=war_memorial name=\"I. világháborús emlékmű\""; |
| | 205 | assertMatch: "node memorial=war_memorial name=\"Első világháborús emlékmű\""; |
| | 206 | assertNoMatch: "node memorial=war_memorial name=\"II. világháborús emlékmű\""; |
| | 207 | assertNoMatch: "node memorial=war_memorial name=\"I. és II. világháborús emlékmű\""; |
| | 208 | } |
| | 209 | |
| | 210 | *[memorial=war_memorial][!memorial:conflict][name=~/(?iu)II\. világ|második világ/][name!~/(?iu)(?<!I)I\.\s*(és|,)\s*(a\s+)?II\.|első\s+és\s+(a\s+)?második/].itthon { |
| | 211 | group: "[HU] specifikus szabályok"; |
| | 212 | throwWarning: "II. világháborús emlékműhöz használd a memorial:conflict=WW2 címkézést"; |
| | 213 | fixAdd: "memorial:conflict=WW2"; |
| | 214 | assertMatch: "node memorial=war_memorial name=\"II. világháborús emlékmű\""; |
| | 215 | assertMatch: "node memorial=war_memorial name=\"Második világháborús emlékmű\""; |
| | 216 | assertNoMatch: "node memorial=war_memorial name=\"I. világháborús emlékmű\""; |
| | 217 | assertNoMatch: "node memorial=war_memorial name=\"I. és II. világháborús emlékmű\""; |
| | 218 | } |
| | 219 | |
| | 220 | area[landuse=quarry][name=~/(?iu)szén/][!resource].itthon { |
| | 221 | group: "[HU] specifikus szabályok"; |
| | 222 | throwWarning: "add meg a bányából kinyert nyersanyagot: szén"; |
| | 223 | fixAdd: "resource=coal"; |
| | 224 | } |
| | 225 | |
| | 226 | area[landuse=quarry][name=~/(?iu)kavics/][!resource].itthon { |
| | 227 | group: "[HU] specifikus szabályok"; |
| | 228 | throwWarning: "add meg a bányából kinyert nyersanyagot: kavics"; |
| | 229 | fixAdd: "resource=aggregate"; |
| | 230 | } |
| | 231 | |
| | 232 | area[landuse=quarry][name=~/(?iu)homok/][!resource].itthon { |
| | 233 | group: "[HU] specifikus szabályok"; |
| | 234 | throwWarning: "add meg a bányából kinyert nyersanyagot: homok"; |
| | 235 | fixAdd: "resource=sand"; |
| | 236 | } |
| | 237 | |
| | 238 | area[landuse=quarry][name=~/(?iu)agyag/][!resource].itthon { |
| | 239 | group: "[HU] specifikus szabályok"; |
| | 240 | throwWarning: "add meg a bányából kinyert nyersanyagot: agyag"; |
| | 241 | fixAdd: "resource=clay"; |
| | 242 | } |
| | 243 | |
| | 244 | area[landuse=quarry][name=~/(?iu)mészkő/][!resource].itthon { |
| | 245 | group: "[HU] specifikus szabályok"; |
| | 246 | throwWarning: "add meg a bányából kinyert nyersanyagot: mészkő"; |
| | 247 | fixAdd: "resource=limestone"; |
| | 248 | } |
| | 249 | |
| | 250 | *[name=~/(?iu)statisztikai hivatal/][office=government][government!=statistics].itthon { |
| | 251 | group: "[HU] specifikus szabályok"; |
| | 252 | throwWarning: "add meg a KSH irodához tartozó címkét"; |
| | 253 | fixAdd: "government=statistics"; |
| | 254 | assertMatch: "node office=government name=\"Központi Statisztikai Hivatal\""; |
| | 255 | assertNoMatch: "node office=government government=statistics name=\"Központi Statisztikai Hivatal\""; |
| | 256 | } |
| | 257 | |
| | 258 | *[name=~/(?iu)államkincstár/][office=government][government!=treasury].itthon { |
| | 259 | group: "[HU] specifikus szabályok"; |
| | 260 | throwWarning: "add meg az államkincstárhoz irodához tartozó címkét"; |
| | 261 | fixAdd: "government=treasury"; |
| | 262 | assertMatch: "node office=government name=\"Magyar ÁLLAMKINCSTÁR\""; |
| | 263 | assertNoMatch: "node office=government government=treasury name=\"Magyar Államkincstár\""; |
| | 264 | } |
| | 265 | |
| | 266 | /* [amenity!=x] also matches when amenity is missing */ |
| | 267 | *[name=~/(?iu)faluház/][!highway][amenity!=community_centre].itthon { |
| | 268 | group: "[HU] specifikus szabályok"; |
| | 269 | throwWarning: "faluházhoz használd az amenity=community_centre címkét"; |
| | 270 | fixAdd: "amenity=community_centre"; |
| | 271 | assertMatch: "node name=Faluház"; |
| | 272 | assertMatch: "node name=FALUHÁZ amenity=townhall"; |
| | 273 | assertNoMatch: "node name=Faluház amenity=community_centre"; |
| | 274 | assertNoMatch: "way name=\"Faluház utca\" highway=residential"; |
| | 275 | } |
| | 276 | |
| | 277 | *[name=~/(?iu)községháza/][!highway][!route][amenity!=townhall].itthon { |
| | 278 | group: "[HU] specifikus szabályok"; |
| | 279 | throwWarning: "községházához használd az amenity=townhall címkét"; |
| | 280 | fixAdd: "amenity=townhall"; |
| | 281 | assertMatch: "node name=Községháza"; |
| | 282 | assertNoMatch: "node name=Községháza amenity=townhall"; |
| | 283 | } |
| | 284 | |
| | 285 | /* addresses as of 2026-10-13 */ |
| | 286 | /* Use grex (https://github.com/pemistahl/grex) and the XLSX sheet from https://net.posta.hu/dashboard/public/dashboard-ui/iranyitoszam-kereso/download-as-table to update */ |
| | 287 | /* It validates the postcode against all official numbers */ |
| | 288 | *[addr:postcode][addr:postcode!~/^(?:1(?:007|23[7-9])|2(?:0(?:1[13-7]|8[013-69])|(?:06|17)[03-7]|3(?:4[0457]|6[03-7])|51[07-9])|269[1-46-9]|3(?:07[03-578]|10[0249]|24[0235-8]|5(?:0[018]|1[5-9]|2[14-9]|3[0-5])|60[048]|7(?:2[0-689]|8[0367])|8(?:2[156]|3[1-467]|4[1-46-9]|6[03-6])|98[057-9])|4(?:0(?:2[4-9]|3[0-4]|6[03-79]|7[14589])|13[02-8]|26[2-467]|32[04-7]|44[015-7]|51[15-7]|80[034])|(?:2(?:24|72)|418)[134]|400[02]|474[1-356]|223[03-5]|5(?:24[134]|47[14-6]|5(?:0[02]|3[046-9]|5[1-356])|73[124]|9(?:0[03-5]|4[0568]))|583[06-8]|237[0135-8]|(?:2(?:22|75)|440|5(?:43|92))[05]|(?:2(?:31|76)|3(?:39|95)|411)[04-9]|462[1-578]|(?:308|404|5(?:15|22))2|6(?:0(?:6[024-7]|9[06-8])|32[0135-8]|05[05]|4(?:3[05]|4[04-9])|52[1-578]|612)|(?:290|6[59]0)[03]|(?:274|40[89]|5(?:13|52|72))[05-7]|422[045]|(?:247|362)[1-35-7]|675[03-8]|(?:396|473)[1-57]|7(?:0(?:0[03]|2[05-7]|9[0-57-9])|13[0-6]|2(?:2[4-8]|7[1-69])|3(?:0[045]|9[1346])|43[124-69]|5(?:5[1-35-7]|8[24-9])|6(?:3[0-69]|6[13468]|7[1-3578])|7(?:2[03-8]|3[1-357]|6[1-368])|[07]4[1-57]|8(?:1[1-57]|2[2-7]|3[1346-9]|4[13679]|5[0134])|9(?:1[2-58]|3[24-7]|5[13478]|6[046-8]|7[1-35-79]|8[01578]))|5919|(?:363|445|551|6(?:63|80))[056]|204[059]|(?:233|317|623)[05-9]|[56]00[08]|(?:3(?:25|90)|676|714)[02-9]|(?:388|771)[124-8]|(?:2(?:45|62)|3(?:12|34))[13-9]|(?:273|391|6(?:0[78]|64))[05-8]|(?:289|358)[06-9]|(?:2(?:48|54)|746)[13-5]|377[035-9]|775[1-79]|3(?:41|97)[1-46-8]|753[0235-9]|447[1245]|(?:268|725)[1-35-8]|370[04]|475[124-6]|8(?:0(?:19|6[056]|8[0-35-9]|9[235-7])|1(?:0[059]|4[2-6])|2(?:2[05-9]|3[037]|9[124-7])|3(?:0[08]|4[124-9])|4(?:2[02-9]|3[0-589]|5[124-8]|7[13-9])|26[13-5]|6(?:1[2-47-9]|3[05-8]|[46][06-9]|8[13-5])|7(?:0[035-9]|4[1-79]|7[1-46-8]|8[24589]|9[0235-9])|76[12457]|17[1245]|8(?:2[12457]|3[1245]|7[2-46-9]|8[1-35-8]|9[135-7])|9(?:0[04]|3[124-6]|4[3-9]|5[1346-8]|6[069]|7[135-8]|[28][13-689]|9[0-24-9]))|285[1-689]|(?:3(?:37|76)|891)[1-57-9]|(?:118|8(?:65|72|86))[1-68]|4(?:28|46)[13-8]|(?:2(?:15|3[58]|9[1-3])|322|4[36]1|5(?:07|11|33|56|81)|6(?:[23]1|82)|726|832)1|(?:2(?:03|50|66)|3(?:36|45)|535|7(?:03|15)|8(?:46|80))[089]|(?:205|564)[13]|240[07]|306[03-9]|(?:2(?:09|6[14])|335|672|8(?:13|44|71))[0-9]|(?:70|81)5[12467]|(?:482|8(?:28|75))[1-46]|(?:2(?:16|21|83)|3(?:[01]4|33|46|8[17]|93)|4(?:17|5[346]|76|9[37])|574|6(?:33|78|91)|7(?:08|35|5[12])|8(?:12|35|49))[1-7]|(?:1(?:0[238]|1[134])|2(?:11|52|6[35]|88|94)|3(?:5[579]|65|75|89|9[29])|496|7(?:01|34|47|62)|8(?:[34]1|69|73))[1-9]|(?:117|2(?:07|19|82)|3(?:02|2[18]|4[34]|66|74)|4(?:16|25|43|91)|5(?:14|32|62)|6(?:22|41)|7(?:33|44|56)|8(?:07|1[68]))[1-4]|7(?:38|69)[13-6]|(?:2(?:(?:[02]|3)0|87)|3[08]0|5(?:3[04]|44|60)|8(?:40|84))[09]|(?:271|305|4(?:3[46]|50|81)|5(?:21|36|45)|6(?:35|51|9[23])|768|8(?:37|5[2-4]))[1-3]|(?:1(?:0[4679]|1[05])|2(?:[04]2|67)|3(?:1[38]|3[28]|64|71)|4(?:12|33|48|55|94)|566|634|7(?:06|18|45)|8(?:2[45]|5[159]|62|85))[1-8]|(?:1(?:0[15]|1[29])|2(?:14|53)|3(?:0[13]|29|42|79)|4(?:[12]4|3[57]|49|64|83|95)|512|6(?:1[13]|45)|7(?:17|92)|8(?:0[45]|19|67))[1-6]|(?:1(?:16|2[0-2])|2(?:1[38]|25|4[36])|3(?:15|2[367]|56|73|85|94)|4(?:2[37]|52|63|84)|5(?:0[5689]|23|46|67)|6(?:0[34]|42|62|7[79])|7(?:1[69]|2[18]|54|7[78])|8(?:27|39|48|56))[1-5]|(?:2(?:32|86)|367|4(?:21|72|92)|5(?:41|7[15]|93)|7(?:07|12|36)|8(?:11|5[78]))[12]|(?:2(?:1[02]|4[49]|60|70|8[04])|3(?:[23]|4)0|4(?:1[05]|20|30|60|70|90)|5(?:[12]0|31|4[02]|54|6[35]|70|8[02])|6(?:1[02]|20|30|40|60|7[01])|7(?:[12]0|37|40|5[07]|60|70|80|9[04])|8(?:[02]0|3[368]|50|60))0|316[1-35]|9(?:0(?:1[129]|8[1-689])|16[1-57-9]|22[1-68]|4(?:0[078]|3[13-8])|(?:21|45)1|5(?:4[12457-9]|61)|6(?:0[089]|4[13])|09[0-9]|(?:1[24]|3[12]|51)[1-7]|02[1-9]|7(?:0[07]|3[03-9]|4[0-9]|5[12467]|6[1-46]|[27][1-7]|8[1-49]|9[1-9])|(?:0[67]|18|35|4[46]|53|65)[1-4]|8(?:1[1-4]|2[13-6])|33[09]|(?:11|42|52)[1-3]|17[1-8]|(?:13|24|34|47|55|6[37]|83)[1-6]|(?:15|23|3[67]|4[89]|6[268])[1-5]|(?:61|84)[12]|(?:0[03]|10|20|30|50|80)0|9(?:0[09]|1[2-57-9]|2[1-3]|3[1-8]|4[1-6]|5[1-5]|6[12]|70|8[1-35])))$/].itthon { |
| | 289 | group: "[HU] specifikus szabályok"; |
| | 290 | throwError: "érvénytelen irányítószám"; |
| | 291 | assertMatch: "node addr:postcode=H-1051"; |
| | 292 | assertMatch: "node addr:postcode=10511"; |
| | 293 | assertNoMatch: "node addr:postcode=1051"; |
| | 294 | } |