ไม่สามารถอ่านพิกัดจากไฟล์ CSV

Oct 31 2020

ฉันกำลังพยายามนำเข้าไฟล์ CSV ที่มีแอตทริบิวต์ที่ระบุตำแหน่งทางภูมิศาสตร์ แต่ไม่รู้จักรูปแบบ:

มีวิธีจดจำโดยอัตโนมัติหรือไม่?

แก้ไข: ฉันคิดว่าสิ่งที่ฉันต้องการคือตัวแปลงแบทช์เพื่อแทนที่ (ตัวอย่างเช่น) 9.8N /42.8W คูณ 9.8 / -42.8 ฉันกำลังมองหาเครื่องมือนั้น

IDT 2: นี่คือตัวอย่าง csv https://gofile.io/d/8QsYwb

คำตอบ

7 Taras Oct 31 2020 at 14:19

ลองใช้วิธีการเดียวกันกับ"Geometry by expression"ที่อธิบายไว้ในคำตอบ @Luis เปเรซ อย่างไรก็ตามปรับใช้นิพจน์ที่แตกต่างกันเล็กน้อย

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]+')
    )
)

และได้รับผลลัพธ์

ใช้transform()เป็นที่อนุญาต


อ้างอิง:

  • เอกสาร»คู่มือผู้ใช้ QGIS » 23.1.15.35. เรขาคณิตตามนิพจน์
Mox Oct 31 2020 at 21:23

ที่ผ่านมาฉันได้แก้ไขปัญหาดังกล่าวใน Excel แล้ว เพิ่มคอลัมน์กรองสิ่งที่ติดแท็ก S หรือ W และคำนวณ -1 ในคอลัมน์นั้นและเติมส่วนที่เหลือด้วย 1 ค้นหาการแทนที่เพื่อรับตัวละคร NSEW ทั้งหมด จากนั้นคูณค่าคอลัมน์ด้วย 1 หรือ -1