We use geohashes for a lot of our geographical data: it helps us express geographical locations in a small string, and the nesting nature of geohashes help us join our data. Because they are so abundant in our data, being able to ensure they're valid and actually match the latlng coordinates they're associated with has become increasingly important in our data pipelines.

What it does

2 expectations: 1) The ExpectColumnValuesToBeValidGeohash custom expectation ensures that geohashes are made up of valid geohash characters 2) The ExpectColumnPairValuesLatLngMatchesGeohash ensures that a row's latlng coordinate correctly fall within the row's geohash.

Challenges we ran into

At first it was unclear how to write a custom expectation that compared at least two columns with each other, but ended finding ColumnPairMapExpectation.

Accomplishments that we're proud of

We are already using these custom expectations in our data pipelines, huge win for our data quality!

What we learned

How to write a custom expectation.

What's next for Geohashes

Map geohashes to physical geographical entities (countries, provinces, streets, etc.)

Built With

Share this project: