gemgis.vector.sort_by_stratigraphy
gemgis.vector.sort_by_stratigraphy#
- gemgis.vector.sort_by_stratigraphy(gdf: geopandas.geodataframe.GeoDataFrame, stratigraphy: List[str], formation_column: str = 'formation') geopandas.geodataframe.GeoDataFrame #
Sorting a GeoDataFrame by a provided list of Stratigraphic Units
- Parameters
gdf (gpd.geodataframe.GeoDataFrame) – GeoDataFrame containing the unsorted input polygons
stratigraphy (List[str]) – List containing the stratigraphic units sorted by age, e.g.
stratigraphy=['Layer1' , 'Layer2']
formation_column (str) – Name of the formation column, default is formation, e.g.
formation_colum='formation'
- Returns
gdf_sorted – GeoDataFrame containing the sorted input polygons
- Return type
gpd.geodataframe.GeoDataFrame
New in version 1.0.x.
Example
>>> # Loading Libraries and creating Polygon >>> import gemgis as gg >>> from shapely.geometry import Polygon >>> import geopandas as gpd >>> polygon1 = Polygon([(0, 0), (1, 1), (1, 0)]) >>> polygon1.wkt 'POLYGON ((0 0, 1 1, 1 0, 0 0))'
>>> # Creating second polygon >>> polygon2 = Polygon([(0, 0), (2, 2), (2, 0)]) >>> polygon2.wkt 'POLYGON ((0 0, 2 2, 2 0, 0 0))'
>>> # Creating GeoDataFrame from polygons >>> gdf = gpd.GeoDataFrame(geometry=[polygon1, polygon2]) >>> gdf['formation'] = ['Layer2', 'Layer1'] >>> gdf geometry formation 0 POLYGON ((0.00000 0.00000, 1.00000 1.00000, 1.... Layer2 1 POLYGON ((10.00000 0.00000, 20.00000 0.00000, ... Layer1
>>> # Creating stratigraphy list >>> stratigraphy = ['Layer1' , 'Layer2']
>>> # Sorting GeoDataFrame by stratigraphy >>> gdf_sorted = gg.vector.sort_by_stratigraphy(gdf=gdf, stratigraphy=stratigraphy) >>> gdf_sorted geometry formation 0 POLYGON ((10.00000 0.00000, 20.00000 0.00000, ... Layer1 1 POLYGON ((0.00000 0.00000, 1.00000 1.00000, 1.... Layer2