Author: Paolo Lulli <paolo@lulli.net>
Add maidenhead reticulate for indexing
server/geo/distances_test.go | 22 +++++++++++++++++++++- server/go.mod | 1 + server/go.sum | 2 ++
diff --git a/server/geo/distances_test.go b/server/geo/distances_test.go index 6c6b983bf8a4d1673fdd3e5b00a21ae5531f9e90..87c0ca92733d11c4f77896ebfa79b078ae94ed91 100644 --- a/server/geo/distances_test.go +++ b/server/geo/distances_test.go @@ -3,6 +3,8 @@ import ( "fmt" "testing" + + "github.com/pd0mz/go-maidenhead" ) func TestDistance(t *testing.T) { @@ -20,7 +22,25 @@ for lon := -180; lon <= 180; lon += 10 { for lat := -90; lat <= 90; lat += 10 { fmt.Printf("Lon: %d Lat: %d\n", lon, lat) } - fmt.Printf("\n") + fmt.Printf("") // lon += 10 } } + +func TestMaidenHead(t *testing.T) { + //winnipeg := coordinate{50.445210, -104.618896} + point := coordinate{50.445210, -104.618896} + + var p = maidenhead.NewPoint(point.lat, point.lon) + + locator, _ := p.Locator(2) + fmt.Printf("Locator: %s\n", locator) + + var centerOfMaidenHead, _ = maidenhead.ParseLocatorCentered(locator) + + fmt.Printf("long: %f lat: %f", centerOfMaidenHead.Longitude, centerOfMaidenHead.Latitude) + + d := Distance(coordinate{centerOfMaidenHead.Latitude, centerOfMaidenHead.Longitude}, point) + + fmt.Printf("Distance from maidenhead center: %f", d) +} diff --git a/server/go.mod b/server/go.mod index 969259001f695107a7eeccb6935bb208078d9df1..5c614582ceae0ae0260c49117cef34296cda325f 100644 --- a/server/go.mod +++ b/server/go.mod @@ -26,6 +26,7 @@ github.com/leodido/go-urn v1.2.4 // indirect github.com/mattn/go-isatty v0.0.19 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pd0mz/go-maidenhead v1.0.0 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect diff --git a/server/go.sum b/server/go.sum index 922739462a57308382dfe49b0986a9989c8a97be..c581254c84ee9aafd64457175e559a8bbe6bc765 100644 --- a/server/go.sum +++ b/server/go.sum @@ -58,6 +58,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pd0mz/go-maidenhead v1.0.0 h1:zl2AXA36LnmP5TDEfshM0fWi1mc08fNc6qhj7YD5xjw= +github.com/pd0mz/go-maidenhead v1.0.0/go.mod h1:4Q+QSDCqWqlabstLGUVm47rAcL06nEEty2d3KzsTNMk= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=