3

Well, I geohash_encoded the geographical coordinates to geohashes. My aim is to calculate the distance with some level of accuracy. I am trying to geohash_decode the geohashes back to geographical coordinates but I have failed to come up with a function that can do that to a column in a dataframe

1 Answers1

2

Assuming:

  • you are asking about Python (apologies if this was an R, Scala or other dataframe question, but you didn't specify )
  • you have a Python pandas DataFrame object df
  • df has a column named geohash containing your geohashes
  • you have the geohash2 library installed and imported (this may work with other Geohash libraries...)
  • you want to overwrite df with a new DataFrame containing all the old data plus the new latitude and longitude columns

The following should work:

def gh_decode(hash):
    lat, lon = geohash2.decode(hash)
    return pd.Series({"latitude":lat, "longitude":lon})

df = df.join(df["geohash"].apply(gh_decode))
Alnilam
  • 3,121
  • 2
  • 21
  • 22