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
Asked
Active
Viewed 1,036 times
1 Answers
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 namedgeohash
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 newlatitude
andlongitude
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