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}")