AshGeo: Tools for using Geo, Topo and PostGIS
I've noticed some chatter on here from folks working with geospatial, and decided to pull something out from under my umbrella:
It provides:
- All the
- An
be used as
input from GeoJSON, WKT and WKB encodings
- An
- All types may be overridden and narrowed with
stricter constraints and storage types (e.g.
- Validations for
argument
- Validations backed by

Much love to the Ash community
Hoping it comes in handy.
https://github.com/bcksl/ash_geo
ash_geo.It provides:
- All the
st_* functions that you would get with Geo.PostGIS for use with Ash expr, and more to come- An
Ash.Type backed by each of Geo.JSON, Geo.WKB and Geo.WKT which maybe used as
argument types in your Ash actions, and will automatically castinput from GeoJSON, WKT and WKB encodings
- An
Ash.Type for Geo.PostGIS.Geometry, for use with resource attributes- All types may be overridden and narrowed with
use, allowing you to addstricter constraints and storage types (e.g.
geometry(Point,26918)).- Validations for
Geo types (such as is_point_zm(:arg) for checking thatargument
:arg is a instance of Geo.PointZM)- Validations backed by
Topo, allowing checks of simple constraints such ascontains? without needing to hit the databasev0.1.0 is released on Hex. Ideas and thoughts welcome! Feel free to open issues/PRs and to reply to this thread Much love to the Ash community
Hoping it comes in handy.
https://github.com/bcksl/ash_geo
GitHub
Tools for using Geo, Topo and PostGIS with Ash. Contribute to bcksl/ash_geo development by creating an account on GitHub.
