UNPKG

@alliumlabs/panchanga-ts

Version:

A TypeScript library for Hindu calendar (Panchanga) calculations including tithis, nakshatras, and other astronomical elements

2,147 lines (2,144 loc) 988 kB
'use strict'; var astronomyEngine = require('astronomy-engine'); var moment = require('moment-timezone'); const sanskritNames = { masas: { 1: "Caitra", 2: "Vaiśākha", 3: "Jyeṣṭha", 4: "Āṣāḍha", 5: "Śrāvaṇa", 6: "Bhādrapada", 7: "Āśvina", 8: "Kārtika", 9: "Mārgaśīrṣa", 10: "Puṣya", 11: "Māgha", 12: "Phālguṇa", }, tithis: { 1: "Śukla pakṣa prathamā", 2: "Śukla pakṣa dvitīyā", 3: "Śukla pakṣa tṛtīyā", 4: "Śukla pakṣa caturthī", 5: "Śukla pakṣa pañcamī", 6: "Śukla pakṣa ṣaṣṭhī", 7: "Śukla pakṣa saptamī", 8: "Śukla pakṣa aṣṭhamī", 9: "Śukla pakṣa navamī", 10: "Śukla pakṣa daśamī", 11: "Śukla pakṣa ekādaśī", 12: "Śukla pakṣa dvādaśī", 13: "Śukla pakṣa trayodaśī", 14: "Śukla pakṣa caturdasī", 15: "Pūrṇimā", 16: "Kṛṣṇa pakṣa prathamā", 17: "Kṛṣṇa pakṣa dvitīyā", 18: "Kṛṣṇa pakṣa tṛtīyā", 19: "Kṛṣṇa pakṣa caturthī", 20: "Kṛṣṇa pakṣa pañcamī", 21: "Kṛṣṇa pakṣa ṣaṣṭhi", 22: "Kṛṣṇa pakṣa saptamī", 23: "Kṛṣṇa pakṣa aṣṭhamī", 24: "Kṛṣṇa pakṣa navamī", 25: "Kṛṣṇa pakṣa daśamī", 26: "Kṛṣṇa pakṣa ekādaśī", 27: "Kṛṣṇa pakṣa dvādaśī", 28: "Kṛṣṇa pakṣa trayodaśī", 29: "Kṛṣṇa pakṣa caturdasī", 30: "Amāvāsyā", }, nakshatras: { 1: "Aśvinī", 2: "Bharaṇī", 3: "Kṛttikā", 4: "Rohiṇī", 5: "Mṛgaśīrā", 6: "Ārdrā", 7: "Punarvasū", 8: "Puṣya", 9: "Āśleṣā", 10: "Maghā", 11: "Pūrvaphalgunī", 12: "Uttaraphalgunī", 13: "Hasta", 14: "Cittā", 15: "Svāti", 16: "Viśākhā", 17: "Anūrādhā", 18: "Jyeṣṭhā", 19: "Mūlā", 20: "Pūrvāṣāḍhā", 21: "Uttarāṣāḍhā", 22: "Śravaṇā", 23: "Dhaniṣṭhā", 24: "Śatabhiṣā", 25: "Pūrvābhādrā", 26: "Uttarābhādrā", 27: "Revatī", }, yogas: { 1: "Viṣkumbha", 2: "Prīti", 3: "Āyuṣmān", 4: "Saubhāgya", 5: "Śobhana", 6: "Atigaṇḍa", 7: "Sukarmā", 8: "Dhṛti", 9: "Śūla", 10: "Gaṇḍa", 11: "Vṛddhi", 12: "Dhruva", 13: "Vyāghāta", 14: "Harṣaṇa", 15: "Vajra", 16: "Siddhi", 17: "Vyatīpāta", 18: "Vārīyana", 19: "Parigha", 20: "Śiva", 21: "Siddha", 22: "Sādhya", 23: "Śubha", 24: "Śukla", 25: "Brahma", 26: "Aindra", 27: "Vaidhṛti", }, karanas: { 1: "Kiṃstughna", 2: "Bava", 3: "Bālava", 4: "Kaulava", 5: "Taitila", 6: "Garaja", 7: "Vaṇija", 8: "Viṣṭi", 9: "Bava", 10: "Bālava", 11: "Kaulava", 12: "Taitila", 13: "Garaja", 14: "Vaṇija", 15: "Viṣṭi", 16: "Bava", 17: "Bālava", 18: "Kaulava", 19: "Taitila", 20: "Garaja", 21: "Vaṇija", 22: "Viṣṭi", 23: "Bava", 24: "Bālava", 25: "Kaulava", 26: "Taitila", 27: "Garaja", 28: "Vaṇija", 29: "Viṣṭi", 30: "Bava", 31: "Bālava", 32: "Kaulava", 33: "Taitila", 34: "Garaja", 35: "Vaṇija", 36: "Viṣṭi", 37: "Bava", 38: "Bālava", 39: "Kaulava", 40: "Taitila", 41: "Garaja", 42: "Vaṇija", 43: "Viṣṭi", 44: "Bava", 45: "Bālava", 46: "Kaulava", 47: "Taitila", 48: "Garaja", 49: "Vaṇija", 50: "Viṣṭi", 51: "Bava", 52: "Bālava", 53: "Kaulava", 54: "Taitila", 55: "Garaja", 56: "Vaṇija", 57: "Viṣṭi", 58: "Śakuni", 59: "Catuṣpāda", 60: "Nāgava", }, varas: { 0: "Bhānuvāra", 1: "Somavāra", 2: "Maṅgalavāra", 3: "Budhavāra", 4: "Guruvāra", 5: "Śukravāra", 6: "Śanivāra", }, samvats: { 1: "Prabhava", 2: "Vibhava", 3: "Śukla", 4: "Pramoda", 5: "Prajāpati", 6: "Āṅgirasa", 7: "Śrīmukha", 8: "Bhāva", 9: "Yuva", 10: "Dhātrī", 11: "Īśvara", 12: "Bahudhānya", 13: "Pramādhi", 14: "Vikrama", 15: "Vṛṣa", 16: "Citrabhānu", 17: "Svabhānu", 18: "Tāraṇa", 19: "Pārthiva", 20: "Vyaya", 21: "Sarvajit", 22: "Sarvadhārī", 23: "Virodhī", 24: "Vikṛti", 25: "Khara", 26: "Nandana", 27: "Vijaya", 28: "Jaya", 29: "Manmatha", 30: "Durmukhī", 31: "Hevilambī", 32: "Vilambī", 33: "Vikārī", 34: "Śārvarī", 35: "Plava", 36: "Śubhakṛt", 37: "Śobhakṛt", 38: "Krodhī", 39: "Viśvāvasu", 40: "Parābhava", 41: "Plavaṅga", 42: "Kīlaka", 43: "Saumya", 44: "Sādhāraṇa", 45: "Virodhikṛti", 46: "Paridhāvī", 47: "Pramādīca", 48: "Ānanda", 49: "Rākṣasa", 50: "Nala", 51: "Piṅgala", 52: "Kalāyukti", 53: "Siddhārthī", 54: "Raudra", 55: "Durmati", 56: "Dundubhi", 57: "Rudhirodgārī", 58: "Raktākṣī", 59: "Krodhana", 60: "Akṣaya", }, ritus: { 0: "Vasanta", 1: "Grīṣma", 2: "Varṣā", 3: "Śarad", 4: "Hemanta", 5: "Śiśira", }, }; const cities = { Satara: { latitude: 17.68333, timezone: "Asia/Kolkata", longitude: 73.98333, }, Yibin: { latitude: 28.76667, timezone: "Asia/Chongqing", longitude: 104.62383, }, Szczecin: { latitude: 53.42894, timezone: "Europe/Warsaw", longitude: 14.55302, }, Constanta: { latitude: 44.18333, timezone: "Europe/Bucharest", longitude: 28.65, }, Soma: { latitude: 39.18554, timezone: "Europe/Istanbul", longitude: 27.60945, }, Nampa: { latitude: 43.54072, timezone: "America/Boise", longitude: -116.56346, }, "Clacton-on-Sea": { latitude: 51.78967, timezone: "Europe/London", longitude: 1.15597, }, Tagiura: { latitude: 32.88167, timezone: "Africa/Tripoli", longitude: 13.35056, }, Atasehir: { latitude: 40.9833, timezone: "Europe/Istanbul", longitude: 29.1167, }, Sanandaj: { latitude: 35.31495, timezone: "Asia/Tehran", longitude: 46.99883, }, Livingstone: { latitude: -17.84194, timezone: "Africa/Lusaka", longitude: 25.85425, }, Yelets: { latitude: 52.62366, timezone: "Europe/Moscow", longitude: 38.50169, }, Fulda: { latitude: 50.55162, timezone: "Europe/Berlin", longitude: 9.67518, }, "Novi Sad": { latitude: 45.25167, timezone: "Europe/Belgrade", longitude: 19.83694, }, Trencin: { latitude: 48.89452, timezone: "Europe/Bratislava", longitude: 18.04436, }, Auchi: { latitude: 7.06667, timezone: "Africa/Lagos", longitude: 6.26667, }, Panshan: { latitude: 41.18806, timezone: "Asia/Shanghai", longitude: 122.04944, }, Niamey: { latitude: 13.51366, timezone: "Africa/Niamey", longitude: 2.1098, }, Avadi: { latitude: 13.11556, timezone: "Asia/Kolkata", longitude: 80.10167, }, Gravesend: { latitude: 51.44138, timezone: "Europe/London", longitude: 0.37371, }, Caen: { latitude: 49.18585, timezone: "Europe/Paris", longitude: -0.35912, }, Irun: { latitude: 43.33904, timezone: "Europe/Madrid", longitude: -1.78938, }, Darmstadt: { latitude: 49.87056, timezone: "Europe/Berlin", longitude: 8.64944, }, "As Salt": { latitude: 32.03917, timezone: "Asia/Amman", longitude: 35.72722, }, Hikone: { latitude: 35.25, timezone: "Asia/Tokyo", longitude: 136.25, }, "Al Hindiyah": { latitude: 32.54217, timezone: "Asia/Baghdad", longitude: 44.22111, }, Redding: { latitude: 40.58654, timezone: "America/Los_Angeles", longitude: -122.39168, }, Anshan: { latitude: 41.12361, timezone: "Asia/Shanghai", longitude: 122.99, }, "Xalapa de Enriquez": { latitude: 19.53333, timezone: "America/Mexico_City", longitude: -96.91667, }, Douliu: { latitude: 23.70944, timezone: "Asia/Taipei", longitude: 120.54333, }, Sanda: { latitude: 34.88333, timezone: "Asia/Tokyo", longitude: 135.23333, }, Przemysl: { latitude: 49.78498, timezone: "Europe/Warsaw", longitude: 22.76728, }, "Yamaguchi-shi": { latitude: 34.18583, timezone: "Asia/Tokyo", longitude: 131.47139, }, Yuncheng: { latitude: 35.02306, timezone: "Asia/Shanghai", longitude: 110.99278, }, Shiki: { latitude: 35.83333, timezone: "Asia/Tokyo", longitude: 139.58333, }, Oslo: { latitude: 59.91273, timezone: "Europe/Oslo", longitude: 10.74609, }, Caratinga: { latitude: -19.78972, timezone: "America/Sao_Paulo", longitude: -42.13917, }, Ogaminan: { latitude: 7.59464, timezone: "Africa/Lagos", longitude: 6.22476, }, "El Vigia": { latitude: 8.61366, timezone: "America/Caracas", longitude: -71.65284, }, Cotia: { latitude: -23.60389, timezone: "America/Sao_Paulo", longitude: -46.91917, }, "Minyat an Nasr": { latitude: 31.12294, timezone: "Africa/Cairo", longitude: 31.6399, }, Umred: { latitude: 20.85409, timezone: "Asia/Kolkata", longitude: 79.3242, }, Ansan: { latitude: 37.32361, timezone: "Asia/Seoul", longitude: 126.82194, }, Kotikawatta: { latitude: 6.9269, timezone: "Asia/Colombo", longitude: 79.9095, }, Suileng: { latitude: 47.25, timezone: "Asia/Harbin", longitude: 127.08333, }, Taroudant: { latitude: 30.47028, timezone: "Africa/Casablanca", longitude: -8.87695, }, Boise: { latitude: 43.6135, timezone: "America/Boise", longitude: -116.20345, }, Labinsk: { latitude: 44.63417, timezone: "Europe/Moscow", longitude: 40.73556, }, "Itapecerica da Serra": { latitude: -23.71694, timezone: "America/Sao_Paulo", longitude: -46.84917, }, Shahrisabz: { latitude: 39.05778, timezone: "Asia/Samarkand", longitude: 66.83417, }, Hamilton: { latitude: 39.3995, timezone: "America/New_York", longitude: -84.56134, }, Poltava: { latitude: 49.59373, timezone: "Europe/Kiev", longitude: 34.54073, }, "'s-Hertogenbosch": { latitude: 51.69917, timezone: "Europe/Amsterdam", longitude: 5.30417, }, "Chula Vista": { latitude: 32.64005, timezone: "America/Los_Angeles", longitude: -117.0842, }, Dschang: { latitude: 5.44559, timezone: "Africa/Douala", longitude: 10.055, }, Eindhoven: { latitude: 51.44083, timezone: "Europe/Amsterdam", longitude: 5.47778, }, "Mbanza-Ngungu": { latitude: -5.25837, timezone: "Africa/Kinshasa", longitude: 14.85838, }, Kitakyushu: { latitude: 33.83333, timezone: "Asia/Tokyo", longitude: 130.83333, }, Liverpool: { latitude: 53.41058, timezone: "Europe/London", longitude: -2.97794, }, Tadmur: { latitude: 34.56077, timezone: "Asia/Damascus", longitude: 38.28055, }, Dolisie: { latitude: -4.19834, timezone: "Africa/Brazzaville", longitude: 12.66664, }, Yuki: { latitude: 36.3, timezone: "Asia/Tokyo", longitude: 139.88333, }, Wolverhampton: { latitude: 52.58547, timezone: "Europe/London", longitude: -2.12296, }, Blagoveshchensk: { latitude: 50.27817, timezone: "Asia/Yakutsk", longitude: 127.54074, }, Yuanjiang: { latitude: 28.84298, timezone: "Asia/Shanghai", longitude: 112.35217, }, "Los Dos Caminos": { latitude: 10.49389, timezone: "America/Caracas", longitude: -66.82863, }, Hamah: { latitude: 35.13179, timezone: "Asia/Damascus", longitude: 36.75783, }, Khardah: { latitude: 22.71861, timezone: "Asia/Kolkata", longitude: 88.37806, }, Khenifra: { latitude: 32.9391, timezone: "Africa/Casablanca", longitude: -5.6686, }, Okaya: { latitude: 36.05659, timezone: "Asia/Tokyo", longitude: 138.0451, }, Quincy: { latitude: 42.25288, timezone: "America/New_York", longitude: -71.00227, }, Zoucheng: { latitude: 35.40056, timezone: "Asia/Shanghai", longitude: 116.96556, }, Cannock: { latitude: 52.69045, timezone: "Europe/London", longitude: -2.03085, }, Ganja: { latitude: 40.68278, timezone: "Asia/Baku", longitude: 46.36056, }, Ambala: { latitude: 30.36284, timezone: "Asia/Kolkata", longitude: 76.79516, }, Huangchuan: { latitude: 32.12722, timezone: "Asia/Shanghai", longitude: 115.03944, }, Messina: { latitude: 38.19327, timezone: "Europe/Rome", longitude: 15.54969, }, Laiyang: { latitude: 36.97583, timezone: "Asia/Shanghai", longitude: 120.71361, }, "Sao Jose dos Pinhais": { latitude: -25.53472, timezone: "America/Sao_Paulo", longitude: -49.20639, }, "Dayr al Balah": { latitude: 31.41783, timezone: "Asia/Gaza", longitude: 34.35033, }, Brighton: { latitude: 50.82838, timezone: "Europe/London", longitude: -0.13947, }, "Puerto Barrios": { latitude: 15.72778, timezone: "America/Guatemala", longitude: -88.59444, }, Hsinchu: { latitude: 24.80361, timezone: "Asia/Taipei", longitude: 120.96861, }, "San Miguel del Padron": { latitude: 23.06639, timezone: "America/Havana", longitude: -82.29472, }, Upland: { latitude: 34.09751, timezone: "America/Los_Angeles", longitude: -117.64839, }, Onomichi: { latitude: 34.41667, timezone: "Asia/Tokyo", longitude: 133.2, }, Cheltenham: { latitude: 51.9, timezone: "Europe/London", longitude: -2.08333, }, "Saint Cloud": { latitude: 45.5608, timezone: "America/Chicago", longitude: -94.16249, }, "Budapest XXII. keruelet": { latitude: 47.42698, timezone: "Europe/Budapest", longitude: 19.04016, }, Oruro: { latitude: -17.98333, timezone: "America/La_Paz", longitude: -67.15, }, Battersea: { latitude: 51.47475, timezone: "Europe/London", longitude: -0.15547, }, "Huaiyuan Chengguanzhen": { latitude: 32.95893, timezone: "Asia/Shanghai", longitude: 117.16566, }, Martapura: { latitude: -3.41667, timezone: "Asia/Makassar", longitude: 114.85, }, Awka: { latitude: 6.21009, timezone: "Africa/Lagos", longitude: 7.07411, }, "Ciranjang-hilir": { latitude: -6.82, timezone: "Asia/Jakarta", longitude: 107.25722, }, Zoetermeer: { latitude: 52.0575, timezone: "Europe/Amsterdam", longitude: 4.49306, }, Czestochowa: { latitude: 50.79646, timezone: "Europe/Warsaw", longitude: 19.12409, }, Hede: { latitude: 33.76806, timezone: "Asia/Shanghai", longitude: 120.25167, }, Udaipur: { latitude: 24.57117, timezone: "Asia/Kolkata", longitude: 73.69183, }, Matsumoto: { latitude: 36.23333, timezone: "Asia/Tokyo", longitude: 137.96667, }, Jaranwala: { latitude: 31.33333, timezone: "Asia/Karachi", longitude: 73.43333, }, "Sherman Oaks": { latitude: 34.15112, timezone: "America/Los_Angeles", longitude: -118.44925, }, "Santiago de los Caballeros": { latitude: 19.45, timezone: "America/Santo_Domingo", longitude: -70.7, }, "Vol'sk": { latitude: 52.04541, timezone: "Europe/Volgograd", longitude: 47.37993, }, "Kafr az Zayyat": { latitude: 30.8248, timezone: "Africa/Cairo", longitude: 30.81805, }, "Kampung Baru Subang": { latitude: 3.15, timezone: "Asia/Kuala_Lumpur", longitude: 101.53333, }, Hadano: { latitude: 35.37111, timezone: "Asia/Tokyo", longitude: 139.22361, }, Kukatpalli: { latitude: 17.48333, timezone: "Asia/Kolkata", longitude: 78.41667, }, Nagaoka: { latitude: 37.45, timezone: "Asia/Tokyo", longitude: 138.85, }, Bueyuekcekmece: { latitude: 41.02072, timezone: "Europe/Istanbul", longitude: 28.58502, }, Mucumpiz: { latitude: 8.41667, timezone: "America/Caracas", longitude: -71.13333, }, "Okayama-shi": { latitude: 34.66167, timezone: "Asia/Tokyo", longitude: 133.935, }, Cuernavaca: { latitude: 18.94201, timezone: "America/Mexico_City", longitude: -99.22646, }, Dongyang: { latitude: 29.26778, timezone: "Asia/Shanghai", longitude: 120.22528, }, "Giugliano in Campania": { latitude: 40.92741, timezone: "Europe/Rome", longitude: 14.19103, }, Saratov: { latitude: 51.54056, timezone: "Europe/Volgograd", longitude: 46.00861, }, Shushtar: { latitude: 32.0455, timezone: "Asia/Tehran", longitude: 48.8567, }, Koshigaya: { latitude: 35.88333, timezone: "Asia/Tokyo", longitude: 139.78333, }, Jinan: { latitude: 36.66833, timezone: "Asia/Shanghai", longitude: 116.99722, }, "Nizhniy Novgorod": { latitude: 56.32867, timezone: "Europe/Moscow", longitude: 44.00205, }, "Santa Cruz de la Sierra": { latitude: -17.8, timezone: "America/La_Paz", longitude: -63.16667, }, "Lauro de Freitas": { latitude: -12.89444, timezone: "America/Bahia", longitude: -38.32722, }, "Kobe-shi": { latitude: 34.6913, timezone: "Asia/Tokyo", longitude: 135.183, }, Itatiba: { latitude: -23.00583, timezone: "America/Sao_Paulo", longitude: -46.83889, }, Monterrey: { latitude: 25.66667, timezone: "America/Monterrey", longitude: -100.31667, }, Ardabil: { latitude: 38.2498, timezone: "Asia/Tehran", longitude: 48.2933, }, Ardesen: { latitude: 41.19111, timezone: "Europe/Istanbul", longitude: 40.9875, }, Huangnihe: { latitude: 43.55833, timezone: "Asia/Harbin", longitude: 128.02389, }, Ituiutaba: { latitude: -18.96889, timezone: "America/Sao_Paulo", longitude: -49.465, }, "Perth Amboy": { latitude: 40.50677, timezone: "America/New_York", longitude: -74.26542, }, Badajoz: { latitude: 38.87789, timezone: "Europe/Madrid", longitude: -6.97061, }, Nazareth: { latitude: 32.69925, timezone: "Asia/Jerusalem", longitude: 35.30483, }, Smolensk: { latitude: 54.7818, timezone: "Europe/Moscow", longitude: 32.0401, }, Botosani: { latitude: 47.75, timezone: "Europe/Bucharest", longitude: 26.66667, }, "Halle (Saale)": { latitude: 51.5, timezone: "Europe/Berlin", longitude: 12.0, }, Jizan: { latitude: 16.88917, timezone: "Asia/Riyadh", longitude: 42.55111, }, Kristiansand: { latitude: 58.14671, timezone: "Europe/Oslo", longitude: 7.9956, }, "Staten Island": { latitude: 40.56233, timezone: "America/New_York", longitude: -74.13986, }, Bangangte: { latitude: 5.14091, timezone: "Africa/Douala", longitude: 10.51975, }, Mujiayingzi: { latitude: 42.11667, timezone: "Asia/Shanghai", longitude: 118.78333, }, Malabo: { latitude: 3.75, timezone: "Africa/Malabo", longitude: 8.78333, }, Barnala: { latitude: 30.37205, timezone: "Asia/Kolkata", longitude: 75.54537, }, Natal: { latitude: -5.795, timezone: "America/Fortaleza", longitude: -35.20944, }, Venissieux: { latitude: 45.70254, timezone: "Europe/Paris", longitude: 4.87147, }, "Rochester Hills": { latitude: 42.65837, timezone: "America/Detroit", longitude: -83.14993, }, Pessac: { latitude: 44.81011, timezone: "Europe/Paris", longitude: -0.64129, }, Bojnurd: { latitude: 37.47473, timezone: "Asia/Tehran", longitude: 57.32903, }, Khost: { latitude: 33.33951, timezone: "Asia/Kabul", longitude: 69.92041, }, Jalingo: { latitude: 8.88333, timezone: "Africa/Lagos", longitude: 11.36667, }, Vallejo: { latitude: 38.10409, timezone: "America/Los_Angeles", longitude: -122.25664, }, "San Severo": { latitude: 41.68974, timezone: "Europe/Rome", longitude: 15.37604, }, Seto: { latitude: 35.23333, timezone: "Asia/Tokyo", longitude: 137.1, }, Onojo: { latitude: 33.53567, timezone: "Asia/Tokyo", longitude: 130.47861, }, "Boryspil'": { latitude: 50.35269, timezone: "Europe/Kiev", longitude: 30.95501, }, Sabratah: { latitude: 32.79335, timezone: "Africa/Tripoli", longitude: 12.48845, }, "Fresnillo de Gonzalez Echeverria": { latitude: 23.17569, timezone: "America/Mexico_City", longitude: -102.86942, }, Taganrog: { latitude: 47.23617, timezone: "Europe/Moscow", longitude: 38.89688, }, Jaboticabal: { latitude: -21.25472, timezone: "America/Sao_Paulo", longitude: -48.32222, }, Soyapango: { latitude: 13.73472, timezone: "America/El_Salvador", longitude: -89.15139, }, Shahdadkot: { latitude: 27.84771, timezone: "Asia/Karachi", longitude: 67.9055, }, "Fort Worth": { latitude: 32.72541, timezone: "America/Chicago", longitude: -97.32085, }, Waukesha: { latitude: 43.01168, timezone: "America/Chicago", longitude: -88.23148, }, Langfang: { latitude: 39.50972, timezone: "Asia/Shanghai", longitude: 116.69472, }, Alcorcon: { latitude: 40.34582, timezone: "Europe/Madrid", longitude: -3.82487, }, "Kedzierzyn-Kozle": { latitude: 50.34984, timezone: "Europe/Warsaw", longitude: 18.22606, }, Dortmund: { latitude: 51.51494, timezone: "Europe/Berlin", longitude: 7.466, }, Lhokseumawe: { latitude: 5.1801, timezone: "Asia/Jakarta", longitude: 97.1507, }, "Vina del Mar": { latitude: -33.02457, timezone: "America/Santiago", longitude: -71.55183, }, Manhuacu: { latitude: -20.25806, timezone: "America/Sao_Paulo", longitude: -42.03361, }, Cizre: { latitude: 37.32722, timezone: "Europe/Istanbul", longitude: 42.19028, }, Hollywood: { latitude: 34.09834, timezone: "America/Los_Angeles", longitude: -118.32674, }, Pazardzhik: { latitude: 42.2, timezone: "Europe/Sofia", longitude: 24.33333, }, Baoding: { latitude: 38.85111, timezone: "Asia/Shanghai", longitude: 115.49028, }, "Habana del Este": { latitude: 23.15917, timezone: "America/Havana", longitude: -82.33056, }, Gagnoa: { latitude: 6.13193, timezone: "Africa/Abidjan", longitude: -5.9506, }, Punasa: { latitude: 22.23544, timezone: "Asia/Kolkata", longitude: 76.39295, }, Shiliguri: { latitude: 26.71004, timezone: "Asia/Kolkata", longitude: 88.42851, }, Astana: { latitude: 51.1801, timezone: "Asia/Almaty", longitude: 71.44598, }, Tenan: { latitude: 36.8065, timezone: "Asia/Seoul", longitude: 127.1522, }, "La Dolorita": { latitude: 10.4883, timezone: "America/Caracas", longitude: -66.78608, }, Guidonia: { latitude: 42.01667, timezone: "Europe/Rome", longitude: 12.75, }, Afragola: { latitude: 40.92601, timezone: "Europe/Rome", longitude: 14.31083, }, Frisco: { latitude: 33.15067, timezone: "America/Chicago", longitude: -96.82361, }, "Shivaji Nagar": { latitude: 18.53017, timezone: "Asia/Kolkata", longitude: 73.85263, }, Ezhva: { latitude: 61.81281, timezone: "Europe/Moscow", longitude: 50.72834, }, "Den Haag": { latitude: 52.07667, timezone: "Europe/Amsterdam", longitude: 4.29861, }, Vinh: { latitude: 18.66667, timezone: "Asia/Ho_Chi_Minh", longitude: 105.66667, }, "Ha Long": { latitude: 20.95111, timezone: "Asia/Ho_Chi_Minh", longitude: 107.08, }, Nigel: { latitude: -26.43138, timezone: "Africa/Johannesburg", longitude: 28.47713, }, "Delray Beach": { latitude: 26.46146, timezone: "America/New_York", longitude: -80.07282, }, Chas: { latitude: 23.63556, timezone: "Asia/Kolkata", longitude: 86.16712, }, Taungdwingyi: { latitude: 20.0065, timezone: "Asia/Rangoon", longitude: 95.54531, }, Tadpatri: { latitude: 14.91667, timezone: "Asia/Kolkata", longitude: 78.01667, }, "Arlington Heights": { latitude: 42.08836, timezone: "America/Chicago", longitude: -87.98063, }, Tulancingo: { latitude: 20.08363, timezone: "America/Mexico_City", longitude: -98.36332, }, Chihuahua: { latitude: 28.63333, timezone: "America/Chihuahua", longitude: -106.08333, }, "Sa Dec": { latitude: 10.3, timezone: "Asia/Ho_Chi_Minh", longitude: 105.76667, }, Xiongzhou: { latitude: 25.11667, timezone: "Asia/Shanghai", longitude: 114.3, }, "Berlin Spandau": { latitude: 52.5511, timezone: "Europe/Berlin", longitude: 13.19921, }, Talca: { latitude: -35.4264, timezone: "America/Santiago", longitude: -71.65542, }, Waterford: { latitude: 42.70225, timezone: "America/Detroit", longitude: -83.40272, }, Reston: { latitude: 38.96872, timezone: "America/New_York", longitude: -77.3411, }, Man: { latitude: 7.41251, timezone: "Africa/Abidjan", longitude: -7.55383, }, Jiaozhou: { latitude: 36.28389, timezone: "Asia/Shanghai", longitude: 120.00333, }, Arzamas: { latitude: 55.39485, timezone: "Europe/Moscow", longitude: 43.83992, }, "Iriga City": { latitude: 13.4324, timezone: "Asia/Manila", longitude: 123.4115, }, Catalao: { latitude: -18.16583, timezone: "America/Sao_Paulo", longitude: -47.94639, }, Ningyang: { latitude: 35.76417, timezone: "Asia/Shanghai", longitude: 116.79139, }, Quetta: { latitude: 30.199, timezone: "Asia/Karachi", longitude: 67.00971, }, Deolali: { latitude: 19.95, timezone: "Asia/Kolkata", longitude: 73.83333, }, Braganca: { latitude: -1.05361, timezone: "America/Belem", longitude: -46.76556, }, Braunschweig: { latitude: 52.26594, timezone: "Europe/Berlin", longitude: 10.52673, }, Yishui: { latitude: 35.78472, timezone: "Asia/Shanghai", longitude: 118.62806, }, Wuchang: { latitude: 44.91428, timezone: "Asia/Harbin", longitude: 127.15001, }, Jaboatao: { latitude: -8.18028, timezone: "America/Recife", longitude: -35.00139, }, Agadir: { latitude: 30.42018, timezone: "Africa/Casablanca", longitude: -9.59815, }, Ifo: { latitude: 6.81437, timezone: "Africa/Lagos", longitude: 3.19575, }, Codo: { latitude: -4.45528, timezone: "America/Fortaleza", longitude: -43.88556, }, Meknes: { latitude: 33.89352, timezone: "Africa/Casablanca", longitude: -5.54727, }, Sirhind: { latitude: 30.64332, timezone: "Asia/Kolkata", longitude: 76.38489, }, Volgograd: { latitude: 48.71939, timezone: "Europe/Volgograd", longitude: 44.50184, }, "Marzahn Bezirk": { latitude: 52.55, timezone: "Europe/Berlin", longitude: 13.55, }, "Spring Valley": { latitude: 36.10803, timezone: "America/Los_Angeles", longitude: -115.245, }, Bender: { latitude: 46.83056, timezone: "Europe/Chisinau", longitude: 29.47111, }, Chicago: { latitude: 41.85003, timezone: "America/Chicago", longitude: -87.65005, }, "San Salvador": { latitude: 13.68935, timezone: "America/El_Salvador", longitude: -89.18718, }, Teresopolis: { latitude: -22.41222, timezone: "America/Sao_Paulo", longitude: -42.96556, }, Araraquara: { latitude: -21.79444, timezone: "America/Sao_Paulo", longitude: -48.17556, }, "Saint Petersburg": { latitude: 27.77086, timezone: "America/New_York", longitude: -82.67927, }, Soubre: { latitude: 5.78556, timezone: "Africa/Abidjan", longitude: -6.60833, }, "Mwene-Ditu": { latitude: -7, timezone: "Africa/Lubumbashi", longitude: 23.45, }, Pamanukan: { latitude: -6.28417, timezone: "Asia/Jakarta", longitude: 107.81056, }, Imari: { latitude: 33.26667, timezone: "Asia/Tokyo", longitude: 129.88333, }, Uwajima: { latitude: 33.22375, timezone: "Asia/Tokyo", longitude: 132.56001, }, "Abu Ghurayb": { latitude: 33.30703, timezone: "Asia/Baghdad", longitude: 44.18694, }, "Ciudad Victoria": { latitude: 23.73333, timezone: "America/Monterrey", longitude: -99.13333, }, Ixtapaluca: { latitude: 19.31905, timezone: "America/Mexico_City", longitude: -98.88432, }, Bani: { latitude: 18.28333, timezone: "America/Santo_Domingo", longitude: -70.33333, }, Turmero: { latitude: 10.22388, timezone: "America/Caracas", longitude: -67.47288, }, Lynn: { latitude: 42.46676, timezone: "America/New_York", longitude: -70.94949, }, Tarragona: { latitude: 41.11667, timezone: "Europe/Madrid", longitude: 1.25, }, "Bet Shemesh": { latitude: 31.74959, timezone: "Asia/Jerusalem", longitude: 34.98877, }, "Jersey City": { latitude: 40.72816, timezone: "America/New_York", longitude: -74.07764, }, Wuxue: { latitude: 29.85058, timezone: "Asia/Shanghai", longitude: 115.5525, }, Azamgarh: { latitude: 26.06758, timezone: "Asia/Kolkata", longitude: 83.18364, }, Narwana: { latitude: 29.59489, timezone: "Asia/Kolkata", longitude: 76.11816, }, "Francisco Morato": { latitude: -23.28167, timezone: "America/Sao_Paulo", longitude: -46.74528, }, Barretos: { latitude: -20.55722, timezone: "America/Sao_Paulo", longitude: -48.56778, }, Shaoxing: { latitude: 30.01102, timezone: "Asia/Shanghai", longitude: 120.57153, }, "Saint George": { latitude: 37.10415, timezone: "America/Denver", longitude: -113.58412, }, Kingston: { latitude: 17.99702, timezone: "America/Jamaica", longitude: -76.79358, }, Fareham: { latitude: 50.85162, timezone: "Europe/London", longitude: -1.17929, }, Bharatpur: { latitude: 27.68333, timezone: "Asia/Kathmandu", longitude: 84.43333, }, "Paradip Garh": { latitude: 20.31641, timezone: "Asia/Kolkata", longitude: 86.6085, }, "Universal City": { latitude: 34.1389, timezone: "America/Los_Angeles", longitude: -118.35341, }, Encinitas: { latitude: 33.03699, timezone: "America/Los_Angeles", longitude: -117.29198, }, Lisbon: { latitude: 38.71667, timezone: "Europe/Lisbon", longitude: -9.13333, }, Latur: { latitude: 18.4, timezone: "Asia/Kolkata", longitude: 76.58333, }, Zanzibar: { latitude: -6.16394, timezone: "Africa/Dar_es_Salaam", longitude: 39.19793, }, Shangzhi: { latitude: 45.21667, timezone: "Asia/Harbin", longitude: 127.96667, }, Union: { latitude: 40.6976, timezone: "America/New_York", longitude: -74.2632, }, Nyiregyhaza: { latitude: 47.95539, timezone: "Europe/Budapest", longitude: 21.71671, }, Tuymazy: { latitude: 54.60666, timezone: "Asia/Yekaterinburg", longitude: 53.7097, }, Sandwip: { latitude: 22.51409, timezone: "Asia/Dhaka", longitude: 91.45491, }, Paradise: { latitude: 36.09719, timezone: "America/Los_Angeles", longitude: -115.14666, }, "Saint-Hyacinthe": { latitude: 45.61678, timezone: "America/Montreal", longitude: -72.94914, }, Carabanchel: { latitude: 40.39094, timezone: "Europe/Madrid", longitude: -3.7242, }, Timon: { latitude: -5.09417, timezone: "America/Fortaleza", longitude: -42.83667, }, Kamareddi: { latitude: 18.31667, timezone: "Asia/Kolkata", longitude: 78.35, }, Fusagasuga: { latitude: 4.33646, timezone: "America/Bogota", longitude: -74.36378, }, Lewisville: { latitude: 33.04623, timezone: "America/Chicago", longitude: -96.99417, }, Uyovu: { latitude: -3.28333, timezone: "Africa/Dar_es_Salaam", longitude: 31.52583, }, Evry: { latitude: 48.63333, timezone: "Europe/Paris", longitude: 2.45, }, Planaltina: { latitude: -15.45278, timezone: "America/Sao_Paulo", longitude: -47.61417, }, Bacau: { latitude: 46.56667, timezone: "Europe/Bucharest", longitude: 26.9, }, "Song Cau": { latitude: 13.45, timezone: "Asia/Ho_Chi_Minh", longitude: 109.21667, }, Itaborai: { latitude: -22.74444, timezone: "America/Sao_Paulo", longitude: -42.85944, }, Ipoti: { latitude: 7.87377, timezone: "Africa/Lagos", longitude: 5.07692, }, Bexley: { latitude: 51.44162, timezone: "Europe/London", longitude: 0.14866, }, Koudougou: { latitude: 12.25, timezone: "Africa/Ouagadougou", longitude: -2.36667, }, Moriyama: { latitude: 35.06667, timezone: "Asia/Tokyo", longitude: 135.98333, }, Harburg: { latitude: 53.46057, timezone: "Europe/Berlin", longitude: 9.98388, }, Sargodha: { latitude: 32.08361, timezone: "Asia/Karachi", longitude: 72.67111, }, Qingzhou: { latitude: 36.69667, timezone: "Asia/Shanghai", longitude: 118.47972, }, Pescara: { latitude: 42.46024, timezone: "Europe/Rome", longitude: 14.21021, }, Frenda: { latitude: 35.06544, timezone: "Africa/Algiers", longitude: 1.04945, }, Gapan: { latitude: 15.3072, timezone: "Asia/Manila", longitude: 120.9464, }, Colegiales: { latitude: -34.57365, timezone: "America/Argentina/Buenos_Aires", longitude: -58.44924, }, Huicheng: { latitude: 23.03845, timezone: "Asia/Shanghai", longitude: 116.28988, }, Jiangyan: { latitude: 32.50611, timezone: "Asia/Shanghai", longitude: 120.14278, }, Anderson: { latitude: 40.10532, timezone: "America/Indiana/Indianapolis", longitude: -85.68025, }, Daet: { latitude: 14.1122, timezone: "Asia/Manila", longitude: 122.9553, }, Yangchun: { latitude: 22.16667, timezone: "Asia/Chongqing", longitude: 111.78333, }, "Palma Soriano": { latitude: 20.21722, timezone: "America/Havana", longitude: -75.99889, }, "Yashio-shi": { latitude: 35.82255, timezone: "Asia/Tokyo", longitude: 139.83905, }, Szombathely: { latitude: 47.23088, timezone: "Europe/Budapest", longitude: 16.62155, }, "Al Fujayrah": { latitude: 25.11641, timezone: "Asia/Dubai", longitude: 56.34141, }, Mejicanos: { latitude: 13.74028, timezone: "America/El_Salvador", longitude: -89.21306, }, Rajanpur: { latitude: 29.10351, timezone: "Asia/Karachi", longitude: 70.32504, }, Hiratsuka: { latitude: 35.32306, timezone: "Asia/Tokyo", longitude: 139.34222, }, Brits: { latitude: -25.63473, timezone: "Africa/Johannesburg", longitude: 27.78022, }, Faizabad: { latitude: 26.77691, timezone: "Asia/Kolkata", longitude: 82.13292, }, Dewas: { latitude: 22.96585, timezone: "Asia/Kolkata", longitude: 76.05526, }, Taiping: { latitude: 4.85, timezone: "Asia/Kuala_Lumpur", longitude: 100.73333, }, Jizzax: { latitude: 40.11583, timezone: "Asia/Samarkand", longitude: 67.84222, }, "Az Zaqaziq": { latitude: 30.58768, timezone: "Africa/Cairo", longitude: 31.502, }, Petroupolis: { latitude: 38.04187, timezone: "Europe/Athens", longitude: 23.68494, }, Cikarang: { latitude: -6.26111, timezone: "Asia/Jakarta", longitude: 107.15278, }, Horsham: { latitude: 51.06395, timezone: "Europe/London", longitude: -0.32719, }, Obonoma: { latitude: 4.70844, timezone: "Africa/Lagos", longitude: 6.79307, }, Tharyarwady: { latitude: 17.65399, timezone: "Asia/Rangoon", longitude: 95.78813, }, Trichur: { latitude: 10.51667, timezone: "Asia/Kolkata", longitude: 76.21667, }, Sanjo: { latitude: 37.61667, timezone: "Asia/Tokyo", longitude: 138.95, }, Stuttgart: { latitude: 48.78232, timezone: "Europe/Berlin", longitude: 9.17702, }, Sidoarjo: { latitude: -7.4478, timezone: "Asia/Jakarta", longitude: 112.7183, }, Stratford: { latitude: 41.18454, timezone: "America/New_York", longitude: -73.13317, }, Merzifon: { latitude: 40.87333, timezone: "Europe/Istanbul", longitude: 35.46306, }, Aberdeen: { latitude: 57.14369, timezone: "Europe/London", longitude: -2.09814, }, "Bergisch Gladbach": { latitude: 50.9856, timezone: "Europe/Berlin", longitude: 7.13298, }, Krusevac: { latitude: 43.58, timezone: "Europe/Belgrade", longitude: 21.33389, }, Chelyabinsk: { latitude: 55.15402, timezone: "Asia/Yekaterinburg", longitude: 61.42915, }, Aqtobe: { latitude: 50.27969, timezone: "Asia/Aqtobe", longitude: 57.20718, }, Balkh: { latitude: 36.75635, timezone: "Asia/Kabul", longitude: 66.8972, }, Vadodara: { latitude: 22.2994, timezone: "Asia/Kolkata", longitude: 73.20812, }, "Chust Shahri": { latitude: 41.00936, timezone: "Asia/Tashkent", longitude: 71.2287, }, "Maler Kotla": { latitude: 30.5309, timezone: "Asia/Kolkata", longitude: 75.87949, }, Vriddhachalam: { latitude: 11.51662, timezone: "Asia/Kolkata", longitude: 79.32551, }, Zlitan: { latitude: 32.46738, timezone: "Africa/Tripoli", longitude: 14.56874, }, Coban: { latitude: 15.47083, timezone: "America/Guatemala", longitude: -90.37083, }, Asyut: { latitude: 27.18096, timezone: "Africa/Cairo", longitude: 31.18368, }, "San Pablo de las Salinas": { latitude: 19.6667, timezone: "America/Mexico_City", longitude: -99.09527, }, Iwakuni: { latitude: 34.15, timezone: "Asia/Tokyo", longitude: 132.18333, }, Sherkot: { latitude: 29.32627, timezone: "Asia/Kolkata", longitude: 78.57448, }, Manaus: { latitude: -3.10194, timezone: "America/Manaus", longitude: -60.025, }, Leverkusen: { latitude: 51.0303, timezone: "Europe/Berlin", longitude: 6.98432, }, Berbera: { latitude: 10.43959, timezone: "Africa/Mogadishu", longitude: 45.01432, }, Corroios: { latitude: 38.64502, timezone: "Europe/Lisbon", longitude: -9.14843, }, Algiers: { latitude: 36.7525, timezone: "Africa/Algiers", longitude: 3.04197, }, Tokyo: { latitude: 35.6895, timezone: "Asia/Tokyo", longitude: 139.69171, }, Seguela: { latitude: 7.96111, timezone: "Africa/Abidjan", longitude: -6.67306, }, Chulucanas: { latitude: -5.0925, timezone: "America/Lima", longitude: -80.1625, }, Peristeri: { latitude: 38.01667, timezone: "Europe/Athens", longitude: 23.7, }, Amaigbo: { latitude: 5.78917, timezone: "Africa/Lagos", longitude: 7.83829, }, Fayetteville: { latitude: 35.05266, timezone: "America/New_York", longitude: -78.87836, }, Shirpur: { latitude: 21.35161, timezone: "Asia/Kolkata", longitude: 74.88037, }, Elgin: { latitude: 42.03725, timezone: "America/Chicago", longitude: -88.28119, }, Zhaogezhuang: { latitude: 39.76667, timezone: "Asia/Shanghai", longitude: 118.4, }, Ashoknagar: { latitude: 24.57468, timezone: "Asia/Kolkata", longitude: 77.73038, }, Gemena: { latitude: 3.25651, timezone: "Africa/Kinshasa", longitude: 19.77234, }, Beersheba: { latitude: 31.25181, timezone: "Asia/Jerusalem", longitude: 34.7913, }, Cheremkhovo: { latitude: 53.15611, timezone: "Asia/Irkutsk", longitude: 103.0675, }, Paracatu: { latitude: -17.22222, timezone: "America/Sao_Paulo", longitude: -46.87472, }, Santarem: { latitude: -2.44306, timezone: "America/Santarem", longitude: -54.70833, }, Orebro: { latitude: 59.27412, timezone: "Europe/Stockholm", longitude: 15.2066, }, Iskenderun: { latitude: 36.58718, timezone: "Europe/Istanbul", longitude: 36.17347, }, Neuquen: { latitude: -38.95161, timezone: "America/Argentina/Salta", longitude: -68.0591, }, Laoag: { latitude: 18.1978, timezone: "Asia/Manila", longitude: 120.5957, }, Villavicencio: { latitude: 4.142, timezone: "America/Bogota", longitude: -73.62664, }, Putatan: { latitude: 5.9258, timezone: "Asia/Kuching", longitude: 116.06094, }, Rzhev: { latitude: 56.26241, timezone: "Europe/Moscow", longitude: 34.32817, }, Chervonohrad: { latitude: 50.39105, timezone: "Europe/Kiev", longitude: 24.23514, }, Habbouch: { latitude: 33.4075, timezone: "Asia/Beirut", longitude: 35.48278, }, Muzaffargarh: { latitude: 30.07537, timezone: "Asia/Karachi", longitude: 71.19213, }, Budapest: { latitude: 47.49801, timezone: "Europe/Budapest", longitude: 19.03991, }, Banqiao: { latitude: 25.01427, timezone: "Asia/Taipei", longitude: 121.46719, }, Toyohashi: { latitude: 34.76667, timezone: "Asia/Tokyo", longitude: 137.38333, }, Gaya: { latitude: 24.79686, timezone: "Asia/Kolkata", longitude: 85.00385, }, Fiditi: { latitude: 7.71361, timezone: "Africa/Lagos", longitude: 3.91722, }, Ishim: { latitude: 56.11281, timezone: "Asia/Yekaterinburg", longitude: 69.49015, }, "Nara-shi": { latitude: 34.68505, timezone: "Asia/Tokyo", longitude: 135.80485, }, Aachen: { latitude: 50.77664, timezone: "Europe/Berlin", longitude: 6.08342, }, Anyang: { latitude: 37.3925, timezone: "Asia/Seoul", longitude: 126.92694, }, Kulai: { latitude: 1.6561, timezone: "Asia/Kuala_Lumpur", longitude: 103.6032, }, Binzhou: { latitude: 45.75281, timezone: "Asia/Harbin", longitude: 127.47986, }, Futtsu: { latitude: 35.30528, timezone: "Asia/Tokyo", longitude: 139.81861, }, "Hitachi-Naka": { latitude: 36.39659, timezone: "Asia/Tokyo", longitude: 140.53479, }, Tangshan: { latitude: 39.63333, timezone: "Asia/Shanghai", longitude: 118.18333, }, Sambalpur: { latitude: 21.45, timezone: "Asia/Kolkata", longitude: 83.96667, }, Votkinsk: { latitude: 57.04865, timezone: "Eu