यह कड़ाई से एक नया उत्तर नहीं है (अभी तक), लेकिन एंटीपोडल हवाई अड्डों के एक डेटासेट को प्रस्तुत करता है जिसका उपयोग कोई बेहतर मार्ग खोजने के लिए कर सकता है। सबसे एंटीपोडल हवाई अड्डों के लिए पढ़ें और सैंटियागो-शीआन मार्ग के बारे में चौंकाने वाला खुलासा करें।
इस अन्वेषण को जारी रखते हुए, मैं a3nm के काम की ओर मुड़ता हूं, जो पहले कुछ हवाई अड्डे के एंटीपोड से संबंधित टोमफूलरी में लगे थे। OpenFlights डेटाबेस के लिए अपने पॉइंटर का उपयोग करना (जिनके लिए सभी को उनके लाइसेंस के अनुसार क्रेडिट दिया गया है), मैं दुनिया भर के हवाई अड्डों और हवाई मार्गों के लिए डेटाफाइल्स प्राप्त कर सकता हूं।
सबसे पहले, मैं इस प्रक्रिया का उपयोग करके एयरपोर्ट डेटा को पोस्टग्रेसीक्यूएल तालिका में लोड करूंगा , और पोस्टगिस समर्थन के लिए तालिका को सक्षम कर सकता हूं ताकि हम स्थानिक गणना कर सकें।
हम स्क्रैच कॉलम के एक जोड़े को सेट करेंगे, प्रत्येक हवाई अड्डे के लिए एंटीपोड की गणना करेंगे, और इसे एक ज्यामिति में परिवर्तित करेंगे (यदि आप जानते हैं कि यह आप क्या कर रहे हैं तो ऐसा करने का एक बेहतर तरीका है। यहां एक सामान्य विषय यह है कि हम डॉन करते हैं। ' टी, वास्तव में, जानते हैं कि हम क्या कर रहे हैं):
update airports set antipode_latitude = -latitude;
update airports set antipode_longitude = 180+longitude;
update airports set antipode_longitude = antipode_longitude-360 where antipode_longitude > 180;
update airports SET antipode = ST_SetSRID(ST_MakePoint(antipode_longitude,antipode_latitude),4326);
और पवित्रता उन कुछ परिणामों के आधार पर जांचती है जिनके बारे में हम पहले से जानते हैं:
select airports.name, city, country, iata, ST_Distance_Sphere(airports.antipode, (select airports.geom from airports where iata='SCL')) as distance from airports order by distance limit 3;
Ankang Airport Ankang China AKA 80599.02914563
Xi\\'An Xiguan Xi\\'AN China SIA 109730.42018116
Xianyang Xi'an China XIY **124745.39283865**
अरे नहीं! हमने अपने पिछले उत्तर के बारे में एक विनाशकारी सत्य प्रकट किया है। SCL-XIY वास्तव में 24 किमी बहुत दूर है जो सख्ती से योग्य है। यह संभवत: सैंटियागो या शीआन में अपनी यात्रा को थोड़ा आगे बढ़ाकर और किसी प्रकार की हवाई अड्डे की बस लेने से ठीक किया जा सकता है (यदि आपके पास 72 घंटे का राउंडट्रिप हो रहा है) वास्तव में एक दुखद खोज।
select airports.name, city, country, iata, ST_Distance_Sphere(airports.antipode, (select airports.geom from airports where iata='AKL')) as distance from airports order by distance limit 5;
Ronda Airport Ronda Spain RRA 28932.88795948
Ronda Ronda Spain 30772.20555266
Moron Ab Sevilla Spain OZP 40636.98417791
Malaga Malaga Spain AGP 73182.10790714
Sevilla Sevilla Spain SVQ 75861.92508438
अच्छी खबर यह है कि परिणाम समझदार हैं। अब हम सबसे अधिक एंटीपोडल हवाई अड्डे पा सकते हैं, क्योंकि क्यों नहीं? आइए डेटाबेस का उपयोग करने की हमारी प्रवृत्ति को मूर्खतापूर्ण रूप से जारी रखें, क्योंकि यह मामूली आसान है, और एक डुप्लिकेट स्क्रैच टेबल बनाएं ताकि हम दो तालिकाओं में क्वेरी को चला सकें। हम आईएटीए कोड के साथ हवाई अड्डों के लिए अपनी खोज को भी सीमित करेंगे, डेटासेट में अधिकांश यादृच्छिक ट्रेन स्टेशनों को बाहर करने के लिए और हमें आसानी से ढूंढने वाली वाणिज्यिक सेवा के साथ हवाई अड्डे खोजने का सबसे अच्छा मौका देंगे:
create table airports2 (like airports including all);
insert into airports2 select * from airports;
select airports.name, airports.city, airports.country, airports.iata, airports2.name, airports2.city, airports2.country, airports2.iata, st_distance_sphere(airports.antipode, airports2.geom) as distance from airports, airports2 where airports.geom && ST_Expand(airports2.antipode, 25) and airports.iata <> '' and airports2.iata <> '' order by ST_DISTANCE(airports.geom, airports2.antipode) asc limit 1;
Sultan Mahmud Badaruddin Ii Palembang Indonesia PLM Benito Salas Neiva Colombia NVA 5810.60702928
और निश्चित रूप से, पीएलएम और एनवीए काफी करीब हैं:
यदि आप उत्सुक हैं, और मुझे पता है कि आप हैं, तो पीएलएम और एनवीए अभी भी जीतते हैं, भले ही आप उन प्रतिबंधों को हटा दें जो हवाई अड्डों के पास कोड हैं।
अब हम 100 किमी रेंज के भीतर सभी एंटीपोडल एयरपोर्ट (IATA कोड के साथ) के लिए क्वेरी करेंगे, क्योंकि वे जोड़े गए मेल के बाद हर दूसरी प्रविष्टि को ट्रिम करते हैं, और जांच के लिए 366 उम्मीदवार शहर-जोड़े को सूचीबद्ध करने वाली डेटा फ़ाइल का उत्पादन करते हैं । हम थोड़ा बड़ा सेट भी कर सकते हैं यदि हम 100 किमी की सीमा में आराम करते हैं तो बाल और आकृति हम हमेशा थोड़ा और चल सकते हैं अगर कुछ और नहीं।
select airports.name, airports.city, airports.country, airports.iata, airports2.name, airports2.city, airports2.country, airports2.iata, st_distance_sphere(airports.antipode, airports2.geom) as error from airports, airports2 where airports.geom && ST_Expand(airports2.antipode, 25) and airports.iata <> '' and airports2.iata <> '' order by ST_DISTANCE_sphere(airports.antipode, airports2.geom) asc limit 1000;
हमारी अगली किस्त में, हम देखेंगे कि क्या हम एक तेज़ मार्ग पा सकते हैं।