Skip to content

Commit 6d70c9c

Browse files
committed
docs/typs/comments – get_type()
1 parent 43e1da6 commit 6d70c9c

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

sgeop/simplify.py

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -512,19 +512,39 @@ def simplify_clusters(
512512
return new_roads
513513

514514

515-
def get_type(edges, shared_edge):
516-
if ( # roundabout special case
517-
edges.coins_group.nunique() == 1 and edges.shape[0] == edges.coins_count.iloc[0]
515+
def get_type(edges: gpd.GeoDataFrame, shared_edge: int) -> str:
516+
"""Classify artifact edges according to the ``{C, E, S}``
517+
schema when considering solutions for pairs of artifacts.
518+
519+
Parameters
520+
----------
521+
edges : geopandas.GeoDataFrame
522+
Artifact edges in consideration.
523+
shared_edge : int
524+
The index location of the shared edge of the pair.
525+
526+
Returns
527+
-------
528+
str
529+
Classification for an edge in ``{C, E, S}``.
530+
"""
531+
532+
if ( # Roundabout special case
533+
edges["coins_group"].nunique() == 1
534+
and edges.shape[0] == edges["coins_count"].iloc[0]
518535
):
519536
return "S"
520537

521-
all_ends = edges[edges.coins_end]
522-
mains = edges[~edges.coins_group.isin(all_ends.coins_group)]
538+
all_ends = edges[edges["coins_end"]]
539+
mains = edges[~edges["coins_group"].isin(all_ends["coins_group"])]
523540
shared = edges.loc[shared_edge]
541+
524542
if shared_edge in mains.index:
525543
return "C"
526-
if shared.coins_count == (edges.coins_group == shared.coins_group).sum():
544+
545+
if shared["coins_count"] == (edges["coins_group"] == shared["coins_group"]).sum():
527546
return "S"
547+
528548
return "E"
529549

530550

0 commit comments

Comments
 (0)