Finer geometry

Helpers behind the detail option of the layers. See Finer geometry in zooms and cartouches for how to use it.

mappyng.detail.join_detail(frame, detail, join=None, *, what='layer')[source]

Give frame’s attributes to the geometries of detail.

Parameters:
  • frame (GeoDataFrame) – The layer’s data (carries the symbology columns).

  • detail (GeoDataFrame) – The finer geometries.

  • join (str, tuple or None) – Join key, see the module docstring.

  • what (str) – Name used in messages.

Return type:

GeoDataFrame

Returns:

GeoDataFrame – One row per finer geometry that matches a row of frame, with frame’s columns, in frame’s CRS. The index is frame’s index, so element ids stay the same as on the main map. Rows of detail with no match are dropped; rows of frame with no finer geometry are not drawn (a warning lists them).

mappyng.detail.normalize_detail(detail)[source]

Return detail as a {target: GeoDataFrame} dict (possibly empty).

Return type:

dict[Any, GeoDataFrame]

mappyng.detail.detail_for(details, target)[source]

Finer layer for target ("zoom" or a cartouche index), or None.

Return type:

GeoDataFrame | None