Skip to content

basemaps module

Basemap provider utilities.

get_basemap_names()

Get list of available basemap names.

Returns:

Type Description
list

List of basemap provider names

Source code in anymap_ts/basemaps.py
def get_basemap_names() -> list:
    """Get list of available basemap names.

    Returns:
        List of basemap provider names
    """
    return list(xyz.flatten().keys())

get_basemap_url(name)

Get tile URL and attribution for a named basemap.

Parameters:

Name Type Description Default
name str

Basemap provider name (e.g., "OpenStreetMap", "CartoDB.Positron")

required

Returns:

Type Description
Tuple[str, str]

Tuple of (tile_url, attribution)

Exceptions:

Type Description
ValueError

If basemap name is not found

Source code in anymap_ts/basemaps.py
def get_basemap_url(name: str) -> Tuple[str, str]:
    """Get tile URL and attribution for a named basemap.

    Args:
        name: Basemap provider name (e.g., "OpenStreetMap", "CartoDB.Positron")

    Returns:
        Tuple of (tile_url, attribution)

    Raises:
        ValueError: If basemap name is not found
    """
    # Handle shortcuts
    if name in BASEMAP_SHORTCUTS:
        name = BASEMAP_SHORTCUTS[name]

    # Handle dot notation for nested providers
    parts = name.split(".")
    provider = xyz
    for part in parts:
        provider = getattr(provider, part, None)
        if provider is None:
            raise ValueError(f"Unknown basemap: {name}")

    url = provider.build_url()
    attribution = provider.get("attribution", "")

    return url, attribution

get_maplibre_style(name)

Get MapLibre style URL by name.

Parameters:

Name Type Description Default
name str

Style name (e.g., "positron", "dark-matter")

required

Returns:

Type Description
str

Style URL

Exceptions:

Type Description
ValueError

If style name is not found

Source code in anymap_ts/basemaps.py
def get_maplibre_style(name: str) -> str:
    """Get MapLibre style URL by name.

    Args:
        name: Style name (e.g., "positron", "dark-matter")

    Returns:
        Style URL

    Raises:
        ValueError: If style name is not found
    """
    name_lower = name.lower().replace("_", "-")
    if name_lower in MAPLIBRE_STYLES:
        return MAPLIBRE_STYLES[name_lower]
    # Assume it's already a URL
    if name.startswith("http"):
        return name
    raise ValueError(f"Unknown MapLibre style: {name}")