tile38/vendor/github.com/mmcloughlin/geohash/example_test.go

73 lines
1.6 KiB
Go

package geohash_test
import (
"fmt"
"github.com/mmcloughlin/geohash"
)
func Example() {
// Uluru in Australian Outback
lat, lng := -25.345457, 131.036192
// Encode a full 12 character string geohash
fmt.Println(geohash.Encode(lat, lng))
// Or at lower precision
fmt.Println(geohash.EncodeWithPrecision(lat, lng, 6))
// As an integer
fmt.Printf("%016x\n", geohash.EncodeInt(lat, lng))
// Decode to a point
fmt.Println(geohash.Decode("qgmpvf18"))
// or to a bounding box
fmt.Println(geohash.BoundingBox("qgmpvf18"))
// Output:
// qgmpvf18h86e
// qgmpvf
// b3e75db828820cd5
// -25.3454 131.036
// {-25.345458984375 -25.345287322998047 131.03599548339844 131.03633880615234}
}
func ExampleEncode() {
fmt.Println(geohash.Encode(48.858, 2.294))
// Output: u09tunq6qp66
}
func ExampleEncodeInt() {
fmt.Printf("%016x\n", geohash.EncodeInt(48.858, 2.294))
// Output: d0139d52c6b54c69
}
func ExampleEncodeIntWithPrecision() {
fmt.Printf("%08x\n", geohash.EncodeIntWithPrecision(48.858, 2.294, 32))
// Output: d0139d52
}
func ExampleEncodeWithPrecision() {
fmt.Println(geohash.EncodeWithPrecision(48.858, 2.294, 5))
// Output: u09tu
}
func ExampleDecode() {
lat, lng := geohash.Decode("u09tunq6")
fmt.Printf("%.3f %.3f\n", lat, lng)
// Output: 48.858 2.294
}
func ExampleDecodeInt() {
lat, lng := geohash.DecodeInt(0xd0139d52c6b54c69)
fmt.Printf("%.3f %.3f\n", lat, lng)
// Output: 48.858 2.294
}
func ExampleDecodeIntWithPrecision() {
lat, lng := geohash.DecodeIntWithPrecision(0xd013, uint(16))
fmt.Printf("%.3f %.3f\n", lat, lng)
// Output: 48.600 2.000
}