GeoPandas简介
GeoPandas是一个开源项目,它的目的是使得在Python下更方便的处理地理空间数据。GeoPandas扩展了pandas的数据类型,允许其在几何类型上进行空间操作。几何操作由shapely执行。GeoPandas进一步依赖于fiona进行文件存取和descartes,matplotlib进行绘图。
GeoPandas沿用了pandas的数据类型,所以GeoPandas中也有两种数据类型:
GeoSeries
GeoDataFrame
它们分别是Pandas中Series和DataFrame的子类,继承了Pandas数据结构的大部分方法。
GeoSeries
GeoSeries是包含集合图形的序列,每个元素可以是单个形状或多个形状。Geopandas 有三种基本的几何对象:
点:Points/Multi-Points
线:Lines/Multi-Lines
面:Polygons/Multi-Polygons
GeoSeries 中的所有条目不必具有相同的几何类型,如果是不同类型,部分操作可能会失败。
Geoseries 类实现了Shapely 对象的几乎所有属性和方法。在使用GeoSeries时,它将应用于序列中所有几何图形的每一个元素。二元操作可以在两个GeoSeries对象之间进行,这种情况下二元操作将应用于每一个元素。这两个序列将按匹配的索引进行对于操作。二元操作也可以应用于单个几何,此时二元操作将对该几何序列的每个元素进行。在以上两种情况下,操作将会返回Series或者GeoSeries对象。
Attributes 属性
area:返回一个Series,它包含GeoSeries中每个几何的面积。
bounds:返回一个DataFrame,它包含每个几何的边界,用列值minx, miny, maxx, maxy来表示。
total_bounds:返回一个元组,包含整个series边界的minx,miny,maxx,maxy值。包含在序列中的几何体的边界。
geom_type:返回一个字符串的Series,字符串指定每个对象的几何类型。
is_valid:返回一个布尔型的Series,如果几何体是有效的,该值就为True。
Basic Methods 基本方法
distance(): 返回一个Series,它包含与其他GeoSeries对象(每个元素)或几何对象的最小距离。
centroid: 返回表示几何重心点的一个GeoSeries。
representative_point(): 返回所有点的一个GeoSeries(经简易计算),这些点必须保证在每个几何的内部。这个点不等于重心点。
to_c