একটি শহরের দ্রাঘিমাংশ এবং অক্ষাংশ পেতে, আমরা geopy মডিউল ব্যবহার করব। geopy থার্ড-পার্টি জিওকোডার এবং অন্যান্য ডেটা সোর্স ব্যবহার করে ঠিকানা, শহর, দেশ ইত্যাদির কোঅর্ডিনেট খুঁজে বের করে।
প্রথমে নিশ্চিত করুন যে geopy মডিউলটি ইনস্টল করা আছে −
pip install geopy
নিচের উদাহরণে, আমরা Nominatim জিওকোডার ব্যবহার করব "Hyderabad" শহরের দ্রাঘিমাংশ এবং অক্ষাংশ খুঁজে বের করতে।
পদক্ষেপসমূহ −
geopy মডিউল থেকে Nominatim geocoder আমদানি করুন।
Nominatim API ইনিশিয়ালাইজ করুন এবং ইনপুট স্ট্রিং-এর লোকেশন পেতে geocode মেথড ব্যবহার করুন।
অবশেষে, location.latitude এবং location.longitude ব্যবহার করে লোকেশনের অক্ষাংশ এবং দ্রাঘিমাংশ পান।
উদাহরণ ১
# প্রয়োজনীয় লাইব্রেরি আমদানি করুন from geopy.geocoders import Nominatim # Nominatim API ইনিশিয়ালাইজ করুন geolocator = Nominatim(user_agent="MyApp") location = geolocator.geocode("Hyderabad") print("লোকেশনের অক্ষাংশ: ", location.latitude) print("লোকেশনের দ্রাঘিমাংশ: ", location.longitude)আউটপুট
এটি কনসোলে নিচের আউটপুটটি প্রিন্ট করবে −
The latitude of the location is: 17.360589 The longitude of the location is: 78.4740613
এই উদাহরণে, আসুন উদাহরণ ১-এর বিপরীত কাজ করি। আমরা কোঅর্ডিনেটের একটি সেট দিয়ে শুরু করব এবং সেই কোঅর্ডিনেটগুলো কোন শহর, রাজ্য এবং দেশকে রিপ্রেজেন্ট করে সেটা খুঁজে বের করব। কনসোলে আউটপুট প্রিন্ট করার পরিবর্তে, আউটপুট প্রদর্শনের জন্য চারটি লেবেল সহ একটি tkinter উইন্ডো তৈরি করব।
পদক্ষেপসমূহ −
Nominatim API ইনিশিয়ালাইজ করুন।
geolocator.reverse() ফাংশন ব্যবহার করুন এবং কোঅর্ডিনেট (অক্ষাংশ এবং দ্রাঘিমাংশ) সরবরাহ করে লোকেশন ডেটা পান।
location.raw['address'] ব্যবহার করে লোকেশনের ঠিকানা পান এবং address.get() ব্যবহার করে ডেটা ট্রাভার্স করে শহর, রাজ্য এবং দেশ খুঁজে বের করুন।
ডেটা প্রদর্শনের জন্য tkinter উইন্ডোর ভেতরে লেবেল তৈরি করুন।
উদাহরণ ২
from tkinter import * from geopy.geocoders import Nominatim # tkinter ফ্রেমের একটি ইনস্ট্যান্স তৈরি করুন win = Tk() # উইন্ডোর জ্যামিতি সংজ্ঞায়িত করুন win.geometry("700x350") # Nominatim API ইনিশিয়ালাইজ করুন geolocator = Nominatim(user_agent="MyApp") # অক্ষাংশ ও দ্রাঘিমাংশ ইনপুট কোঅর্ডিনেট coordinates = "17.3850 , 78.4867" location = geolocator.reverse(coordinates) address = location.raw['address'] # ডেটা ট্রাভার্স করুন city = address.get('city', '') state = address.get('state', '') country = address.get('country', '') # লেবেল উইজেট তৈরি করুন 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()আউটপুট
এটি নিচের আউটপুটটি উৎপন্ন করবে −
