เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ Project จุดพิกัด

ในบทที่แล้ว เราทำงานกับตำแหน่งของหอไอเฟล โดยให้พิกัดในระบบพิกัด Projected มาให้ เพื่อให้สามารถคำนวณระยะทางได้ คราวนี้มาดูสถานที่สำคัญนี้อีกครั้ง โดยแสดงตำแหน่งในรูปแบบพิกัดทางภูมิศาสตร์ได้แก่ 48°51′29.6″N, 2°17′40.2″E หรือในรูปแบบทศนิยม คือ ละติจูด 48.8584 และลองจิจูด 2.2945

ออบเจกต์ Geometry ของ Shapely ไม่มีข้อมูล CRS ในตัว จึงไม่สามารถแปลงไปยัง CRS อื่นได้โดยตรง ดังนั้น เราจะใช้ GeoPandas ในการแปลงตำแหน่งของหอไอเฟลไปยัง CRS อื่น โดยนำ Point เดียวใส่ใน GeoSeries จากนั้นใช้เมธอด to_crs() แล้วดึง Point กลับออกมา

นำเข้า GeoPandas ไว้เรียบร้อยแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำงานกับข้อมูลเชิงพื้นที่ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง Point object ของ Shapely ด้วยพิกัดของหอไอเฟล และกำหนดให้กับตัวแปรชื่อ eiffel_tower
  • สร้าง GeoSeries (ชื่อ s_eiffel_tower) โดยมีหอไอเฟลเป็นสมาชิกเดียว และระบุ CRS เป็น EPSG:4326
  • แปลง s_eiffel_tower ไปยัง EPSG:2154 และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ s_eiffel_tower_projected

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Construct a Point object for the Eiffel Tower
from shapely.geometry import Point
eiffel_tower = ____

# Put the point in a GeoSeries with the correct CRS
s_eiffel_tower = geopandas.GeoSeries([____], crs={'init': '____'})

# Convert to other CRS
s_eiffel_tower_projected = s_eiffel_tower.____

# Print the projected point
print(s_eiffel_tower_projected)
แก้ไขและรันโค้ด