From 534e0d5a143a76b549a954687f871a42cbf877be Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 09:46:14 +0200 Subject: [PATCH 01/16] feat: Add Polish rail stations to stations.geojson --- packages/data/src/stations.geojson | 15431 +++++++++++++++++++++++++++ 1 file changed, 15431 insertions(+) diff --git a/packages/data/src/stations.geojson b/packages/data/src/stations.geojson index 42bc475d..2c046272 100644 --- a/packages/data/src/stations.geojson +++ b/packages/data/src/stations.geojson @@ -175462,6 +175462,15437 @@ "coordinates": [10.6483205, 59.9288612] } }, + { + "type": "Feature", + "properties": { + "id": "PL10009", + "name": "Korsze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.13634, 54.1724271] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10033", + "name": "Sątopy-Samulewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0240856, 54.0729258] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1008", + "name": "Świnoujście", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [14.2660228, 53.9044446] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10264", + "name": "Tołkiny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2359043, 54.1168951] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10405", + "name": "Kętrzyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.387517, 54.0723561] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10603", + "name": "Szczytno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9968148, 53.5602225] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10629", + "name": "Szymany", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9664688, 53.4869372] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10769", + "name": "Spychowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3542998, 53.5909702] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL109", + "name": "Szczecin Port Centralny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5657986, 53.4133083] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10900", + "name": "Morąg", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9228513, 53.9190188] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10934", + "name": "Pasłęk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.656533, 54.0553482] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10942", + "name": "Bogaczewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5729376, 54.1001286] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL10983", + "name": "Małdyty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7360446, 53.9210231] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1107", + "name": "Szczecin Dąbie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.6704623, 53.3913468] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11155", + "name": "Żabi Róg", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0176074, 53.8764039] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11254", + "name": "Braniewo", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8421521, 54.3809392] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11346", + "name": "Orneta", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1507532, 54.1149846] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL117168", + "name": "Dzierżążno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2661106, 54.3150695] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11809", + "name": "Ełk", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.363054, 53.8243458] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11833", + "name": "Stare Juchy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.1683258, 53.9251916] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11841", + "name": "Woszczele", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2489843, 53.8596729] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL11858", + "name": "Wydminy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.033529, 53.9762682] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL119206", + "name": "Zegrze Południowe", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0082343, 52.4519364] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1198", + "name": "Kliniska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7840205, 53.4608622] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12229", + "name": "Prostki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.4317785, 53.6951398] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12252", + "name": "Grajewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.448183, 53.650103] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12328", + "name": "Drygały", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.103853, 53.6791251] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12369", + "name": "Pisz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7947449, 53.6318225] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12609", + "name": "Giżycko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7777295, 54.0314031] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12633", + "name": "Siedliska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.914535, 54.0002743] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12641", + "name": "Sterławki Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5821207, 54.0157843] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12807", + "name": "Suwałki", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.9453382, 54.1058152] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12872", + "name": "Trakiszki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2080095, 54.2394528] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL12963", + "name": "Augustów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [23.025974, 53.8527155] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13003", + "name": "Kostrzyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.6469745, 52.5913607] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13052", + "name": "Namyślin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5704471, 52.6781517] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13078", + "name": "Ługi Górzyckie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.6509453, 52.5153806] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13094", + "name": "Laski Lubuskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7126655, 52.4598324] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13128", + "name": "Kowalów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7598155, 52.3973183] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13250", + "name": "Godków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4585835, 52.9012177] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13334", + "name": "Chojna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4439586, 52.9638559] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13417", + "name": "Mieszkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4858725, 52.7817383] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13425", + "name": "Boleszkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5189402, 52.7364987] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13904", + "name": "Gorzów Wielkopolski", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2286373, 52.7276526] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL13938", + "name": "Gorzów Wielkopolski Zieleniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.262029, 52.6994982] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14027", + "name": "Bogdaniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0794046, 52.6893373] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14035", + "name": "Nowiny Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0028876, 52.6726549] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1404", + "name": "Goleniów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.839589, 53.5594624] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14043", + "name": "Witnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8960523, 52.6673743] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1420", + "name": "Białuń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8410252, 53.6152375] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14308", + "name": "Zwierzyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5837747, 52.8364969] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14324", + "name": "Stare Kurowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6780874, 52.8544808] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14340", + "name": "Górki Noteckie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4887891, 52.7934051] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14357", + "name": "Santok", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.415267, 52.7430366] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14407", + "name": "Piła Główna", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7448031, 53.1430744] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14431", + "name": "Dziembówko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8156025, 53.0704877] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14464", + "name": "Kaczory", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8816474, 53.105427] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14480", + "name": "Białośliwie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1242787, 53.0977604] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14514", + "name": "Wyrzysk Osiek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2950517, 53.1191729] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14548", + "name": "Trzcianka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4650023, 53.0328432] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL14704", + "name": "Wałcz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4842989, 53.2748899] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15008", + "name": "Kalisz Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8814312, 53.277582] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15131", + "name": "Prostynia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7739749, 53.3052117] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15354", + "name": "Złotów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0531046, 53.3590744] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15529", + "name": "Lipka Krajeńska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2572823, 53.4972794] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15537", + "name": "Krajenka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9915365, 53.2890825] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15594", + "name": "Człuchów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3703906, 53.6571094] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1560", + "name": "Wysoka Kamieńska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8320104, 53.8259688] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15602", + "name": "Chojnice", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5777493, 53.6890673] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15669", + "name": "Brusy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7279912, 53.882506] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15727", + "name": "Silno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.693352, 53.6441717] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15750", + "name": "Tuchola", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8606117, 53.5835933] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1578", + "name": "Parłówko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7491804, 53.845684] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL15875", + "name": "Wierzchowo Człuchowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4472969, 53.6178993] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1610", + "name": "Warnowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5352393, 53.9283411] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16139", + "name": "Rogoźno Wielkopolskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9721483, 52.7552395] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16162", + "name": "Budzyń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9661989, 52.8936015] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16188", + "name": "Chodzież", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9095691, 52.9939154] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16402", + "name": "Jastrowie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7981988, 53.4082641] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16428", + "name": "Ptusza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7838654, 53.3646737] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16436", + "name": "Płytnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7503115, 53.295001] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16444", + "name": "Stara Łubianka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7053692, 53.2319275] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16501", + "name": "Maksymilianowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0294586, 53.2145607] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1651", + "name": "Kamień Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7741634, 53.9662383] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16543", + "name": "Serock", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0897326, 53.3610452] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16592", + "name": "Wierzchucin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1128342, 53.5481472] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16667", + "name": "Lipowa Tucholska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1088728, 53.7539307] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16691", + "name": "Kotomierz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1208811, 53.2843906] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16717", + "name": "Bydgoszcz Wschód", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0827318, 53.1279042] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL16907", + "name": "Terespol Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3513842, 53.4095061] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17079", + "name": "Parlin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2691021, 53.3705998] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17087", + "name": "Pruszcz Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1985444, 53.3341179] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1719", + "name": "Rokita", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8548624, 53.7665485] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17202", + "name": "Laskowice Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4559143, 53.4910465] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17210", + "name": "Warlubie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6231618, 53.5890777] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17228", + "name": "Twarda Góra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6715195, 53.6824769] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17319", + "name": "Osie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3471626, 53.5937036] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17350", + "name": "Śliwice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.182216, 53.7129523] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17459", + "name": "Grupa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6295025, 53.5039613] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17509", + "name": "Kościerzyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9950019, 54.1204547] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17608", + "name": "Lipusz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7803879, 54.0967518] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17749", + "name": "Gołubie Kaszubskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0367969, 54.2125151] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17780", + "name": "Somonino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1927229, 54.2694405] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178137", + "name": "Olsztyn Likusy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4449467, 53.7895176] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178392", + "name": "Hurko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8629134, 49.7851816] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178501", + "name": "Kępno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0014127, 51.2919541] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL17855", + "name": "Żukowo Wschodnie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3770521, 54.3506844] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178588", + "name": "Poręba", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3320509, 50.4839619] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178685", + "name": "Spała", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1352516, 51.5520558] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL178892", + "name": "Koźlice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2330039, 51.451134] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18002", + "name": "Kartuzy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2066893, 54.3348902] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18200", + "name": "Nakło nad Notecią", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6071952, 53.1425732] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18234", + "name": "Samostrzel", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4347438, 53.1277832] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18408", + "name": "Bydgoszcz Główna", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [17.991601, 53.1352905] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18499", + "name": "Zielonczyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8079881, 53.1510025] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18564", + "name": "Trzciniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9480419, 53.0858024] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18572", + "name": "Brzoza Bydgoska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0205697, 53.027281] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18580", + "name": "Bydgoszcz Fordon", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1569015, 53.1462967] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1859", + "name": "Nowogard", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1210779, 53.6661196] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18705", + "name": "Inowrocław", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2439417, 52.8051894] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18770", + "name": "Więcławice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3042781, 52.8410371] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18788", + "name": "Wierzchosławice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3582354, 52.8683481] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18796", + "name": "Gniewkowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4039475, 52.8880687] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL18838", + "name": "Inowrocław Rąbinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2431612, 52.7693872] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19034", + "name": "Jaksice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1994668, 52.8558723] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19042", + "name": "Złotniki Kujawskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1473261, 52.9036425] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19059", + "name": "Nowa Wieś Wielka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0965381, 52.9685059] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19091", + "name": "Janikowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1160506, 52.748872] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19125", + "name": "Kołodziejewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0360342, 52.7135245] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19174", + "name": "Babiak", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6701836, 52.353535] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19190", + "name": "Piotrków Kujawski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5194706, 52.5377739] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19406", + "name": "Zduńska Wola Karsznice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9947256, 51.5890163] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19430", + "name": "Zduńska Wola", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9472078, 51.6113628] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19489", + "name": "Sieradz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7136441, 51.5976548] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19547", + "name": "Kozuby", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0229037, 51.4938521] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19562", + "name": "Chociw Łaski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9825377, 51.4065095] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19570", + "name": "Rusiec Łódzki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9694348, 51.3169554] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL1958", + "name": "Płoty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.261533, 53.8078725] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19612", + "name": "Wielowieś", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7585061, 50.6252025] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19703", + "name": "Toruń Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6146493, 53.0001166] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19778", + "name": "Otłoczyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.692598, 52.9125573] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19794", + "name": "Toruń Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6197194, 53.0123138] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19810", + "name": "Cierpice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4685966, 52.9889214] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19844", + "name": "Solec Kujawski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2246416, 53.0784475] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19901", + "name": "Toruń Wschodni", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6339075, 53.0267562] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19935", + "name": "Lubicz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.74527, 53.0279693] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL19976", + "name": "Czernikowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9510378, 52.9394669] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20024", + "name": "Lipno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1790433, 52.8541505] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20040", + "name": "Skępe", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3418002, 52.8721132] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20065", + "name": "Papowo Toruńskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6937374, 53.0683901] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20164", + "name": "Chełmża", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.597914, 53.1851949] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20263", + "name": "Kornatowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6471971, 53.2965038] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20370", + "name": "Ostaszewo Toruńskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6272817, 53.1103586] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20412", + "name": "Unisław Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3826938, 53.2061787] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20503", + "name": "Grudziądz", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7615467, 53.4819767] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20537", + "name": "Grudziądz Owczarki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8478291, 53.503199] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20545", + "name": "Rogóźno Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9109889, 53.5435231] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20552", + "name": "Gardeja", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.933391, 53.5913612] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20578", + "name": "Mełno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.947402, 53.4369061] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20628", + "name": "Grudziądz Mniszek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7254506, 53.433415] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20719", + "name": "Kowalewo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8686006, 53.1636078] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20743", + "name": "Wąbrzeźno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.982122, 53.2652414] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20784", + "name": "Turzno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7356187, 53.1001358] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL208", + "name": "Szczecin Gumieńce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4976184, 53.3980028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL20909", + "name": "Jabłonowo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1629237, 53.3934491] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21071", + "name": "Biskupiec Pomorski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3893071, 53.4894931] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21204", + "name": "Brodnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4059191, 53.2636743] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21428", + "name": "Rypin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4276249, 53.0685895] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2147", + "name": "Trzebiatów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.277541, 54.0603194] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21501", + "name": "Aleksandrów Kujawski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6963912, 52.8758646] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21535", + "name": "Nieszawa Waganiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8702152, 52.803028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21550", + "name": "Ciechocinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7876011, 52.8811347] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21600", + "name": "Włocławek", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.058895, 52.6530309] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21683", + "name": "Czerniewice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0893586, 52.5089268] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2170", + "name": "Gryfice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1914606, 53.914409] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21758", + "name": "Kaliska Kujawskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1233224, 52.4127076] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21808", + "name": "Iława Główna", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5731214, 53.5810821] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21824", + "name": "Rudzienice Suskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6696133, 53.6386051] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21840", + "name": "Samborowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8207355, 53.6718417] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21865", + "name": "Rakowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6415296, 53.4781373] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL21931", + "name": "Jamielnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5016713, 53.5290677] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22004", + "name": "Ostróda", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9497112, 53.6994604] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2204", + "name": "Stargard", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0311703, 53.339287] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22079", + "name": "Stare Jabłonki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0939083, 53.6914017] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22095", + "name": "Biesal", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1926687, 53.720086] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2212", + "name": "Ulikowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1169193, 53.3483674] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22202", + "name": "Nidzica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4141248, 53.3585075] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22236", + "name": "Kozłowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3111682, 53.3087765] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22400", + "name": "Iłowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2933087, 53.1658315] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22442", + "name": "Działdowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1673188, 53.2388575] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22475", + "name": "Gralewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0350877, 53.3201279] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22517", + "name": "Rybno Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9131672, 53.3809801] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2253", + "name": "Reptowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8650096, 53.3722469] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22905", + "name": "Prabuty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2108087, 53.7573104] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22939", + "name": "Susz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3291941, 53.7111404] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL22954", + "name": "Redaki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4081588, 53.6710769] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23101", + "name": "Kwidzyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9333904, 53.7306761] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23143", + "name": "Sadlinki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8799484, 53.6669115] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23218", + "name": "Ryjewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9566128, 53.8422325] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23309", + "name": "Ostrołęka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6171129, 53.0561608] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23333", + "name": "Grabowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5338927, 53.0726159] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23366", + "name": "Jastrząbka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2494709, 53.1319823] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23416", + "name": "Chorzele", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.939551, 53.2818911] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23432", + "name": "Wielbark", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9530013, 53.4006491] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23465", + "name": "Śniadowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9905809, 53.0438406] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23549", + "name": "Sokoły", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7186468, 53.0000195] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL235669", + "name": "Lewin Brzeski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6153236, 50.7581502] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23655", + "name": "Gierwaty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6039595, 52.9926109] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23671", + "name": "Pasieki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5605238, 52.8539741] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL23697", + "name": "Przetycz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5511326, 52.7690624] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2386", + "name": "Dolice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2096389, 53.1989463] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24000", + "name": "Białystok", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1354375, 53.1336211] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24042", + "name": "Białystok Starosielce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.0867818, 53.1211871] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24091", + "name": "Knyszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8960757, 53.2846326] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24133", + "name": "Mońki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7968231, 53.4022547] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24158", + "name": "Osowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.6568336, 53.472892] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24190", + "name": "Wasilków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1770421, 53.198325] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL241994", + "name": "Warszawa Lotnisko Chopina", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9753321, 52.1696266] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24216", + "name": "Czarny Blok", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2091389, 53.2484326] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24232", + "name": "Czarna Białostocka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2797591, 53.3057028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24240", + "name": "Machnacz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.3181155, 53.33172] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24273", + "name": "Białystok Fabryczny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1841933, 53.1405223] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL2428", + "name": "Tarnowo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.3660502, 53.3063494] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24364", + "name": "Lewickie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1248166, 53.027882] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24414", + "name": "Strabla", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1132916, 52.9017166] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24430", + "name": "Bielsk Podlaski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1881475, 52.7613758] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24513", + "name": "Gregorowce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2416068, 52.6624924] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24539", + "name": "Łapy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8835129, 52.9899169] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24562", + "name": "Baciuty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.9824062, 53.0464019] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24638", + "name": "Szepietowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.5414659, 52.8702564] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24661", + "name": "Racibory", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7116138, 52.9295794] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24737", + "name": "Czyżew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3434849, 52.8002163] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24802", + "name": "Sokółka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.5064188, 53.4031218] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24877", + "name": "Sidra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.4480193, 53.5445241] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24893", + "name": "Dąbrowa Białostocka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.3655421, 53.6471164] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL24935", + "name": "Jastrzębna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.198254, 53.7458283] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25007", + "name": "Kuźnica Białostocka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.6423739, 53.5119366] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25205", + "name": "Czeremcha", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.3535138, 52.5187507] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25353", + "name": "Nurzec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.082982, 52.4600632] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25387", + "name": "Siemiatycze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.9447052, 52.3907594] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25403", + "name": "Hajnówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.5830712, 52.73355] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25809", + "name": "Rzepin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8152866, 52.3499173] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25890", + "name": "Jerzmanice Lubuskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.867405, 52.3066489] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25908", + "name": "Gądków Wielki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.9636425, 52.2461518] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL25973", + "name": "Boczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.9462366, 52.3267469] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL260901", + "name": "Zaborów Błonia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8197947, 49.923987] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26104", + "name": "Zbąszynek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8181758, 52.2426128] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26146", + "name": "Zbąszyń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8947648, 52.2594116] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26161", + "name": "Babimost", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8160779, 52.169566] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26187", + "name": "Chrośnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.991727, 52.2813762] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26211", + "name": "Nowy Tomyśl", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1330385, 52.304122] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26252", + "name": "Lutol Suchy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7544232, 52.3439907] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26286", + "name": "Stefanowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9720602, 52.2361503] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26500", + "name": "Skwierzyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4997747, 52.5904484] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL265126", + "name": "Pyrzowice Lotnisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0767191, 50.4681188] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL265740", + "name": "Częstochowa Gnaszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0291879, 50.7915853] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL265741", + "name": "Blachownia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9695889, 50.7738933] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL26708", + "name": "Międzyrzecz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5936247, 52.4449451] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27201", + "name": "Opalenica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4003069, 52.3097374] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27235", + "name": "Buk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5206784, 52.3434755] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL273", + "name": "Szczecin Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5494069, 53.4182413] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27300", + "name": "Sulechów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6167904, 52.0916666] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27508", + "name": "Czerwieńsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4124967, 52.0151544] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27540", + "name": "Radnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2679483, 52.0905453] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27565", + "name": "Budachów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0814867, 52.153028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27615", + "name": "Szczawno - Ciemnice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2338254, 52.0395027] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27656", + "name": "Krosno Odrzańskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0936665, 52.031941] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27698", + "name": "Wężyska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.9520389, 52.0128282] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27805", + "name": "Zielona Góra Główna", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5111288, 51.947377] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27912", + "name": "Nowogród Osiedle", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2254827, 51.7949582] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL27946", + "name": "Niedoradz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6643675, 51.8654189] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28001", + "name": "Gubin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7213628, 51.9785114] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL280244", + "name": "Lutoryż", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9226015, 49.9657041] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL280420", + "name": "Jasionka Lotnisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0215407, 50.1155464] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL280494", + "name": "Podchojny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.320871, 50.6639147] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28050", + "name": "Wałowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.7928347, 51.9845464] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL280983", + "name": "Widzów Teklinów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.367218, 50.9810384] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28100", + "name": "Świebodzin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5399619, 52.2452509] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28134", + "name": "Szczaniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6939492, 52.2643757] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28183", + "name": "Toporów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2605608, 52.2601274] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28472", + "name": "Swarzędz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0744516, 52.4042681] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28522", + "name": "Poznań Starołęka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9342759, 52.3662312] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28563", + "name": "Poznań Krzesiny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9755354, 52.3416969] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28647", + "name": "Złotniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8363915, 52.4952535] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28670", + "name": "Wargowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8226024, 52.5851509] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28720", + "name": "Poznań Górczyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8814902, 52.3802146] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28753", + "name": "Palędzie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7488907, 52.3745525] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28803", + "name": "Szamotuły", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5882595, 52.6020546] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28969", + "name": "Wronki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3861889, 52.7050338] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL28993", + "name": "Miały", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1766634, 52.808842] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29108", + "name": "Krzyż", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0194221, 52.8776425] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29181", + "name": "Dobiegniew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7454273, 52.9689728] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29199", + "name": "Bierzwnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.658121, 53.0240587] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29215", + "name": "Nowe Drezdenko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8339384, 52.8537996] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29223", + "name": "Wieleń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1799496, 52.9073765] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29231", + "name": "Biernatowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3428227, 52.9571088] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29405", + "name": "Choszczno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4040332, 53.1648547] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29603", + "name": "Oborniki Wielkopolskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8306803, 52.6580627] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29801", + "name": "Poznań Wschód", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.971483, 52.4182197] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29843", + "name": "Czerwonak", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9796184, 52.4685712] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29868", + "name": "Bolechowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9792724, 52.5394713] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL29876", + "name": "Murowana Goślina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0155391, 52.5747999] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30007", + "name": "Września", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5552445, 52.3269143] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30031", + "name": "Podstolice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4815213, 52.3413094] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3004", + "name": "Szczecinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7055139, 53.6938225] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30064", + "name": "Kostrzyn Wielkopolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2254653, 52.3932539] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30114", + "name": "Strzałkowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.805778, 52.3106889] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3012", + "name": "Iwin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5154723, 53.7950743] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30205", + "name": "Środa Wielkopolska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2741954, 52.2183302] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30221", + "name": "Pierzchno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1573486, 52.2633303] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30239", + "name": "Gądki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0455008, 52.3019627] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30262", + "name": "Sulęcinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3088147, 52.1386953] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30288", + "name": "Chocicza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3495687, 52.0702477] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3038", + "name": "Dalęcino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6084745, 53.7478774] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30403", + "name": "Luboń koło Poznania", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8928174, 52.3439762] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30429", + "name": "Puszczykówko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8637843, 52.2729936] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30452", + "name": "Mosina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8516538, 52.2403658] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30486", + "name": "Szreniawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8008807, 52.3177702] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30536", + "name": "Stęszew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7102092, 52.2807927] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30601", + "name": "Poznań Główny", + "type": "rail", + "importance": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9115788, 52.4016269] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30668", + "name": "Kiekrz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7892323, 52.4763481] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30676", + "name": "Rokietnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7561574, 52.5106432] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30809", + "name": "Gniezno", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6032272, 52.5296664] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3087", + "name": "Biały Bór", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8553835, 53.8867152] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30874", + "name": "Gębarzewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5702262, 52.4829916] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30890", + "name": "Czerniejewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5651945, 52.4244578] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30932", + "name": "Pierzyska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4826237, 52.5056822] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL30965", + "name": "Pobiedziska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2778502, 52.4793001] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31021", + "name": "Kobylnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0794703, 52.4458143] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31203", + "name": "Sława Wielkopolska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1439686, 52.6345955] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31302", + "name": "Wągrowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.203482, 52.809638] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31336", + "name": "Kobylec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2007966, 52.8483404] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31344", + "name": "Grylewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2278722, 52.8891021] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL31369", + "name": "Gołańcz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3058774, 52.9474493] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3137", + "name": "Czarne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9385743, 53.6799853] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3178", + "name": "Bińcze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1294385, 53.6601232] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3194", + "name": "Lotyń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7798286, 53.5998378] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32003", + "name": "Mogilno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9461751, 52.6585904] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32045", + "name": "Wydartowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9038241, 52.6110482] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32078", + "name": "Trzemeszno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8178353, 52.569871] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3210", + "name": "Turowo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7228804, 53.6471775] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32201", + "name": "Kutno", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.348144, 52.2270939] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32227", + "name": "Krzewie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.166905, 52.2354509] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32250", + "name": "Kłodawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8905271, 52.2273817] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32276", + "name": "Ostrowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1922922, 52.2988559] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3228", + "name": "Brokęcino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8176147, 53.5626635] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32318", + "name": "Strzelce Kujawskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3687984, 52.3229173] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32342", + "name": "Sierakówek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4205021, 52.3707152] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32359", + "name": "Gostynin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4761741, 52.4334171] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3236", + "name": "Okonek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8305415, 53.5201758] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32383", + "name": "Łąck", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5960518, 52.4870282] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32417", + "name": "Płock Radziwie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6722573, 52.5242451] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32433", + "name": "Żychlin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6188676, 52.2131012] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32474", + "name": "Jackowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7958414, 52.1569281] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32516", + "name": "Witonia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2765941, 52.1568164] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32524", + "name": "Łęczyca", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1932523, 52.049237] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32540", + "name": "Ozorków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2662162, 51.9714974] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32557", + "name": "Chociszew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2673865, 51.9234492] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32607", + "name": "Płock", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7126549, 52.552711] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32623", + "name": "Płock Trzepowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7338325, 52.5887174] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32706", + "name": "Sierpc", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6531311, 52.8480097] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3277", + "name": "Jankowo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7743234, 53.5166039] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32904", + "name": "Łowicz Główny", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9556222, 52.10473] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL32953", + "name": "Bednary", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.064785, 52.1055389] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3301", + "name": "Złocieniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0187029, 53.5278737] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33027", + "name": "Bełchów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0329903, 52.0267688] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33050", + "name": "Łowicz Przedmieście", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9466922, 52.093053] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33100", + "name": "Konin", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2540998, 52.2310979] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33159", + "name": "Kramsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4766921, 52.2451849] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33191", + "name": "Koło", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6321466, 52.2109695] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33217", + "name": "Barłogi", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7678959, 52.2159231] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33365", + "name": "Cienin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9659942, 52.2725623] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33472", + "name": "Warszawa Główna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9850425, 52.2250393] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33506", + "name": "Warszawa Zachodnia", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9651719, 52.2201572] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33605", + "name": "Warszawa Centralna", + "type": "rail", + "importance": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [21.00316, 52.2288207] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3368", + "name": "Czaplinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2380254, 53.5372375] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33803", + "name": "Warszawa Okęcie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9873566, 52.1657359] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL33902", + "name": "Piaseczno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0172915, 52.0665292] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34108", + "name": "Pruszków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7989255, 52.1682227] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34165", + "name": "Grodzisk Mazowiecki", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6234643, 52.1103954] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34207", + "name": "Żyrardów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4489804, 52.0524632] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34348", + "name": "Ożarów Mazowiecki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7958122, 52.2074469] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34363", + "name": "Błonie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6074023, 52.1865234] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34447", + "name": "Teresin Niepokalanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4163976, 52.2022073] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL34603", + "name": "Sochaczew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2386642, 52.2150468] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3467", + "name": "Runowo Pomorskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5294538, 53.5557588] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3475", + "name": "Worowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6354869, 53.6885336] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL35006", + "name": "Warszawa Śródmieście WKD", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9993834, 52.2274779] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3509", + "name": "Łobez", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.6277294, 53.6366544] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL35162", + "name": "Komorów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8113718, 52.1481148] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3517", + "name": "Chociwel", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.3357866, 53.4705758] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL35253", + "name": "Podkowa Leśna Główna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7251423, 52.1223685] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3541", + "name": "Trąbki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2383455, 53.3954997] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL35428", + "name": "Grodzisk Mazowiecki Radońska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6284506, 52.1006418] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36103", + "name": "Warszawa Gdańska", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9923588, 52.2590955] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36228", + "name": "Zielonka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1576638, 52.3118146] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3632", + "name": "Świdwin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7727241, 53.7811366] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36343", + "name": "Wołomin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2380718, 52.3466331] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36459", + "name": "Nowy Dwór Mazowiecki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7239918, 52.4252833] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36467", + "name": "Modlin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7049949, 52.4439461] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36509", + "name": "Legionowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9410006, 52.4019115] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36525", + "name": "Legionowo Piaski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9427123, 52.4126078] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36582", + "name": "Wieliszew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9747536, 52.4281967] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36707", + "name": "Nasielsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7677423, 52.5721933] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36764", + "name": "Płońsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3661208, 52.6160133] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36814", + "name": "Raciąż", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1049059, 52.7789108] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36871", + "name": "Gąsocin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7204902, 52.738473] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36939", + "name": "Ciechanów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5907654, 52.8837628] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL36970", + "name": "Konopki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4596318, 52.9967373] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37226", + "name": "Mława", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.35096, 53.1260799] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37440", + "name": "Warszawa Wileńska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0385505, 52.2558006] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37507", + "name": "Tłuszcz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4354004, 52.4311161] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37622", + "name": "Krusze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3585656, 52.4271604] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37762", + "name": "Wyszków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4466076, 52.601731] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37796", + "name": "Mostówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4420693, 52.5190722] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL37911", + "name": "Łochów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6875221, 52.5339672] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38174", + "name": "Radzymin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1774357, 52.4242892] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3830", + "name": "Rąbino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9523557, 53.869412] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38307", + "name": "Małkinia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0348566, 52.6946006] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38653", + "name": "Warszawa Wschodnia", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0523678, 52.2515889] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38661", + "name": "Warszawa Rembertów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.158478, 52.2571084] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38729", + "name": "Sulejówek Miłosna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2986542, 52.2406542] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38737", + "name": "Warszawa Wawer", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1496097, 52.2233538] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38836", + "name": "Warszawa Falenica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2142926, 52.1583798] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38885", + "name": "Otwock", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2630951, 52.1095585] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL38943", + "name": "Celestynów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3940884, 52.0576501] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39008", + "name": "Mińsk Mazowiecki", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5522194, 52.1758629] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3905", + "name": "Białogard", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9776516, 54.0099878] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39206", + "name": "Pilawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5340232, 51.9548509] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3921", + "name": "Nosówko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0523135, 54.0925264] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39321", + "name": "Sobolew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6724904, 51.7416616] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39339", + "name": "Wygoda", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4586174, 50.6042391] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39354", + "name": "Życzyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7603993, 51.6477105] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39404", + "name": "Siedlce", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2719159, 52.1617935] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39495", + "name": "Dziewule", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3862177, 52.05541] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3954", + "name": "Podborsko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.138825, 53.9341699] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3962", + "name": "Tychowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.235068, 53.92148] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3970", + "name": "Wielanowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3264571, 53.8736586] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39743", + "name": "Niemojki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7015016, 52.2587478] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39768", + "name": "Platerów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8211063, 52.3011598] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39875", + "name": "Mrozy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8005353, 52.1639548] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL3988", + "name": "Grzmiąca", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4197665, 53.8324597] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL39909", + "name": "Łuków", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3928588, 51.9404823] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40030", + "name": "Parczew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8716065, 51.6262047] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40113", + "name": "Łuków Łapiguz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3598062, 51.924509] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40162", + "name": "Okrzeja", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.135915, 51.7316231] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40345", + "name": "Góra Kalwaria", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1929475, 51.9892368] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40360", + "name": "Czachówek Wschodni", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.104208, 51.9734724] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40444", + "name": "Czachówek Południowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0815732, 51.9582318] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40808", + "name": "Biała Podlaska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1304101, 52.0202547] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40832", + "name": "Międzyrzec Podlaski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7855957, 51.9760347] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40949", + "name": "Chotyłów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.355823, 51.9968432] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL40998", + "name": "Terespol", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.601254, 52.0743321] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4101", + "name": "Kołobrzeg", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5715496, 54.1822496] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41202", + "name": "Żagań", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.3154215, 51.6037635] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4127", + "name": "Wrzosowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8378824, 54.114286] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41277", + "name": "Małomice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4469427, 51.5496863] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41285", + "name": "Leszno Górne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.616048, 51.4668793] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4135", + "name": "Ustronie Morskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7467797, 54.2002083] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41368", + "name": "Bieniów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1794125, 51.7159921] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4143", + "name": "Dygowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7268111, 54.1408297] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41558", + "name": "Żary", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1377011, 51.6344652] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41657", + "name": "Jankowa Żagańska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1808642, 51.5673263] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL41707", + "name": "Tuplice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.8380258, 51.6715916] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42002", + "name": "Nowa Sól", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7087987, 51.7989604] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42127", + "name": "Bytom Odrzański", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8198902, 51.7267573] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42200", + "name": "Głogów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0798664, 51.6696063] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42432", + "name": "Krzepów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1335897, 51.6447811] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42440", + "name": "Grębocice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1848672, 51.5934999] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42457", + "name": "Głogów Wróblin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9543821, 51.6865915] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42606", + "name": "Leszno", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5654713, 51.845967] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42671", + "name": "Stare Bojanowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5849701, 51.9959795] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42697", + "name": "Kąkolewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6866339, 51.8578208] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42788", + "name": "Poniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.808103, 51.761533] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42838", + "name": "Krobia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9715117, 51.7590071] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42879", + "name": "Lasocice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4859499, 51.8158946] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42887", + "name": "Wschowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.31669, 51.7939015] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42937", + "name": "Stare Drzewce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1957047, 51.7766962] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL42978", + "name": "Włoszakowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3736795, 51.9327418] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43000", + "name": "Wolsztyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1083096, 52.1114527] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43042", + "name": "Rakoniewice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2639706, 52.1382931] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43091", + "name": "Grodzisk Wielkopolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.363892, 52.2304733] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43125", + "name": "Granowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5312351, 52.2254277] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43299", + "name": "Nowawieś Mochy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2160829, 52.0146183] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43406", + "name": "Kościan", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6405555, 52.0778031] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL43448", + "name": "Czempiń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7519046, 52.1385199] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44008", + "name": "Krotoszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4261942, 51.7016833] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44040", + "name": "Biadki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5657843, 51.6773468] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4408", + "name": "Koszalin", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1697156, 54.1906752] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44131", + "name": "Kobylin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2238694, 51.7200566] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4416", + "name": "Mścice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0732785, 54.2142718] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44164", + "name": "Pępowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1127142, 51.7370622] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44180", + "name": "Zduny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3662662, 51.6464157] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44305", + "name": "Rawicz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.839439, 51.6092497] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44420", + "name": "Żmigród", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9018748, 51.4753316] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44511", + "name": "Bojanowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7440004, 51.7006769] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44701", + "name": "Jarocin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4947192, 51.9683099] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44735", + "name": "Mieszków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4405874, 52.0231581] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44750", + "name": "Żerków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4976459, 52.0698389] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44768", + "name": "Orzechowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4778187, 52.1269138] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44776", + "name": "Miłosław", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4767659, 52.2088393] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4481", + "name": "Skibno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3046947, 54.2495072] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44826", + "name": "Witaszyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5627832, 51.9360279] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44834", + "name": "Kotlin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6489564, 51.9146047] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44842", + "name": "Pleszew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7322175, 51.8925872] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44859", + "name": "Taczanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7561366, 51.8409612] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44867", + "name": "Bronów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7743076, 51.7944961] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL44883", + "name": "Biniew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7924013, 51.738947] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45203", + "name": "Nowe Skalmierzyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9979123, 51.7080628] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45245", + "name": "Kalisz", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0713653, 51.742827] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45310", + "name": "Opatówek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2274685, 51.7433692] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45344", + "name": "Błaszki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.471086, 51.673683] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45351", + "name": "Sędzice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5700068, 51.6288941] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45401", + "name": "Kępno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0014127, 51.2919541] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45468", + "name": "Domanin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.995327, 51.3443616] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45476", + "name": "Ostrzeszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9405633, 51.4295172] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4556", + "name": "Miastko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9653502, 53.998328] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45674", + "name": "Wieluń Dąbrowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5502063, 51.2396362] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45690", + "name": "Pątnów Wieluński", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6336919, 51.160517] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4572", + "name": "Kawcze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8838922, 54.0719497] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45732", + "name": "Łęka Opatowska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0915432, 51.2171846] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45906", + "name": "Ostrów Wielkopolski", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8052356, 51.6492287] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL45971", + "name": "Czekanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8605973, 51.6854689] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46003", + "name": "Przygodzice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8299969, 51.5699571] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46011", + "name": "Antonin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8611802, 51.5124976] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46037", + "name": "Topola-Osiedle", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7619041, 51.6128545] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46052", + "name": "Odolanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6677164, 51.574591] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46078", + "name": "Granowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6451794, 51.5116753] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46086", + "name": "Sośnie Ostrowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6394539, 51.4715395] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46128", + "name": "Międzybórz Sycowski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6529599, 51.4010511] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46136", + "name": "Bukowina Sycowska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5832169, 51.3881714] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46201", + "name": "Koźmin Wielkopolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4437518, 51.8319671] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46409", + "name": "Łódź Widzew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5438051, 51.7631048] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46458", + "name": "Łódź Fabryczna", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4696108, 51.7695535] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46516", + "name": "Gałkówek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7318181, 51.7298223] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46565", + "name": "Łódź Chojny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4841953, 51.7264089] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46573", + "name": "Łódź Lublinek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3592771, 51.7209139] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46581", + "name": "Pabianice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3249765, 51.6609304] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46649", + "name": "Łask", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1117876, 51.6037433] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46706", + "name": "Łódź Kaliska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4305417, 51.757822] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46789", + "name": "Łódź Żabieniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4070192, 51.7935514] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46805", + "name": "Zgierz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4257929, 51.8494636] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46813", + "name": "Zgierz Północ", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3837488, 51.8691546] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46821", + "name": "Zgierz Kontrewers", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.340321, 51.8648041] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46847", + "name": "Stryków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5934226, 51.9105816] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46862", + "name": "Głowno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7030198, 51.9614039] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL46870", + "name": "Domaniewice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8210551, 52.02057] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47001", + "name": "Skierniewice", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.151435, 51.9676192] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4705", + "name": "Słupsk", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0163242, 54.4678168] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47258", + "name": "Koluszki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8184515, 51.7434724] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47316", + "name": "Rogów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8865225, 51.8182965] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47365", + "name": "Płyćwia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0034553, 51.9175592] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4739", + "name": "Słonowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9266311, 54.3836565] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47399", + "name": "Baby", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7167575, 51.5369264] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47423", + "name": "Rokiciny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.780676, 51.6675458] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47506", + "name": "Słotwiny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8386994, 51.7226079] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47563", + "name": "Skrzynki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9669659, 51.6021945] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47605", + "name": "Tomaszów Mazowiecki", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0336231, 51.5469372] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47704", + "name": "Piotrków Trybunalski", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6846413, 51.4104653] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47795", + "name": "Rozprza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6601416, 51.3015856] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47829", + "name": "Gorzkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.603241, 51.2182938] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47852", + "name": "Gomunice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4867937, 51.1635621] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL47886", + "name": "Radomsko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4376128, 51.0745339] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48009", + "name": "Skarżysko-Kamienna", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8820061, 51.1161949] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48082", + "name": "Szydłowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9234453, 51.2079964] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48165", + "name": "Wąchock", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0163501, 51.0797066] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48181", + "name": "Starachowice Wschodnie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0787913, 51.0419091] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48231", + "name": "Suchedniów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8496965, 51.0465577] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48272", + "name": "Bliżyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7572886, 51.1104398] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48355", + "name": "Radom Główny", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1553821, 51.3909217] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48454", + "name": "Wolanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0001743, 51.3532948] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48504", + "name": "Warka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1686656, 51.7938528] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48520", + "name": "Dobieszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1763521, 51.6310381] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48595", + "name": "Chynów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1006911, 51.9027315] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48702", + "name": "Pionki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.462028, 51.479776] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48751", + "name": "Jedlnia-Letnisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3276432, 51.4296617] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48785", + "name": "Żytkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.556545, 51.4829988] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48801", + "name": "Przysucha", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6597222, 51.3777549] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48827", + "name": "Drzewica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4656999, 51.4369856] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48868", + "name": "Dęba Opoczyńska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2582806, 51.4819213] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4887", + "name": "Jezierzyce Słupskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1218427, 54.5042883] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48918", + "name": "Brzustów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1466954, 51.4934985] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4895", + "name": "Damnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2732956, 54.4976028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL48959", + "name": "Opoczno Południe", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2324376, 51.3591831] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49106", + "name": "Jastrząb", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9845611, 51.2488147] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49163", + "name": "Rożki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0540748, 51.3388407] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49205", + "name": "Ostrowiec Świętokrzyski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3796571, 50.9329872] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49254", + "name": "Kunów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2953476, 50.9678633] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49320", + "name": "Bodzechów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4343993, 50.9134722] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4937", + "name": "Potęgowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4880857, 54.4849487] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4945", + "name": "Kępice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8906778, 54.2414832] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49452", + "name": "Jakubowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6647863, 50.8109287] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49502", + "name": "Końskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.422849, 51.1902037] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4952", + "name": "Ustka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8621487, 54.578248] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49544", + "name": "Stąporków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5735471, 51.1435118] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49700", + "name": "Opoczno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2715067, 51.3728629] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49742", + "name": "Bratków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1149966, 51.4553655] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49759", + "name": "Jeleń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0729897, 51.5020459] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL4978", + "name": "Charnowo Słupskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9204322, 54.5319305] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL49809", + "name": "Dęblin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8317701, 51.5797762] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50005", + "name": "Puławy Azoty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9490895, 51.4750247] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50039", + "name": "Puławy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0114222, 51.4104568] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50104", + "name": "Nałęczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2131809, 51.3180443] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50138", + "name": "Sadurki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.284403, 51.2862738] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50153", + "name": "Motycz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.4235028, 51.2214247] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50203", + "name": "Bąkowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7254976, 51.5178254] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50286", + "name": "Garbatka-Letnisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6300605, 51.4948043] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50500", + "name": "Lublin Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [22.5689637, 51.231292] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50609", + "name": "Lubartów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.6082467, 51.4456443] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50625", + "name": "Bystrzyca koło Lublina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.6386602, 51.3493926] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50658", + "name": "Jaszczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.9106093, 51.2021235] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50666", + "name": "Trawniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.9925855, 51.1363715] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50682", + "name": "Minkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7640633, 51.2173349] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50807", + "name": "Rejowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2383437, 51.117695] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50906", + "name": "Chełm", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [23.4942003, 51.1413165] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL50930", + "name": "Zawadówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.3550312, 51.1241097] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5108", + "name": "Sławno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6696333, 54.3556672] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51102", + "name": "Dorohusk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.7841784, 51.1720784] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51219", + "name": "Krasnystaw Fabryczny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1827257, 51.0244189] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51300", + "name": "Niedrzwica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3766144, 51.1140498] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51359", + "name": "Wilkołaz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3294289, 50.986117] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51375", + "name": "Lublin Zemborzyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.5028874, 51.1715012] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51391", + "name": "Majdan", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2990371, 49.2057835] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5140", + "name": "Karwice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5352562, 54.3450227] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51508", + "name": "Kraśnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.282992, 50.9296529] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51532", + "name": "Szastarka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3318351, 50.853323] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5157", + "name": "Darłowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.404387, 54.4169844] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51805", + "name": "Węgliniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2229659, 51.2901013] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51847", + "name": "Zgorzelec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0030407, 51.1401724] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51920", + "name": "Gierałtów Wykroty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2845742, 51.2168129] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL51995", + "name": "Jerzmanki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.0609584, 51.1277582] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52027", + "name": "Ruszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.1766348, 51.401063] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52100", + "name": "Zebrzydowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.3891682, 51.2546842] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52357", + "name": "Gryfów Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.4289759, 51.0339789] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52365", + "name": "Rębiszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.456031, 50.9482194] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52449", + "name": "Świeradów-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.3435063, 50.911427] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52506", + "name": "Lubań Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2935413, 51.1113578] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52522", + "name": "Zaręba", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.2195728, 51.0981222] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5256", + "name": "Lębork", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7502364, 54.5336204] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52852", + "name": "Krzewina Zgorzelecka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.939793, 51.0154355] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL52902", + "name": "Miłkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0546142, 51.2555649] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53009", + "name": "Legnica", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1696549, 51.2140928] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5322", + "name": "Wrzeście", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6680739, 54.6776662] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53231", + "name": "Raszówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1816401, 51.3015343] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53280", + "name": "Lubin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1934358, 51.3957796] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53405", + "name": "Malczyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4859684, 51.2156915] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5355", + "name": "Łeba", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5534151, 54.7559677] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53553", + "name": "Jawor", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1984434, 51.0550466] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5363", + "name": "Pogorzelice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6419604, 54.5039354] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL53850", + "name": "Bolesławiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5695267, 51.2660812] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54007", + "name": "Chojnów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9376619, 51.2776886] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54031", + "name": "Okmiany", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7785663, 51.2709572] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5413", + "name": "Godętowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8632338, 54.581917] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54205", + "name": "Rokitki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8932471, 51.3354313] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5421", + "name": "Bożepole Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9677613, 54.5688524] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5439", + "name": "Strzebielino Morskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.028786, 54.5628928] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54403", + "name": "Jaworzyna Śląska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4288847, 50.9124931] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5447", + "name": "Luzino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1025716, 54.5669472] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54528", + "name": "Świebodzice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3350456, 50.8599745] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54544", + "name": "Wałbrzych Szczawienko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3027078, 50.8163919] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54551", + "name": "Wałbrzych Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2852337, 50.7862286] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54619", + "name": "Żarów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4927789, 50.9394957] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54627", + "name": "Imbramowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5781401, 50.9633658] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54700", + "name": "Świdnica Przedmieście", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5039056, 50.8350396] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54817", + "name": "Świdnica Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4815065, 50.8412151] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54908", + "name": "Dzierżoniów Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6409084, 50.7242438] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54973", + "name": "Mościsko Dzierżoniowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5802246, 50.772134] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL54999", + "name": "Piława Górna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7732632, 50.6787662] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55103", + "name": "Wałbrzych Główny", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2806898, 50.7433935] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55145", + "name": "Jedlina-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3430171, 50.7115424] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55228", + "name": "Boguszów-Gorce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2017185, 50.7503794] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55269", + "name": "Boguszów-Gorce Zachód", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.1672349, 50.7623764] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55277", + "name": "Kamienna Góra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0228244, 50.7852469] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55327", + "name": "Wałbrzych Fabryczny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2670481, 50.7613941] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55608", + "name": "Marciszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0076011, 50.8514982] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55632", + "name": "Sędzisław", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.0698493, 50.8134159] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55665", + "name": "Janowice Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.9187624, 50.8785015] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55806", + "name": "Jelenia Góra", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7559869, 50.9025882] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55848", + "name": "Stara Kamienica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5659104, 50.9139896] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55954", + "name": "Wojanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.8212863, 50.8847457] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL55970", + "name": "Mysłakowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7880189, 50.8353309] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56028", + "name": "Karpacz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.7616497, 50.7825021] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56077", + "name": "Jelenia Góra Zachodnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.719455, 50.9005971] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56143", + "name": "Piechowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5914678, 50.8517152] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56184", + "name": "Szklarska Poręba Górna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [15.5186779, 50.8326128] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56309", + "name": "Strzegom", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3589469, 50.9745685] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56358", + "name": "Rogoźnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3019328, 51.0145349] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56408", + "name": "Kamieniec Ząbkowicki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8989781, 50.536143] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56424", + "name": "Ziębice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0338875, 50.6086503] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56432", + "name": "Starczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9467628, 50.5634447] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56457", + "name": "Henryków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0301377, 50.6630769] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56481", + "name": "Bardo Przyłęk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7579648, 50.5095162] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56606", + "name": "Nysa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3419525, 50.4776491] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56622", + "name": "Nowy Świętów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3695627, 50.3776729] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56671", + "name": "Goświnowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2571721, 50.4785204] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56697", + "name": "Otmuchów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1525631, 50.4741317] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56713", + "name": "Paczków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0110551, 50.4784247] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56747", + "name": "Łambinowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5653022, 50.537633] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56853", + "name": "Chróścina Nyska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3782591, 50.6167705] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL56903", + "name": "Prudnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5776593, 50.3291762] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57109", + "name": "Głuchołazy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3945815, 50.3304426] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57208", + "name": "Międzylesie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6549882, 50.1445089] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57307", + "name": "Kłodzko Główne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6567711, 50.4513332] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57380", + "name": "Gorzanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6408355, 50.3544202] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57398", + "name": "Bystrzyca Kłodzka Przedmieście", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6469871, 50.2855574] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57430", + "name": "Domaszków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6552382, 50.2131508] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57463", + "name": "Kłodzko Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.658236, 50.4345956] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57497", + "name": "Polanica-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5144061, 50.397589] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57513", + "name": "Szczytna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4497865, 50.4083659] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57521", + "name": "Duszniki-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.3858127, 50.4090324] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57554", + "name": "Kudowa-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2440979, 50.4298044] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57703", + "name": "Ząbkowice Śląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.812773, 50.5972985] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57901", + "name": "Ścinawka Średnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.5054444, 50.5263559] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL57943", + "name": "Nowa Ruda", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4968105, 50.5772987] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58230", + "name": "Święta Katarzyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1231438, 51.0295633] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58271", + "name": "Oława", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2977605, 50.9305835] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58297", + "name": "Siechnice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1425423, 51.0382566] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58321", + "name": "Czernica Wrocławska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2358061, 51.0496835] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58347", + "name": "Jelcz-Laskowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3454105, 51.037022] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58388", + "name": "Biskupice Oławskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5155391, 50.9939882] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58412", + "name": "Kobierzyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9265914, 50.9742632] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58495", + "name": "Sobótka Zachodnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7007723, 50.9078368] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58719", + "name": "Wrocław Osobowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9966038, 51.1670923] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58784", + "name": "Oborniki Śląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.907326, 51.2996135] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58826", + "name": "Skokowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8489434, 51.3870757] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58875", + "name": "Wrocław Zachodni", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.949504, 51.0899487] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58933", + "name": "Kąty Wrocławskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7499748, 51.0379927] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58966", + "name": "Wrocław Żerniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9164074, 51.1261453] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL58974", + "name": "Wrocław Leśnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8672785, 51.1419618] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5900", + "name": "Gdynia Główna", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5268255, 54.5217877] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59022", + "name": "Miękinia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7396367, 51.1882562] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59055", + "name": "Wrocław Kuźniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9522088, 51.1280409] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59071", + "name": "Wrocław Pracze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9031293, 51.1700195] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59105", + "name": "Wrocław Nadodrze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0329905, 51.1256579] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59204", + "name": "Wrocław Sołtysowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0835373, 51.1425485] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59246", + "name": "Wrocław Psie Pole", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1185445, 51.150452] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59279", + "name": "Wrocław Swojczyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1213443, 51.1158639] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59337", + "name": "Długołęka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.1944543, 51.1784645] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5934", + "name": "Gdynia Orłowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5486299, 54.4766459] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59345", + "name": "Borowa Oleśnicka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2760947, 51.1841096] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59394", + "name": "Trzebnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0632874, 51.3040435] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL5942", + "name": "Sopot", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5623141, 54.4400569] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59501", + "name": "Oleśnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.385924, 51.200657] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59543", + "name": "Grabowno Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.403474, 51.34322] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59550", + "name": "Dobroszyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3637981, 51.2705063] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59584", + "name": "Bierutów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.5461214, 51.1284443] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59634", + "name": "Bukowice Trzebnickie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.368541, 51.3995076] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59642", + "name": "Krośnice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.3738925, 51.4712011] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59675", + "name": "Milicz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.2950351, 51.5273812] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59691", + "name": "Twardogóra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4677429, 51.360263] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59808", + "name": "Strzelin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0602369, 50.7842124] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL59832", + "name": "Biały Kościół", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0299488, 50.7284605] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60103", + "name": "Wrocław Główny", + "type": "rail", + "importance": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0379512, 51.097916] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60145", + "name": "Smardzów Wrocławski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0661283, 51.0306885] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60152", + "name": "Żórawina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.0495813, 50.9834219] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60160", + "name": "Boreczek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.02458, 50.8789262] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60244", + "name": "Bielany Wrocławskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9757672, 51.0361294] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60269", + "name": "Brzeg Dolny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.7250326, 51.2669629] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60285", + "name": "Brzezinka Średzka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.8368026, 51.2197167] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6031", + "name": "Gdynia Chylonia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4636617, 54.5457503] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60335", + "name": "Wołów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.6328844, 51.3339266] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60400", + "name": "Ścinawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4218147, 51.4091111] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60442", + "name": "Rudna Gwizdanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.2809748, 51.5290973] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60566", + "name": "Małowice Wołowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.4714106, 51.4044231] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60608", + "name": "Opole Główne", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9272072, 50.6616475] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60723", + "name": "Komprachcice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8213941, 50.6316632] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60749", + "name": "Szydłów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7050638, 50.6060405] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL60939", + "name": "Jełowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0467055, 50.7939653] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6098", + "name": "Rumia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3866641, 54.5691391] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61002", + "name": "Opole Wschodnie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9343091, 50.6744569] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61051", + "name": "Opole Czarnowąsy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9031749, 50.7164289] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6106", + "name": "Reda", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.353264, 54.59495] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61077", + "name": "Dobrzeń Wielki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8594832, 50.7720221] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61127", + "name": "Popielów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7624114, 50.8295577] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61135", + "name": "Karłowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6990536, 50.8802597] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61200", + "name": "Kluczbork", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.201009, 50.9710826] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6122", + "name": "Gdańsk Osowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4528085, 54.4223889] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61283", + "name": "Wołczyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.047335, 51.0134476] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61325", + "name": "Krzywizna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2017595, 51.026146] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61341", + "name": "Byczyna Kluczborska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1998832, 51.1137155] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61358", + "name": "Kostów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1455528, 51.1656636] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61366", + "name": "Bąków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3145752, 50.9561237] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61507", + "name": "Fosowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3601524, 50.6604518] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61549", + "name": "Zawadzkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4732796, 50.6091307] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61572", + "name": "Ozimek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2102647, 50.6699343] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61705", + "name": "Strzelce Opolskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3066089, 50.5167095] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61747", + "name": "Szymiszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.224141, 50.528326] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61903", + "name": "Gogolin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0186011, 50.493165] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL61937", + "name": "Górażdże", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0033261, 50.5292143] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62000", + "name": "Opole Groszowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9547075, 50.6365094] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62042", + "name": "Przywory Opolskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9890882, 50.5815585] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62059", + "name": "Tarnów Opolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.0778285, 50.5720426] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62075", + "name": "Otmice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1242016, 50.551154] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62109", + "name": "Brzeg", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [17.4708931, 50.8529011] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62133", + "name": "Lewin Brzeski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.6153236, 50.7581502] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62182", + "name": "Grodków Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.376277, 50.6977778] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62307", + "name": "Namysłów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7169009, 51.0744261] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62356", + "name": "Domaszowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8833572, 51.0486167] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62653", + "name": "Częstochowa", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1209688, 50.8084279] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62802", + "name": "Częstochowa Stradom", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1069996, 50.7973211] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62836", + "name": "Częstochowa Gnaszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0291879, 50.7915853] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62844", + "name": "Blachownia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9695889, 50.7738933] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL62851", + "name": "Turów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3171916, 50.7683869] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63024", + "name": "Julianka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4732727, 50.7646466] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6304", + "name": "Wejherowo", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2296473, 54.6057529] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63073", + "name": "Koniecpol", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.700042, 50.776388] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63305", + "name": "Herby Stare", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8821298, 50.7476646] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63354", + "name": "Rudniki koło Częstochowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2322503, 50.8782089] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63420", + "name": "Kłomnice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3414573, 50.9159863] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63503", + "name": "Kielce Herbskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6024161, 50.8859058] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63552", + "name": "Kielce Główne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6179325, 50.8743077] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63586", + "name": "Kielce Białogon", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5745188, 50.8552608] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63701", + "name": "Zagnańsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6634975, 50.9744474] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63735", + "name": "Łączna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7984417, 50.9916624] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63784", + "name": "Kostomłoty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.615332, 50.9217423] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63800", + "name": "Sitkówka Nowiny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5504133, 50.8182563] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63859", + "name": "Radkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5284185, 50.7802204] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63875", + "name": "Nida", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5785811, 50.7601582] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63883", + "name": "Wolica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4704275, 50.753349] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL63925", + "name": "Sobków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4306276, 50.731303] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64006", + "name": "Busko-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6858176, 50.4619331] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64048", + "name": "Grochowiska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6418081, 50.4943675] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64089", + "name": "Włoszczowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.5865673, 50.6517537] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64303", + "name": "Sędziszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0548996, 50.5658817] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64337", + "name": "Kozłów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0122413, 50.4750091] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64451", + "name": "Jędrzejów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2756734, 50.6445096] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64550", + "name": "Miąsowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3651331, 50.7194055] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64600", + "name": "Charsznica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9413863, 50.3961292] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64626", + "name": "Tunel", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9912442, 50.4335931] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64709", + "name": "Małogoszcz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.272798, 50.8502132] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64725", + "name": "Ludynia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1626707, 50.8518711] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64766", + "name": "Rykoszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3788822, 50.8681814] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64808", + "name": "Włoszczowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0145481, 50.8377903] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64824", + "name": "Żelisławice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.858556, 50.8038128] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL64899", + "name": "Włoszczowa Północ", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9460452, 50.8563947] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65003", + "name": "Stalowa Wola Rozwadów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0419635, 50.5913352] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65052", + "name": "Stalowa Wola Południe", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0788926, 50.5449264] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65094", + "name": "Nisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.1403337, 50.5142737] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65144", + "name": "Rudnik nad Sanem", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2491867, 50.4357524] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65151", + "name": "Łętownia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2569634, 50.3627666] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65169", + "name": "Zbydniów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9213683, 50.6345402] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65235", + "name": "Lipa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0681452, 50.689287] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65243", + "name": "Zaklików", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.1084084, 50.7684666] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65268", + "name": "Rzeczyca", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2082603, 50.8400142] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65300", + "name": "Sandomierz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7652498, 50.6602949] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65334", + "name": "Dwikozy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7911771, 50.7320686] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65409", + "name": "Grębów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8392825, 50.6051506] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65458", + "name": "Sobów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7356718, 50.5922673] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65466", + "name": "Tarnobrzeg", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6961934, 50.5678165] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65524", + "name": "Dęba Rozalin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7431315, 50.4288076] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65755", + "name": "Padew", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5059447, 50.4342004] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL65904", + "name": "Zamość", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2385958, 50.7135833] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6593", + "name": "Gościcino Wejherowskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1610766, 54.60506] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66050", + "name": "Zawada", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1251667, 50.7158851] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66134", + "name": "Hrubieszów Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.9085737, 50.7966686] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66142", + "name": "Werbkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.7677255, 50.7455184] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66209", + "name": "Bełżec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.4495326, 50.3768989] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66241", + "name": "Susiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.2261884, 50.4161308] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66407", + "name": "Biłgoraj", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7328489, 50.5515661] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL66589", + "name": "Zwierzyniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [16.9924779, 52.3997744] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6700", + "name": "Puck", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4086265, 54.7148824] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67009", + "name": "Kędzierzyn-Koźle", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2046067, 50.3450593] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67066", + "name": "Zdzieszowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1264542, 50.4217936] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67140", + "name": "Bierawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2561042, 50.2943546] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67264", + "name": "Kędzierzyn-Koźle Zachodnie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1314695, 50.3466453] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6742", + "name": "Władysławowo", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4019048, 54.7934715] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67447", + "name": "Twardawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.9988609, 50.3471329] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67462", + "name": "Głogówek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.8755824, 50.3475027] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67488", + "name": "Racławice Śląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7606123, 50.3121016] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6767", + "name": "Kuźnica (Hel)", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5766364, 54.7362391] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6775", + "name": "Jastarnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6766494, 54.7016654] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67801", + "name": "Sławięcice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3138179, 50.3513782] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67843", + "name": "Rudziniec Gliwicki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4042187, 50.3666307] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67900", + "name": "Chałupki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3114072, 49.9258005] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6791", + "name": "Hel", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8008848, 54.6110402] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL67967", + "name": "Krzyżanowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2756931, 49.9894595] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68007", + "name": "Rybnik Towarowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5153637, 50.0666138] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68064", + "name": "Leszczyny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6176364, 50.1397517] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68122", + "name": "Czerwionka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6851834, 50.148788] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68148", + "name": "Orzesze Jaśkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.740753, 50.1447994] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68163", + "name": "Łaziska Średnie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8678918, 50.1300173] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68205", + "name": "Rybnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5479717, 50.0891041] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68320", + "name": "Rydułtowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4259766, 50.0690055] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68338", + "name": "Sumina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4014853, 50.1369801] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68403", + "name": "Wodzisław Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4763476, 50.0082337] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68502", + "name": "Olza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.338892, 49.9603681] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68700", + "name": "Racibórz", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2267128, 50.0906046] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68783", + "name": "Nędza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2917585, 50.1570001] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL68882", + "name": "Kuźnia Raciborska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2985743, 50.200863] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL6890", + "name": "Mrzezino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4130307, 54.6530081] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL69005", + "name": "Orzesze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7776893, 50.1543853] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL69062", + "name": "Mikołów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8992953, 50.1728595] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL69203", + "name": "Żory", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7020594, 50.0529697] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL69708", + "name": "Gliwice", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6770397, 50.301159] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL69823", + "name": "Zabrze", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7871281, 50.3052986] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70102", + "name": "Gliwice Łabędy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6222829, 50.3403105] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70169", + "name": "Taciszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5078476, 50.3579867] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70201", + "name": "Pyskowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6193963, 50.3835775] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70250", + "name": "Toszek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.513176, 50.4417385] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70607", + "name": "Ruda Chebzie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8780245, 50.3038107] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7088", + "name": "Pszczółki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7016608, 54.1746028] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL70904", + "name": "Knurów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.688153, 50.217278] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71001", + "name": "Tarnowskie Góry", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8644041, 50.4460325] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71043", + "name": "Nakło Śląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9027872, 50.4299098] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71050", + "name": "Radzionków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9152081, 50.4090415] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7112", + "name": "Tczew", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7897812, 54.0972478] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71407", + "name": "Lubliniec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6910442, 50.672558] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71456", + "name": "Pawonków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5665815, 50.6807584] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71464", + "name": "Pludry", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4686582, 50.6646881] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71522", + "name": "Ciasna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.629458, 50.7563138] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71530", + "name": "Sieraków Śląski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5936025, 50.798823] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71548", + "name": "Sowczyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5016873, 50.845887] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71555", + "name": "Olesno Śląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4248341, 50.8820722] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71571", + "name": "Kochanowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7486371, 50.6995415] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71589", + "name": "Lisów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.791065, 50.7208436] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71803", + "name": "Herby Nowe", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8545491, 50.7472918] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71852", + "name": "Panki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7485906, 50.8965978] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71860", + "name": "Krzepice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6971161, 50.9691339] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71886", + "name": "Janinów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6055648, 51.0559123] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL71944", + "name": "Kłobuck", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9234568, 50.9089907] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7195", + "name": "Szymankowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9275111, 54.0727108] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72025", + "name": "Działoszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9142886, 51.116973] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72058", + "name": "Chorzew Siemkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9411517, 51.2096366] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72066", + "name": "Boronów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9014251, 50.6653812] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72108", + "name": "Kalety", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8882607, 50.5663493] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72124", + "name": "Koszęcin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8358583, 50.6229914] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72207", + "name": "Chorzów Stary", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9569566, 50.3168303] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72272", + "name": "Chorzów Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9492704, 50.2984743] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72306", + "name": "Bytom", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9152842, 50.3430235] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL72900", + "name": "Katowice Ligota", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9778134, 50.2260023] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7302", + "name": "Pruszcz Gdański", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6469706, 54.2572262] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73106", + "name": "Chorzów Batory", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9449635, 50.278276] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73312", + "name": "Katowice", + "type": "rail", + "importance": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0171456, 50.2576071] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73403", + "name": "Sosnowiec Dańdówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1727723, 50.2655094] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73478", + "name": "Sosnowiec Południowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1253609, 50.2697299] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73502", + "name": "Mysłowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1416677, 50.2378389] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73619", + "name": "Katowice Zawodzie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0574498, 50.2572998] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73676", + "name": "Mysłowice Brzezinka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1545344, 50.1971369] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73700", + "name": "Tychy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9641781, 50.1357681] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL73908", + "name": "Jaworzno Szczakowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2975531, 50.2463323] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74104", + "name": "Sosnowiec Maczki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2697409, 50.2616765] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74161", + "name": "Dąbrowa Górnicza Południowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2872836, 50.3123043] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74203", + "name": "Bukowno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4594836, 50.2639841] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74252", + "name": "Sławków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3746476, 50.2949248] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7427", + "name": "Stara Piła", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4130501, 54.3264791] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74294", + "name": "Olkusz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5704293, 50.2744103] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74310", + "name": "Jaroszowiec Olkuski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6218089, 50.3422847] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74377", + "name": "Wolbrom", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7725255, 50.375873] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7443", + "name": "Gdańsk Kokoszki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.4921682, 54.3623346] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74500", + "name": "Dąbrowa Górnicza Ząbkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2646845, 50.3665939] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74583", + "name": "Dąbrowa Górnicza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1848234, 50.330374] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74658", + "name": "Sosnowiec Główny", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1263859, 50.27895] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74815", + "name": "Dąbrowa Górnicza Strzemieszyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2685547, 50.3108201] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74880", + "name": "Dąbrowa Górnicza Wschodnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3112813, 50.3033648] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL74971", + "name": "Sosnowiec Kazimierz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2315955, 50.2886411] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7500", + "name": "Gdańsk Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6441946, 54.3564345] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75200", + "name": "Łazy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3918857, 50.4300849] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75309", + "name": "Zawiercie", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4231622, 50.4806373] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7534", + "name": "Gdańsk Wrzeszcz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6055111, 54.3817696] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75374", + "name": "Siewierz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.237436, 50.4792797] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75424", + "name": "Myszków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3290231, 50.5743116] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75507", + "name": "Zebrzydowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6216353, 49.8715401] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75580", + "name": "Kaczyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6102284, 49.8320901] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75648", + "name": "Cieszyn Marklowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6039924, 49.7846361] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75655", + "name": "Cieszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6359305, 49.7513089] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75762", + "name": "Pierściec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8133522, 49.8304442] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75788", + "name": "Skoczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7899718, 49.7933641] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75796", + "name": "Chybie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8090548, 49.8929501] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75853", + "name": "Pruchna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6883636, 49.8787706] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75879", + "name": "Strumień", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7534444, 49.9112237] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL75903", + "name": "Pszczyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9534358, 49.974984] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76000", + "name": "Czechowice-Dziedzice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0073267, 49.9154901] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76109", + "name": "Bielsko-Biała Główna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0453155, 49.8298605] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76158", + "name": "Bielsko-Biała Wschód", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0585768, 49.8346579] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76182", + "name": "Kozy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1426467, 49.8497339] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76232", + "name": "Kęty", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2267688, 49.880666] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76273", + "name": "Andrychów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3533583, 49.8557919] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76349", + "name": "Bielsko-Biała Leszczyny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.060798, 49.7970632] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76372", + "name": "Wilkowice Bystra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0882156, 49.7600222] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76604", + "name": "Żywiec", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1856696, 49.6791207] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76638", + "name": "Żywiec Sporysz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.222331, 49.6763068] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76653", + "name": "Jeleśnia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3209664, 49.652422] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76737", + "name": "Węgierska Górka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1188449, 49.603627] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76778", + "name": "Milówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0935492, 49.5550153] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76786", + "name": "Rajcza", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1122173, 49.5171209] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76836", + "name": "Sól", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0507018, 49.4946374] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76869", + "name": "Zwardoń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.9771581, 49.50426] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76901", + "name": "Goleszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7494002, 49.747059] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76950", + "name": "Ustroń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8018957, 49.7279816] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL76992", + "name": "Wisła Uzdrowisko", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8544783, 49.658645] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77040", + "name": "Wisła Głębce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8760729, 49.6216894] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77057", + "name": "Ustroń Polana", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.8302005, 49.6964127] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77107", + "name": "Oświęcim", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2003711, 50.0420749] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77222", + "name": "Brzeszcze Jawiszowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1284619, 49.9722976] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77271", + "name": "Nowy Bieruń", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1854589, 50.0730572] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77339", + "name": "Imielin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1763557, 50.1415114] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77461", + "name": "Dwory", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2856105, 50.0455012] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77503", + "name": "Trzebinia", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4529565, 50.1541226] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77701", + "name": "Krzeszowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6361612, 50.1307695] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77800", + "name": "Chrzanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3982012, 50.1332834] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77909", + "name": "Libiąż", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3261825, 50.1131465] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL77958", + "name": "Chełmek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2542117, 50.0993583] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78006", + "name": "Spytkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.476835, 49.9951141] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78048", + "name": "Brzeźnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6279174, 49.9674435] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78121", + "name": "Przeciszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3688911, 50.0134497] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78204", + "name": "Wadowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5016523, 49.8853687] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78345", + "name": "Kalwaria Zebrzydowska Lanckorona", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6886185, 49.8711791] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78402", + "name": "Sucha Beskidzka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5807161, 49.7406266] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78436", + "name": "Lachowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.5035978, 49.7234461] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78469", + "name": "Stronie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6690954, 49.8336147] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78477", + "name": "Stryszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.62187, 49.8255815] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78535", + "name": "Maków Podhalański", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.6768811, 49.7269257] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78568", + "name": "Osielec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.755781, 49.6749774] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78584", + "name": "Jordanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8328607, 49.6376556] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78709", + "name": "Chabówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9372835, 49.5970595] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7872", + "name": "Malbork", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0431501, 54.0359714] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL7880", + "name": "Stare Pole", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.2056865, 54.05334] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78824", + "name": "Raba Wyżna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8818289, 49.5657148] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78840", + "name": "Sieniawa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9225368, 49.5389829] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78907", + "name": "Nowy Targ", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0158605, 49.4725781] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78931", + "name": "Lasek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9797929, 49.4986106] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78956", + "name": "Szaflary", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0171168, 49.4403437] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78964", + "name": "Biały Dunajec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0071846, 49.3762155] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL78980", + "name": "Poronin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0035237, 49.3432232] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79020", + "name": "Zakopane", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9630396, 49.3007678] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79236", + "name": "Kraków Batowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9954682, 50.1075321] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79327", + "name": "Zastów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0690701, 50.1237784] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79368", + "name": "Niedźwiedź", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0809326, 50.204323] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79384", + "name": "Słomniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.063701, 50.24943] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79467", + "name": "Miechów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0107404, 50.3535965] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79525", + "name": "Podłęże", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.16906, 50.0181184] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79657", + "name": "Bochnia", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4309729, 49.9773387] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79681", + "name": "Kłaj", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3013956, 50.0017237] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79806", + "name": "Brzesko Okocim", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6093415, 49.9867628] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79905", + "name": "Kraków Płaszów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9747852, 50.0350214] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL79947", + "name": "Kraków Bieżanów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0298488, 50.0214997] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80002", + "name": "Kraków Bonarka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9464698, 50.0298423] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80101", + "name": "Skawina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8229488, 49.9773429] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80127", + "name": "Podbory Skawińskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7734951, 49.9665908] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80150", + "name": "Radziszów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8091978, 49.9177493] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80176", + "name": "Leńcze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7299591, 49.8920749] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL802", + "name": "Szczecin Podjuchy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5856609, 53.3599669] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80333", + "name": "Kraków Mydlniki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.8597855, 50.0835874] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80390", + "name": "Zabierzów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.7983574, 50.1180111] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80416", + "name": "Kraków Główny", + "type": "rail", + "importance": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [19.9478862, 50.0684238] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80440", + "name": "Wieliczka Park", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.0493336, 49.9891052] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80630", + "name": "Tarnów", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9751174, 50.0052884] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80663", + "name": "Bogumiłowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8727561, 50.0075192] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80671", + "name": "Tarnów Mościce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9239433, 50.0064054] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8078", + "name": "Mleczewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.1229124, 53.9137425] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8086", + "name": "Sztum", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.0211281, 53.9243063] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80929", + "name": "Wola Rzędzińska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0723679, 50.0352195] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80952", + "name": "Łowczówek Pleśna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9495946, 49.9279064] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL80986", + "name": "Tuchów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0556784, 49.892157] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81059", + "name": "Gromnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9611525, 49.8343931] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81067", + "name": "Bogoniowice Ciężkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9765428, 49.7984243] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81091", + "name": "Bobowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9576528, 49.7167724] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81208", + "name": "Dębica", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4041528, 50.0539304] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81232", + "name": "Ropczyce", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5798601, 50.0783583] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81265", + "name": "Sędziszów Małopolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6928596, 50.0754413] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81331", + "name": "Rudna Wielka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9414999, 50.0811] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81364", + "name": "Kochanówka Pustków", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4923542, 50.1112994] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81448", + "name": "Rzochów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4954083, 50.240007] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81505", + "name": "Mielec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4296964, 50.2926787] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8151", + "name": "Elbląg", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [19.4155509, 54.1509826] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81604", + "name": "Stróże", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9761298, 49.6548458] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81653", + "name": "Wola Łużańska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0595573, 49.6940214] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81679", + "name": "Grybów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.957127, 49.6259905] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81687", + "name": "Ptaszkowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8816083, 49.6033821] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81703", + "name": "Gorlice Zagórzany", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1954305, 49.6941177] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81760", + "name": "Gorlice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.1625883, 49.6634514] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81786", + "name": "Biecz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.2638564, 49.7328492] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81836", + "name": "Siepietnica", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.296874, 49.754506] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81844", + "name": "Skołyszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3392586, 49.7451133] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81901", + "name": "Nowy Sącz", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7026731, 49.6065321] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81935", + "name": "Nowy Sącz Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6901345, 49.6213196] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81943", + "name": "Nowy Sącz Chełmiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6772249, 49.6298274] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL81950", + "name": "Marcinkowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.660796, 49.6711454] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82032", + "name": "Stary Sącz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6433212, 49.5596814] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82073", + "name": "Rytro", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6802285, 49.4863481] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82115", + "name": "Piwniczna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7177333, 49.4316718] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82131", + "name": "Kamionka Wielka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7814241, 49.5780239] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8227", + "name": "Gronowo Elbląskie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [19.3059519, 54.0900141] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82404", + "name": "Muszyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8933507, 49.3456458] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82453", + "name": "Powroźnik", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9397752, 49.3681641] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82487", + "name": "Krynica-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9571479, 49.4096311] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82529", + "name": "Żegiestów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7852637, 49.3675633] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82602", + "name": "Rzeszów Staroniwa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9897333, 50.038491] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82636", + "name": "Strażów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.1145204, 50.0674241] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82669", + "name": "Rzeszów Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0060864, 50.0429915] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82727", + "name": "Boguchwała", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9345302, 49.9842936] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82768", + "name": "Czudec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8333148, 49.9403101] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82784", + "name": "Strzyżów nad Wisłokiem", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.8015116, 49.8692563] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL828", + "name": "Daleszewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.5290783, 53.3062847] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82859", + "name": "Frysztak", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.6181809, 49.8315538] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82941", + "name": "Głogów Małopolski", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.9596092, 50.1473563] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL82974", + "name": "Kolbuszowa", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7850466, 50.2454136] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83022", + "name": "Łańcut", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.226396, 50.0817497] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83055", + "name": "Rogóżno koło Łańcuta", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.362513, 50.0835725] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83105", + "name": "Przeworsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.5052882, 50.0669958] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83170", + "name": "Grodzisko Dolne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.5087246, 50.1700684] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83220", + "name": "Leżajsk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.4199891, 50.2638262] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83246", + "name": "Nowa Sarzyna", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.3483908, 50.3202373] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83261", + "name": "Jarosław", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.6783904, 50.0106216] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83337", + "name": "Przysieki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.3938577, 49.7329826] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83352", + "name": "Jasło Niegłowice", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4509854, 49.7261437] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83360", + "name": "Tarnowiec", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.5778774, 49.7362492] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83394", + "name": "Jedlicze", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.647978, 49.7190286] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83410", + "name": "Jasło", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.4703978, 49.7374629] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83501", + "name": "Krosno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.7488961, 49.6937173] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83600", + "name": "Sanok", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2114867, 49.5527732] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83725", + "name": "Zarszyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.0195565, 49.5841665] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL83758", + "name": "Zagórz", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.2643414, 49.5134532] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8409", + "name": "Pelplin", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.707277, 53.9269222] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84301", + "name": "Radymno", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8283212, 49.939721] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8433", + "name": "Morzeszczyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6862241, 53.836734] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL844", + "name": "Dolna Odra", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4809594, 53.2113111] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84400", + "name": "Przemyśl Główny", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7801519, 49.78361] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84707", + "name": "Munina", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.7185464, 49.9903288] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84731", + "name": "Bobrówka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [22.8592043, 50.049699] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8474", + "name": "Smętowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6858934, 53.747959] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84780", + "name": "Lubaczów", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.1257623, 50.1658122] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84848", + "name": "Horyniec-Zdrój", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.3568578, 50.1943976] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84863", + "name": "Werchrata", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.4872942, 50.2479666] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL84954", + "name": "Hrebenne", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [23.5760254, 50.2983736] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL851", + "name": "Gryfino", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4929615, 53.2541187] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8532", + "name": "Subkowy", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.7535814, 53.9861304] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8607", + "name": "Starogard Gdański", + "type": "rail", + "importance": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [18.5257736, 53.977148] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8680", + "name": "Zblewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.3053339, 53.942726] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8706", + "name": "Swarożyn", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.6561771, 54.0380451] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8904", + "name": "Czersk", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.970593, 53.8007219] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL893", + "name": "Krzywin Gryfiński", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [14.4537571, 53.0884325] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8946", + "name": "Rytel", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [17.7251246, 53.7482309] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8961", + "name": "Czarna Woda", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1086364, 53.8512071] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL8995", + "name": "Kaliska", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.2153931, 53.9026339] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9027", + "name": "Szlachta", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [18.1197385, 53.7628915] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9209", + "name": "Olsztyn Główny", + "type": "rail", + "importance": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4976658, 53.785741] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9282", + "name": "Dobre Miasto", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3853929, 53.982951] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9357", + "name": "Łęgajny", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6172628, 53.8211024] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9365", + "name": "Barczewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7002972, 53.8447536] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9381", + "name": "Marcinkowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.6711354, 53.6954252] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9399", + "name": "Pasym", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.7646162, 53.6322479] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9431", + "name": "Gągławki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4372063, 53.6802225] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9456", + "name": "Olsztynek", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.2948244, 53.5845081] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9464", + "name": "Waplewo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.355646, 53.5112827] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9514", + "name": "Olsztyn Gutkowo", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.4036807, 53.8088286] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9555", + "name": "Gamerki Wielkie", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.1385158, 53.8449437] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9613", + "name": "Naterki", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.3765866, 53.7462203] + } + }, + { + "type": "Feature", + "properties": { + "id": "PL9704", + "name": "Czerwonka", + "type": "rail", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.8927653, 53.9139888] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM001", + "name": "Ratusz-Arsenał", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0008823, 52.2452163] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM002", + "name": "Marymont", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9719399, 52.2715768] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM003", + "name": "Stare Bielany", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9493511, 52.2818277] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM004", + "name": "Wawrzyszew", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.939515, 52.2863474] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM005", + "name": "Młociny", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9298678, 52.2907703] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM006", + "name": "Słodowiec", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9601259, 52.2768261] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM007", + "name": "Dworzec Wileński", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0357972, 52.2537771] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM008", + "name": "Stadion Narodowy", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.042847, 52.2468346] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM009", + "name": "Centrum Nauki Kopernik", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0317878, 52.2399148] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM010", + "name": "Nowy Świat-Uniwersytet", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0168168, 52.2368196] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM011", + "name": "Rondo ONZ", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9981024, 52.2330735] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM012", + "name": "Rondo Daszyńskiego", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9828946, 52.2300827] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM013", + "name": "Kabaty", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0650711, 52.1320765] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM014", + "name": "Stokłosy", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0347233, 52.1560759] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM015", + "name": "Natolin", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0564351, 52.1411007] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM016", + "name": "Imielin", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0461062, 52.1493] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM017", + "name": "Ursynów", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0276283, 52.1620456] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM018", + "name": "Służew", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0262866, 52.1727624] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM019", + "name": "Racławicka", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0122349, 52.1988637] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM020", + "name": "Wierzbno", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0167966, 52.1898719] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM021", + "name": "Wilanowska", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0231452, 52.1818168] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM022", + "name": "Pole Mokotowskie", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0079298, 52.2087775] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM023", + "name": "Politechnika", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0153031, 52.2186581] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM024", + "name": "Centrum", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.010186, 52.2310069] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM025", + "name": "Dworzec Gdański", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9941857, 52.2580586] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM026", + "name": "Plac Wilsona", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9844973, 52.2692619] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM027", + "name": "Płocka", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9663847, 52.2324542] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM028", + "name": "Trocka", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0550586, 52.2751021] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM029", + "name": "Świętokrzyska", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0078988, 52.2350954] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM030", + "name": "Księcia Janusza", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9443771, 52.2391822] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM031", + "name": "Młynów", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9601048, 52.2376624] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM032", + "name": "Szwedzka", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0455232, 52.2634709] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM033", + "name": "Targówek Mieszkaniowy", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0513658, 52.2692518] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM034", + "name": "Bemowo", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9154991, 52.2392071] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM035", + "name": "Ulrychów", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [20.9298652, 52.2403314] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM036", + "name": "Bródno", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0289387, 52.293585] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM037", + "name": "Kondratowicza", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.0486889, 52.2920848] + } + }, + { + "type": "Feature", + "properties": { + "id": "PLM038", + "name": "Zacisze", + "type": "metro", + "importance": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [21.062148, 52.2837496] + } + }, { "type": "Feature", "properties": { From f4727344146ac14471a1201d4847328c5b15f8fd Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 09:46:31 +0200 Subject: [PATCH 02/16] feat: Add Poland to country map and ID prefixes --- packages/data/src/countries.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/data/src/countries.ts b/packages/data/src/countries.ts index cae49a60..f49c0c53 100644 --- a/packages/data/src/countries.ts +++ b/packages/data/src/countries.ts @@ -10,6 +10,7 @@ export const COUNTRY_MAP = { se: "Sweden", dk: "Denmark", de: "Germany", + pl: "Poland", } as const; export type CountryCode = keyof typeof COUNTRY_MAP; @@ -42,6 +43,8 @@ const ID_PREFIX_TO_COUNTRY: Record = { DKM: "dk", DE: "de", DEM: "de", + PL: "pl", + PLM: "pl", }; /** Get country from a station ID. Returns code by default, or full name with `format: "name"` */ From 95193bf997483ba3b38a2c815177b9f116196080 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 09:46:49 +0200 Subject: [PATCH 03/16] feat: Add Poland train scraper and API key support - Add PLK_API_KEY binding to env.ts to enable Polish rail data - Implement Poland scraper (poland.ts) to fetch operations, map to Train - Register scraper in apps/api/src/scrapers/index.ts - Log fetch errors in fetch.ts to aid debugging of scraper failures --- apps/api/src/lib/env.ts | 1 + apps/api/src/scrapers/fetch.ts | 6 + apps/api/src/scrapers/index.ts | 2 + apps/api/src/scrapers/poland.ts | 272 ++++++++++++++++++++++++++++++++ 4 files changed, 281 insertions(+) create mode 100644 apps/api/src/scrapers/poland.ts diff --git a/apps/api/src/lib/env.ts b/apps/api/src/lib/env.ts index 6c024f85..e64f4f86 100644 --- a/apps/api/src/lib/env.ts +++ b/apps/api/src/lib/env.ts @@ -10,6 +10,7 @@ export type Bindings = { LDBWS_API_KEY: string; TRAFIKLAB_KEY: string; REJSEPLANEN_API_KEY: string; + PLK_API_KEY: string; MAPBOX_TOKEN: string; }; diff --git a/apps/api/src/scrapers/fetch.ts b/apps/api/src/scrapers/fetch.ts index 2ed7ae03..e9273759 100644 --- a/apps/api/src/scrapers/fetch.ts +++ b/apps/api/src/scrapers/fetch.ts @@ -19,6 +19,12 @@ export async function fetchWithTimeout( const fetchError = error instanceof Error ? error : new Error(String(error)); const fetchMs = performance.now() - startTime; clearTimeout(timeoutId); + console.error(`[${regionLabel} fetch failed]`, { + url, + message: fetchError.message, + name: fetchError.name, + cause: fetchError.cause, + }); if (fetchError.name === "AbortError") { throw new ScraperError( diff --git a/apps/api/src/scrapers/index.ts b/apps/api/src/scrapers/index.ts index 2a965278..c4f9944c 100644 --- a/apps/api/src/scrapers/index.ts +++ b/apps/api/src/scrapers/index.ts @@ -13,6 +13,7 @@ import { scrapeSwedenTrains } from "./sweden"; import { scrapeUKTrains } from "./uk"; import { scrapeGermanTrains } from "./germany"; import { scrapeDenmarkTrains } from "./denmark"; +import { scrapePolandTrains } from "./poland"; export interface ScraperTiming { fetchMs: number; @@ -63,6 +64,7 @@ const scrapers: Partial> = { uk: scrapeUKTrains, de: scrapeGermanTrains, dk: scrapeDenmarkTrains, + pl: scrapePolandTrains, }; export function getScraperForStation(stationId: string): ScrapeFn | null { diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts new file mode 100644 index 00000000..4cc861ca --- /dev/null +++ b/apps/api/src/scrapers/poland.ts @@ -0,0 +1,272 @@ +import type { Train } from "@repo/data"; + +import { ScraperError, formatTime, type ScrapeResult } from "./index"; +import { fetchWithTimeout } from "./fetch"; + +const POLAND_BASE_URL = "https://pdp-api.plk-sa.pl/api/v1"; +const POLAND_TIMEZONE = "Europe/Warsaw"; +const TRAIN_LIMIT = 24; +const RECENT_WINDOW_MS = 10 * 60 * 1000; +const POLAND_HEADERS = { + Accept: "application/json", +}; + +type PolandBoardType = "arrivals" | "departures"; + +interface PolandOperationResponse { + generatedAt: string; + trains?: PolandOperationTrain[] | null; + stations?: Record | null; +} + +interface PolandOperationTrain { + scheduleId: number; + orderId: number; + trainOrderId: number; + operatingDate: string; + trainStatus?: string | null; + stations?: PolandOperationStop[] | null; +} + +interface PolandOperationStop { + stationId: number; + plannedSequenceNumber?: number | null; + actualSequenceNumber: number; + plannedArrival?: string | null; + plannedDeparture?: string | null; + arrivalDelayMinutes?: number | null; + departureDelayMinutes?: number | null; + actualArrival?: string | null; + actualDeparture?: string | null; + isConfirmed: boolean; + isCancelled: boolean; +} + +interface ParsedTimeSpan { + display: string; + sortMinutes: number; +} + +interface MappedTrain { + key: string; + train: Train; + sortMinutes: number; +} + +function toPolandStationNumber(stationId: string): number { + const numericPart = stationId.replace(/^[A-Z]+/, ""); + if (!/^\d+$/.test(numericPart)) { + throw new ScraperError("Unknown Polish station.", 404); + } + return Number(numericPart); +} + +function buildPolandUrl(path: string, params: Record): string { + const url = new URL(`${POLAND_BASE_URL}${path}`); + for (const [key, value] of Object.entries(params)) { + url.searchParams.set(key, String(value)); + } + return url.toString(); +} + +function routeKey(scheduleId: number, orderId: number): string { + return `${scheduleId}:${orderId}`; +} + +function getOperationPlannedTime( + stop: PolandOperationStop | undefined, + type: PolandBoardType, +): ParsedTimeSpan | null { + const plannedTime = getPlannedEventTime(stop, type); + if (!plannedTime) return null; + + return parseIsoTime(plannedTime); +} + +function getPlannedEventTime( + stop: PolandOperationStop | undefined, + type: PolandBoardType, +): string | null { + if (!stop) return null; + return type === "departures" ? (stop.plannedDeparture ?? null) : (stop.plannedArrival ?? null); +} + +function parseIsoTime(value: string | null): ParsedTimeSpan | null { + if (!value) return null; + const date = new Date(value); + const timestamp = date.getTime(); + if (Number.isNaN(timestamp)) return null; + + const parts = new Intl.DateTimeFormat("en-GB", { + hour: "2-digit", + minute: "2-digit", + hour12: false, + timeZone: POLAND_TIMEZONE, + }).formatToParts(date); + const hours = Number(parts.find((part) => part.type === "hour")?.value ?? 0); + const minutes = Number(parts.find((part) => part.type === "minute")?.value ?? 0); + + return { + display: `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`, + sortMinutes: hours * 60 + minutes, + }; +} + +function getDelay(stop: PolandOperationStop | undefined, type: PolandBoardType): number | null { + if (!stop) return null; + + const delay = type === "departures" ? stop.departureDelayMinutes : stop.arrivalDelayMinutes; + return delay != null && delay > 0 ? delay : null; +} + +function getActualEventTime( + stop: PolandOperationStop | undefined, + type: PolandBoardType, +): string | null { + if (!stop) return null; + return type === "departures" ? (stop.actualDeparture ?? null) : (stop.actualArrival ?? null); +} + +function getStatus(stop: PolandOperationStop | undefined, type: PolandBoardType): Train["status"] { + if (!stop) return null; + if (stop.isCancelled) return "cancelled"; + + const actualTime = getActualEventTime(stop, type); + if (!actualTime) return null; + + const timestamp = new Date(actualTime).getTime(); + const now = Date.now(); + const fiveMinutes = 5 * 60 * 1000; + + if (timestamp >= now - fiveMinutes && timestamp <= now + fiveMinutes) { + return type === "departures" ? "departing" : "incoming"; + } + + return null; +} + +function shouldIncludeTrain( + operation: PolandOperationTrain, + stop: PolandOperationStop | undefined, + type: PolandBoardType, +): boolean { + if (!stop) return false; + if (stop.isCancelled) return true; + + const actualTime = getActualEventTime(stop, type); + if (actualTime) { + return new Date(actualTime).getTime() >= Date.now() - RECENT_WINDOW_MS; + } + + return operation.trainStatus?.toLowerCase() !== "completed"; +} + +function getTrainInfo( + operation: PolandOperationTrain, + stop: PolandOperationStop | undefined, +): string | null { + if (stop && !stop.isConfirmed) return "Awaiting confirmation"; + + const status = operation.trainStatus?.trim(); + if (!status) return null; + + const normalized = status.toLowerCase().replace(/[\s_-]+/g, ""); + if (normalized === "partialcancelled") return "Partially cancelled"; + if (normalized === "cancelled") return "Cancelled"; + + return null; +} + + +function mapTrain( + operation: PolandOperationTrain, + currentStationId: number, + type: PolandBoardType, +): MappedTrain | null { + const operationStop = operation.stations?.find((stop) => stop.stationId === currentStationId); + if (!shouldIncludeTrain(operation, operationStop, type)) return null; + + const scheduled = getOperationPlannedTime(operationStop, type); + const actual = getActualEventTime(operationStop, type); + + const train: Train = { + brand: null, + category: null, + trainNumber: String(operation.trainOrderId), + scheduledTime: scheduled?.display ?? formatTime(actual, POLAND_TIMEZONE), + delay: getDelay(operationStop, type), + platform: null, + status: getStatus(operationStop, type), + info: getTrainInfo(operation, operationStop), + }; + + return { + key: `${routeKey(operation.scheduleId, operation.orderId)}:${operation.operatingDate}`, + train, + sortMinutes: scheduled?.sortMinutes ?? Number.MAX_SAFE_INTEGER, + }; +} + +export async function scrapePolandTrains( + stationId: string, + type: PolandBoardType = "departures", + env?: Record, +): Promise { + const apiKey = env?.PLK_API_KEY as string | undefined; + if (!apiKey) { + throw new ScraperError("Polish train data source is not configured.", 500); + } + + const stationNumber = toPolandStationNumber(stationId); + const operationsUrl = buildPolandUrl("/operations", { + stations: stationNumber, + withPlanned: true, + pageSize: TRAIN_LIMIT, + }); + + const { response: operationsResponse, fetchMs: operationsFetchMs } = await fetchWithTimeout( + operationsUrl, + "Polish", + { + headers: { + ...POLAND_HEADERS, + "X-API-Key": apiKey, + }, + }, + ); + + const operationsData: PolandOperationResponse = await operationsResponse.json(); + const operations = operationsData.trains ?? []; + const stationOperations = operations.filter((operation) => { + const stop = operation.stations?.find((item) => item.stationId === stationNumber); + return shouldIncludeTrain(operation, stop, type); + }); + + if (stationOperations.length === 0) { + return { + trains: [], + info: null, + timing: { fetchMs: operationsFetchMs }, + }; + } + + const seen = new Set(); + + const trains = stationOperations + .map((operation) => mapTrain(operation, stationNumber, type)) + .filter((entry): entry is MappedTrain => entry !== null) + .sort((a, b) => a.sortMinutes - b.sortMinutes) + .filter((entry) => { + if (seen.has(entry.key)) return false; + seen.add(entry.key); + return true; + }) + .slice(0, TRAIN_LIMIT) + .map((entry) => entry.train); + + return { + trains, + info: null, + timing: { fetchMs: operationsFetchMs }, + }; +} From 2d553504b81c95f55f03acdfb8c6048cd486f2ed Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 09:53:49 +0200 Subject: [PATCH 04/16] fix: Remove obsolete stations from stations.geojson --- apps/api/src/scrapers/poland.ts | 1 - packages/data/src/stations.geojson | 52 ------------------------------ 2 files changed, 53 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index 4cc861ca..fe2e4eb6 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -177,7 +177,6 @@ function getTrainInfo( return null; } - function mapTrain( operation: PolandOperationTrain, currentStationId: number, diff --git a/packages/data/src/stations.geojson b/packages/data/src/stations.geojson index 2c046272..90c13a00 100644 --- a/packages/data/src/stations.geojson +++ b/packages/data/src/stations.geojson @@ -176827,19 +176827,6 @@ "coordinates": [22.8629134, 49.7851816] } }, - { - "type": "Feature", - "properties": { - "id": "PL178501", - "name": "Kępno", - "type": "rail", - "importance": 4 - }, - "geometry": { - "type": "Point", - "coordinates": [18.0014127, 51.2919541] - } - }, { "type": "Feature", "properties": { @@ -185784,19 +185771,6 @@ "coordinates": [17.4708931, 50.8529011] } }, - { - "type": "Feature", - "properties": { - "id": "PL62133", - "name": "Lewin Brzeski", - "type": "rail", - "importance": 4 - }, - "geometry": { - "type": "Point", - "coordinates": [17.6153236, 50.7581502] - } - }, { "type": "Feature", "properties": { @@ -185862,32 +185836,6 @@ "coordinates": [19.1069996, 50.7973211] } }, - { - "type": "Feature", - "properties": { - "id": "PL62836", - "name": "Częstochowa Gnaszyn", - "type": "rail", - "importance": 4 - }, - "geometry": { - "type": "Point", - "coordinates": [19.0291879, 50.7915853] - } - }, - { - "type": "Feature", - "properties": { - "id": "PL62844", - "name": "Blachownia", - "type": "rail", - "importance": 4 - }, - "geometry": { - "type": "Point", - "coordinates": [18.9695889, 50.7738933] - } - }, { "type": "Feature", "properties": { From 3b8f148a6ca940378a71af498b8551cfb57b86da Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 14:20:15 +0200 Subject: [PATCH 05/16] fix: Remove fetch error logging in fetchWithTimeout --- apps/api/src/scrapers/fetch.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/api/src/scrapers/fetch.ts b/apps/api/src/scrapers/fetch.ts index e9273759..2ed7ae03 100644 --- a/apps/api/src/scrapers/fetch.ts +++ b/apps/api/src/scrapers/fetch.ts @@ -19,12 +19,6 @@ export async function fetchWithTimeout( const fetchError = error instanceof Error ? error : new Error(String(error)); const fetchMs = performance.now() - startTime; clearTimeout(timeoutId); - console.error(`[${regionLabel} fetch failed]`, { - url, - message: fetchError.message, - name: fetchError.name, - cause: fetchError.cause, - }); if (fetchError.name === "AbortError") { throw new ScraperError( From 1e20be76f34e53b12f8eda8302e9bd49a9c912d6 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 14:26:31 +0200 Subject: [PATCH 06/16] feat: Integrate Poland schedule data into scraper - Add PolandSchedule interfaces and helper to derive route endpoints - Fetch schedules in parallel with operations and build route map - Pass schedule to mapTrain to populate trainNumber and platform - Use endpoint names as origin or destination when available - Return combined fetch timing for trains and schedules --- apps/api/src/scrapers/poland.ts | 127 +++++++++++++++++++++++++++----- 1 file changed, 108 insertions(+), 19 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index fe2e4eb6..93f03e4e 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -42,6 +42,34 @@ interface PolandOperationStop { isCancelled: boolean; } +interface PolandScheduleResponse { + routes?: PolandScheduleRoute[] | null; + dictionaries?: { + stations?: Record | null; + } | null; +} + +interface PolandScheduleRoute { + scheduleId: number; + orderId: number; + name?: string | null; + carrierCode?: string | null; + nationalNumber?: string | null; + commercialCategorySymbol?: string | null; + stations?: PolandScheduleStop[] | null; +} + +interface PolandScheduleStop { + stationId: number; + orderNumber: number; + arrivalTrainNumber?: string | null; + arrivalPlatform?: string | null; + arrivalCommercialCategory?: string | null; + departureTrainNumber?: string | null; + departurePlatform?: string | null; + departureCommercialCategory?: string | null; +} + interface ParsedTimeSpan { display: string; sortMinutes: number; @@ -181,20 +209,47 @@ function mapTrain( operation: PolandOperationTrain, currentStationId: number, type: PolandBoardType, + schedule: PolandScheduleRoute | undefined, + stationDict: Record, ): MappedTrain | null { const operationStop = operation.stations?.find((stop) => stop.stationId === currentStationId); if (!shouldIncludeTrain(operation, operationStop, type)) return null; const scheduled = getOperationPlannedTime(operationStop, type); const actual = getActualEventTime(operationStop, type); + const scheduleStop = schedule?.stations?.find((stop) => stop.stationId === currentStationId); + + const trainNumber = + (type === "departures" ? scheduleStop?.departureTrainNumber : scheduleStop?.arrivalTrainNumber) ?? + schedule?.nationalNumber ?? + String(operation.trainOrderId); + + const category = + (type === "departures" + ? scheduleStop?.departureCommercialCategory + : scheduleStop?.arrivalCommercialCategory) ?? + schedule?.commercialCategorySymbol ?? + null; + + const platform = + (type === "departures" ? scheduleStop?.departurePlatform : scheduleStop?.arrivalPlatform) ?? null; + + const endpointName = getRouteEndpointName(schedule, currentStationId, type, stationDict); const train: Train = { - brand: null, - category: null, - trainNumber: String(operation.trainOrderId), + brand: schedule?.name ?? null, + category, + trainNumber, + ...(type === "departures" + ? endpointName + ? { destination: endpointName } + : {} + : endpointName + ? { origin: endpointName } + : {}), scheduledTime: scheduled?.display ?? formatTime(actual, POLAND_TIMEZONE), delay: getDelay(operationStop, type), - platform: null, + platform, status: getStatus(operationStop, type), info: getTrainInfo(operation, operationStop), }; @@ -206,6 +261,22 @@ function mapTrain( }; } +function getRouteEndpointName( + schedule: PolandScheduleRoute | undefined, + currentStationId: number, + type: PolandBoardType, + stationDict: Record, +): string | null { + const stops = schedule?.stations; + if (!stops || stops.length === 0) return null; + + const sorted = [...stops].sort((a, b) => a.orderNumber - b.orderNumber); + const endpoint = type === "departures" ? sorted[sorted.length - 1] : sorted[0]; + if (!endpoint || endpoint.stationId === currentStationId) return null; + + return stationDict[String(endpoint.stationId)]?.name ?? null; +} + export async function scrapePolandTrains( stationId: string, type: PolandBoardType = "departures", @@ -222,19 +293,29 @@ export async function scrapePolandTrains( withPlanned: true, pageSize: TRAIN_LIMIT, }); + const schedulesUrl = buildPolandUrl("/schedules", { + stations: stationNumber, + fullRoute: true, + dictionaries: true, + }); + + const headers = { ...POLAND_HEADERS, "X-API-Key": apiKey }; + + const [operationsResult, schedulesResult] = await Promise.all([ + fetchWithTimeout(operationsUrl, "Polish", { headers }), + fetchWithTimeout(schedulesUrl, "Polish", { headers }), + ]); + + const operationsData: PolandOperationResponse = await operationsResult.response.json(); + const schedulesData: PolandScheduleResponse = await schedulesResult.response.json(); + const fetchMs = Math.max(operationsResult.fetchMs, schedulesResult.fetchMs); + + const scheduleMap = new Map(); + for (const route of schedulesData.routes ?? []) { + scheduleMap.set(routeKey(route.scheduleId, route.orderId), route); + } + const stationDict = schedulesData.dictionaries?.stations ?? {}; - const { response: operationsResponse, fetchMs: operationsFetchMs } = await fetchWithTimeout( - operationsUrl, - "Polish", - { - headers: { - ...POLAND_HEADERS, - "X-API-Key": apiKey, - }, - }, - ); - - const operationsData: PolandOperationResponse = await operationsResponse.json(); const operations = operationsData.trains ?? []; const stationOperations = operations.filter((operation) => { const stop = operation.stations?.find((item) => item.stationId === stationNumber); @@ -245,14 +326,22 @@ export async function scrapePolandTrains( return { trains: [], info: null, - timing: { fetchMs: operationsFetchMs }, + timing: { fetchMs }, }; } const seen = new Set(); const trains = stationOperations - .map((operation) => mapTrain(operation, stationNumber, type)) + .map((operation) => + mapTrain( + operation, + stationNumber, + type, + scheduleMap.get(routeKey(operation.scheduleId, operation.orderId)), + stationDict, + ), + ) .filter((entry): entry is MappedTrain => entry !== null) .sort((a, b) => a.sortMinutes - b.sortMinutes) .filter((entry) => { @@ -266,6 +355,6 @@ export async function scrapePolandTrains( return { trains, info: null, - timing: { fetchMs: operationsFetchMs }, + timing: { fetchMs }, }; } From f36229f4ee9be39fb9422e8c37208f2da4fa8b96 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 14:35:24 +0200 Subject: [PATCH 07/16] feat: Map Poland carriers to train brand --- apps/api/src/scrapers/poland.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index 93f03e4e..c2398c6e 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -11,6 +11,27 @@ const POLAND_HEADERS = { Accept: "application/json", }; +const POLAND_CARRIERS: Record = { + IC: "PKP Intercity", + PR: "POLREGIO", + KM: "KM", + KD: "KD", + KS: "KS", + KW: "KW", + KMŁ: "KMŁ", + ŁKA: "ŁKA", + SKMT: "SKM", + SKM_3M: "SKM", + SKM: "SKM", + WKD: "Warszawska Kolej Dojazdowa", + AR: "Arriva", + RP: "Railpolonia", + LEO: "Leo Express", + "Leo Express": "Leo Express", + RJ: "RegioJet", + ODEG: "ODEG", +}; + type PolandBoardType = "arrivals" | "departures"; interface PolandOperationResponse { @@ -236,8 +257,10 @@ function mapTrain( const endpointName = getRouteEndpointName(schedule, currentStationId, type, stationDict); + const brand = schedule?.carrierCode ? (POLAND_CARRIERS[schedule.carrierCode] ?? null) : null; + const train: Train = { - brand: schedule?.name ?? null, + brand, category, trainNumber, ...(type === "departures" From 018ea038f7834ffc7c7b29185e1029ad55247594 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 17:02:13 +0200 Subject: [PATCH 08/16] fix: Parse PL-prefixed Polish station IDs Enforce PL prefix (PLNN) when parsing Polish station IDs Compute stationNumber earlier in scrapePolandTrains Remove redundant reassignment of stationNumber --- apps/api/src/scrapers/poland.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index c2398c6e..af1e9b17 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -103,11 +103,11 @@ interface MappedTrain { } function toPolandStationNumber(stationId: string): number { - const numericPart = stationId.replace(/^[A-Z]+/, ""); - if (!/^\d+$/.test(numericPart)) { + const match = stationId.match(/^PL(\d+)$/); + if (!match) { throw new ScraperError("Unknown Polish station.", 404); } - return Number(numericPart); + return Number(match[1]); } function buildPolandUrl(path: string, params: Record): string { @@ -305,12 +305,12 @@ export async function scrapePolandTrains( type: PolandBoardType = "departures", env?: Record, ): Promise { + const stationNumber = toPolandStationNumber(stationId); const apiKey = env?.PLK_API_KEY as string | undefined; if (!apiKey) { throw new ScraperError("Polish train data source is not configured.", 500); } - const stationNumber = toPolandStationNumber(stationId); const operationsUrl = buildPolandUrl("/operations", { stations: stationNumber, withPlanned: true, From be48bb91bb5cccf5ae40763bb40959860d362b1c Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 17:04:26 +0200 Subject: [PATCH 09/16] fix: Refactor Poland scraper train inclusion logic --- apps/api/src/scrapers/poland.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index af1e9b17..1fcf61f6 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -200,9 +200,12 @@ function shouldIncludeTrain( type: PolandBoardType, ): boolean { if (!stop) return false; - if (stop.isCancelled) return true; + const plannedTime = getPlannedEventTime(stop, type); const actualTime = getActualEventTime(stop, type); + if (!plannedTime && !actualTime) return false; + if (stop.isCancelled) return true; + if (actualTime) { return new Date(actualTime).getTime() >= Date.now() - RECENT_WINDOW_MS; } From 53d1414a76b5cd6345a072a7d8b7d82fa77bc841 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Mon, 11 May 2026 17:05:49 +0200 Subject: [PATCH 10/16] fix: Rename sortMinutes to sortTime in Poland scraper --- apps/api/src/scrapers/poland.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index 1fcf61f6..a5956bcf 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -93,13 +93,13 @@ interface PolandScheduleStop { interface ParsedTimeSpan { display: string; - sortMinutes: number; + sortTime: number; } interface MappedTrain { key: string; train: Train; - sortMinutes: number; + sortTime: number; } function toPolandStationNumber(stationId: string): number { @@ -157,7 +157,7 @@ function parseIsoTime(value: string | null): ParsedTimeSpan | null { return { display: `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}`, - sortMinutes: hours * 60 + minutes, + sortTime: timestamp, }; } @@ -283,7 +283,7 @@ function mapTrain( return { key: `${routeKey(operation.scheduleId, operation.orderId)}:${operation.operatingDate}`, train, - sortMinutes: scheduled?.sortMinutes ?? Number.MAX_SAFE_INTEGER, + sortTime: scheduled?.sortTime ?? Number.MAX_SAFE_INTEGER, }; } @@ -369,7 +369,7 @@ export async function scrapePolandTrains( ), ) .filter((entry): entry is MappedTrain => entry !== null) - .sort((a, b) => a.sortMinutes - b.sortMinutes) + .sort((a, b) => a.sortTime - b.sortTime) .filter((entry) => { if (seen.has(entry.key)) return false; seen.add(entry.key); From dcb82650e156587719500adcbe52d6401e576b1e Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Tue, 12 May 2026 09:02:40 +0200 Subject: [PATCH 11/16] fix: Format Poland scraper mapTrain ternaries --- apps/api/src/scrapers/poland.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index a5956bcf..bf22b81a 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -244,7 +244,9 @@ function mapTrain( const scheduleStop = schedule?.stations?.find((stop) => stop.stationId === currentStationId); const trainNumber = - (type === "departures" ? scheduleStop?.departureTrainNumber : scheduleStop?.arrivalTrainNumber) ?? + (type === "departures" + ? scheduleStop?.departureTrainNumber + : scheduleStop?.arrivalTrainNumber) ?? schedule?.nationalNumber ?? String(operation.trainOrderId); @@ -256,7 +258,8 @@ function mapTrain( null; const platform = - (type === "departures" ? scheduleStop?.departurePlatform : scheduleStop?.arrivalPlatform) ?? null; + (type === "departures" ? scheduleStop?.departurePlatform : scheduleStop?.arrivalPlatform) ?? + null; const endpointName = getRouteEndpointName(schedule, currentStationId, type, stationDict); From 58e00c22a9e80ba7b266896cfdbdbfa36fc4eb8c Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Tue, 12 May 2026 09:53:19 +0200 Subject: [PATCH 12/16] feat: Add Polish brands and operators --- apps/web/components/brands.tsx | 14 ++ apps/web/public/brands/leo-express.svg | 1 + apps/web/public/brands/pl/pkp-intercity.svg | 1 + apps/web/public/brands/pl/polregio.svg | 1 + apps/web/public/brands/pl/railpolonia.svg | 1 + apps/web/public/brands/pl/skm.svg | 1 + apps/web/public/brands/regiojet.svg | 1 + packages/data/src/operators.json | 176 +++++++++++++++++++- 8 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 apps/web/public/brands/leo-express.svg create mode 100644 apps/web/public/brands/pl/pkp-intercity.svg create mode 100644 apps/web/public/brands/pl/polregio.svg create mode 100644 apps/web/public/brands/pl/railpolonia.svg create mode 100644 apps/web/public/brands/pl/skm.svg create mode 100644 apps/web/public/brands/regiojet.svg diff --git a/apps/web/components/brands.tsx b/apps/web/components/brands.tsx index bc50110e..dbe66897 100644 --- a/apps/web/components/brands.tsx +++ b/apps/web/components/brands.tsx @@ -55,6 +55,13 @@ const brandPaths: Record = { ns: "ns", vy: "no/vy", "sj nord": "no/sj_nord", + // Polish brands + "pkp intercity": "pl/pkp-intercity", + polregio: "pl/polregio", + skm: "pl/skm", + railpolonia: "pl/railpolonia", + "leo express": "leo-express", + regiojet: "regiojet", // Swedish brands sj: "se/sj", "mtr express": "se/mtr", @@ -184,6 +191,13 @@ const brandSlugMap: Record = { "sj nord": "sj-nord", "go-ahead norge": "go-ahead-norge", flytoget: "flytoget", + // Polish brands + "pkp intercity": "pkp-intercity", + polregio: "polregio", + skm: "skm", + railpolonia: "railpolonia", + "leo express": "leo-express", + regiojet: "regiojet", // Swedish brands sj: "sj", "mtr express": "mtr-express", diff --git a/apps/web/public/brands/leo-express.svg b/apps/web/public/brands/leo-express.svg new file mode 100644 index 00000000..8c414d2e --- /dev/null +++ b/apps/web/public/brands/leo-express.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/pkp-intercity.svg b/apps/web/public/brands/pl/pkp-intercity.svg new file mode 100644 index 00000000..d34703dd --- /dev/null +++ b/apps/web/public/brands/pl/pkp-intercity.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/polregio.svg b/apps/web/public/brands/pl/polregio.svg new file mode 100644 index 00000000..5662fed3 --- /dev/null +++ b/apps/web/public/brands/pl/polregio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/railpolonia.svg b/apps/web/public/brands/pl/railpolonia.svg new file mode 100644 index 00000000..c2b5460e --- /dev/null +++ b/apps/web/public/brands/pl/railpolonia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/skm.svg b/apps/web/public/brands/pl/skm.svg new file mode 100644 index 00000000..089f2be0 --- /dev/null +++ b/apps/web/public/brands/pl/skm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/regiojet.svg b/apps/web/public/brands/regiojet.svg new file mode 100644 index 00000000..47506f54 --- /dev/null +++ b/apps/web/public/brands/regiojet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/data/src/operators.json b/packages/data/src/operators.json index bfa436c6..e46d1dd3 100644 --- a/packages/data/src/operators.json +++ b/packages/data/src/operators.json @@ -969,9 +969,9 @@ "slug": "arriva", "name": "Arriva", "logoPath": "arriva", - "countries": ["international", "uk", "nl", "de", "dk"], + "countries": ["international", "uk", "nl", "de", "dk", "pl"], "operatorTypes": ["passenger"], - "bounds": [-5.7, 47.3, 15.3, 57.9], + "bounds": [-5.7, 47.3, 24.2, 57.9], "description": "Arriva is a major European transport operator. Acquired by I Squared Capital in 2024, it runs regional rail and bus services across multiple countries, including Arriva Nederland in the Netherlands and the former Arriva Denmark rail business that now operates under the GoCollective name. It also operates transit networks in the UK, Germany, the Czech Republic, Poland, and other European markets.", "website": "https://www.arriva.co.uk", "founded": 1938, @@ -993,6 +993,62 @@ } ] }, + { + "slug": "leo-express", + "name": "Leo Express", + "logoPath": "leo-express", + "countries": ["international", "pl"], + "operatorTypes": ["passenger"], + "bounds": [14.1, 49, 24.2, 52.5], + "description": "Leo Express is a Czech private rail and bus operator focused on modern intercity travel across Central Europe. Its black-and-gold brand is associated with open-access services from Prague toward Ostrava, Slovakia, and Poland, alongside regional public-service operations and connecting coach routes.", + "website": "https://www.leoexpress.com", + "founded": 2010, + "headquarters": "Prague, Czechia", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["intercity", "regional", "international"], + "parentCompany": null, + "links": [ + { + "label": "Official Site", + "url": "https://www.leoexpress.com", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Leo_Express", + "type": "wikipedia" + } + ] + }, + { + "slug": "regiojet", + "name": "RegioJet", + "logoPath": "regiojet", + "countries": ["international", "pl"], + "operatorTypes": ["passenger"], + "bounds": [14.1, 48.5, 24.2, 52.5], + "description": "RegioJet is a Czech private rail and coach operator owned by Student Agency. The yellow RegioJet brand is known for open-access long-distance trains in Czechia and Slovakia, with international services linking Central European cities such as Prague, Brno, Vienna, Bratislava, and Polish destinations.", + "website": "https://regiojet.com", + "founded": 2009, + "headquarters": "Brno, Czechia", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["intercity", "international"], + "parentCompany": "Student Agency", + "links": [ + { + "label": "Official Site", + "url": "https://regiojet.com", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/RegioJet", + "type": "wikipedia" + } + ] + }, { "slug": "dsb", "name": "DSB", @@ -1208,9 +1264,9 @@ "slug": "odeg", "name": "ODEG", "logoPath": "de/odeg", - "countries": ["de"], + "countries": ["de", "pl"], "operatorTypes": ["passenger"], - "bounds": [11, 51.3, 14.8, 53.6], + "bounds": [11, 51.3, 15.3, 53.6], "description": "Ostdeutsche Eisenbahn (ODEG) is the largest private regional rail operator in eastern Germany, serving Brandenburg, Mecklenburg-Vorpommern, and Berlin. It operates RE and RB lines connecting Berlin with surrounding regions including routes to the Baltic coast and Polish border.", "website": "https://www.odeg.de", "founded": 2002, @@ -2291,5 +2347,117 @@ "type": "wikipedia" } ] + }, + { + "slug": "pkp-intercity", + "name": "PKP Intercity", + "logoPath": "pl/pkp-intercity", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [14.1, 49, 24.2, 54.9], + "description": "PKP Intercity is Poland's national long-distance passenger railway operator and part of the PKP Group. It runs the country's main intercity network under brands such as TLK, IC, EIC, and Express InterCity Premium, connecting major Polish cities and operating many international services.", + "website": "https://www.intercity.pl", + "founded": 2001, + "headquarters": "Warsaw, Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["high-speed", "intercity", "night-train", "international"], + "parentCompany": "PKP Group", + "links": [ + { + "label": "Official Site", + "url": "https://www.intercity.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/PKP_Intercity", + "type": "wikipedia" + } + ] + }, + { + "slug": "polregio", + "name": "POLREGIO", + "logoPath": "pl/polregio", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [14.1, 49, 24.2, 54.9], + "description": "POLREGIO is Poland's largest regional passenger rail operator, formerly known as Przewozy Regionalne. Its red-and-blue brand appears on local and interregional trains across much of the country, linking smaller towns with regional capitals under public-service contracts.", + "website": "https://polregio.pl", + "founded": 2001, + "headquarters": "Warsaw, Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["regional"], + "parentCompany": null, + "links": [ + { + "label": "Official Site", + "url": "https://polregio.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Polregio", + "type": "wikipedia" + } + ] + }, + { + "slug": "skm", + "name": "SKM", + "logoPath": "pl/skm", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [14.1, 49, 24.2, 54.9], + "description": "SKM, short for Szybka Kolej Miejska, is a Polish fast urban rail brand used for metropolitan commuter services. SKM trains connect city centers with suburbs on mainline railway infrastructure, with well-known networks in areas such as Warsaw and the Tricity.", + "website": "https://www.skm.pkp.pl", + "founded": null, + "headquarters": null, + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["commuter", "regional"], + "parentCompany": null, + "links": [ + { + "label": "Official Site", + "url": "https://www.skm.pkp.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Szybka_Kolej_Miejska", + "type": "wikipedia" + } + ] + }, + { + "slug": "railpolonia", + "name": "Railpolonia", + "logoPath": "pl/railpolonia", + "countries": ["pl"], + "operatorTypes": ["cargo"], + "bounds": [14.1, 49, 24.2, 54.9], + "description": "Railpolonia is a Polish rail freight operator based in the Warsaw region and part of the Budokrusz group. The company provides rail cargo transport and traction services, with a brand focused on industrial logistics and specialist freight movements.", + "website": "https://www.railpolonia.pl", + "founded": null, + "headquarters": "Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["international"], + "parentCompany": null, + "links": [ + { + "label": "Official Site", + "url": "https://www.railpolonia.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Railpolonia", + "type": "wikipedia" + } + ] } ] From 2630e66485d90cff44b493755a230b53faafa271 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Thu, 14 May 2026 08:51:44 +0200 Subject: [PATCH 13/16] fix: Add white background to railpolonia SVG --- apps/web/public/brands/pl/railpolonia.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/public/brands/pl/railpolonia.svg b/apps/web/public/brands/pl/railpolonia.svg index c2b5460e..1cdeb95c 100644 --- a/apps/web/public/brands/pl/railpolonia.svg +++ b/apps/web/public/brands/pl/railpolonia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 4cfb1f80d04816b2178686adf86798bc652f6076 Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Thu, 14 May 2026 09:40:30 +0200 Subject: [PATCH 14/16] fix: Normalize and minify brand SVGs --- apps/web/public/brands/arriva.svg | 2 +- apps/web/public/brands/ch/ab.svg | 5 +- apps/web/public/brands/ch/bls.svg | 4 +- apps/web/public/brands/ch/flp.svg | 2 +- apps/web/public/brands/ch/mgb.svg | 4 +- apps/web/public/brands/ch/mob.svg | 2 +- apps/web/public/brands/ch/ra.svg | 6 +- apps/web/public/brands/ch/rbs.svg | 4 +- apps/web/public/brands/ch/rhb.svg | 6 +- apps/web/public/brands/ch/sbb.svg | 4 +- apps/web/public/brands/ch/sob.svg | 4 +- apps/web/public/brands/ch/szu.svg | 7 +- apps/web/public/brands/ch/thurbo.svg | 4 +- apps/web/public/brands/ch/tmr.svg | 4 +- apps/web/public/brands/ch/tpc.svg | 184 +----------------- apps/web/public/brands/ch/tpf.svg | 7 +- apps/web/public/brands/ch/zb.svg | 4 +- apps/web/public/brands/de/db.svg | 6 +- apps/web/public/brands/de/odeg.svg | 2 +- apps/web/public/brands/de/stb.svg | 2 +- apps/web/public/brands/de/vias.svg | 2 +- apps/web/public/brands/de/vogtlandbahn.svg | 2 +- apps/web/public/brands/dk/lokaltog.svg | 2 +- apps/web/public/brands/dk/mj.svg | 2 +- apps/web/public/brands/eurostar.svg | 4 +- apps/web/public/brands/it/frecciarossa.svg | 5 +- apps/web/public/brands/it/intercity.svg | 2 +- apps/web/public/brands/it/intercity_notte.svg | 2 +- apps/web/public/brands/it/italo.svg | 2 +- apps/web/public/brands/it/sad.svg | 2 +- apps/web/public/brands/it/tper.svg | 2 +- apps/web/public/brands/it/trenitalia.svg | 2 +- apps/web/public/brands/it/trenord.svg | 2 +- apps/web/public/brands/it/tua.svg | 7 +- apps/web/public/brands/no/go_ahead.svg | 2 +- apps/web/public/brands/no/vy.svg | 2 +- apps/web/public/brands/ns.svg | 4 +- apps/web/public/brands/obb.svg | 2 +- apps/web/public/brands/pl/pkp-intercity.svg | 2 +- apps/web/public/brands/pl/polregio.svg | 2 +- apps/web/public/brands/pl/railpolonia.svg | 2 +- apps/web/public/brands/pl/skm.svg | 2 +- apps/web/public/brands/regiojet.svg | 2 +- apps/web/public/brands/se/sj.svg | 2 +- apps/web/public/brands/sncb.svg | 5 +- apps/web/public/brands/sncf.svg | 11 +- apps/web/public/brands/transdev.svg | 2 +- apps/web/public/brands/uk/cc.svg | 2 +- apps/web/public/brands/uk/cs.svg | 2 +- apps/web/public/brands/uk/em.svg | 2 +- apps/web/public/brands/uk/gr.svg | 2 +- apps/web/public/brands/uk/lm.svg | 2 +- apps/web/public/brands/uk/se.svg | 2 +- apps/web/public/brands/uk/sr.svg | 2 +- apps/web/public/brands/vr.svg | 4 +- 55 files changed, 55 insertions(+), 304 deletions(-) diff --git a/apps/web/public/brands/arriva.svg b/apps/web/public/brands/arriva.svg index 8a1c8eb5..bd24a499 100644 --- a/apps/web/public/brands/arriva.svg +++ b/apps/web/public/brands/arriva.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/ch/ab.svg b/apps/web/public/brands/ch/ab.svg index a74eb592..a1059fba 100644 --- a/apps/web/public/brands/ch/ab.svg +++ b/apps/web/public/brands/ch/ab.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/bls.svg b/apps/web/public/brands/ch/bls.svg index 33b6d6c5..3cc0ff57 100644 --- a/apps/web/public/brands/ch/bls.svg +++ b/apps/web/public/brands/ch/bls.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/flp.svg b/apps/web/public/brands/ch/flp.svg index 4dd5ab12..81396ac1 100644 --- a/apps/web/public/brands/ch/flp.svg +++ b/apps/web/public/brands/ch/flp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/mgb.svg b/apps/web/public/brands/ch/mgb.svg index 653ce609..049b565a 100644 --- a/apps/web/public/brands/ch/mgb.svg +++ b/apps/web/public/brands/ch/mgb.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/mob.svg b/apps/web/public/brands/ch/mob.svg index 107c1ede..0d41ea0b 100644 --- a/apps/web/public/brands/ch/mob.svg +++ b/apps/web/public/brands/ch/mob.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/ra.svg b/apps/web/public/brands/ch/ra.svg index 10c2b294..b00024b9 100644 --- a/apps/web/public/brands/ch/ra.svg +++ b/apps/web/public/brands/ch/ra.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/rbs.svg b/apps/web/public/brands/ch/rbs.svg index 0d0bd193..9facd46f 100644 --- a/apps/web/public/brands/ch/rbs.svg +++ b/apps/web/public/brands/ch/rbs.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/rhb.svg b/apps/web/public/brands/ch/rhb.svg index e27a356f..f5ad757c 100644 --- a/apps/web/public/brands/ch/rhb.svg +++ b/apps/web/public/brands/ch/rhb.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/sbb.svg b/apps/web/public/brands/ch/sbb.svg index e6a8cded..3f833f53 100644 --- a/apps/web/public/brands/ch/sbb.svg +++ b/apps/web/public/brands/ch/sbb.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/sob.svg b/apps/web/public/brands/ch/sob.svg index 17cb7f95..5610b966 100644 --- a/apps/web/public/brands/ch/sob.svg +++ b/apps/web/public/brands/ch/sob.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/szu.svg b/apps/web/public/brands/ch/szu.svg index 77619858..f2dcae3a 100644 --- a/apps/web/public/brands/ch/szu.svg +++ b/apps/web/public/brands/ch/szu.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/thurbo.svg b/apps/web/public/brands/ch/thurbo.svg index e533092e..845ad2a8 100644 --- a/apps/web/public/brands/ch/thurbo.svg +++ b/apps/web/public/brands/ch/thurbo.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/tmr.svg b/apps/web/public/brands/ch/tmr.svg index 3dd47222..a2ec86af 100644 --- a/apps/web/public/brands/ch/tmr.svg +++ b/apps/web/public/brands/ch/tmr.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/tpc.svg b/apps/web/public/brands/ch/tpc.svg index 02b14428..fb2b502f 100644 --- a/apps/web/public/brands/ch/tpc.svg +++ b/apps/web/public/brands/ch/tpc.svg @@ -1,183 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/tpf.svg b/apps/web/public/brands/ch/tpf.svg index 8ba1659b..bd28bc47 100644 --- a/apps/web/public/brands/ch/tpf.svg +++ b/apps/web/public/brands/ch/tpf.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/ch/zb.svg b/apps/web/public/brands/ch/zb.svg index ddee7e21..1db308bf 100644 --- a/apps/web/public/brands/ch/zb.svg +++ b/apps/web/public/brands/ch/zb.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/de/db.svg b/apps/web/public/brands/de/db.svg index f71040ee..6a287886 100644 --- a/apps/web/public/brands/de/db.svg +++ b/apps/web/public/brands/de/db.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/de/odeg.svg b/apps/web/public/brands/de/odeg.svg index eee468ac..3081f736 100644 --- a/apps/web/public/brands/de/odeg.svg +++ b/apps/web/public/brands/de/odeg.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/de/stb.svg b/apps/web/public/brands/de/stb.svg index 8dd22cfa..b68bc277 100644 --- a/apps/web/public/brands/de/stb.svg +++ b/apps/web/public/brands/de/stb.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/de/vias.svg b/apps/web/public/brands/de/vias.svg index 278e30b8..e5ec93ab 100644 --- a/apps/web/public/brands/de/vias.svg +++ b/apps/web/public/brands/de/vias.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/de/vogtlandbahn.svg b/apps/web/public/brands/de/vogtlandbahn.svg index d37661eb..fa6aa253 100644 --- a/apps/web/public/brands/de/vogtlandbahn.svg +++ b/apps/web/public/brands/de/vogtlandbahn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/dk/lokaltog.svg b/apps/web/public/brands/dk/lokaltog.svg index 1a47d365..6776aed7 100644 --- a/apps/web/public/brands/dk/lokaltog.svg +++ b/apps/web/public/brands/dk/lokaltog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/dk/mj.svg b/apps/web/public/brands/dk/mj.svg index e9229315..515af635 100644 --- a/apps/web/public/brands/dk/mj.svg +++ b/apps/web/public/brands/dk/mj.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/eurostar.svg b/apps/web/public/brands/eurostar.svg index 0aec465e..7e6aca33 100644 --- a/apps/web/public/brands/eurostar.svg +++ b/apps/web/public/brands/eurostar.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/it/frecciarossa.svg b/apps/web/public/brands/it/frecciarossa.svg index f83fe2b2..f92f81cc 100644 --- a/apps/web/public/brands/it/frecciarossa.svg +++ b/apps/web/public/brands/it/frecciarossa.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/it/intercity.svg b/apps/web/public/brands/it/intercity.svg index e3ab316b..512cba47 100644 --- a/apps/web/public/brands/it/intercity.svg +++ b/apps/web/public/brands/it/intercity.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/intercity_notte.svg b/apps/web/public/brands/it/intercity_notte.svg index 106f85be..9ac3fbc1 100644 --- a/apps/web/public/brands/it/intercity_notte.svg +++ b/apps/web/public/brands/it/intercity_notte.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/italo.svg b/apps/web/public/brands/it/italo.svg index f689e25e..f587143a 100644 --- a/apps/web/public/brands/it/italo.svg +++ b/apps/web/public/brands/it/italo.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/sad.svg b/apps/web/public/brands/it/sad.svg index 6ba1d6e4..5a72ae86 100644 --- a/apps/web/public/brands/it/sad.svg +++ b/apps/web/public/brands/it/sad.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/tper.svg b/apps/web/public/brands/it/tper.svg index 0107e53f..1d1006dc 100644 --- a/apps/web/public/brands/it/tper.svg +++ b/apps/web/public/brands/it/tper.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/trenitalia.svg b/apps/web/public/brands/it/trenitalia.svg index 786ab9e2..1f373889 100644 --- a/apps/web/public/brands/it/trenitalia.svg +++ b/apps/web/public/brands/it/trenitalia.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/trenord.svg b/apps/web/public/brands/it/trenord.svg index f4995fab..c9528967 100644 --- a/apps/web/public/brands/it/trenord.svg +++ b/apps/web/public/brands/it/trenord.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/it/tua.svg b/apps/web/public/brands/it/tua.svg index 7024414e..9334b9b5 100644 --- a/apps/web/public/brands/it/tua.svg +++ b/apps/web/public/brands/it/tua.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/no/go_ahead.svg b/apps/web/public/brands/no/go_ahead.svg index d82d0437..c43ca8cd 100644 --- a/apps/web/public/brands/no/go_ahead.svg +++ b/apps/web/public/brands/no/go_ahead.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/no/vy.svg b/apps/web/public/brands/no/vy.svg index d681d23f..3d313daa 100644 --- a/apps/web/public/brands/no/vy.svg +++ b/apps/web/public/brands/no/vy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/ns.svg b/apps/web/public/brands/ns.svg index 0be30f0b..4ba3492c 100644 --- a/apps/web/public/brands/ns.svg +++ b/apps/web/public/brands/ns.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/apps/web/public/brands/obb.svg b/apps/web/public/brands/obb.svg index d031e242..2f017e5b 100644 --- a/apps/web/public/brands/obb.svg +++ b/apps/web/public/brands/obb.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/apps/web/public/brands/pl/pkp-intercity.svg b/apps/web/public/brands/pl/pkp-intercity.svg index d34703dd..bbe1a777 100644 --- a/apps/web/public/brands/pl/pkp-intercity.svg +++ b/apps/web/public/brands/pl/pkp-intercity.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/pl/polregio.svg b/apps/web/public/brands/pl/polregio.svg index 5662fed3..ea9fc265 100644 --- a/apps/web/public/brands/pl/polregio.svg +++ b/apps/web/public/brands/pl/polregio.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/pl/railpolonia.svg b/apps/web/public/brands/pl/railpolonia.svg index 1cdeb95c..b2a1d9fd 100644 --- a/apps/web/public/brands/pl/railpolonia.svg +++ b/apps/web/public/brands/pl/railpolonia.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/pl/skm.svg b/apps/web/public/brands/pl/skm.svg index 089f2be0..8d3b0b16 100644 --- a/apps/web/public/brands/pl/skm.svg +++ b/apps/web/public/brands/pl/skm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/regiojet.svg b/apps/web/public/brands/regiojet.svg index 47506f54..6f4c59f1 100644 --- a/apps/web/public/brands/regiojet.svg +++ b/apps/web/public/brands/regiojet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/se/sj.svg b/apps/web/public/brands/se/sj.svg index cb35ae91..8437a4f9 100644 --- a/apps/web/public/brands/se/sj.svg +++ b/apps/web/public/brands/se/sj.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/sncb.svg b/apps/web/public/brands/sncb.svg index 614c1c88..2b8e57f8 100644 --- a/apps/web/public/brands/sncb.svg +++ b/apps/web/public/brands/sncb.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/sncf.svg b/apps/web/public/brands/sncf.svg index 8664abd1..ad3f7cef 100644 --- a/apps/web/public/brands/sncf.svg +++ b/apps/web/public/brands/sncf.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/apps/web/public/brands/transdev.svg b/apps/web/public/brands/transdev.svg index 11c5304b..0b2ad4ef 100644 --- a/apps/web/public/brands/transdev.svg +++ b/apps/web/public/brands/transdev.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/cc.svg b/apps/web/public/brands/uk/cc.svg index 343b90a0..6e4fe498 100644 --- a/apps/web/public/brands/uk/cc.svg +++ b/apps/web/public/brands/uk/cc.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/cs.svg b/apps/web/public/brands/uk/cs.svg index 384eca92..7d42898e 100644 --- a/apps/web/public/brands/uk/cs.svg +++ b/apps/web/public/brands/uk/cs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/em.svg b/apps/web/public/brands/uk/em.svg index 48f65946..f8416dd4 100644 --- a/apps/web/public/brands/uk/em.svg +++ b/apps/web/public/brands/uk/em.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/gr.svg b/apps/web/public/brands/uk/gr.svg index 77dd9ae8..769dc2bb 100644 --- a/apps/web/public/brands/uk/gr.svg +++ b/apps/web/public/brands/uk/gr.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/lm.svg b/apps/web/public/brands/uk/lm.svg index 1a0efcff..cfb3915c 100644 --- a/apps/web/public/brands/uk/lm.svg +++ b/apps/web/public/brands/uk/lm.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/se.svg b/apps/web/public/brands/uk/se.svg index f96fd154..c500577f 100644 --- a/apps/web/public/brands/uk/se.svg +++ b/apps/web/public/brands/uk/se.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/uk/sr.svg b/apps/web/public/brands/uk/sr.svg index 8290a02d..4ea86d95 100644 --- a/apps/web/public/brands/uk/sr.svg +++ b/apps/web/public/brands/uk/sr.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/apps/web/public/brands/vr.svg b/apps/web/public/brands/vr.svg index 6f9c0da4..8f1f4567 100644 --- a/apps/web/public/brands/vr.svg +++ b/apps/web/public/brands/vr.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file From 005919d54beef8614727b8e449336cf4c69c31ac Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Thu, 14 May 2026 09:45:00 +0200 Subject: [PATCH 15/16] feat: Add KM KS KW LKA WKD Polish operators and branding --- apps/web/components/brands.tsx | 10 +++ apps/web/public/brands/pl/km.svg | 1 + apps/web/public/brands/pl/ks.svg | 1 + apps/web/public/brands/pl/kw.svg | 1 + apps/web/public/brands/pl/lka.svg | 1 + apps/web/public/brands/pl/wkd.svg | 1 + packages/data/src/operators.json | 136 +++++++++++++++++++++++++++--- 7 files changed, 139 insertions(+), 12 deletions(-) create mode 100644 apps/web/public/brands/pl/km.svg create mode 100644 apps/web/public/brands/pl/ks.svg create mode 100644 apps/web/public/brands/pl/kw.svg create mode 100644 apps/web/public/brands/pl/lka.svg create mode 100644 apps/web/public/brands/pl/wkd.svg diff --git a/apps/web/components/brands.tsx b/apps/web/components/brands.tsx index dbe66897..198bd914 100644 --- a/apps/web/components/brands.tsx +++ b/apps/web/components/brands.tsx @@ -58,7 +58,12 @@ const brandPaths: Record = { // Polish brands "pkp intercity": "pl/pkp-intercity", polregio: "pl/polregio", + km: "pl/km", + ks: "pl/ks", + kw: "pl/kw", skm: "pl/skm", + łka: "pl/lka", + "warszawska kolej dojazdowa": "pl/wkd", railpolonia: "pl/railpolonia", "leo express": "leo-express", regiojet: "regiojet", @@ -194,7 +199,12 @@ const brandSlugMap: Record = { // Polish brands "pkp intercity": "pkp-intercity", polregio: "polregio", + km: "km", + ks: "ks", + kw: "kw", skm: "skm", + łka: "lka", + "warszawska kolej dojazdowa": "wkd", railpolonia: "railpolonia", "leo express": "leo-express", regiojet: "regiojet", diff --git a/apps/web/public/brands/pl/km.svg b/apps/web/public/brands/pl/km.svg new file mode 100644 index 00000000..79e83707 --- /dev/null +++ b/apps/web/public/brands/pl/km.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/ks.svg b/apps/web/public/brands/pl/ks.svg new file mode 100644 index 00000000..176fc125 --- /dev/null +++ b/apps/web/public/brands/pl/ks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/kw.svg b/apps/web/public/brands/pl/kw.svg new file mode 100644 index 00000000..b4b4efb3 --- /dev/null +++ b/apps/web/public/brands/pl/kw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/lka.svg b/apps/web/public/brands/pl/lka.svg new file mode 100644 index 00000000..b87a26a3 --- /dev/null +++ b/apps/web/public/brands/pl/lka.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/public/brands/pl/wkd.svg b/apps/web/public/brands/pl/wkd.svg new file mode 100644 index 00000000..1a30c466 --- /dev/null +++ b/apps/web/public/brands/pl/wkd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/data/src/operators.json b/packages/data/src/operators.json index e46d1dd3..d0ff3781 100644 --- a/packages/data/src/operators.json +++ b/packages/data/src/operators.json @@ -2433,29 +2433,141 @@ ] }, { - "slug": "railpolonia", - "name": "Railpolonia", - "logoPath": "pl/railpolonia", + "slug": "km", + "name": "Koleje Mazowieckie", + "logoPath": "pl/km", "countries": ["pl"], - "operatorTypes": ["cargo"], - "bounds": [14.1, 49, 24.2, 54.9], - "description": "Railpolonia is a Polish rail freight operator based in the Warsaw region and part of the Budokrusz group. The company provides rail cargo transport and traction services, with a brand focused on industrial logistics and specialist freight movements.", - "website": "https://www.railpolonia.pl", - "founded": null, - "headquarters": "Poland", + "operatorTypes": ["passenger"], + "bounds": [19.1, 51, 23.2, 53.6], + "description": "Koleje Mazowieckie is one of Poland's largest regional passenger rail operators, serving Warsaw and the wider Masovian Voivodeship. The KM brand connects the capital with towns such as Radom, Płock, Siedlce, Mława, Sochaczew, and Żyrardów.", + "website": "https://www.mazowieckie.com.pl", + "founded": 2004, + "headquarters": "Warsaw, Poland", "networkKm": null, "annualPassengers": null, - "serviceTypes": ["international"], + "serviceTypes": ["regional", "commuter"], + "parentCompany": "Masovian Voivodeship", + "links": [ + { + "label": "Official Site", + "url": "https://www.mazowieckie.com.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Masovian_Railways", + "type": "wikipedia" + } + ] + }, + { + "slug": "ks", + "name": "Koleje Śląskie", + "logoPath": "pl/ks", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [18, 49.3, 19.8, 51.2], + "description": "Koleje Śląskie is the regional passenger rail operator for Poland's Silesian Voivodeship. Its KS brand serves the dense urban and industrial region around Katowice, Gliwice, Częstochowa, Bielsko-Biała, Rybnik, and nearby cross-regional routes.", + "website": "https://www.kolejeslaskie.pl", + "founded": 2010, + "headquarters": "Katowice, Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["regional", "commuter"], + "parentCompany": "Silesian Voivodeship", + "links": [ + { + "label": "Official Site", + "url": "https://www.kolejeslaskie.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Silesian_Railways", + "type": "wikipedia" + } + ] + }, + { + "slug": "kw", + "name": "Koleje Wielkopolskie", + "logoPath": "pl/kw", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [15.8, 51.2, 19, 53.5], + "description": "Koleje Wielkopolskie is a regional passenger rail operator owned by the Greater Poland Voivodeship. The KW brand is centered on Poznań and serves routes across Wielkopolska, linking regional towns with the voivodeship capital and neighboring rail networks.", + "website": "https://koleje-wielkopolskie.com.pl", + "founded": 2009, + "headquarters": "Poznań, Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["regional", "commuter"], + "parentCompany": "Greater Poland Voivodeship", + "links": [ + { + "label": "Official Site", + "url": "https://koleje-wielkopolskie.com.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/Greater_Poland_Railways", + "type": "wikipedia" + } + ] + }, + { + "slug": "lka", + "name": "Łódzka Kolej Aglomeracyjna", + "logoPath": "pl/lka", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [18.4, 50.8, 20.6, 52.4], + "description": "Łódzka Kolej Aglomeracyjna is a regional and commuter rail operator serving Łódź and the surrounding Łódź Voivodeship. The ŁKA brand links the metropolitan area with nearby towns and regional centers using modern electric multiple units and integrated regional services.", + "website": "https://lka.lodzkie.pl", + "founded": 2010, + "headquarters": "Łódź, Poland", + "networkKm": null, + "annualPassengers": null, + "serviceTypes": ["regional", "commuter"], + "parentCompany": "Łódź Voivodeship", + "links": [ + { + "label": "Official Site", + "url": "https://lka.lodzkie.pl", + "type": "website" + }, + { + "label": "Wikipedia", + "url": "https://en.wikipedia.org/wiki/%C5%81%C3%B3d%C5%BA_Agglomeration_Railway", + "type": "wikipedia" + } + ] + }, + { + "slug": "wkd", + "name": "Warszawska Kolej Dojazdowa", + "logoPath": "pl/wkd", + "countries": ["pl"], + "operatorTypes": ["passenger"], + "bounds": [20.5, 52, 21.1, 52.3], + "description": "Warszawska Kolej Dojazdowa is a suburban rail operator serving the south-western Warsaw metropolitan area. The WKD brand runs frequent commuter services from central Warsaw toward Grodzisk Mazowiecki and Milanówek on its own electrified railway line.", + "website": "https://wkd.com.pl", + "founded": 2000, + "headquarters": "Grodzisk Mazowiecki, Poland", + "networkKm": 33, + "annualPassengers": null, + "serviceTypes": ["commuter", "regional"], "parentCompany": null, "links": [ { "label": "Official Site", - "url": "https://www.railpolonia.pl", + "url": "https://wkd.com.pl", "type": "website" }, { "label": "Wikipedia", - "url": "https://en.wikipedia.org/wiki/Railpolonia", + "url": "https://en.wikipedia.org/wiki/Warsaw_Commuter_Railway", "type": "wikipedia" } ] From 9402229aef160f4fb09715256ac0742abc6a11ef Mon Sep 17 00:00:00 2001 From: Raul Carini <85316240+R4ULtv@users.noreply.github.com> Date: Thu, 14 May 2026 09:46:53 +0200 Subject: [PATCH 16/16] feat: Add in-memory cache for Poland scraper data - Introduced in-memory cache for Poland raw train data with a 15s TTL. - Added PolandRawData and PolandRawCacheEntry types and rawDataCache map. - Implemented fetchPolandRawData and getCachedPolandRawData helpers. - Refactored scrapePolandTrains to use cached data instead of direct fetch --- apps/api/src/scrapers/poland.ts | 66 +++++++++++++++++++++++++++------ 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/apps/api/src/scrapers/poland.ts b/apps/api/src/scrapers/poland.ts index bf22b81a..90fde7d5 100644 --- a/apps/api/src/scrapers/poland.ts +++ b/apps/api/src/scrapers/poland.ts @@ -10,6 +10,7 @@ const RECENT_WINDOW_MS = 10 * 60 * 1000; const POLAND_HEADERS = { Accept: "application/json", }; +const POLAND_RAW_CACHE_TTL_MS = 15_000; const POLAND_CARRIERS: Record = { IC: "PKP Intercity", @@ -102,6 +103,19 @@ interface MappedTrain { sortTime: number; } +interface PolandRawData { + operationsData: PolandOperationResponse; + schedulesData: PolandScheduleResponse; + fetchMs: number; +} + +interface PolandRawCacheEntry { + expiresAt: number; + promise: Promise; +} + +const rawDataCache = new Map(); + function toPolandStationNumber(stationId: string): number { const match = stationId.match(/^PL(\d+)$/); if (!match) { @@ -306,17 +320,7 @@ function getRouteEndpointName( return stationDict[String(endpoint.stationId)]?.name ?? null; } -export async function scrapePolandTrains( - stationId: string, - type: PolandBoardType = "departures", - env?: Record, -): Promise { - const stationNumber = toPolandStationNumber(stationId); - const apiKey = env?.PLK_API_KEY as string | undefined; - if (!apiKey) { - throw new ScraperError("Polish train data source is not configured.", 500); - } - +async function fetchPolandRawData(stationNumber: number, apiKey: string): Promise { const operationsUrl = buildPolandUrl("/operations", { stations: stationNumber, withPlanned: true, @@ -339,6 +343,46 @@ export async function scrapePolandTrains( const schedulesData: PolandScheduleResponse = await schedulesResult.response.json(); const fetchMs = Math.max(operationsResult.fetchMs, schedulesResult.fetchMs); + return { operationsData, schedulesData, fetchMs }; +} + +function getCachedPolandRawData(stationNumber: number, apiKey: string): Promise { + const now = Date.now(); + const cached = rawDataCache.get(stationNumber); + + if (cached && cached.expiresAt > now) { + return cached.promise; + } + + const promise = fetchPolandRawData(stationNumber, apiKey).catch((error) => { + rawDataCache.delete(stationNumber); + throw error; + }); + + rawDataCache.set(stationNumber, { + expiresAt: now + POLAND_RAW_CACHE_TTL_MS, + promise, + }); + + return promise; +} + +export async function scrapePolandTrains( + stationId: string, + type: PolandBoardType = "departures", + env?: Record, +): Promise { + const stationNumber = toPolandStationNumber(stationId); + const apiKey = env?.PLK_API_KEY as string | undefined; + if (!apiKey) { + throw new ScraperError("Polish train data source is not configured.", 500); + } + + const { operationsData, schedulesData, fetchMs } = await getCachedPolandRawData( + stationNumber, + apiKey, + ); + const scheduleMap = new Map(); for (const route of schedulesData.routes ?? []) { scheduleMap.set(routeKey(route.scheduleId, route.orderId), route);