Settings

Theme

Show HN: An 'offline' reverse-geocoder API written in Go

14 points by towit 6 years ago · 2 comments · 1 min read


I've recently been working with real-time geoJSON data at a rate of 50+ queries per second.

SaaS solutions can be prohibitively expensive at this rate, thus, I created go-reverse-geo.

Data is pulled from geonames.org and is stored in MongoDB (a requirement of my current project).

It is very much a work-in-progress (I wrote it this morning). Hope someone finds it useful.

https://paranoia.dev/vivi/go-reverse-geo

canterburry 6 years ago

I'd be curious to know what project you are working on that requires Geo coding?

  • towitOP 6 years ago

    I'll try to make this as short as possible using all the acronyms!

    Alpine Linux on a Raspberry Pi with LTE/3G, GNSS, BT and Wifi.

    Boot and request Wireguard enrollment over TLS (human acknowledges in Slack to verify inventory), configure WG tunnel, start gRPC producer.

    Hop the 2.4 Ghz spectrum at 250 Hz, gopacket sniffs MGT frames for probes and beacons, collects SSID, MAC, RSSI and a ton of other really neat data from the GPS and system itself (temp, procs, load, mem, modem signal strength, carrier, nearby bluetooth peripherals).

    Push these events in real-time to gRPC consumer over Wireguard. The ETL aggregates and stores summary data in NoSQL, the raw request is marshalled to JSON and stored in ElasticSearch (in the event of a disaster; also it's fun to use Kibana to find new interesting metrics to report on the customer dashboard).

    It's purpose is to determine how many humans are within potential viewing distance of a moving object which may or may not have some form of communique - these devices are installed in vehicles.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection