การฉายภาพและระบบอ้างอิงพิกัด

การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

การฉายภาพแผนที่

แผนที่แบนราบของโลกทรงกลม

การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

วิธีการฉายภาพแผนที่มีหลากหลายแบบ

การ์ตูน xkcd เกี่ยวกับการฉายภาพแผนที่

การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

ระบบอ้างอิงพิกัด

EPSG:4326

  • ใช้โดย Google Earth
  • หน่วย: องศาทศนิยม

EPSG:3857

  • ใช้โดย Google Maps, Bing Maps, Open Street Maps
  • หน่วย: เมตร
การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python
School Name              Latitude     Longitude
A. Z. Kelley Elementary    36.021       -86.658
Alex Green Elementary      36.252       -86.832
Amqui Elementary           36.273       -86.703
Andrew Jackson Elementary  36.231       -86.623
import geopandas as gpd
schools['geometry'] = gpd.points_from_xy(schools.Longitude, schools.Latitude)
schools.head(4)
School Name                Latitude  Longitude                geometry
A. Z. Kelley Elementary      36.021    -86.658  POINT (-86.658 36.021)
Alex Green Elementary        36.252    -86.832  POINT (-86.832 36.252)
Amqui Elementary             36.273    -86.703  POINT (-86.703 36.273)
Andrew Jackson Elementary    36.231    -86.623  POINT (-86.623 36.231)
การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

การสร้าง GeoDataFrame จาก DataFrame

import geopandas as gpd

schools_geo = gpd.GeoDataFrame(schools, 
                               crs = 'epsg:4326', 
                               geometry = schools.geometry)
schools_geo.head(4)
School Name                Latitude  Longitude               geometry
A. Z. Kelley Elementary      36.021    -86.658  POINT (-86.658 36.021)
Alex Green Elementary        36.252    -86.832  POINT (-86.832 36.252)
Amqui Elementary             36.273    -86.703  POINT (-86.703 36.273)
Andrew Jackson Elementary    36.231    -86.623  POINT (-86.623 36.231)
การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

การเปลี่ยน CRS

schools_geo.head(2)
School Name              Latitude  Longitude                geometry
A. Z. Kelley Elementary    36.021    -86.658  POINT (-86.658 36.021)
Alex Green Elementary      36.252    -86.832  POINT (-86.832 36.252)
schools_geo.geometry = schools_geo.geometry.to_crs(epsg = 3857)
schools_geo.head(2)
School Name              Latitude  Longitude                      geometry
A. Z. Kelley Elementary    36.021    -86.658  POINT (-9646818.8 4303623.8)
Alex Green Elementary      36.252    -86.832  POINT (-9666119.5 4335484.4)
การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

มาฝึกกันเถอะ!

การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

Preparing Video For Download...