WIP: [styles] Add London Overground icon #7784
3
.gitmodules
vendored
|
@ -59,6 +59,3 @@
|
|||
[submodule "3party/harfbuzz/harfbuzz"]
|
||||
path = 3party/harfbuzz/harfbuzz
|
||||
url = https://github.com/harfbuzz/harfbuzz.git
|
||||
[submodule "3party/utfcpp"]
|
||||
path = 3party/utfcpp
|
||||
url = https://github.com/nemtrif/utfcpp.git
|
||||
|
|
|
@ -1714,6 +1714,7 @@
|
|||
<string name="type.railway.station.light_rail.london">DLR Station</string>
|
||||
<string name="type.railway.station.light_rail.porto">Porto Metro</string>
|
||||
<string name="type.railway.station.monorail">Monorail Station</string>
|
||||
<string name="type.railway.station.overground.london">Overground Station</string>
|
||||
<string name="type.railway.station.subway">Subway Station</string>
|
||||
<string name="type.railway.station.subway.adana">Subway Station</string>
|
||||
<string name="type.railway.station.subway.algiers">Subway Station</string>
|
||||
|
|
|
@ -957,6 +957,9 @@ world +
|
|||
porto -
|
||||
{}
|
||||
monorail -
|
||||
overground +
|
||||
london -
|
||||
{}
|
||||
subway +
|
||||
adana -
|
||||
algiers -
|
||||
|
|
|
@ -81005,6 +81005,228 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 8
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -76767,6 +76767,228 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 8
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -76982,6 +76982,228 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 9
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 8
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -82098,6 +82098,228 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 8
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 2236962
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 2236962
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 2236962
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -82313,6 +82313,228 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 9
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 8
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 6250
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 6250
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -3750
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -49520,6 +49520,211 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 3355443
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 3355443
|
||||
stroke_color: 1728053247
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 3355443
|
||||
stroke_color: 1308622847
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 3355443
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 3355443
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 3355443
|
||||
stroke_color: 872415231
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 3355443
|
||||
stroke_color: 452984831
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -50060,6 +50060,211 @@ cont {
|
|||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-overground-london"
|
||||
element {
|
||||
scale: 12
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 13
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 9
|
||||
color: 8947848
|
||||
stroke_color: 1711670784
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 14
|
||||
symbol {
|
||||
name: "london-overground-s"
|
||||
priority: 2900
|
||||
min_distance: 1
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 1292240384
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 15
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 10
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 16
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 13
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 11
|
||||
color: 8947848
|
||||
stroke_color: 856032768
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 17
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 18
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 19
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
element {
|
||||
scale: 20
|
||||
symbol {
|
||||
name: "london-overground-m"
|
||||
priority: 2900
|
||||
}
|
||||
caption {
|
||||
primary {
|
||||
height: 14
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
secondary {
|
||||
height: 12
|
||||
color: 8947848
|
||||
stroke_color: 436602368
|
||||
offset_y: 1
|
||||
is_optional: true
|
||||
}
|
||||
priority: -7100
|
||||
}
|
||||
}
|
||||
}
|
||||
cont {
|
||||
name: "railway-station-subway"
|
||||
element {
|
||||
|
|
|
@ -1683,3 +1683,4 @@ railway|station|subway|singapore;[railway=station][transport=subway][city=singap
|
|||
railway|subway_entrance|singapore;[railway=subway_entrance][city=singapore];;name;int_name;1595;
|
||||
railway|station|subway|boston;[railway=station][transport=subway][city=boston],[railway=station][station=subway][city=boston];;name;int_name;1596;
|
||||
railway|subway_entrance|boston;[railway=subway_entrance][city=boston];;name;int_name;1597;
|
||||
railway|station|overground|london;[railway=station][operator=London Overground];;name;int_name;1598;
|
||||
RedAuburn
commented
hmmm... looks like it's going to be a bit more complicated :/
This query finds all 113 stations the Overground serves:
need to search for all nodes where either hmmm... looks like it's going to be a bit more complicated :/
`railway=station`+`operator=London Overground` only finds 62 stations.
This query finds all 113 stations the Overground serves:
```
[out:json][timeout:25];
{{geocodeArea:United Kingdom}}->.searchArea;
// OR
(
// should match =London Underground;London Overground
nwr["railway"="station"]["network"~"London Overground"](area.searchArea);
nwr["railway"="station"]["operator"~"London Overground"](area.searchArea);
);
// print results
out geom;
```
need to search for all nodes where _either_ `network=*` or `operator=*` _contains_ `London Overground` (non-case sensitive). And not just an exact string match as POI can have things like `network=London Underground;London Overground`
pastk
commented
but IDK how do we treat case and multiple values might need a special processing... `railway|station|overground|london;[railway=station][operator=London Overground],[railway=station][network=London Overground];` :)
but IDK how do we treat case and multiple values might need a special processing...
![]() Would adding another wildcard to signify case insensitivity not be ok? I'd like to help make the changes for how this might be parsed, but I'm having trouble working out how to build and run the generator code by itself (and not driven by tools/python/map_generator) to allow me to debug it. Would adding another wildcard to signify case insensitivity not be ok? I'd like to help make the changes for how this might be parsed, but I'm having trouble working out how to build and run the generator code by itself (and not driven by tools/python/map_generator) to allow me to debug it.
pastk
commented
IMO all OSM tags matching should be case-insensitive (maybe its the case already?) IMO all OSM tags matching should be case-insensitive (maybe its the case already?)
RedAuburn
commented
@vng do you know if the generator can handle case & multiple values? > but IDK how do we treat case and multiple values might need a special processing...
@vng do you know if the generator can handle case & multiple values?
![]() If have doubts, better make tests like in osm_type_test.cpp If have doubts, better make tests like in osm_type_test.cpp
|
||||
|
|
Can't render this file because it contains an unexpected character in line 7 and column 16.
|
Before Width: | Height: | Size: 815 KiB After Width: | Height: | Size: 818 KiB |
Before Width: | Height: | Size: 820 KiB After Width: | Height: | Size: 823 KiB |
Before Width: | Height: | Size: 384 KiB After Width: | Height: | Size: 386 KiB |
Before Width: | Height: | Size: 386 KiB After Width: | Height: | Size: 388 KiB |
Before Width: | Height: | Size: 227 KiB After Width: | Height: | Size: 228 KiB |
Before Width: | Height: | Size: 230 KiB After Width: | Height: | Size: 230 KiB |
Before Width: | Height: | Size: 530 KiB After Width: | Height: | Size: 531 KiB |
Before Width: | Height: | Size: 536 KiB After Width: | Height: | Size: 537 KiB |
Before Width: | Height: | Size: 854 KiB After Width: | Height: | Size: 856 KiB |
Before Width: | Height: | Size: 863 KiB After Width: | Height: | Size: 864 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
|
@ -22607,6 +22607,9 @@
|
|||
zh-Hans = 单轨车站
|
||||
zh-Hant = 單軌車站
|
||||
|
||||
[type.railway.station.overground.london]
|
||||
en = Overground Station
|
||||
|
||||
[type.railway.station.subway]
|
||||
en = Subway Station
|
||||
en-GB = Metro Station
|
||||
|
|
|
@ -391,6 +391,10 @@ node|z15-[railway=station][transport=subway][city=london] {icon-image: subway-lo
|
|||
node|z16-[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-s.svg;}
|
||||
node|z18-[railway=subway_entrance][city=london] {icon-image: subway_entrance-london-m.svg;}
|
||||
|
||||
/* London Overground Station */
|
||||
node|z12-14[railway=station][operator=London Overground] {icon-image: london-overground-s.svg;icon-min-distance: 1;}
|
||||
node|z15-[railway=station][operator=London Overground] {icon-image: london-overground-m.svg;}
|
||||
|
||||
/* Los Angeles Subway Station */
|
||||
node|z12-[railway=station][transport=subway][city=la] {icon-image: subway-losangeles-s.svg;}
|
||||
node|z15-[railway=station][transport=subway][city=la] {icon-image: subway-losangeles-m.svg;}
|
||||
|
|
|
@ -139,6 +139,7 @@ railway-station-light_rail # icon z13- (also has captio
|
|||
railway-station-light_rail-london # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-light_rail-porto # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-monorail # icon z12- (also has caption(optional) z12-)
|
||||
railway-station-overground-london # icon z12- (also has caption(optional) z12-)
|
||||
railway-station-subway # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-subway-adana # icon z12- (also has caption(optional) z14-)
|
||||
railway-station-subway-algiers # icon z12- (also has caption(optional) z14-)
|
||||
|
@ -1291,6 +1292,7 @@ leisure-swimming_pool-private # icon z17- (also has captio
|
|||
# railway-station-light_rail-london # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-light_rail-porto # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-monorail # caption(optional) z12- (also has icon z12-)
|
||||
# railway-station-overground-london # caption(optional) z12- (also has icon z12-)
|
||||
# railway-station-subway # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-subway-adana # caption(optional) z14- (also has icon z12-)
|
||||
# railway-station-subway-algiers # caption(optional) z14- (also has icon z12-)
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<svg viewBox="0 0 23 17" width="17" height="13" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m3.7517 5h-3.7517v7h3.7517c1.334 2.9485 4.3016 5 7.7483 5 3.4467 0 6.4143-2.0515 7.7483-5h3.7517v-7h-3.7517c-1.334-2.9485-4.3016-5-7.7483-5-3.4467 0-6.4143 2.0515-7.7483 5z" fill="#FFF" opacity=".6"/>
|
||||
<path d="m11.5 16c-4.1421 0-7.5-3.3579-7.5-7.5 0-4.1421 3.3579-7.5 7.5-7.5 4.1421 0 7.5 3.3579 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5zm0-3c2.4853 0 4.5-2.0147 4.5-4.5 0-2.4853-2.0147-4.5-4.5-4.5-2.4853 0-4.5 2.0147-4.5 4.5 0 2.4853 2.0147 4.5 4.5 4.5z" fill="#ee7623"/>
|
||||
<rect x="1" y="6" width="21" height="5" fill="#000F9F"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 642 B |
|
@ -0,0 +1,7 @@
|
|||
<svg viewBox="0 0 17 13" width="13" height="10" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m2.4982 4c0.97956-2.349 3.2979-4 6.0018-4 2.704 0 5.0223 1.651 6.0018 4h2.4982v5h-2.4982c-0.97956 2.349-3.2979 4-6.0018 4-2.7039 0-5.0223-1.651-6.0018-4h-2.4982v-5h2.4982z" fill="#FFF" opacity=".6"/>
|
||||
<path d="m8.5 12c-3.0376 0-5.5-2.4624-5.5-5.5s2.4624-5.5 5.5-5.5c3.0376 0 5.5 2.4624 5.5 5.5s-2.4624 5.5-5.5 5.5zm0-2c1.933 0 3.5-1.567 3.5-3.5s-1.567-3.5-3.5-3.5c-1.933 0-3.5 1.567-3.5 3.5s1.567 3.5 3.5 3.5z" fill="#ee7623"/>
|
||||
<rect x="1" y="5" width="15" height="3" fill="#000F9F"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 601 B |
|
@ -0,0 +1,7 @@
|
|||
<svg viewBox="0 0 23 17" width="17" height="13" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m3.7517 5h-3.7517v7h3.7517c1.334 2.9485 4.3016 5 7.7483 5 3.4467 0 6.4143-2.0515 7.7483-5h3.7517v-7h-3.7517c-1.334-2.9485-4.3016-5-7.7483-5-3.4467 0-6.4143 2.0515-7.7483 5z" fill="#FFF" opacity=".6"/>
|
||||
<path d="m11.5 16c-4.1421 0-7.5-3.3579-7.5-7.5 0-4.1421 3.3579-7.5 7.5-7.5 4.1421 0 7.5 3.3579 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5zm0-3c2.4853 0 4.5-2.0147 4.5-4.5 0-2.4853-2.0147-4.5-4.5-4.5-2.4853 0-4.5 2.0147-4.5 4.5 0 2.4853 2.0147 4.5 4.5 4.5z" fill="#ee7623"/>
|
||||
<rect x="1" y="6" width="21" height="5" fill="#000F9F"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 642 B |
|
@ -0,0 +1,7 @@
|
|||
<svg viewBox="0 0 17 13" width="13" height="10" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m2.4982 4c0.97956-2.349 3.2979-4 6.0018-4 2.704 0 5.0223 1.651 6.0018 4h2.4982v5h-2.4982c-0.97956 2.349-3.2979 4-6.0018 4-2.7039 0-5.0223-1.651-6.0018-4h-2.4982v-5h2.4982z" fill="#FFF" opacity=".6"/>
|
||||
<path d="m8.5 12c-3.0376 0-5.5-2.4624-5.5-5.5s2.4624-5.5 5.5-5.5c3.0376 0 5.5 2.4624 5.5 5.5s-2.4624 5.5-5.5 5.5zm0-2c1.933 0 3.5-1.567 3.5-3.5s-1.567-3.5-3.5-3.5c-1.933 0-3.5 1.567-3.5 3.5s1.567 3.5 3.5 3.5z" fill="#ee7623"/>
|
||||
<rect x="1" y="5" width="15" height="3" fill="#000F9F"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 601 B |
|
@ -139,6 +139,7 @@ railway-station-light_rail # icon z13- (also has captio
|
|||
railway-station-light_rail-london # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-light_rail-porto # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-monorail # icon z12- (also has caption(optional) z12-)
|
||||
railway-station-overground-london # icon z12- (also has caption(optional) z12-)
|
||||
railway-station-subway # icon z13- (also has caption(optional) z14-)
|
||||
railway-station-subway-adana # icon z12- (also has caption(optional) z14-)
|
||||
railway-station-subway-algiers # icon z12- (also has caption(optional) z14-)
|
||||
|
@ -1291,6 +1292,7 @@ leisure-swimming_pool-private # icon z17- (also has captio
|
|||
# railway-station-light_rail-london # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-light_rail-porto # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-monorail # caption(optional) z12- (also has icon z12-)
|
||||
# railway-station-overground-london # caption(optional) z12- (also has icon z12-)
|
||||
# railway-station-subway # caption(optional) z14- (also has icon z13-)
|
||||
# railway-station-subway-adana # caption(optional) z14- (also has icon z12-)
|
||||
# railway-station-subway-algiers # caption(optional) z14- (also has icon z12-)
|
||||
|
|
|
@ -199,6 +199,7 @@ railway-station-light_rail # icon z13- (also has captio
|
|||
railway-station-light_rail-london # icon z13- (also has caption(optional) z15-)
|
||||
railway-station-light_rail-porto # icon z13- (also has caption(optional) z15-)
|
||||
railway-station-monorail # icon z12- (also has caption(optional) z13-)
|
||||
railway-station-overground-london # icon z12- (also has caption(optional) z13-)
|
||||
=== 2900
|
||||
|
||||
barrier-toll_booth # icon z12- (also has caption(optional) z14-)
|
||||
|
@ -767,6 +768,7 @@ entrance-main # icon z18- (also has captio
|
|||
# railway-station-light_rail-london # caption(optional) z15- (also has icon z13-)
|
||||
# railway-station-light_rail-porto # caption(optional) z15- (also has icon z13-)
|
||||
# railway-station-monorail # caption(optional) z13- (also has icon z12-)
|
||||
# railway-station-overground-london # caption(optional) z13- (also has icon z12-)
|
||||
# === -7100
|
||||
|
||||
# barrier-toll_booth # caption(optional) z14- (also has icon z12-)
|
||||
|
|
|
@ -1595,3 +1595,4 @@ amenity|recycling|container
|
|||
*railway|subway_entrance|singapore
|
||||
*railway|station|subway|boston
|
||||
*railway|subway_entrance|boston
|
||||
*railway|station|overground|london
|
||||
|
|
|
@ -957,6 +957,9 @@ world 000000000000000000000 +
|
|||
porto 000000000000011111111 -
|
||||
{}
|
||||
monorail 000000000000111111111 -
|
||||
overground 000000000000000000000 +
|
||||
london 000000000000111111111 -
|
||||
{}
|
||||
subway 000000000000011111111 +
|
||||
adana 000000000000111111111 -
|
||||
algiers 000000000000111111111 -
|
||||
|
|
|
@ -250,10 +250,10 @@ public:
|
|||
Lit,
|
||||
NoFoot,
|
||||
YesFoot,
|
||||
NoSidewalk, // no dedicated sidewalk, doesn't mean that foot is not allowed, just lower weight
|
||||
NoSidewalk, // no dedicated sidewalk, doesn't mean that foot is not allowed, just lower weight
|
||||
NoBicycle,
|
||||
YesBicycle,
|
||||
NoCycleway, // no dedicated cycleway, doesn't mean that bicycle is not allowed, just lower weight
|
||||
NoCycleway, // no dedicated cycleway, doesn't mean that bicycle is not allowed, just lower weight
|
||||
BicycleBidir,
|
||||
SurfacePavedGood,
|
||||
SurfacePavedBad,
|
||||
|
@ -281,37 +281,37 @@ public:
|
|||
Classificator const & c = classif();
|
||||
|
||||
static std::map<Type, std::vector<string>> const kTypeToName = {
|
||||
{Entrance, {"entrance"}},
|
||||
{Highway, {"highway"}},
|
||||
{Address, {"building", "address"}},
|
||||
{OneWay, {"hwtag", "oneway"}},
|
||||
{Private, {"hwtag", "private"}},
|
||||
{Lit, {"hwtag", "lit"}},
|
||||
{NoFoot, {"hwtag", "nofoot"}},
|
||||
{YesFoot, {"hwtag", "yesfoot"}},
|
||||
{NoSidewalk, {"hwtag", "nosidewalk"}},
|
||||
{NoBicycle, {"hwtag", "nobicycle"}},
|
||||
{YesBicycle, {"hwtag", "yesbicycle"}},
|
||||
{NoCycleway, {"hwtag", "nocycleway"}},
|
||||
{BicycleBidir, {"hwtag", "bidir_bicycle"}},
|
||||
{SurfacePavedGood, {"psurface", "paved_good"}},
|
||||
{SurfacePavedBad, {"psurface", "paved_bad"}},
|
||||
{Entrance, {"entrance"}},
|
||||
{Highway, {"highway"}},
|
||||
{Address, {"building", "address"}},
|
||||
{OneWay, {"hwtag", "oneway"}},
|
||||
{Private, {"hwtag", "private"}},
|
||||
{Lit, {"hwtag", "lit"}},
|
||||
{NoFoot, {"hwtag", "nofoot"}},
|
||||
{YesFoot, {"hwtag", "yesfoot"}},
|
||||
{NoSidewalk, {"hwtag", "nosidewalk"}},
|
||||
{NoBicycle, {"hwtag", "nobicycle"}},
|
||||
{YesBicycle, {"hwtag", "yesbicycle"}},
|
||||
{NoCycleway, {"hwtag", "nocycleway"}},
|
||||
{BicycleBidir, {"hwtag", "bidir_bicycle"}},
|
||||
{SurfacePavedGood, {"psurface", "paved_good"}},
|
||||
{SurfacePavedBad, {"psurface", "paved_bad"}},
|
||||
{SurfaceUnpavedGood, {"psurface", "unpaved_good"}},
|
||||
{SurfaceUnpavedBad, {"psurface", "unpaved_bad"}},
|
||||
{HasParts, {"building", "has_parts"}},
|
||||
{NoCar, {"hwtag", "nocar"}},
|
||||
{YesCar, {"hwtag", "yescar"}},
|
||||
{InternetAny, {"internet_access"}},
|
||||
{Wlan, {"internet_access", "wlan"}},
|
||||
{RailwayStation, {"railway", "station"}},
|
||||
{SubwayStation, {"railway", "station", "subway"}},
|
||||
{WheelchairAny, {"wheelchair"}},
|
||||
{WheelchairYes, {"wheelchair", "yes"}},
|
||||
{BarrierGate, {"barrier", "gate"}},
|
||||
{Toll, {"hwtag", "toll"}},
|
||||
{BicycleOnedir, {"hwtag", "onedir_bicycle"}},
|
||||
{Ferry, {"route", "ferry"}},
|
||||
{ShuttleTrain, {"route", "shuttle_train"}},
|
||||
{SurfaceUnpavedBad, {"psurface", "unpaved_bad"}},
|
||||
{HasParts, {"building", "has_parts"}},
|
||||
{NoCar, {"hwtag", "nocar"}},
|
||||
{YesCar, {"hwtag", "yescar"}},
|
||||
{InternetAny, {"internet_access"}},
|
||||
{Wlan, {"internet_access", "wlan"}},
|
||||
{RailwayStation, {"railway", "station"}},
|
||||
{SubwayStation, {"railway", "station", "subway"}},
|
||||
{WheelchairAny, {"wheelchair"}},
|
||||
{WheelchairYes, {"wheelchair", "yes"}},
|
||||
{BarrierGate, {"barrier", "gate"}},
|
||||
{Toll, {"hwtag", "toll"}},
|
||||
{BicycleOnedir, {"hwtag", "onedir_bicycle"}},
|
||||
{Ferry, {"route", "ferry"}},
|
||||
{ShuttleTrain, {"route", "shuttle_train"}},
|
||||
};
|
||||
|
||||
m_types.resize(static_cast<size_t>(Count));
|
||||
|
@ -319,10 +319,7 @@ public:
|
|||
m_types[static_cast<size_t>(kv.first)] = c.GetTypeByPath(kv.second);
|
||||
}
|
||||
|
||||
uint32_t Get(CachedTypes::Type t) const
|
||||
{
|
||||
return m_types[static_cast<size_t>(t)];
|
||||
}
|
||||
uint32_t Get(CachedTypes::Type t) const { return m_types[static_cast<size_t>(t)]; }
|
||||
|
||||
bool IsHighway(uint32_t t) const
|
||||
{
|
||||
|
@ -336,10 +333,7 @@ public:
|
|||
return t == Get(Ferry) || t == Get(ShuttleTrain);
|
||||
}
|
||||
|
||||
bool IsRailwayStation(uint32_t t) const
|
||||
{
|
||||
return t == Get(RailwayStation);
|
||||
}
|
||||
bool IsRailwayStation(uint32_t t) const { return t == Get(RailwayStation); }
|
||||
|
||||
bool IsSubwayStation(uint32_t t) const
|
||||
{
|
||||
|
@ -436,72 +430,72 @@ string MatchCity(ms::LatLon const & ll)
|
|||
// Draw boundary around metro with http://bboxfinder.com (set to Lon/Lat)
|
||||
// City name should be equal with railway-station-subway-CITY classifier types.
|
||||
static std::map<string, m2::RectD> const cities = {
|
||||
{"adana", {35.216442,36.934693,35.425525,37.065481}},
|
||||
{"adana", {35.216442, 36.934693, 35.425525, 37.065481}},
|
||||
{"algiers", {2.949538, 36.676777, 3.256914, 36.826518}},
|
||||
{"almaty", {76.7223358154, 43.1480920701, 77.123336792, 43.4299852362}},
|
||||
{"amsterdam", {4.65682983398, 52.232846171, 5.10040283203, 52.4886341706}},
|
||||
{"ankara", {32.4733, 39.723, 33.0499, 40.086}},
|
||||
{"athens", {23.518075, 37.849188, 23.993853, 38.129109}},
|
||||
{"baku", {49.7315,40.319728,49.978006,40.453619}},
|
||||
{"baku", {49.7315, 40.319728, 49.978006, 40.453619}},
|
||||
{"bangkok", {100.159606934, 13.4363737155, 100.909423828, 14.3069694978}},
|
||||
{"barcelona", {1.94458007812, 41.2489025224, 2.29614257812, 41.5414776668}},
|
||||
{"beijing", {115.894775391, 39.588757277, 117.026367187, 40.2795256688}},
|
||||
{"berlin", {13.0352783203, 52.3051199211, 13.7933349609, 52.6963610783}},
|
||||
{"boston", {-71.2676239014, 42.2117365893, -70.8879089355, 42.521711682}},
|
||||
{"bengalore", {77.393079,12.807501,77.806439,13.17014}},
|
||||
{"bilbao", {-3.129730,43.202673,-2.859879,43.420011}},
|
||||
{"bengalore", {77.393079, 12.807501, 77.806439, 13.17014}},
|
||||
{"bilbao", {-3.129730, 43.202673, -2.859879, 43.420011}},
|
||||
{"brasilia", {-48.334467, -16.036627, -47.358264, -15.50321}},
|
||||
{"brescia", {10.128068,45.478792,10.312432,45.595665}},
|
||||
{"brescia", {10.128068, 45.478792, 10.312432, 45.595665}},
|
||||
{"brussels", {4.2448425293, 50.761653413, 4.52499389648, 50.9497757762}},
|
||||
{"bucharest", {25.905198, 44.304636, 26.29032, 44.588137}},
|
||||
{"budapest", {18.7509155273, 47.3034470439, 19.423828125, 47.7023684666}},
|
||||
{"buenos_aires", {-58.9910888672, -35.1221551064, -57.8045654297, -34.2685661867}},
|
||||
{"bursa", {28.771425,40.151234,29.297395,40.315832}},
|
||||
{"bursa", {28.771425, 40.151234, 29.297395, 40.315832}},
|
||||
{"cairo", {30.3232, 29.6163, 31.9891, 30.6445}},
|
||||
{"caracas", {-67.109144,10.317298,-66.754835,10.551623}},
|
||||
{"catania", {14.94978,37.443756,15.126343,37.540221}},
|
||||
{"changchun", {124.6144,43.6274,125.9163,44.1578}},
|
||||
{"chengdu", {103.6074,30.3755,104.4863,31.0462}},
|
||||
{"caracas", {-67.109144, 10.317298, -66.754835, 10.551623}},
|
||||
{"catania", {14.94978, 37.443756, 15.126343, 37.540221}},
|
||||
{"changchun", {124.6144, 43.6274, 125.9163, 44.1578}},
|
||||
{"chengdu", {103.6074, 30.3755, 104.4863, 31.0462}},
|
||||
{"chicago", {-88.3163452148, 41.3541338721, -87.1270751953, 42.2691794924}},
|
||||
{"chongqing", {105.9873,29.1071,107.0255,30.0102}},
|
||||
{"dalian", {121.284679,38.752352,121.90678,39.167744}},
|
||||
{"chongqing", {105.9873, 29.1071, 107.0255, 30.0102}},
|
||||
{"dalian", {121.284679, 38.752352, 121.90678, 39.167744}},
|
||||
{"delhi", {76.8026733398, 28.3914003758, 77.5511169434, 28.9240352884}},
|
||||
{"dnepro", {34.7937011719, 48.339820521, 35.2798461914, 48.6056737841}},
|
||||
{"dubai", {55.01953125, 24.9337667594, 55.637512207, 25.6068559937}},
|
||||
{"ekb", {60.3588867188, 56.6622647682, 61.0180664062, 57.0287738515}},
|
||||
{"frankfurt", {8.36334228516, 49.937079757, 8.92364501953, 50.2296379179}},
|
||||
{"fukuoka", {130.285484,33.544873,130.51757,33.70268}},
|
||||
{"glasgow", {-4.542417,55.753178,-3.943662,55.982611}},
|
||||
{"fukuoka", {130.285484, 33.544873, 130.51757, 33.70268}},
|
||||
{"glasgow", {-4.542417, 55.753178, -3.943662, 55.982611}},
|
||||
{"guangzhou", {112.560424805, 22.4313401564, 113.766174316, 23.5967112789}},
|
||||
{"hamburg", {9.75860595703, 53.39151869, 10.2584838867, 53.6820686709}},
|
||||
{"helsinki", {24.3237304688, 59.9989861206, 25.48828125, 60.44638186}},
|
||||
{"hiroshima", {132.256736,34.312824,132.621345,34.55182}},
|
||||
{"hiroshima", {132.256736, 34.312824, 132.621345, 34.55182}},
|
||||
{"hongkong", {114.039459229, 22.1848617608, 114.305877686, 22.3983322415}},
|
||||
{"isfahan", {51.472344,32.504644,51.865369,32.820396}},
|
||||
{"isfahan", {51.472344, 32.504644, 51.865369, 32.820396}},
|
||||
{"istanbul", {28.4155, 40.7172, 29.7304, 41.4335}},
|
||||
{"izmir", {26.953591,38.262044,27.318199,38.543469}},
|
||||
{"izmir", {26.953591, 38.262044, 27.318199, 38.543469}},
|
||||
{"kazan", {48.8067626953, 55.6372985742, 49.39453125, 55.9153515154}},
|
||||
{"kharkiv", {36.078138, 49.854027, 36.51107, 50.141277}},
|
||||
{"kiev", {30.1354980469, 50.2050332649, 31.025390625, 50.6599083609}},
|
||||
{"kobe", {135.066888,34.617728,135.32232,34.776364}},
|
||||
{"kolkata", {88.240623,22.450324,88.458955,22.632536}},
|
||||
{"kobe", {135.066888, 34.617728, 135.32232, 34.776364}},
|
||||
{"kolkata", {88.240623, 22.450324, 88.458955, 22.632536}},
|
||||
{"koln", {6.7943572998, 50.8445380881, 7.12669372559, 51.0810964366}},
|
||||
{"kunming", {102.0983,24.3319,103.5969,25.7119}},
|
||||
{"kunming", {102.0983, 24.3319, 103.5969, 25.7119}},
|
||||
{"kyoto", {135.619598, 34.874916, 135.878442, 35.113709}},
|
||||
{"lausanne", {6.583868,46.504301,6.720813,46.602578}},
|
||||
{"lille", {2.789132,50.441626,3.329113,50.794609}},
|
||||
{"lausanne", {6.583868, 46.504301, 6.720813, 46.602578}},
|
||||
{"lille", {2.789132, 50.441626, 3.329113, 50.794609}},
|
||||
{"lima", {-77.2750854492, -12.3279274859, -76.7999267578, -11.7988014362}},
|
||||
{"lisboa", {-9.42626953125, 38.548165423, -8.876953125, 38.9166815364}},
|
||||
{"london", {-0.4833984375, 51.3031452592, 0.2197265625, 51.6929902115}},
|
||||
{"la", {-118.944112, 32.806553, -117.644787, 34.822766}},
|
||||
{"lyon", {4.5741, 45.5842, 5.1603, 45.9393}},
|
||||
{"madrid", {-4.00451660156, 40.1536868578, -3.32885742188, 40.6222917831}},
|
||||
{"malaga", {-5.611777,36.310352,-3.765967,37.282445}},
|
||||
{"manila", {120.936229,14.550825,121.026167,14.639547}},
|
||||
{"maracaibo", {-71.812942,10.570632,-71.581199,10.758897}},
|
||||
{"mashhad", {59.302159,36.13267,59.83225,36.530945}},
|
||||
{"malaga", {-5.611777, 36.310352, -3.765967, 37.282445}},
|
||||
{"manila", {120.936229, 14.550825, 121.026167, 14.639547}},
|
||||
{"maracaibo", {-71.812942, 10.570632, -71.581199, 10.758897}},
|
||||
{"mashhad", {59.302159, 36.13267, 59.83225, 36.530945}},
|
||||
{"mecca", {39.663307, 21.274985, 40.056236, 21.564195}},
|
||||
{"medellin", {-75.719423,6.162617,-75.473408,6.376421}},
|
||||
{"medellin", {-75.719423, 6.162617, -75.473408, 6.376421}},
|
||||
{"mexico", {-99.3630981445, 19.2541083164, -98.879699707, 19.5960192403}},
|
||||
{"milan", {9.02252197266, 45.341528405, 9.35760498047, 45.5813674681}},
|
||||
{"minsk", {27.2845458984, 53.777934972, 27.8393554688, 54.0271334441}},
|
||||
|
@ -509,42 +503,42 @@ string MatchCity(ms::LatLon const & ll)
|
|||
{"moscow", {36.9964599609, 55.3962717136, 38.1884765625, 56.1118730004}},
|
||||
{"mumbai", {72.7514648437, 18.8803004445, 72.9862976074, 19.2878132403}},
|
||||
{"munchen", {11.3433837891, 47.9981928195, 11.7965698242, 48.2730267576}},
|
||||
{"nagoya", {136.791969,35.025951,137.060899,35.260229}},
|
||||
{"nagoya", {136.791969, 35.025951, 137.060899, 35.260229}},
|
||||
{"newyork", {-74.4104003906, 40.4134960497, -73.4600830078, 41.1869224229}},
|
||||
{"nnov", {43.6431884766, 56.1608472541, 44.208984375, 56.4245355509}},
|
||||
{"novosibirsk", {82.4578857422, 54.8513152597, 83.2983398438, 55.2540770671}},
|
||||
{"osaka", {134.813232422, 34.1981730963, 136.076660156, 35.119908571}},
|
||||
{"oslo", {10.3875732422, 59.7812868211, 10.9286499023, 60.0401604652}},
|
||||
{"palma", {2.556669,39.503227,2.841284,39.670445}},
|
||||
{"palma", {2.556669, 39.503227, 2.841284, 39.670445}},
|
||||
{"panama", {-79.633827, 8.880788, -79.367367, 9.149179}},
|
||||
{"paris", {2.09014892578, 48.6637569323, 2.70538330078, 49.0414689141}},
|
||||
{"philadelphia", {-75.276761, 39.865446, -74.964493, 40.137768}},
|
||||
{"porto", {-8.758979,41.095783,-8.540001,41.378495}},
|
||||
{"porto", {-8.758979, 41.095783, -8.540001, 41.378495}},
|
||||
{"pyongyang", {125.48888, 38.780932, 126.12748, 39.298738}},
|
||||
{"rennes", {-2.28897,47.934093,-1.283944,48.379636}},
|
||||
{"rennes", {-2.28897, 47.934093, -1.283944, 48.379636}},
|
||||
{"rio", {-43.4873199463, -23.0348745407, -43.1405639648, -22.7134898498}},
|
||||
{"roma", {12.3348999023, 41.7672146942, 12.6397705078, 42.0105298189}},
|
||||
{"rotterdam", {3.940749, 51.842118, 4.601808, 52.004528}},
|
||||
{"samara", {50.001145, 53.070867, 50.434992, 53.339216}},
|
||||
{"santiago", {-71.015625, -33.8133843291, -70.3372192383, -33.1789392606}},
|
||||
{"santo_domingo", {-70.029669,18.390645,-69.831571,18.573966}},
|
||||
{"santo_domingo", {-70.029669, 18.390645, -69.831571, 18.573966}},
|
||||
{"saopaulo", {-46.9418334961, -23.8356009866, -46.2963867187, -23.3422558351}},
|
||||
{"sapporo", {141.160343,42.945651,141.577136,43.243986}},
|
||||
{"sendai", {140.469472,38.050849,141.260304,38.454699}},
|
||||
{"sapporo", {141.160343, 42.945651, 141.577136, 43.243986}},
|
||||
{"sendai", {140.469472, 38.050849, 141.260304, 38.454699}},
|
||||
{"seoul", {126.540527344, 37.3352243593, 127.23815918, 37.6838203267}},
|
||||
{"sf", {-122.72277832, 37.1690715771, -121.651611328, 38.0307856938}},
|
||||
{"shanghai", {119.849853516, 30.5291450367, 122.102050781, 32.1523618947}},
|
||||
{"shenzhen", {113.790893555, 22.459263801, 114.348449707, 22.9280416657}},
|
||||
{"shiraz", {52.382254,29.498738,52.667513,29.840346}},
|
||||
{"shiraz", {52.382254, 29.498738, 52.667513, 29.840346}},
|
||||
{"singapore", {103.624420166, 1.21389843409, 104.019927979, 1.45278619819}},
|
||||
{"sofia", {23.195085, 42.574041, 23.503569, 42.835375}},
|
||||
{"spb", {29.70703125, 59.5231755354, 31.3110351562, 60.2725145948}},
|
||||
{"stockholm", {17.5726318359, 59.1336814082, 18.3966064453, 59.5565918857}},
|
||||
{"stuttgart", {9.0877532959, 48.7471343254, 9.29306030273, 48.8755544436}},
|
||||
{"sydney", {150.42755127, -34.3615762875, 151.424560547, -33.4543597895}},
|
||||
{"tabriz", {46.18432,38.015584,46.4126,38.15366}},
|
||||
{"tabriz", {46.18432, 38.015584, 46.4126, 38.15366}},
|
||||
{"taipei", {121.368713379, 24.9312761454, 121.716156006, 25.1608229799}},
|
||||
{"taoyuan", {110.8471,28.4085,111.6109,29.4019}},
|
||||
{"taoyuan", {110.8471, 28.4085, 111.6109, 29.4019}},
|
||||
{"tashkent", {69.12171, 41.163421, 69.476967, 41.398638}},
|
||||
{"tbilisi", {44.596922, 41.619315, 45.019694, 41.843421}},
|
||||
{"tehran", {50.6575, 35.353216, 52.007904, 35.974672}},
|
||||
|
@ -554,7 +548,7 @@ string MatchCity(ms::LatLon const & ll)
|
|||
{"vienna", {16.0894775391, 48.0633965378, 16.6387939453, 48.3525987075}},
|
||||
{"warszawa", {20.7202148438, 52.0322181041, 21.3024902344, 52.4091212523}},
|
||||
{"washington", {-77.4920654297, 38.5954071994, -76.6735839844, 39.2216149801}},
|
||||
{"wuhan", {113.6925,29.972,115.0769,31.3622}},
|
||||
{"wuhan", {113.6925, 29.972, 115.0769, 31.3622}},
|
||||
{"yerevan", {44.359899, 40.065411, 44.645352, 40.26398}},
|
||||
{"yokohama", {139.464781, 35.312501, 139.776935, 35.592738}},
|
||||
};
|
||||
|
@ -572,7 +566,7 @@ string DetermineSurface(OsmElement * p)
|
|||
{
|
||||
string surface;
|
||||
string smoothness;
|
||||
double surfaceGrade = 2; // default is "normal"
|
||||
double surfaceGrade = 2; // default is "normal"
|
||||
string highway;
|
||||
string trackGrade;
|
||||
|
||||
|
@ -596,38 +590,31 @@ string DetermineSurface(OsmElement * p)
|
|||
return {};
|
||||
|
||||
// According to https://wiki.openstreetmap.org/wiki/Key:surface
|
||||
static base::StringIL pavedSurfaces = {
|
||||
"asphalt", "cobblestone", "chipseal", "concrete",
|
||||
"metal", "paved", "paving_stones", "sett", "unhewn_cobblestone", "wood"
|
||||
};
|
||||
static base::StringIL pavedSurfaces = {"asphalt", "cobblestone", "chipseal", "concrete", "metal",
|
||||
"paved", "paving_stones", "sett", "unhewn_cobblestone", "wood"};
|
||||
|
||||
static base::StringIL badSurfaces = {
|
||||
"cobblestone", "dirt", "earth", "grass", "gravel", "ground", "metal", "mud", "rock", "unpaved",
|
||||
"pebblestone", "sand", "sett", "snow", "stepping_stones", "unhewn_cobblestone", "wood", "woodchips"
|
||||
};
|
||||
"cobblestone", "dirt", "earth", "grass", "gravel", "ground", "metal", "mud",
|
||||
"rock", "unpaved", "pebblestone", "sand", "sett", "snow", "stepping_stones", "unhewn_cobblestone",
|
||||
"wood", "woodchips"};
|
||||
|
||||
static base::StringIL veryBadSurfaces = {
|
||||
"dirt", "earth", "grass", "ground", "mud", "rock", "sand", "snow",
|
||||
"stepping_stones", "woodchips"
|
||||
};
|
||||
static base::StringIL veryBadSurfaces = {"dirt", "earth", "grass", "ground", "mud",
|
||||
"rock", "sand", "snow", "stepping_stones", "woodchips"};
|
||||
|
||||
static base::StringIL veryBadSmoothness = {
|
||||
"very_bad", "horrible", "very_horrible", "impassable",
|
||||
"robust_wheels", "high_clearance", "off_road_wheels", "rough"
|
||||
};
|
||||
static base::StringIL veryBadSmoothness = {"very_bad", "horrible", "very_horrible", "impassable",
|
||||
"robust_wheels", "high_clearance", "off_road_wheels", "rough"};
|
||||
|
||||
static base::StringIL midSmoothness = {
|
||||
"unknown", "intermediate"
|
||||
};
|
||||
static base::StringIL midSmoothness = {"unknown", "intermediate"};
|
||||
|
||||
auto const Has = [](base::StringIL const & il, string const & v)
|
||||
{
|
||||
bool res = false;
|
||||
strings::Tokenize(v, ";:/", [&il, &res](std::string_view sv)
|
||||
{
|
||||
if (!res)
|
||||
res = base::IsExist(il, sv);
|
||||
});
|
||||
strings::Tokenize(v, ";:/",
|
||||
[&il, &res](std::string_view sv)
|
||||
{
|
||||
if (!res)
|
||||
res = base::IsExist(il, sv);
|
||||
});
|
||||
return res;
|
||||
};
|
||||
|
||||
|
@ -762,13 +749,14 @@ void PreprocessElement(OsmElement * p, CalculateOriginFnT const & calcOrg)
|
|||
|
||||
p->AddTag("psurface", DetermineSurface(p));
|
||||
|
||||
p->UpdateTag("attraction", [](string & value)
|
||||
{
|
||||
// "specified" is a special value which means we have the "attraction" tag,
|
||||
// but its value is not "animal".
|
||||
if (!value.empty() && value != "animal")
|
||||
value = "specified";
|
||||
});
|
||||
p->UpdateTag("attraction",
|
||||
[](string & value)
|
||||
{
|
||||
// "specified" is a special value which means we have the "attraction" tag,
|
||||
// but its value is not "animal".
|
||||
if (!value.empty() && value != "animal")
|
||||
value = "specified";
|
||||
});
|
||||
|
||||
string const kCuisineKey = "cuisine";
|
||||
auto cuisines = p->GetTag(kCuisineKey);
|
||||
|
@ -868,26 +856,27 @@ void PreprocessElement(OsmElement * p, CalculateOriginFnT const & calcOrg)
|
|||
static CountriesLoader s_countriesChecker;
|
||||
|
||||
auto const dePlace = p->GetTag("de:place");
|
||||
p->UpdateTag("place", [&](string & value)
|
||||
{
|
||||
// 1. Replace a value of 'place' with a value of 'de:place' because most people regard
|
||||
// places names as 'de:place' defines it.
|
||||
if (!dePlace.empty())
|
||||
value = dePlace;
|
||||
p->UpdateTag("place",
|
||||
[&](string & value)
|
||||
{
|
||||
// 1. Replace a value of 'place' with a value of 'de:place' because most people regard
|
||||
// places names as 'de:place' defines it.
|
||||
if (!dePlace.empty())
|
||||
value = dePlace;
|
||||
|
||||
// 2. Check valid capital. We support only place-city-capital-2 (not town, village, etc).
|
||||
if (isCapital && !value.empty())
|
||||
value = "city";
|
||||
// 2. Check valid capital. We support only place-city-capital-2 (not town, village, etc).
|
||||
if (isCapital && !value.empty())
|
||||
value = "city";
|
||||
|
||||
// 3. Replace 'province' with 'state'.
|
||||
if (value != "province")
|
||||
return;
|
||||
// 3. Replace 'province' with 'state'.
|
||||
if (value != "province")
|
||||
return;
|
||||
|
||||
CHECK(calcOrg, ());
|
||||
auto const org = calcOrg(p);
|
||||
if (org && s_countriesChecker.IsTransformToState(*org))
|
||||
value = "state";
|
||||
});
|
||||
CHECK(calcOrg, ());
|
||||
auto const org = calcOrg(p);
|
||||
if (org && s_countriesChecker.IsTransformToState(*org))
|
||||
value = "state";
|
||||
});
|
||||
|
||||
if (isCapital)
|
||||
p->UpdateTag("capital", [&](string & value) { value = "2"; });
|
||||
|
@ -899,10 +888,8 @@ bool IsCarDesignatedHighway(uint32_t type)
|
|||
{
|
||||
case ftypes::IsWayChecker::Motorway:
|
||||
case ftypes::IsWayChecker::Regular:
|
||||
case ftypes::IsWayChecker::Minors:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
case ftypes::IsWayChecker::Minors: return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -920,10 +907,7 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
{
|
||||
static CachedTypes const types;
|
||||
|
||||
auto const AddParam = [¶ms](ftype::CachedTypes::Type type)
|
||||
{
|
||||
params.AddType(types.Get(type));
|
||||
};
|
||||
auto const AddParam = [¶ms](ftype::CachedTypes::Type type) { params.AddType(types.Get(type)); };
|
||||
|
||||
if (!params.house.IsEmpty())
|
||||
{
|
||||
|
@ -934,8 +918,7 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
{
|
||||
/// @todo Make a function like HaveAddressLikeType ?
|
||||
ftype::TruncValue(t, 1);
|
||||
if (t != types.Get(CachedTypes::WheelchairAny) &&
|
||||
t != types.Get(CachedTypes::InternetAny))
|
||||
if (t != types.Get(CachedTypes::WheelchairAny) && t != types.Get(CachedTypes::InternetAny))
|
||||
{
|
||||
hasSuitableType = true;
|
||||
break;
|
||||
|
@ -959,14 +942,13 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
}
|
||||
}
|
||||
}
|
||||
exit:;
|
||||
exit:;
|
||||
}
|
||||
}
|
||||
|
||||
// Process yes/no tags.
|
||||
TagProcessor(p).ApplyRules({
|
||||
{"wheelchair", "designated",
|
||||
[&AddParam] { AddParam(CachedTypes::WheelchairYes); }},
|
||||
{"wheelchair", "designated", [&AddParam] { AddParam(CachedTypes::WheelchairYes); }},
|
||||
{"wifi", "~", [&AddParam] { AddParam(CachedTypes::Wlan); }},
|
||||
});
|
||||
|
||||
|
@ -982,8 +964,20 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
// Foot attr is stronger than Sidewalk,
|
||||
// Bicycle attr is stronger than Cycleway,
|
||||
// MotorCar attr is stronger than MotorVehicle.
|
||||
struct Flags { enum Type { Foot = 0, Sidewalk, Bicycle, Cycleway, MotorCar, MotorVehicle, Count }; };
|
||||
int flags[Flags::Count] = {0}; // 1 for Yes, -1 for No, 0 for Undefined
|
||||
struct Flags
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
Foot = 0,
|
||||
Sidewalk,
|
||||
Bicycle,
|
||||
Cycleway,
|
||||
MotorCar,
|
||||
MotorVehicle,
|
||||
Count
|
||||
};
|
||||
};
|
||||
int flags[Flags::Count] = {0}; // 1 for Yes, -1 for No, 0 for Undefined
|
||||
|
||||
for (uint32_t const vType : vTypes)
|
||||
{
|
||||
|
@ -996,15 +990,16 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
{"oneway", "yes", [&addOneway] { addOneway = true; }},
|
||||
{"oneway", "1", [&addOneway] { addOneway = true; }},
|
||||
{"oneway", "-1",
|
||||
[&addOneway, ¶ms] {
|
||||
[&addOneway, ¶ms]
|
||||
{
|
||||
addOneway = true;
|
||||
params.SetReversedGeometry(true);
|
||||
}},
|
||||
{"oneway", "!", [&noOneway] { noOneway = true; }},
|
||||
// Unlike "roundabout", "circular" is not assumed to force oneway=yes
|
||||
// (https://wiki.openstreetmap.org/wiki/Tag:junction%3Dcircular), but!
|
||||
// There are a lot of junction=circular without oneway tag, which is a mapping error (run overpass under England).
|
||||
// And most of this junctions are assumed to be oneway.
|
||||
// Unlike "roundabout", "circular" is not assumed to force oneway=yes
|
||||
// (https://wiki.openstreetmap.org/wiki/Tag:junction%3Dcircular), but!
|
||||
// There are a lot of junction=circular without oneway tag, which is a mapping error (run overpass under
|
||||
// England). And most of this junctions are assumed to be oneway.
|
||||
{"junction", "circular", [&addOneway] { addOneway = true; }},
|
||||
{"junction", "roundabout", [&addOneway] { addOneway = true; }},
|
||||
|
||||
|
@ -1055,9 +1050,8 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
if (addOneway && !noOneway)
|
||||
params.AddType(types.Get(CachedTypes::OneWay));
|
||||
|
||||
auto const ApplyFlag = [&flags, &AddParam](Flags::Type f, CachedTypes::Type yes,
|
||||
CachedTypes::Type no0, CachedTypes::Type no1,
|
||||
bool isDesignated)
|
||||
auto const ApplyFlag = [&flags, &AddParam](Flags::Type f, CachedTypes::Type yes, CachedTypes::Type no0,
|
||||
CachedTypes::Type no1, bool isDesignated)
|
||||
{
|
||||
if (flags[f] == 1 && !isDesignated)
|
||||
AddParam(yes);
|
||||
|
@ -1089,10 +1083,12 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
{"foot", "~", [&AddParam] { AddParam(CachedTypes::YesFoot); }},
|
||||
{"ferry", "footway", [&AddParam] { AddParam(CachedTypes::YesFoot); }},
|
||||
{"ferry", "pedestrian", [&AddParam] { AddParam(CachedTypes::YesFoot); }},
|
||||
{"ferry", "path", [¶ms] {
|
||||
{"ferry", "path",
|
||||
[¶ms]
|
||||
{
|
||||
params.AddType(types.Get(CachedTypes::YesFoot));
|
||||
params.AddType(types.Get(CachedTypes::YesBicycle));
|
||||
}},
|
||||
}},
|
||||
|
||||
{"bicycle", "!", [&AddParam] { AddParam(CachedTypes::NoBicycle); }},
|
||||
{"bicycle", "~", [&AddParam] { AddParam(CachedTypes::YesBicycle); }},
|
||||
|
@ -1125,16 +1121,15 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
{
|
||||
TagProcessor(p).ApplyRules({
|
||||
{"network", "London Underground", [¶ms] { params.SetRwSubwayType("london"); }},
|
||||
{"operator", "London Overground", [¶ms] { params.SetRwSubwayType("london"); }},
|
||||
{"network", "New York City Subway", [¶ms] { params.SetRwSubwayType("newyork"); }},
|
||||
{"network", "Московский метрополитен", [¶ms] { params.SetRwSubwayType("moscow"); }},
|
||||
{"network", "Петербургский метрополитен", [¶ms] { params.SetRwSubwayType("spb"); }},
|
||||
{"network", "Verkehrsverbund Berlin-Brandenburg",
|
||||
[¶ms] { params.SetRwSubwayType("berlin"); }},
|
||||
{"network", "Verkehrsverbund Berlin-Brandenburg", [¶ms] { params.SetRwSubwayType("berlin"); }},
|
||||
{"network", "Минский метрополитен", [¶ms] { params.SetRwSubwayType("minsk"); }},
|
||||
|
||||
{"network", "Київський метрополітен", [¶ms] { params.SetRwSubwayType("kiev"); }},
|
||||
{"operator", "КП «Київський метрополітен»",
|
||||
[¶ms] { params.SetRwSubwayType("kiev"); }},
|
||||
{"operator", "КП «Київський метрополітен»", [¶ms] { params.SetRwSubwayType("kiev"); }},
|
||||
|
||||
{"network", "RATP", [¶ms] { params.SetRwSubwayType("paris"); }},
|
||||
{"network", "Metro de Barcelona", [¶ms] { params.SetRwSubwayType("barcelona"); }},
|
||||
|
@ -1161,8 +1156,8 @@ void PostprocessElement(OsmElement * p, FeatureBuilderParams & params)
|
|||
}
|
||||
} // namespace
|
||||
|
||||
void GetNameAndType(OsmElement * p, FeatureBuilderParams & params,
|
||||
TypesFilterFnT const & filterType, CalculateOriginFnT const & calcOrg)
|
||||
void GetNameAndType(OsmElement * p, FeatureBuilderParams & params, TypesFilterFnT const & filterType,
|
||||
CalculateOriginFnT const & calcOrg)
|
||||
{
|
||||
// At this point, some preprocessing could've been done to the tags already
|
||||
// in TranslatorInterface::Preprocess(), e.g. converting tags according to replaced_tags.txt.
|
||||
|
@ -1179,89 +1174,60 @@ void GetNameAndType(OsmElement * p, FeatureBuilderParams & params,
|
|||
std::string houseName, houseNumber, conscriptionHN, streetHN, addrPostcode;
|
||||
std::string addrCity, addrSuburb;
|
||||
feature::AddressData addr;
|
||||
TagProcessor(p).ApplyRules<void(string &, string &)>(
|
||||
{
|
||||
{"addr:housenumber", "*", [&houseNumber](string & k, string & v)
|
||||
{
|
||||
houseNumber = std::move(v);
|
||||
}},
|
||||
{"addr:conscriptionnumber", "*", [&conscriptionHN](string & k, string & v)
|
||||
{
|
||||
conscriptionHN = std::move(v);
|
||||
}},
|
||||
{"addr:provisionalnumber", "*", [&conscriptionHN](string & k, string & v)
|
||||
{
|
||||
conscriptionHN = std::move(v);
|
||||
}},
|
||||
{"addr:streetnumber", "*", [&streetHN](string & k, string & v)
|
||||
{
|
||||
streetHN = std::move(v);
|
||||
}},
|
||||
{"contact:housenumber", "*", [&houseNumber](string & k, string & v)
|
||||
{
|
||||
if (houseNumber.empty())
|
||||
houseNumber = std::move(v);
|
||||
}},
|
||||
{"addr:housename", "*", [&houseName](string & k, string & v)
|
||||
{
|
||||
houseName = std::move(v);
|
||||
}},
|
||||
{"addr:street", "*", [&addr](string & k, string & v)
|
||||
{
|
||||
addr.Set(feature::AddressData::Type::Street, std::move(v));
|
||||
}},
|
||||
{"contact:street", "*", [&addr](string & k, string & v)
|
||||
{
|
||||
addr.SetIfAbsent(feature::AddressData::Type::Street, std::move(v));
|
||||
}},
|
||||
{"addr:place", "*", [&addr](string & k, string & v)
|
||||
{
|
||||
addr.Set(feature::AddressData::Type::Place, std::move(v));
|
||||
}},
|
||||
{"addr:city", "*", [&addrCity](string & k, string & v)
|
||||
TagProcessor(p).ApplyRules<void(string &, string &)>({
|
||||
{"addr:housenumber", "*", [&houseNumber](string & k, string & v) { houseNumber = std::move(v); }},
|
||||
{"addr:conscriptionnumber", "*", [&conscriptionHN](string & k, string & v) { conscriptionHN = std::move(v); }},
|
||||
{"addr:provisionalnumber", "*", [&conscriptionHN](string & k, string & v) { conscriptionHN = std::move(v); }},
|
||||
{"addr:streetnumber", "*", [&streetHN](string & k, string & v) { streetHN = std::move(v); }},
|
||||
{"contact:housenumber", "*",
|
||||
[&houseNumber](string & k, string & v)
|
||||
{
|
||||
addrCity = std::move(v);
|
||||
}},
|
||||
{"addr:suburb", "*", [&addrSuburb](string & k, string & v)
|
||||
{
|
||||
addrSuburb = std::move(v);
|
||||
}},
|
||||
{"addr:postcode", "*", [&addrPostcode](string & k, string & v)
|
||||
{
|
||||
addrPostcode = std::move(v);
|
||||
}},
|
||||
{"postal_code", "*", [&addrPostcode](string & k, string & v)
|
||||
{
|
||||
addrPostcode = std::move(v);
|
||||
}},
|
||||
{"contact:postcode", "*", [&addrPostcode](string & k, string & v)
|
||||
{
|
||||
if (addrPostcode.empty())
|
||||
addrPostcode = std::move(v);
|
||||
}},
|
||||
{"population", "*", [¶ms](string & k, string & v)
|
||||
{
|
||||
// Get population rank.
|
||||
uint64_t const population = generator::osm_element::GetPopulation(v);
|
||||
if (population != 0)
|
||||
params.rank = feature::PopulationToRank(population);
|
||||
}},
|
||||
{"ref", "*", [¶ms](string & k, string & v)
|
||||
{
|
||||
// Get reference; its used for selected types only, see FeatureBuilder::PreSerialize().
|
||||
params.ref = std::move(v);
|
||||
}},
|
||||
{"layer", "*", [¶ms](string & k, string & v)
|
||||
{
|
||||
// Get layer.
|
||||
if (params.layer == feature::LAYER_EMPTY)
|
||||
{
|
||||
// atoi error value (0) should match empty layer constant.
|
||||
static_assert(feature::LAYER_EMPTY == 0);
|
||||
params.layer = atoi(v.c_str());
|
||||
params.layer = base::Clamp(params.layer, int8_t(feature::LAYER_LOW), int8_t(feature::LAYER_HIGH));
|
||||
}
|
||||
}},
|
||||
if (houseNumber.empty())
|
||||
houseNumber = std::move(v);
|
||||
}},
|
||||
{"addr:housename", "*", [&houseName](string & k, string & v) { houseName = std::move(v); }},
|
||||
{"addr:street", "*",
|
||||
[&addr](string & k, string & v) { addr.Set(feature::AddressData::Type::Street, std::move(v)); }},
|
||||
{"contact:street", "*",
|
||||
[&addr](string & k, string & v) { addr.SetIfAbsent(feature::AddressData::Type::Street, std::move(v)); }},
|
||||
{"addr:place", "*",
|
||||
[&addr](string & k, string & v) { addr.Set(feature::AddressData::Type::Place, std::move(v)); }},
|
||||
{"addr:city", "*", [&addrCity](string & k, string & v) { addrCity = std::move(v); }},
|
||||
{"addr:suburb", "*", [&addrSuburb](string & k, string & v) { addrSuburb = std::move(v); }},
|
||||
{"addr:postcode", "*", [&addrPostcode](string & k, string & v) { addrPostcode = std::move(v); }},
|
||||
{"postal_code", "*", [&addrPostcode](string & k, string & v) { addrPostcode = std::move(v); }},
|
||||
{"contact:postcode", "*",
|
||||
[&addrPostcode](string & k, string & v)
|
||||
{
|
||||
if (addrPostcode.empty())
|
||||
addrPostcode = std::move(v);
|
||||
}},
|
||||
{"population", "*",
|
||||
[¶ms](string & k, string & v)
|
||||
{
|
||||
// Get population rank.
|
||||
uint64_t const population = generator::osm_element::GetPopulation(v);
|
||||
if (population != 0)
|
||||
params.rank = feature::PopulationToRank(population);
|
||||
}},
|
||||
{"ref", "*",
|
||||
[¶ms](string & k, string & v)
|
||||
{
|
||||
// Get reference; its used for selected types only, see FeatureBuilder::PreSerialize().
|
||||
params.ref = std::move(v);
|
||||
}},
|
||||
{"layer", "*",
|
||||
[¶ms](string & k, string & v)
|
||||
{
|
||||
// Get layer.
|
||||
if (params.layer == feature::LAYER_EMPTY)
|
||||
{
|
||||
// atoi error value (0) should match empty layer constant.
|
||||
static_assert(feature::LAYER_EMPTY == 0);
|
||||
params.layer = atoi(v.c_str());
|
||||
params.layer = base::Clamp(params.layer, int8_t(feature::LAYER_LOW), int8_t(feature::LAYER_HIGH));
|
||||
}
|
||||
}},
|
||||
});
|
||||
|
||||
// OSM consistency check with house numbers.
|
||||
|
@ -1275,7 +1241,8 @@ void GetNameAndType(OsmElement * p, FeatureBuilderParams & params,
|
|||
auto i = houseNumber.find('/');
|
||||
if (i == std::string::npos)
|
||||
{
|
||||
LOG(LWARNING, (kHNLogTag, "Override housenumber for:", DebugPrintID(*p), houseNumber, conscriptionHN, streetHN));
|
||||
LOG(LWARNING,
|
||||
(kHNLogTag, "Override housenumber for:", DebugPrintID(*p), houseNumber, conscriptionHN, streetHN));
|
||||
houseNumber = conscriptionHN + "/" + streetHN;
|
||||
}
|
||||
}
|
||||
|
@ -1301,6 +1268,7 @@ void GetNameAndType(OsmElement * p, FeatureBuilderParams & params,
|
|||
class CityBBox
|
||||
{
|
||||
std::vector<m2::RectD> m_rects;
|
||||
|
||||
public:
|
||||
CityBBox()
|
||||
{
|
||||
|
@ -1335,17 +1303,14 @@ void GetNameAndType(OsmElement * p, FeatureBuilderParams & params,
|
|||
params.SetHouseNumberAndHouseName(std::move(houseNumber), std::move(houseName));
|
||||
|
||||
// Fetch piste:name and piste:ref if there are no other name/ref values.
|
||||
TagProcessor(p).ApplyRules<void(string &, string &)>(
|
||||
{
|
||||
{"piste:ref", "*", [¶ms](string & k, string & v)
|
||||
{
|
||||
if (params.ref.empty())
|
||||
params.ref = std::move(v);
|
||||
}},
|
||||
{"piste:name", "*", [¶ms](string & k, string & v)
|
||||
{
|
||||
params.SetDefaultNameIfEmpty(std::move(v));
|
||||
}},
|
||||
TagProcessor(p).ApplyRules<void(string &, string &)>({
|
||||
{"piste:ref", "*",
|
||||
[¶ms](string & k, string & v)
|
||||
{
|
||||
if (params.ref.empty())
|
||||
params.ref = std::move(v);
|
||||
}},
|
||||
{"piste:name", "*", [¶ms](string & k, string & v) { params.SetDefaultNameIfEmpty(std::move(v)); }},
|
||||
});
|
||||
|
||||
// Stage4: Match tags to classificator feature types via mapcss-mapping.csv.
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "محطة قطار";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "محطة مترو";
|
||||
|
||||
"type.railway.station.subway.adana" = "محطة مترو";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: ar -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Dəmiryolu stansiyası";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: az -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Train Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: be -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Train Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: bg -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Train Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: ca -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Železniční stanice";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: cs -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Togstation";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: da -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Bahnhof";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "U-Bahn-Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "U-Bahn-Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: de -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Σιδηροδρομικός σταθμός";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Μετρό";
|
||||
|
||||
"type.railway.station.subway.adana" = "Μετρό";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: el -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Train Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: en-GB -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Monorail Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: en -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Estación de tren";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: es-MX -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Estación de tren";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: es -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Raudtee jaam";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metroo";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metroo";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: et -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Tren geltokian";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metroa";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metroa";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: eu -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "ایستگاه قطار";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "حمل و نقل";
|
||||
|
||||
"type.railway.station.subway.adana" = "حمل و نقل";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: fa -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Rautatieasema";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: fi -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Gare ferroviaire";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Station de métro";
|
||||
|
||||
"type.railway.station.subway.adana" = "Station de métro";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: fr -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Train Station";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: he -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "रेलवे स्टेशन";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Subway Station";
|
||||
|
||||
"type.railway.station.subway.adana" = "Subway Station";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: hi -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Vasútállomás";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Metrómegálló";
|
||||
|
||||
"type.railway.station.subway.adana" = "Metrómegálló";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: hu -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Rel kereta api";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Stasiun bawah tanah";
|
||||
|
||||
"type.railway.station.subway.adana" = "Stasiun bawah tanah";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: id -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
|
@ -2960,6 +2960,8 @@
|
|||
|
||||
"type.railway.station.monorail" = "Stazione ferroviaria";
|
||||
|
||||
"type.railway.station.overground.london" = "Overground Station";
|
||||
|
||||
"type.railway.station.subway" = "Stazione della metrò";
|
||||
|
||||
"type.railway.station.subway.adana" = "Stazione della metrò";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!--
|
||||
* Apple Stringsdict File
|
||||
* Generated by Twine
|
||||
* Generated by Twine 1.1.2
|
||||
* Language: it -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
|
Well, if it works good (probably should add one test in osm_tyoe_test.cpp) I'm ok with that.
@RedAuburn Can we trust operator=London Overground ?