postgis-distance

ST_Distance (Numeric Distance)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "postgis-distance" with this command: npx skills add mmbmf1/geospatial-skills/mmbmf1-geospatial-skills-postgis-distance

ST_Distance (Numeric Distance)

Use this skill when you need the numeric distance value between geometries (for reporting, ranking display, metadata).

If you need a boolean “within X distance” filter, prefer ST_DWithin (faster). A common pattern is:

  • use ST_DWithin to filter candidates

  • use ST_Distance to compute the returned distance value

Core rules

  • Units depend on type:

  • geometry → SRID units (degrees/meters/feet depending on SRID)

  • geography → meters

  • Geometries must be in the same SRID for geometry math

  • Do not compute meaningful distances in EPSG:4326 geometry (degrees) unless you intend degrees

Canonical patterns

Distance in meters (recommended): geography

Works well when data is stored in EPSG:4326 and you want meters.

SELECT ST_Distance(a.geom::geography, b.geom::geography) AS distance_m FROM a JOIN b ON ...;

Distance in projected SRID units: geometry

Use a projected/client SRID where units are meaningful (feet/meters).

SELECT ST_Distance( ST_Transform(a.geom, client_srid), ST_Transform(b.geom, client_srid) ) AS distance_units FROM a JOIN b ON ...;

Fast filter + distance output (recommended pattern)

Filter candidates with ST_DWithin , then compute distance.

WITH p AS ( SELECT ST_SetSRID(ST_MakePoint($1, $2), 4326) AS geom ) SELECT f.*, ST_Distance(f.geom::geography, p.geom::geography) AS distance_m FROM features f, p WHERE ST_DWithin(f.geom::geography, p.geom::geography, 5000) -- 5km ORDER BY f.geom <-> p.geom LIMIT 50;

This is a common “map / nearby” endpoint pattern:

  • ST_DWithin constrains work

  • <-> ranks quickly

  • ST_Distance provides the numeric value

Common mistakes

  • Using ST_Distance(geom, geom) on EPSG:4326 geometry and assuming meters

  • Using ST_Distance(...) < x in WHERE instead of ST_DWithin(...)

  • Mixing SRIDs without transforming

  • Computing distances on huge tables without bounding the search

Summary

  • Use geography for meters

  • Use projected SRIDs for planar geometry distances

  • Use ST_DWithin for filtering, ST_Distance for reporting

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

geojson-postgis

No summary provided by upstream source.

Repository SourceNeeds Review
General

geojson-points

No summary provided by upstream source.

Repository SourceNeeds Review
General

geojson-wkt

No summary provided by upstream source.

Repository SourceNeeds Review
General

postgis-dwithin

No summary provided by upstream source.

Repository SourceNeeds Review