使用 GeoJSON 作图

在 Python 中可视化地理空间数据

Mary van Valkenburg

Data Science Program Manager, Nashville Software School

社区 GeoJSON

{ "type": "FeatureCollection",
  "features": [
    { "type":"Feature",
      "properties":{
    "name":"Historic Buena Vista"
    },"geometry":{
        "type":"MultiPolygon","coordinates":[[[[-86.79511056795417,36.17575....
neighborhoods = gpd.read_file('./data/neighborhood_boundaries.geojson')
neighborhoods.head(1)
        name             geometry
Historic Buena Vista    (POLYGON ((-86.79511056795417 36.17575964963348...)))
在 Python 中可视化地理空间数据

GeoPandas 依赖

栅格与矢量表示

  • Fiona
    • 提供 OGR 的 Python API
  • GDAL/OGR
    • GDAL:栅格数据转换
    • OGR:矢量数据转换
在 Python 中可视化地理空间数据

栅格 vs 矢量

科孚岛的栅格图像 科孚岛的栅格图像

科孚岛的矢量图像 科孚岛的矢量图像

在 Python 中可视化地理空间数据

配色图(Colormaps)

在 Python 中可视化地理空间数据

带颜色的作图

school_districts.head(3)
first_name     last_name    position    district      geometry
Sharon         Gentry       Member       1    (POLYGON ((-86.771 36.383)...))
Jill           Speering     Vice-Chair   3    (POLYGON ((-86.753 36.404)...))
Jo Ann         Brannon      Member       2    (POLYGON ((-86.766 36.083)...))

比较配色映射

在 Python 中可视化地理空间数据
council_dists.plot(
                   column='district', 
                   cmap='Set3', 
                   legend=True)
plt.title('Council Districts')
plt.show();

带长图例的议会选区图

leg_kwds={'title':'District Number', 
          'loc': 'upper left', 
          'bbox_to_anchor':(1, 1.03), 
          'ncol':3}
council_dists.plot(column='district', 
                   cmap='Set3',
                   legend=True, 
             legend_kwds=leg_kwds)
plt.title('Council Districts')
plt.show();

带多列图例的议会选区图

在 Python 中可视化地理空间数据

Passons à la pratique !

在 Python 中可视化地理空间数据

Preparing Video For Download...