src/constants/locationsGeoData.ts (278 lines of code) (raw):

export type LocationRawData = { stationId: number; latitude: number; longitude: number; address: { translationPath: string; } } export type LocationData = Omit<LocationRawData, "address"> & { address: string; } const UzbekistanLocations = { Bukhara: "bukhara", Jizzakh: "jizzakh", Navoiy: "navoiy", Nukus: "nukus", Samarqand: "samarqand", Tashkent: "tashkent", Termez: "termez", Urgench: "urgench" }; type Location = keyof typeof UzbekistanLocations; const uzbekistanMainTranslationPath = "locations.uzbekistan."; const { Bukhara, Jizzakh, Navoiy, Nukus, Samarqand, Tashkent, Termez, Urgench } = UzbekistanLocations; const uzbekistanLocationsData: Record<Location, LocationRawData[]> = { Bukhara: [ { stationId: -1, latitude: 39.760278, longitude: 64.433204, address: { translationPath: `${uzbekistanMainTranslationPath}${Bukhara}.1` } }, { stationId: -1, latitude: 39.775941, longitude: 64.431379, address: { translationPath: `${uzbekistanMainTranslationPath}${Bukhara}.2` } }, { stationId: -1, latitude: 39.766192, longitude: 64.419429, address: { translationPath: `${uzbekistanMainTranslationPath}${Bukhara}.3` } } ], Jizzakh: [ { stationId: -1, latitude: 40.169166, longitude: 67.835548, address: { translationPath: `${uzbekistanMainTranslationPath}${Jizzakh}.1` } } ], Navoiy: [ { stationId: -1, latitude: 40.0952857, longitude: 65.3799896, address: { translationPath: `${uzbekistanMainTranslationPath}${Navoiy}.1` } }, { stationId: -1, latitude: 40.100823, longitude: 65.367982, address: { translationPath: `${uzbekistanMainTranslationPath}${Navoiy}.2` } }, { stationId: -1, latitude: 40.117753, longitude: 65.374431, address: { translationPath: `${uzbekistanMainTranslationPath}${Navoiy}.3` } } ], Nukus: [ { stationId: -1, latitude: 42.448653, longitude: 59.640239, address: { translationPath: `${uzbekistanMainTranslationPath}${Nukus}.1` } }, { stationId: -1, latitude: 42.461166, longitude: 59.604854, address: { translationPath: `${uzbekistanMainTranslationPath}${Nukus}.2` } }, { stationId: -1, // TODO: check coordinates. Now these coordinates belongs to Kazakhstan territory latitude: 52.921296, longitude: 65.364043, address: { translationPath: `${uzbekistanMainTranslationPath}${Nukus}.3` } } ], Samarqand: [ { stationId: -1, latitude: 39.642737, longitude: 66.961508, address: { translationPath: `${uzbekistanMainTranslationPath}${Samarqand}.1` } }, { stationId: -1, latitude: 39.653036, longitude: 66.973132, address: { translationPath: `${uzbekistanMainTranslationPath}${Samarqand}.2` } }, { stationId: -1, latitude: 39.667987, longitude: 66.971621, address: { translationPath: `${uzbekistanMainTranslationPath}${Samarqand}.3` } }, { stationId: -1, latitude: 39.666760, longitude: 66.927593, address: { translationPath: `${uzbekistanMainTranslationPath}${Samarqand}.4` } } ], Tashkent: [ { stationId: 1, // TODO: change after providing correct latitude latitude: 41.31286390094148, // TODO: change after providing correct longitude longitude: 69.24438328843463, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.1` } }, { stationId: -1, latitude: 41.3270815, longitude: 69.2893541, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.2` } }, { stationId: -1, latitude: 41.2830467, longitude: 69.2196999, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.3` } }, { stationId: -1, latitude: 41.271171, longitude: 69.1728336, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.4` } }, { stationId: -1, latitude: 41.317504, longitude: 69.295374, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.5` } }, { stationId: -1, latitude: 41.3039969, longitude: 69.3003051, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.6` } }, { stationId: -1, latitude: 41.278180, longitude: 69.302979, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.7` } }, { stationId: -1, latitude: 41.281415, longitude: 69.339556, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.8` } }, { stationId: -1, latitude: 41.318725, longitude: 69.283987, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.9` } }, { stationId: -1, // TODO: change after providing latitude latitude: 0, // TODO: change after providing longitude longitude: 0, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.10` } }, { stationId: -1, latitude: 41.355456, longitude: 69.247434, address: { translationPath: `${uzbekistanMainTranslationPath}${Tashkent}.11` } } ], Termez: [ { stationId: -1, latitude: 37.238986, longitude: 67.245023, address: { translationPath: `${uzbekistanMainTranslationPath}${Termez}.1` } }, { stationId: -1, latitude: 37.280911, longitude: 67.318857, address: { translationPath: `${uzbekistanMainTranslationPath}${Termez}.2` } } ], Urgench: [ { stationId: -1, latitude: 41.560607, longitude: 60.611794, address: { translationPath: `${uzbekistanMainTranslationPath}${Urgench}.1` } }, { stationId: -1, latitude: 41.543021, longitude: 60.638440, address: { translationPath: `${uzbekistanMainTranslationPath}${Urgench}.2` } } ] }; export const locationsGeoRawData = [...Object.keys(uzbekistanLocationsData)] .sort() .map((key) => uzbekistanLocationsData[key as Location]) .flatMap((st) => st);