Không thể đọc tọa độ từ tệp CSV

Oct 31 2020

Tôi đang cố gắng nhập tệp CSV có thuộc tính định vị địa lý, nhưng định dạng không được nhận dạng:

Có cách nào để tự động nhận dạng nó không?

CHỈNH SỬA: Tôi nghĩ những gì tôi cần là một bộ chuyển đổi hàng loạt để thay thế (ví dụ) 9,8N /42,8W bằng 9,8 / -42,8. Tôi đang tìm kiếm công cụ đó.

IDT 2: đây là mẫu csv https://gofile.io/d/8QsYwb

Trả lời

7 Taras Oct 31 2020 at 14:19

Hãy thử cách tiếp cận tương tự với "Geometry by expression"được mô tả trong câu trả lời của @Luis Perez . Tuy nhiên, hãy triển khai một biểu thức khác một chút

make_point(
    if(regexp_match("Longitude (deg.)", 'W'),
    -regexp_substr("Longitude (deg.)" ,'[^A-Z]+'),
    regexp_substr("Longitude (deg.)" ,'[^A-Z]+')
    ),
    if(regexp_match("Latitude (deg.)",'S'),
    -regexp_substr("Latitude (deg.)" ,'[^A-Z]+'),
    regexp_substr("Latitude (deg.)" ,'[^A-Z]+')
    )
)

Và nhận được đầu ra

Sử dụng transform()là được phép.


Người giới thiệu:

  • Tài liệu »Hướng dẫn Sử dụng QGIS» 23.1.15.35. Hình học bằng biểu thức
Mox Oct 31 2020 at 21:23

Trước đây, tôi đã khắc phục các sự cố như vậy trong Excel. Thêm một cột, lọc bất kỳ thứ gì được gắn thẻ S hoặc W và tính -1 trong cột đó và điền phần còn lại bằng 1. Tìm thay thế để nhận tất cả các ký tự NSEW. Sau đó, nhân các giá trị cột với 1 hoặc -1.