GeoHash

No algorithm description given

0. TL; DR This algorithm provides a unique identifier for a given coordinate. 1. Introduction Geohash is a latitude/longitude geocode system invented by Gustavo Niemeyer when writing the web service at geohash.org, and put into the public domain. It is a hierarchical spatial data structure which subdivides space into buckets of grid shape, which is one of the many applications of what is known as a Z-order curve, and generally space-filling curves. Geohashes offer properties like arbitrary precision and the possibility of gradually removing characters from the end of the code to reduce its size (and gradually lose precision). As a consequence of the gradual precision degradation, nearby places will often (but not always) present similar prefixes. The longer a shared prefix is, the closer the two places are. Input (Required) Mode: Encode or Decode. (Required) Latitude: Only required in encode mode. (Required) Longitude: Only required in encode mode. (Required) Geohash: Only required in decode mode. (Optional) Precision: Precision point for encoding coordinates. Output: Geohash for encode mode. Latitude and longitude for decode mode. 2. Example Example 1. Parameter 1: Mode (Encode) Parameter 2: Latitude Parameter 3: Longitude {
 "mode": "encode",
 "latitude": 47.599240004249054,
 "longitude": -122.3333752155304
} Output: {
 "geohash": "c23nb1pt9v2n"
} Example 2. Parameter 1: Mode (Encode) Parameter 2: Latitude Parameter 3: Longitude Parameter 4: Precision {
 "mode": "encode",
 "latitude": 47.599240004249054,
 "longitude": -122.3333752155304,
 "precision": 6
} Output: {
 "geohash": "c23nb1"
} Example 3. Parameter 1: Mode (Decode) Parameter 2: Geohash {
 "mode": "decode",
 "geohash": "c23nb1pt9try"
} Output: {
 "latitude": 47.59923999197781,
 "longitude": -122.33337538316846
}

Tags
(no tags)

Cost Breakdown

0 cr
royalty per call
1 cr
usage per second
avg duration

Cost Calculator

API call duration (sec)
×
API calls
=
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

No permissions required

This algorithm does not require any special permissions.


To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY' https://api.algorithmia.com/v1/algo/Geo/GeoHash/0.1.0
View cURL Docs
algo auth
# Enter API Key: YOUR_API_KEY
algo run algo://Geo/GeoHash/0.1.0 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://Geo/GeoHash/0.1.0");
AlgoResponse result = algo.pipeJson(input);
System.out.println(result.asJsonString());
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://Geo/GeoHash/0.1.0")
val result = algo.pipeJson(input)
System.out.println(result.asJsonString)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://Geo/GeoHash/0.1.0")
           .pipe(input)
           .then(function(output) {
             console.log(output);
           });
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://Geo/GeoHash/0.1.0")
           .pipe(input)
           .then(function(response) {
             console.log(response.get());
           });
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('Geo/GeoHash/0.1.0')
print algo.pipe(input)
View Python Docs
library(algorithmia)

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("Geo/GeoHash/0.1.0")
result <- algo$pipe(input)$result
print(result)
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('Geo/GeoHash/0.1.0')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo('Geo/GeoHash/0.1.0');
let response = algo.pipe(input);
View Rust Docs
Discussion
  • {{comment.username}}