Làm cách nào để có được vị trí GPS bằng Python?

Ảnh bạn chụp bằng điện thoại thông minh hoặc máy ảnh kỹ thuật số có siêu dữ liệu phong phú về thông tin bổ sung về ảnh. Họ lưu trữ siêu dữ liệu này ở định dạng gọi là EXIF, viết tắt của Định dạng tệp hình ảnh có thể trao đổi, có các phiên bản tiêu chuẩn khác nhau

Để có được kinh độ và vĩ độ của một thành phố, chúng tôi sẽ sử dụng mô-đun geopy. geopy sử dụng trình mã hóa địa lý của bên thứ ba và các nguồn dữ liệu khác để xác định tọa độ của địa chỉ, thành phố, quốc gia, v.v.

Trước hết, đảm bảo mô-đun geopy đã được cài đặt -

pip install geopy

Trong ví dụ sau, chúng tôi sẽ sử dụng trình mã hóa địa lý Nominatim để tìm kinh độ và vĩ độ của thành phố "Hyderabad"

Các bước −

  • Nhập bộ mã hóa địa lý Nominatim từ mô-đun geopy

  • Khởi tạo API Nominatim và sử dụng phương thức mã địa lý để lấy vị trí của chuỗi đầu vào

  • Cuối cùng, lấy vĩ độ và kinh độ của vị trí theo vị trí. vĩ độ và vị trí. kinh độ

ví dụ 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)

đầu ra

Nó sẽ in đầu ra sau trên bàn điều khiển -

The latitude of the location is: 17.360589
The longitude of the location is: 78.4740613

Trong ví dụ này, hãy làm ngược lại với ví dụ 1. Chúng tôi sẽ bắt đầu bằng cách cung cấp một tập hợp các tọa độ và tìm thành phố, tiểu bang và quốc gia mà các tọa độ đó đại diện. Thay vì in đầu ra trên bàn điều khiển, chúng tôi sẽ tạo một cửa sổ tkinter với bốn nhãn để hiển thị đầu ra

Các bước −

  • Khởi tạo API Nominatium

  • Sử dụng công cụ định vị địa lý. reverse() và cung cấp tọa độ (vĩ độ và kinh độ) để lấy dữ liệu vị trí

  • Nhận địa chỉ của vị trí bằng cách sử dụng vị trí. raw['address'] và duyệt qua dữ liệu để tìm thành phố, tiểu bang và quốc gia bằng cách sử dụng địa chỉ. được()

    Mô-đun chụp nhanh dữ liệu vị trí được lưu trữ trong cơ sở dữ liệu runt. Ảnh chụp nhanh dữ liệu vị trí có thể được cập nhật sau đó bằng cách sử dụng phương pháp cập nhật

    Xác định xem vị trí của thiết bị

    1. Chọn một thiết bị trong Trình quản lý từ xa được định cấu hình để cho phép người dùng quản trị hệ vỏ truy cập và nhấp vào Hành động > Mở bảng điều khiển. Ngoài ra, hãy đăng nhập vào dòng lệnh cục bộ IX20 với tư cách là người dùng có quyền truy cập shell

      Tùy thuộc vào cấu hình thiết bị của bạn, bạn có thể thấy menu lựa chọn Truy cập. Nhập vỏ để truy cập vỏ thiết bị

    2. Tại dấu nhắc trình bao, hãy sử dụng lệnh python không có tham số để vào phiên Python tương tác

      Trực quan hóa dữ liệu GPS có thể là một thách thức khi sử dụng ngôn ngữ lập trình. Một số gói Python thú vị có thể được sử dụng cho các mục đích như vậy. Tuy nhiên, có thể khó cài đặt và sử dụng chúng trong một số trường hợp, đặc biệt nếu bạn chỉ có một nhiệm vụ đơn giản để thực hiện. Bài viết này sẽ trình bày phương pháp trực quan hóa bản ghi GPS đơn giản nhưng hiệu quả bằng Python và Open Street Maps (OSM). Nếu bạn muốn bỏ qua mã, hãy truy cập https. //github. com/tisljaricleo/GPS-visualization-Python

      Mục đích

      Hình ảnh dưới đây cho thấy mục tiêu của phương pháp này. Có ba yếu tố chính cần được đưa vào

      1. Hình ảnh bản đồ — bản đồ ở một số định dạng hình ảnh như. png,. jpg, v.v.
      2. Bản ghi GPS — bản ghi bao gồm các cặp (vĩ độ, kinh độ)
      3. Tọa độ địa lý — chuyển đổi từ pixel sang tọa độ địa lý

      Kết quả cuối cùng của phương pháp trực quan GPS (Ảnh by. Tác giả)Thiết lập & Dữ liệu

      Cách dễ nhất để sử dụng mã bên dưới là cài đặt Mã VS hoặc một số IDE khác để chỉnh sửa mã Python. Người dùng máy tính xách tay Python Jupyter có thể gặp một số sự cố hoặc thiết lập bổ sung. Cách dễ nhất là chạy main. py trực tiếp từ một trong các IDE

      Đối với bài viết này, một bộ dữ liệu GPS nhỏ được sử dụng được thu thập bằng máy ghi nhật ký Columbus V-990 mà tôi đã mang theo trong túi trong hai ngày. Dữ liệu có sẵn tại kho lưu trữ github

      Nó là một bộ dữ liệu (vĩ độ, kinh độ) đơn giản với khoảng 35000 bản ghi và trông như thế này

      Tập dữ liệu đã sử dụng (Hình ảnh của. Tác giả)

      Lưu ý quan trọng. Để chạy mã thành công, dữ liệu phải được định dạng chính xác như trong hình trên. Nếu không, mã sẽ dẫn đến lỗi

      phương pháp

      Ở đây, chúng tôi sẽ thực hiện tất cả các bước cần thiết để phương pháp này hoạt động. Để biết mã đầy đủ, hãy truy cập kho lưu trữ github

      1. Lấy bản đồ

      Bản đồ có thể được tải xuống từ https. //www. mở đường phố. tổ chức/xuất khẩu. Chỉ cần chọn phần bản đồ mà bạn cần bằng cách nhấp vào “Chọn khu vực khác theo cách thủ công. ” Viết ra tọa độ của góc trên bên trái và góc dưới bên phải trong trường hợp này (45. 8357, 15. 9645) và (45. 6806, 16. 1557)

      Xuất bản đồ OSM (Hình ảnh của. Tác giả)

      Sau đó xuất nó bằng cách sử dụng nút “Chia sẻ” ở bên phải. Đừng quên chọn tùy chọn “Đặt kích thước tùy chỉnh” và căn chỉnh chế độ xem cho khu vực đã chọn

      2. Mã Python

      Nhập gói và dữ liệu

      Để vẽ tọa độ địa lý trên hình ảnh, tọa độ phải được chuyển đổi thành pixel hình ảnh. Phương thức scale_to_img(gps_coordinate, (image_height, image_width)) lấy tọa độ GPS và chuyển đổi nó thành tọa độ hình ảnh (pixel) dựa trên chiều rộng và chiều cao của hình ảnh

      Hình ảnh dưới đây cho thấy nhu cầu chuyển đổi tọa độ địa lý thành tọa độ hình ảnh

      Sự khác nhau giữa tọa độ địa lý và tọa độ ảnh (Ảnh by. Tác giả)

      Ngay bây giờ, chúng tôi đã vẽ các bản ghi GPS trên bản đồ. Các bạn nhìn hình bên dưới sẽ đẹp hơn nếu có thêm một số yếu tố khác như lưới và tọa độ địa lý

      Trực quan hóa tọa độ GPS trên OSM (Ảnh của. Tác giả)

      Những phần tử bổ sung đó sẽ được thêm vào bằng gói matplotlib

      Kết quả cuối cùng là đây

      Kết quả cuối cùng của trực quan hóa bản ghi GPS bằng Python và OSM (Hình ảnh của. Tác giả)Kết luận

      Trực quan hóa dữ liệu GPS có thể là một thách thức khi sử dụng ngôn ngữ lập trình để tự động hóa nó. Có một số gói Python thú vị có thể được sử dụng cho các mục đích như vậy. Tuy nhiên, trong một số trường hợp, có thể khó cài đặt và sử dụng chúng, đặc biệt nếu bạn chỉ có một nhiệm vụ đơn giản để thực hiện

      Với bài báo này, phương pháp trực quan hóa bộ dữ liệu GPS đơn giản nhưng hiệu quả đã được trình bày. Chúng tôi đã sử dụng Python và OSM để xây dựng một khung. Trong bài viết, tất cả các bước đã được hiển thị, nhưng bạn có thể tìm thấy mã đầy đủ tại đây. https. //github. com/tisljaricleo/GPS-visualization-Python

      Làm cách nào để theo dõi vị trí di động bằng Python?

      Cách theo dõi vị trí số điện thoại bằng Python .
      Nhấp chuột phải vào tên dự án. Nhấp chuột phải vào tên dự án. .
      Đặt tên cho tệp Python. .
      Đi đến Nhà ga. .
      Viết trong cơ thể. py. .
      Tạo một tệp Python khác. .
      Viết trong văn bản. py. .
      bấm vào cơ thể. py. .
      Lấy lịch sử của số điện thoại từ quốc gia của nó bằng cách phân tích hai tham số

      Làm cách nào để lấy vị trí từ địa chỉ IP trong Python?

      hàm get_location() . //ipapi. co/{ip}/{format}/ để lấy thông tin vị trí cho một địa chỉ IP cụ thể. {ip} được thay thế bằng địa chỉ IP và {format} có thể được thay thế bằng bất kỳ thứ nào trong số này – json , jsonp , xml , csv , yaml.