Chapter 2 — Practice Spatial Vector Data with GeoPandas
GeoPandas library is to make working with spatial data in python easier that combining the capabilities of pandas and shapely, providing spatial operations in pandas and a high-level interface to multiple geometries to shapely.
2.1 Data Structures
GeoPandas implements two main data structures, a GeoSeries
and a GeoDataFrame
. These are subclasses of pandas Series and DataFrame, respectively.
a) GeoSeries
A GeoSeries
is a vector where each entry in the vector is a set of shapes corresponding to one observation.
Geopandas has three basic classes of geometric objects (which are actually shapely objects): Points / Multi-Points, Lines / Multi-Lines, Polygons / Multi-Polygons.
Examples: Points, Lines and Polygons
import geopandas
from shapely.geometry import Point
s = geopandas.GeoSeries([Point(1, 1), Point(2, 2), Point(3, 3)])
s
0 POINT (1.00000 1.00000)
1 POINT (2.00000 2.00000)
2 POINT (3.00000 3.00000)
dtype: geometry
from shapely.geometry import LineString
l= geopandas.GeoSeries([LineString([Point(-77.036873,38.907192), Point(-76.612190,39.290386,), Point(-77.408456,39.412006)])])
l
0 LINESTRING (-77.03687 38.90719, -76.61219 39.2...
dtype: geometry
from shapely.geometry import Polygon
p=…