Geopandas is a powerful Python library used for working with geospatial data. It allows users to read, write, and manipulate geographic data, making it an essential tool for anyone working with location-based information.
Table of contents
Checking Geometry Type
One of the important tasks when working with geospatial data is checking the geometry type of your data. This information is crucial for performing various operations, as different geometry types require different methods and tools.
In Geopandas, there are two main geometry types - MultiPolygon and Polygon. A MultiPolygon is made up of multiple polygons, while a Polygon represents a single area on a map.
To check Geometry Type a solution is to use geopandas.GeoSeries.geom_type
geom_type
Example
Let's consider for example the following dataframe (see How to retrieve country name for a given latitude and longitude using geopandas and naturalearthdata ?):
import geopandas as gpd
import pandas as pd
from shapely.geometry import Point
df = gpd.read_file('110m_cultural')
cols = ['NAME', 'geometry']
df[cols]
Note that
df['geometry'].geom_type
gives
0 MultiPolygon
1 Polygon
2 Polygon
3 MultiPolygon
4 MultiPolygon
...
172 Polygon
173 Polygon
174 Polygon
175 Polygon
176 Polygon
Length: 177, dtype: object
and
df['geometry'].geom_type.value_counts()
gives
Polygon 148
MultiPolygon 29
dtype: int64
Perform iteration on each row:
for index, row in df.iterrows():
if 'MultiPolygon' in row['geometry'].geom_type:
print( 'MultiPolygon')
if 'Polygon' in row['geometry'].geom_type:
print( 'Polygon')
gives
MultiPolygon
Polygon
Polygon
Polygon
MultiPolygon
Polygon
MultiPolygon
.
.
.
References
Links | Site |
---|---|
Multi-part geometries will no longer be “sequences” (length, iterable, indexable) | shapely.readthedocs.io |
geopandas.GeoSeries.geom_type | geopandas.org |