- name
- kml
- description
- Inspect, validate, summarize, and extract data from KML and KMZ files, including Placemark geometry counts, Folder structure, coordinate ranges, bbox generation, altitude tuples, Google Earth packaging issues, and conversion guidance. Use when the user asks about KML, KMZ, Google Earth placemarks, coordinate extraction, KML cleanup, KMZ debugging, or KML data processing. 中文触发:KML、KMZ、谷歌地球、地标、坐标提取、KML 校验、KMZ 解包、KML 数据处理。
- metadata
- openclaw
- emoji
- 🌐
- requires
- bins
- ["python3"]
- install
- kind
- brew
- formula
- python
- bins
- ["python3"]
- label
- Install Python 3 (brew)
KML
Use this skill for practical KML and KMZ inspection, validation, and lightweight data extraction.
This skill is optimized for safe analysis of KML structure and coordinates. For deterministic reprojection, clipping, format conversion, or batch GIS processing on files, hand off to qgis.
What This Skill Does
- Inspect
.kmland.kmzfiles. - Summarize document name, placemark count, geometry types, folder count, and bbox.
- Validate coordinate tuples and flag obvious longitude/latitude range problems.
- Extract placemark-level summaries for downstream review or cleanup.
- Explain common KML/KMZ issues such as missing
doc.kml, malformed XML, emptyPlacemark, or suspicious coordinate order.
Standard Workflow
- Confirm whether the input is a
.kmlfile or a.kmzarchive. - Parse the XML and detect the main KML document inside KMZ when needed.
- Count placemarks, geometry types, folders, overlays, and coordinates.
- Compute bbox from parsed coordinates when possible.
- Flag likely issues:
- malformed XML - KMZ archive without a readable KML payload - coordinate tuples outside lon/lat range - empty placemarks without geometry
- If the user needs reprojection, clipping, or deterministic file conversion, switch to
qgis.
Practical Commands
Summarize a KML or KMZ file
python3 {baseDir}/scripts/kml_tool.py summary --file ./data/sample.kmlValidate a KML or KMZ file
python3 {baseDir}/scripts/kml_tool.py validate --file ./data/sample.kmzList placemark summaries
python3 {baseDir}/scripts/kml_tool.py placemarks --file ./data/sample.kmlDecision Rules
- Treat KML coordinates as
lon,lat[,alt]unless the source explicitly says otherwise. - KML is commonly used with WGS84-style geographic coordinates; if precision matters, confirm the source workflow instead of guessing.
- Do not silently rewrite malformed coordinates; report the exact problem.
- Prefer writing derived outputs to a new path when a later task requires edits or conversion.
- If the user wants GeoJSON, Shapefile, reprojection, clipping, or batch cleanup, route execution to
qgis.
What To Return
- Source type:
kmlorkmz. - Document name when present.
- Placemark count and geometry type counts.
- Folder and overlay counts.
- Bounding box when coordinates are present.
- Specific validation errors or suspicious patterns when found.
When Not To Use
- Reverse geocoding or coordinates-to-address lookup: use
geocode. - WGS84-specific CRS reasoning: use
wgs84. - Deterministic GIS conversion, reprojection, clipping, or raster/vector processing: use
qgis. - Web map rendering logic: use
leaflet,mapbox, orcesiumas appropriate.
OpenClaw + ClawHub Notes
- Keep examples generic and portable.
- Do not hardcode private datasets, machine paths, or secrets.
- For clawhub.ai publication, keep examples standards-based and version/changelog updates semver-driven.
Reference Docs In This Skill
- Read
{baseDir}/references/patterns.mdfor KML/KMZ structure notes, common failures, and escalation guidance.