Hướng dẫn python azimuth - phương vị trăn
Tôi có hai tọa độ trên thế giới và tôi cần tính toán góc phương vị giữa chúng, có một số chức năng trong Python3 để tính toán nó cho tôi chỉ bằng cách nhập hai tọa độ không?Azimuth between them, Is there some function in Python3 to calculate it for me just by entering the two coordinates? Các tọa độ là X, Y, Z tính bằng mét và trong hệ tọa độ "UTM WGS84". Tôi biết có một số cách dài để làm điều đó, tôi chỉ không biết làm thế nào và tôi thích một cách ngắn để làm điều đó. Cảm ơn.UTM WGS84" Coordinate System. I know there is some long way to do it I just dont know how and I prefer a short way to do it. Thanks. Ví dụ về hai tọa độ (tính bằng mét): X1 = 10.3, y1 = 20.4, z1 = 4,8 X2 = 14.2, y2 = 35.1, z2 = 5.0 Nếu có thêm một số thông tin tôi cần thêm PLZ cho tôi biết và tôi sẽ thêm nó. Sau vài ngày tìm kiếm và thử nghiệm, cuối cùng tôi cũng có được điều này để làm việc. Câu hỏi đầu tiên là liệu có thể tính toán Azimuth bằng tọa độ x, y pixel của hình ảnh hay không. Câu trả lời là có. Theo câu trả lời ở đây, bạn có thể tính toán góc phương vị/ổ trục trong hình ảnh 2D. Đây là cách mã trông trong Python:
Ngoài ra, có ý chính này, nơi nó tính toán hướng của một dòng, theo cách tương tự, được đề xuất ở đây.
Ngoài ra, tôi phát hiện ra rằng việc tính toán ổ trục trong trường hợp của tôi có thể được thực hiện theo một cách tương đối đơn giản. Vì góc phương vị là tiêu đề được đo theo chiều kim đồng hồ từ phía bắc và hình ảnh của chúng tôi đã được căn chỉnh về phía bắc, điểm bên phải sẽ có góc 90 độ (theo chiều kim đồng hồ) và điểm dưới đây sẽ có góc 180 độ. Chúng ta có thể mã hóa những thứ này hoặc tính toán chúng giống như phương pháp tôi vừa đề cập. Đây là một con số đơn giản mà tôi đã đưa ra để thể hiện điều này.
Trước khi tôi tiếp tục, tôi muốn nói về tính toán tỷ lệ pixel. Không có tính toán tỷ lệ pixel chính xác, mọi thứ đều có trong tĩnh mạch. Tìm kiếm cách tính thang đo pixel kết thúc với rất nhiều kết quả không hoạt động! Giống như người được giải thích ở đây:
Vấn đề là, nếu bạn sử dụng đoạn trích ở trên, bạn sẽ nhận được những sai lệch lớn dựa trên nơi bạn sử dụng trên thế giới để tính toán thang đo pixel. Về cơ bản khi nói đến phép chiếu Mercator, nó tạo ra một thang đo ngang khác nhau ở các vĩ độ khác nhau và do đó thang đo pixel khác nhau dựa trên vĩ độ. Điều dường như nhận được một xấp xỉ rất tốt là
Bây giờ, bằng cách nào đó để có được điều này và tính toán vĩ độ/kinh độ tiếp theo, tôi cần phải có vĩ độ của vị trí đó! Có vẻ như một vòng tròn bây giờ! Để phá vỡ chu kỳ này, chúng ta có thể sử dụng tọa độ Google Ngói. Chúng tôi biết rằng tại các zoom khác nhau, chúng tôi có số lượng gạch khác nhau tạo thành bản đồ của chúng tôi. Những viên gạch này đều có kích thước
Bây giờ chúng ta có tọa độ gạch, chúng ta có thể kiểm tra các lớp pixel mong muốn của chúng ta cư trú, sau đó chúng ta có được tọa độ GPS của GP Vị trí GPS chính xác của tọa độ pixel được chỉ định. Ngoài ra, bây giờ chúng ta có thể có bất kỳ số gạch nào, bằng cách sử dụng gạch bên phải và gạch bên dưới gạch đích, chúng ta có thể tính toán tỷ lệ pixel chính xác cho x và trục y tương ứng (hiển thị bên dưới). Đây là mã nhanh và bẩn của tôi mà tôi đã chơi dí dỏm, nhưng trước đó, để trực quan hóa tốt hơn, điều này có thể giúp ích:
test:
output: |