ในการรับลองจิจูดและละติจูดของเมือง เราจะใช้ภูมิศาสตร์ โมดูล. ภูมิศาสตร์ ใช้ geocoders บุคคลที่สามและแหล่งข้อมูลอื่นๆ เพื่อค้นหาพิกัดของที่อยู่ เมือง ประเทศ ฯลฯ
ก่อนอื่น ตรวจสอบให้แน่ใจว่า ภูมิศาสตร์ ติดตั้งโมดูลแล้ว -
pip install geopy
ในตัวอย่างต่อไปนี้ เราจะใช้ Nominatim geocoder เพื่อค้นหาลองจิจูดและละติจูดของเมือง "ไฮเดอราบาด"
ขั้นตอน -
-
นำเข้า Nominatim geocoder จาก ภูมิศาสตร์ โมดูล
-
เริ่มต้น Nominatim API และใช้ geocode วิธีรับตำแหน่งของสตริงอินพุต
-
สุดท้าย รับละติจูดและลองจิจูดของตำแหน่งโดย location.latitude และ location.longitude .
ตัวอย่างที่ 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 เราจะเริ่มต้นด้วยการระบุชุดพิกัดและค้นหาเมือง รัฐ และประเทศที่พิกัดเหล่านั้นเป็นตัวแทน แทนที่จะพิมพ์เอาต์พุตบนคอนโซล เราจะสร้างหน้าต่าง tkinter ที่มีป้ายกำกับสี่ป้ายเพื่อแสดงเอาต์พุต
ขั้นตอน -
-
เริ่มต้น Nominatium API
-
ใช้ geolocator.reverse() ฟังก์ชันและระบุพิกัด (ละติจูดและลองจิจูด) เพื่อรับข้อมูลตำแหน่ง
-
รับที่อยู่ของสถานที่โดยใช้ location.raw['address'] และสำรวจข้อมูลเพื่อค้นหาเมือง รัฐ และประเทศโดยใช้ address.get() .
-
สร้างป้ายกำกับภายในหน้าต่าง tkinter เพื่อแสดงข้อมูล
ตัวอย่างที่ 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()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -