Pendahuluan

Memvisualisasikan Data Geospasial di Python

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

Lokasi

  • Wabah kolera 1854 di London
  • 600+ kematian

awan miasma

Memvisualisasikan Data Geospasial di Python

Peta titik Snow

Memvisualisasikan Data Geospasial di Python

Apa yang akan Anda pelajari di kursus ini

  • Cara memplot titik geospasial sebagai scatter plot
  • Cara memplot geometri dengan geopandas
  • Cara membangun GeoDataFrame dari DataFrame
  • Cara menggabungkan himpunan data secara spasial
  • Cara menambahkan peta jalan ke plot Anda
  • Kapan dan bagaimana membuat choropleth
Memvisualisasikan Data Geospasial di Python

Bujur dan lintang

scatter plot tinggi ayah dan anak

bumi dengan garis bujur dan lintang

Memvisualisasikan Data Geospasial di Python
plt.scatter(schools.Longitude, 
            schools.Latitude, 
            c = 'darkgreen', 
            marker = 'p')
plt.show()

scatter plot sederhana lokasi sekolah

plt.scatter(schools.Longitude, schools.Latitude, 
            c = 'darkgreen', marker = 'p')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.title('Nashville Public Schools')
plt.grid()
plt.show()

scatter plot lokasi sekolah dengan label, judul, garis kisi

Memvisualisasikan Data Geospasial di Python

Mengekstrak bujur dan lintang

bus_stops.head()
Stop ID    StopName       Location
4431      MCC5_11    (36.16659, -86.781996)
588       CHA7AWN    (36.165, -86.78406)
590       CHA8AWN    (36.164393, -86.785451)
541       CXONGULC   (36.162249, -86.790464)
5231      7AVUNISM   (36.163822, -86.783791)

Memvisualisasikan Data Geospasial di Python

Mengekstrak bujur dan lintang

bus_stops['lat'] = [loc[0] for loc in bus_stops.Location]
bus_stops['lng'] = [loc[1] for loc in bus_stops.Location]
bus_stops.head()
Stop ID    StopName  Location                  lat         lng
4431      MCC5_11   (36.16659, -86.781996)    36.16659    -86.781996    
588       CHA7AWN  (36.165, -86.78406)        36.165      -86.78406
590       CHA8AWN  (36.164393, -86.785451)    36.164393   -86.785451
541       CXONGULC  (36.162249, -86.790464)   36.162249   -86.790464
5231      7AVUNISM  (36.163822, -86.783791)   36.163822   -86.783791

Memvisualisasikan Data Geospasial di Python

Mengekstrak lng dan lat dengan regular expression

bus_stops2.head()
Stop ID        Location            
4431       MCC - BAY 11\nNashville, TN\n(36.16659, -86.78199)
588        CHARLOTTE AVE\nNashville, TN\n(36.165, -86.78406)
590        CHARLOTTE AV\nNashville, TN\n(36.164393, -86.785451)
541        CHARLOTTE\nNashville, TN\n(36.162249, -86.790464)
5231       Nashville, TN\n(36.163822, -86.783791)
Memvisualisasikan Data Geospasial di Python

Mengekstrak lng dan lat dengan regular expression

lat_lng_pattern = re.compile(r'\((.*),\s*(.*)\)', flags=re.MULTILINE)
def extract_lat_lng(address):
    try:
        lat_lng_match = lat_lng_pattern.search(address)
        lat = float(lat_lng_match.group(1))
        lng = float(lat_lng_match.group(2))
        return (lat, lng)
    except:
        return (np.NaN, np.NaN)
lat_lngs = [extract_lat_lng(location)for location in \
           bus_stops2.loc[:, 'Location']]
bus_stops2['lat'] = [lat for lat, lng in lat_lngs]
bus_stops2['lng'] = [lng for lat, lng in lat_lngs]

Memvisualisasikan Data Geospasial di Python

Data terbuka Nashville

tangkapan layar nashville.data.gov

kepala ayam raksasa

Memvisualisasikan Data Geospasial di Python

Ayo berlatih!

Memvisualisasikan Data Geospasial di Python

Preparing Video For Download...