在Geopandas中数据结构主要由两种:GeoSeries 和 GeoDataFrame。

GeoSeries

  本质上是一个向量,其中向量中的每个条目是对应于一个观察的一组形状。一个条目可能只包含一个形状(如单个多边形)或多个形状,这些形状被认为是一个观察结果。

  主要的地理数据是有三种:点/多点、线/多线、面/多面。

属性和方法

  属性

  • area:形状区域
  • bounds:每个形状的每个轴上的最大和最小坐标的元组
  • total_bounds:整个GeoSeries的每个轴上的最大和最小坐标的元组
  • geom_type:几何类型。
  • is_valid:测试坐标是否形成合理几何形状的形状

  方法

  • distance(other):返回Series每个条目的最小距离other
  • centroidGeoSeries质心的返回
  • representative_point()GeoSeries保证在每个几何体内的点的返回返回重心。
  • to_crs():改变坐标参考系
  • plot():制图

  关系测试

  • geom_almost_equals(other):形状几乎相同other(当浮点精度问题使形状略有不同时很好)
  • contains(other):是包含在其中的形状 other
  • intersects(other):形状相交 other

GeoDataFrame

  他其实就是包含GeoSeries的表格数据结构。在GeoDataFrema中总有一列GeoSeries列保持特殊状态。这一列被称为几何。

  具体在例子中:

    import geopandas

    world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))     #  打开geopandas数据库中的数据

    world.head()        #可以看到数据结构

    world.plot()    #   制图

    world world.rename(columns={'geometry''borders'}).set_geometry('borders')   #更改geometry列的名字

    world['centroid_column'] = world.centroid         #  把质点赋给world的列centroid_column中

    world = world.set_geometry('centroid_column')   #   把几何列设为centroid_column

    world.plot()   #制图

 

为了更加了解这个数据,我们现在再看一下数据,使用head()查看

    world.head()

  

 

 

 

posted on 2019-04-07 10:27  睿子4  阅读(332)  评论(0编辑  收藏  举报