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.)