✓ Verified 🌐 Web Scrapers ✓ Enhanced Data

Map Grabber

Fetch OpenStreetMap vector data (streets, buildings) for an address and export to SVG, GeoPackage, o

Rating
4.8 (441 reviews)
Downloads
9,919 downloads
Version
1.0.0

Overview

Fetch OpenStreetMap vector data (streets, buildings) for an address and export to SVG, GeoPackage, or DXF for CAD/Rhino.

Complete Documentation

View Source →

Map Grabber

Get site base maps from OpenStreetMap: provide an address, receive street network and optional building footprints as vector data (SVG, GeoPackage, or DXF) for use in CAD or Rhino.

Dependencies

  • osmnx (OSM data and graph; requires geopandas, networkx)
  • ezdxf (optional; for DXF export)
Setup: OpenClaw does not install Python packages automatically. After installing this skill, run once: pip install -r requirements.txt (from the skill folder). If a script fails with ModuleNotFoundError, install the missing package (osmnx pulls geopandas; for DXF add ezdxf).

Usage

Grab map by address

Parameters:

  • address: Address or place name (e.g. "SoHo, New York" or "123 Main St, Los Angeles").
  • --dist: Radius in meters around the point (default 500).
  • --buildings: Also download building footprints.
  • --svg: Output path for SVG (street network plot).
  • --png: Output path for PNG (same map as image; use for Telegram or preview).
  • --gpkg: Output path for GeoPackage (streets and optionally buildings as layers).
  • --dxf: Output path for DXF (requires ezdxf; for CAD/Rhino).
At least one of --svg, --png, --gpkg, or --dxf is required.

bash
# PNG for Telegram + GeoPackage
python3 scripts/grab_map.py "Times Square, New York" --dist 400 --png site.png --gpkg site.gpkg

# With buildings and DXF
python3 scripts/grab_map.py "Shanghai Tower, Shanghai" --dist 500 --buildings --png site.png --gpkg site.gpkg --dxf site.dxf

Output: street network (and optionally buildings) in the requested formats.

Sending images to Telegram

Used from the OpenClaw Telegram conversation. To show the user the map: run the script with --png .png (e.g. --png site.png), then send that PNG to the conversation via the OpenClaw message/media tool. Use --png (not only --svg) when the user expects an image in chat.

OpenClaw allowed paths: The message tool only sends files from allowed dirs (~/.openclaw/media/, ~/.openclaw/agents/, or /tmp). Use e.g. --png ~/.openclaw/media/site.png or --png /tmp/site.png; do not use the skill install directory or sending will fail.

Agent behavior: When the user asks for a site map, base map, or OSM map (by address or place name), run the script directly using exec: call grab_map.py with the given address, --png .png with under an allowed dir (and optional --dist, --buildings), then send the generated PNG to the user. Do not ask for confirmation; execute and return the image and a short confirmation.

Examples

User: "Get me a site base map for 123 Main St" or "抓一张这个地址的场地底图." Action: Run grab_map.py "123 Main St" --png /tmp/site.png (or similar path), then send the PNG to the user and confirm.

User: "Get me a site base map for 123 Main St as SVG and DXF." Action: Run grab_map.py with that address, --svg, --dxf, and optionally --png for chat; return the file paths and confirmation.

User: "I need OSM data for this address with building footprints for Rhino." Action: Run with --buildings, --gpkg and optionally --dxf; if they want an image in chat, also use --png and send it.

Installation

Terminal bash

openclaw install map-grabber
    
Copied!

💻Code Examples

example.sh
# PNG for Telegram + GeoPackage
python3 scripts/grab_map.py "Times Square, New York" --dist 400 --png site.png --gpkg site.gpkg

# With buildings and DXF
python3 scripts/grab_map.py "Shanghai Tower, Shanghai" --dist 500 --buildings --png site.png --gpkg site.gpkg --dxf site.dxf

Tags

#browser_and-automation #data

Quick Info

Category Web Scrapers
Model Claude 3.5
Complexity One-Click
Author qrost
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install map-grabber