Ả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 Show Chương trình này đọc vị trí địa lý. GPS yêu cầu đường ngắm của các vệ tinh GPS hoạt động. Điều này có nghĩa là bạn cần phải ở trạng thái mở nếu không sẽ báo lỗi. Trong trường hợp như vậy, mạng có thể được sử dụng để lấy vị trí. Bạn nên chạy ứng dụng bản đồ yêu thích của mình để sửa vị trí của mình nếu bạn đang chạy ví dụ này lần đầu tiên gps. pynhập android droid = android. Android() người máy. startLocation() in "đang đọc GPS. " sự kiện = droid. eventWaitFor('vị trí',10000). kết quả nếu sự kiện ['tên'] == "địa điểm". cố gắng. lat = str(sự kiện['dữ liệu']['gps']['vĩ độ']) lng = str(sự kiện['dữ liệu']['gps']['kinh độ']) ngoại trừ KeyError. lat = str(sự kiện['dữ liệu']['mạng']['vĩ độ']) lng = str(sự kiện['dữ liệu']['mạng']['kinh độ']) latlng = 'lat. ' + lat + ' lng. ' + lng in latlng droid. dừngĐịnh vị() giải thích mãKhởi động GPS sự kiện = droid. eventWaitFor('vị trí',10000). kết quả Đợi tối đa 10000 mili giây để sự kiện vị trí xảy ra lat = str(sự kiện['dữ liệu']['gps']['vĩ độ']) lng = str(sự kiện['dữ liệu']['gps']['kinh độ']) Nhận thông tin lat và lng Dừng GPS mã địa lýMã địa lý trả về địa chỉ dựa trên thông tin vĩ độ và kinh độ. Thông tin về phương pháp mã địa lý có thể được tìm thấy trong. Bạn không cần khóa API GoogleMap nhưng phải có quyền truy cập mạng để khóa này hoạt động Tiết lộ. Bài đăng này có thể chứa các liên kết liên kết, nghĩa là khi bạn nhấp vào liên kết và mua hàng, chúng tôi sẽ nhận được hoa hồng Mã hóa địa lý là quá trình chuyển đổi mô tả về một vị trí (chẳng hạn như địa chỉ vật lý hoặc tên của một địa điểm) thành một cặp vĩ độ và kinh độ trên bề mặt Trái đất cho địa điểm đó Nó cũng đề cập đến việc chuyển đổi tọa độ địa lý thành mô tả về một vị trí (chẳng hạn như địa chỉ); . Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện cả hai với sự trợ giúp của thư viện GeoPy trong Python Tuy nhiên, nếu bạn muốn định vị địa chỉ IP, thì hướng dẫn này là dành cho bạn GeoPy là một ứng dụng khách Python cung cấp một số dịch vụ web mã hóa địa lý phổ biến; Để bắt đầu, hãy cài đặt nó
GeoPy cung cấp nhiều trình bao bọc dịch vụ mã hóa địa lý, chẳng hạn như OpenStreetMap Nominatim, Google Geocoding API V3, Bing Maps, v.v. Trong hướng dẫn này, chúng tôi sẽ gắn bó với OpenStreetMap Nominatim Đây là những gì chúng tôi sẽ đề cập Nhận Vĩ độ và Kinh độ từ một Địa chỉ (Mã hóa địa lý)Trong phần này, chúng tôi sẽ sử dụng OpenStreetMap Nominatim API để lấy vĩ độ và kinh độ từ một địa chỉ thực, thành phố hoặc bất kỳ tên vị trí nào Hãy nhập thư viện trước
Lưu ý rằng chúng tôi đã chọn Trình mã hóa địa lý Nominatim, hiện đang tạo một phiên bản mới của nó
Bây giờ, hãy thử lấy dữ liệu địa lý từ một địa chỉ
đầu ra
Tuyệt vời, chúng tôi có vĩ độ tại thuộc tính 1 (trong đó chúng tôi có thể truy cập bằng 2) và kinh độ tại thuộc tính 3, chúng tôi cũng có quyền truy cập vào hộp giới hạn của địa chỉ tại thuộc tính 4Như bạn có thể thấy, API Nominatim không yêu cầu địa chỉ đầy đủ (bao gồm đường phố, số nhà và thành phố), bạn cũng có thể chuyển địa chỉ doanh nghiệp và điểm bạn quan tâm, nó hỗ trợ điều đó Tuy nhiên, nếu bạn gọi chức năng này nhiều lần (chẳng hạn như lặp lại danh sách địa chỉ), bạn sẽ gặp phải lỗi hết thời gian chờ và đó là bởi vì nếu bạn đọc Chính sách sử dụng chỉ định, nó yêu cầu bạn sử dụng tối đa 1 yêu cầu cho mỗi Do đó, chức năng bên dưới tôn trọng yêu cầu đó và ngủ trong một giây trước khi đưa ra yêu cầu
Vì vậy, bất cứ khi nào xảy ra lỗi hết thời gian chờ, chúng tôi sẽ nắm bắt lỗi đó và gọi hàm theo cách đệ quy và hàm này sẽ ngủ thêm một giây nữa và hy vọng sẽ lấy được kết quả
đầu ra
Nhận địa chỉ từ Vĩ độ và Kinh độ (Mã hóa địa lý ngược)Bây giờ để truy xuất địa chỉ, thành phố, quốc gia và nhiều thông tin khác, chỉ từ vĩ độ và kinh độ, chúng ta chỉ cần sử dụng phương thức 5 thay vì 6, phương thức này chấp nhận tọa độ ( 7 và 8) dưới dạng một chuỗi được phân tách bằng dấu phẩyHàm sau đảo ngược tọa độ cùng với việc tôn trọng chính sách sử dụng Nominatim
Vì vậy, chức năng này mong đợi vĩ độ và kinh độ làm tham số và trả về dữ liệu địa lý thô, đây là một cách sử dụng ví dụ
đầu ra 0Vì vậy, điều này sẽ trả về tất cả dữ liệu địa chỉ, bao gồm tiểu bang, thị trấn, mã bưu điện, quận, v.v. Nếu bạn muốn trả lại thông tin này bằng một ngôn ngữ cụ thể, bạn có thể đặt tham số 9 thành ngôn ngữ bạn muốn hoặc bạn có thể đặt thành 0 cho ngôn ngữ mặc định cho vị trí cụ thể đóPhần kết luậnNhư mọi khi, chúng tôi chỉ xem các ví dụ đơn giản về những gì GeoPy có thể làm, tôi thực sự khuyên bạn nên đọc tài liệu nếu bạn quan tâm đến các tiện ích nâng cao hơn Cuối cùng, nếu bạn là người mới bắt đầu và muốn học Python, tôi khuyên bạn nên tham gia khóa học Python For Everyone Coursera, trong đó bạn sẽ học được nhiều điều về Python. Bạn cũng có thể xem trang tài nguyên và khóa học của chúng tôi để xem các tài nguyên Python mà tôi đề xuất về các chủ đề khác nhau Làm cách nào để lấy tọa độ trong Python?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 độ 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.
Làm cách nào để sử dụng Python API định vị địa lý?Cách lấy vị trí địa lý bằng Python . cài đặt địa lý pip3 từ geopy. . # khởi tạo ứng dụng khách Nominatim mới = Nominatim(user_agent="tutorial") # lấy vị trí dữ liệu thô vị trí = ứng dụng |