Location Service

Location-based services including geocoding (coordinates to address and address to coordinates), distance calculation, and integration with weather data. Use when you need to process geographic coordinates, get location information from coordinates, calculate distances between points, or get weather for specific geographic locations. Also supports parsing Google Maps URLs to extract coordinates.

Audits

Pending

Install

openclaw skills install location-service

Location Service

Overview

This skill provides tools for working with geographic locations. It can convert between coordinates and addresses, calculate distances between points, and retrieve weather information for specific locations using the OpenStreetMap Nominatim service for geocoding and integrating with the existing weather skill.

New: you can now paste a Google Maps URL directly (both desktop and short maps.app.goo.gl links) and the service will automatically extract the coordinates, then proceed with the same pipeline as if you had typed them manually.

Quick Start

Get address from coordinates

Send coordinates in format lat,lon (e.g., 40.7128,-74.0060) to get the corresponding address.

Get coordinates from address

Send an address or place name to get its latitude and longitude coordinates.

Calculate distance

Provide two sets of coordinates to calculate the distance between them.

Get weather for location

Provide coordinates or address to get current weather information.

[NEW] Paste a Google Maps link

Paste any Google Maps URL — the service extracts the coordinates automatically and then behaves exactly like the lat,lon input flow described above.

Supported URL formats:

  • https://www.google.com/maps?q=41.9028,12.4964
  • https://www.google.com/maps/place/Rome/@41.9028,12.4964,15z
  • https://maps.google.com/?ll=41.9028,12.4964
  • https://maps.app.goo.gl/XXXXXXX (short link — resolved automatically)

Geocoding Functions

Reverse Geocoding (Coordinates → Address)

Takes latitude and longitude coordinates and returns a human-readable address.

Forward Geocoding (Address → Coordinates)

Takes an address, place name, or landmark and returns latitude/longitude coordinates.

Distance Calculation

Calculates the distance between two geographic points using the Haversine formula.

Google Maps URL Parsing

Extracts latitude and longitude from a Google Maps URL (including short links resolved via HTTP redirect).

Weather Integration

Leverages the existing weather skill to provide meteorological data for any set of coordinates.

Usage Examples

  • 41.9028,12.4964 → Returns address for Rome, Italy coordinates
  • Colosseum, Rome → Returns coordinates for the Colosseum
  • 41.9028,12.4964 to 40.7128,-74.0060 → Calculates distance between Rome and New York
  • weather for 41.9028,12.4964 → Gets weather for Rome coordinates
  • https://maps.app.goo.gl/XXXXXXXExtracts coordinates from the Google Maps link, then returns address
  • https://www.google.com/maps/place/Colosseum/@41.8902,12.4922,17z → Extracts 41.8902,12.4922 → returns address

Technical Details

  • Uses Nominatim (OpenStreetMap) for geocoding services
  • Supports both decimal degrees and degree/minute/second formats
  • Distance calculations use the Haversine formula for accuracy
  • Integrates with existing weather skill for meteorological data
  • Google Maps URL parsing uses regex on the URL string; short maps.app.goo.gl links are resolved by following the HTTP redirect (no API key required)
  • All services are free and don't require API keys for basic usage

Resources

scripts/

Contains executable Python scripts for geocoding and distance calculations:

  • geocode_reverse.py - Convert coordinates to address
  • geocode_forward.py - Convert address to coordinates
  • distance_calc.py - Calculate distance between two points
  • weather_integration.py - Helper for getting weather data
  • parse_google_maps_url.py - [NEW] Extract lat/lon from a Google Maps URL

references/

Documentation about geocoding services and usage guidelines:

  • nominatim_api.md - Details about the OpenStreetMap Nominatim API
  • examples.md - Common use cases and example workflows

assets/

(Currently unused - reserved for future map templates or location icons)