Proyeksi dan Sistem Referensi Koordinat

Memvisualisasikan Data Geospasial di Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

Proyeksi

peta bumi bulat yang dipipihkan

Memvisualisasikan Data Geospasial di Python

Banyak pendekatan untuk proyeksi peta

komik xkcd tentang proyeksi peta

Memvisualisasikan Data Geospasial di Python

Sistem Referensi Koordinat

EPSG:4326

  • Digunakan oleh Google Earth
  • Satuan: derajat desimal

EPSG:3857

  • Digunakan oleh Google Maps, Bing Maps, OpenStreetMap
  • Satuan: meter
Memvisualisasikan Data Geospasial di 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)
Memvisualisasikan Data Geospasial di Python

Membuat GeoDataFrame dari 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)
Memvisualisasikan Data Geospasial di Python

Mengubah dari satu CRS ke lainnya

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)
Memvisualisasikan Data Geospasial di Python

Ayo berlatih!

Memvisualisasikan Data Geospasial di Python

Preparing Video For Download...