किसी शहर का देशांतर और अक्षांश प्राप्त करने के लिए, हम जियोपी का उपयोग करेंगे मापांक। जियोपी पते, शहरों, देशों आदि के निर्देशांकों का पता लगाने के लिए तृतीय-पक्ष जियोकोडर और अन्य डेटा स्रोतों का उपयोग करता है।
सबसे पहले, सुनिश्चित करें कि जियोपी मॉड्यूल स्थापित है -
pip install geopy
निम्नलिखित उदाहरण में, हम Nominatim . का उपयोग करेंगे "हैदराबाद" शहर के देशांतर और अक्षांश का पता लगाने के लिए जियोकोडर।
कदम -
-
आयात करें Nominatim geocoder जियोपी . से मॉड्यूल।
-
Nominatim API को इनिशियलाइज़ करें और जियोकोड . का उपयोग करें इनपुट स्ट्रिंग का स्थान प्राप्त करने की विधि।
-
अंत में, स्थान का अक्षांश और देशांतर स्थान.अक्षांश . द्वारा प्राप्त करें और स्थान.देशांतर ।
उदाहरण 1
# Import the required library from geopy.geocoders import Nominatim # Initialize Nominatim API geolocator = Nominatim(user_agent="MyApp") location = geolocator.geocode("Hyderabad") print("The latitude of the location is: ", location.latitude) print("The longitude of the location is: ", location.longitude)
आउटपुट
यह कंसोल पर निम्न आउटपुट प्रिंट करेगा -
The latitude of the location is: 17.360589 The longitude of the location is: 78.4740613
इस उदाहरण में, आइए उदाहरण 1 के विपरीत करते हैं। हम निर्देशांक का एक सेट प्रदान करके शुरू करेंगे और उन निर्देशांकों का शहर, राज्य और देश ढूंढेंगे। कंसोल पर आउटपुट प्रिंट करने के बजाय, हम आउटपुट प्रदर्शित करने के लिए चार लेबल वाली टिंकर विंडो बनाएंगे।
कदम -
-
नॉमिनेटियम एपीआई को इनिशियलाइज़ करें।
-
geolocator.reverse() . का प्रयोग करें स्थान डेटा प्राप्त करने के लिए निर्देशांक (अक्षांश और देशांतर) कार्य करते हैं और आपूर्ति करते हैं।
-
location.raw['address'] . का उपयोग करके स्थान का पता प्राप्त करें और address.get() . का उपयोग करके शहर, राज्य और देश को खोजने के लिए डेटा को पार करें ।
-
डेटा प्रदर्शित करने के लिए टिंकर विंडो के अंदर लेबल बनाएं।
उदाहरण 2
from tkinter import * from geopy.geocoders import Nominatim # Create an instance of tkinter frame win = Tk() # Define geometry of the window win.geometry("700x350") # Initialize Nominatim API geolocator = Nominatim(user_agent="MyApp") # Latitude & Longitude input coordinates = "17.3850 , 78.4867" location = geolocator.reverse(coordinates) address = location.raw['address'] # Traverse the data city = address.get('city', '') state = address.get('state', '') country = address.get('country', '') # Create a Label widget label1=Label(text="Given Latitude and Longitude: " + coordinates, font=("Calibri", 24, "bold")) label1.pack(pady=20) label2=Label(text="The city is: " + city, font=("Calibri", 24, "bold")) label2.pack(pady=20) label3=Label(text="The state is: " + state, font=("Calibri", 24, "bold")) label3.pack(pady=20) label4=Label(text="The country is: " + country, font=("Calibri", 24, "bold")) label4.pack(pady=20) win.mainloop()
आउटपुट
यह निम्नलिखित आउटपुट देगा -