[HN Gopher] ADS-B Exposed
___________________________________________________________________
ADS-B Exposed
https://github.com/ClickHouse/adsb.exposed/ _Show HN: ADS-B
visualizer_ - https://news.ycombinator.com/item?id=39990346 - April
2024 (76 comments)
Author : keepamovin
Score : 261 points
Date : 2025-10-14 10:38 UTC (12 hours ago)
(HTM) web link (adsb.exposed)
(TXT) w3m dump (adsb.exposed)
| blakesterz wrote:
| It took me a little while to figure this out, but it's pretty
| cool. Try the A-380 limit in the examples and it starts making
| sense pretty quick.
|
| Also, .exposed has been a TLD since 2014? I'm not sure I've seen
| another .exposed site.
| zparky wrote:
| float.exposed is fun
| amosj wrote:
| previous discussion:
| https://news.ycombinator.com/item?id=39990346
| keepamovin wrote:
| Nice find! The GitHub repo near the top of that thread is
| great, too: https://github.com/ClickHouse/adsb.exposed
|
| For those wondering the license is a CC-NC-ShareAlike type
| dang wrote:
| Thanks! Macroexpanded:
|
| _Show HN: ADS-B visualizer_ -
| https://news.ycombinator.com/item?id=39990346 - April 2024 (76
| comments)
| sryNot_ wrote:
| Issue with adsb is that very few outside Europe and the US share
| their signals, so any app will have partial validity, unless you
| use satellite feeds.
| keepamovin wrote:
| How to utilize sat feeds with open data? Across ADS-B track
| data (like OpenSky Network) South America, Africa and Oceania
| seem covered in addition to Europe and America, as does East
| Asia, and India. But China, and some parts of Central Asia and
| Middle East appear absent?
| esseph wrote:
| A lot of people running SDRs send beacon info upstream on the
| internet.
| themafia wrote:
| If you're in a "wanted receiver location" then FlightRadar
| will send you a free ADS-B receiver so you can add to their
| dataset.
|
| https://www.flightradar24.com/blog/most-wanted-receiver-
| loca...
| Havoc wrote:
| Last I looked at it coverage is pretty good for land globally?
| Sea less so.
|
| The bigger issue is that in first world buying a sdr dongle for
| giggles is viable while in poor countries less so. A raspberry
| and dongle is a substantial investment if you're earning 1/20th
| of a US salary. Don't think there is an issue with willingness
| to share data
| computerfriend wrote:
| I have had no problem accessing ADSB data for various parts of
| Asia.
| ronbenton wrote:
| URL makes this sound like it's supposed to be scandalous
| keepamovin wrote:
| I know! I think the creator, brilliant as they must be, is not
| an English native speaker. Or perhaps they simply enjoy the
| controversy / provocation heh :)
| kevinsundar wrote:
| Eh I think the name kinda works from the perspective that it
| exposes patterns in adsb data. If you just glanced at adsb
| maps you wouldn't really see many of these patterns unless
| you stared at it for a very long time.
| ascorbic wrote:
| I think it's just a fun tld with the "adsb" domain available.
| lelandfe wrote:
| "ADS-B Massive Visualizer" is the right title per
| https://github.com/ClickHouse/adsb.exposed
| dkenyser wrote:
| Very cool project.
|
| Little bit of trivia regarding the "strange hole near Mexico
| City"[1] from the README.
|
| This is a 12-kilometer exclusion zone around the highly active
| Popocatepetl volcano to prevent incidents stemming from volcanic
| activity.
|
| [1]
| https://adsb.exposed/?zoom=9&lat=19.1139&lng=261.3813&query=...
| dylan604 wrote:
| that's interesting how it's not really centered like my mind
| assumed it would be
| adolph wrote:
| Another strange hole over Havana
|
| https://adsb.exposed/?dataset=Planes&zoom=10&lat=23.0304&lng...
|
| And interesting spotted patterns around some air force training
| bases (Vance and Sheppard):
|
| https://adsb.exposed/?dataset=Planes&zoom=7&lat=34.7605&lng=...
| Titan2189 wrote:
| Say whaaaaat?
| themafia wrote:
| Area 51 similarly stands out in Nevada.
| zeristor wrote:
| I wish there was an Aztec goddess of tea drinking called
| Pollyputthekettleon.
|
| Not that the Aztecs had tea drinking, if only the Chinese
| treasure ships had connected up across the Pacific...
| lexlambda wrote:
| This is certainly missing some kind of legend explaining the
| colors of the lines, and what data is actually shown.
|
| Is "red" high or low velocity? And as an example, I do not
| understand what the "Boeing vs. Airbus" selection is trying to
| represent, as well as how "Altitude & Velocity" are supposed to
| be displayed at the same time.
|
| Project certainly requires a bit more care if any discussion
| should happen around it.
| keepamovin wrote:
| I see you highlight that, but I believe the visualization is
| designed to be intuitive once you interact with it a bit--no
| legend stricty needed if you calibrate against what you already
| know.
|
| Pick a flight you know (maybe one near yer home) and play with
| the options -- what patterns emerge? Red draws attention,
| "Boeing vs. Airbus" compares data, while "Altitude & Velocity"
| combines them. Explore hands-on; discovery often makes insights
| click better than instructions.
| amiga386 wrote:
| Boeing vs Airbus: count() AS total,
| sum(desc LIKE 'BOEING%') AS boeing, sum(desc LIKE
| 'AIRBUS%') AS airbus, sum(NOT (desc LIKE 'BOEING%' OR
| desc LIKE 'AIRBUS%')) AS other, greatest(1000000
| DIV {sampling:UInt32} DIV zoom_factor, total) AS max_total,
| greatest(1000000 DIV {sampling:UInt32} DIV zoom_factor, boeing)
| AS max_boeing, greatest(1000000 DIV {sampling:UInt32}
| DIV zoom_factor, airbus) AS max_airbus,
| greatest(1000000 DIV {sampling:UInt32} DIV zoom_factor, other)
| AS max_other, pow(total / max_total, 1/5) AS
| transparency, 255 * (1 + transparency) / 2 AS
| alpha, pow(boeing, 1/5) * 256 DIV (1 + pow(max_boeing,
| 1/5)) AS red, pow(airbus, 1/5) * 256 DIV (1 +
| pow(max_airbus, 1/5)) AS green, pow(other, 1/5) * 256
| DIV (1 + pow(max_other, 1/5)) AS blue SELECT
| round(red)::UInt8, round(green)::UInt8, round(blue)::UInt8,
| round(alpha)::UInt8
|
| The redder the pixel, the more Boeing planes there.
|
| The greener the pixel, the more Airbus planes there.
|
| The bluer the pixel, the more non-Boeing/Airbus planes there.
|
| The less transparent the pixel, the more planes in total.
|
| White means all planes fly there, yellow means Boeing and
| Airbus dominate, red means Boeing dominates, green means Airbus
| dominates, cyan means Airbus+others, magenta means
| Boeing+others, etc.
| cameronh90 wrote:
| Around Heathrow at least, there seem to be a few paths where
| Airbus and Boeing both fly, but seem to be reporting slightly
| different offsets within that path.
|
| I wonder if that's a systemic difference in how they report
| their GPS position to ADS-B, or an actual real difference
| caused by slightly different autopilot systems, or something
| else?
| zX41ZdbW wrote:
| Thanks for posting!
|
| I've recently added more datasets, "Places", "Birds", "Photos",
| and "You".
|
| Also, a hint - the rectangular selection tool lets you generate
| custom reports for a location.
| etskinner wrote:
| What is "You"? I tried reading the query to understand but
| couldn't figure it out
| zX41ZdbW wrote:
| I'd like it if you try to guess :)
|
| But it is easy to figure it out from the source code. The
| source code is here: https://github.com/ClickHouse/adsb.expos
| ed/blob/main/index.h...
| dkenyser wrote:
| Interestingly it seems to line up quite well with
| population density maps.
| etskinner wrote:
| Apparently my 'easy' isn't the same as yours. There's
| nothing I could find in the code that describes what it is.
| You'd have to make a pretty big logic leap to figure it
| out. All you can see in the code (in config.js, not in
| index.html) is the dataset url (random string) and the
| description "this website", which tells you very little.
|
| For anyone who just wants to skip to the answer, I found it
| in the pull requests / issues:
| https://github.com/ClickHouse/adsb.exposed/issues/47
| mcpherrinm wrote:
| It appears to be where "you" (website visitors) have loaded
| page tiles. I was able to draw a little picture on the map by
| zooming in and panning around!
|
| The PR introducing it is easier to read than the whole repo:
| https://github.com/ClickHouse/adsb.exposed/pull/48/files
| keepamovin wrote:
| Haha, great! Honestly where did you get some of these datasets?
| Birds????? :)
| zX41ZdbW wrote:
| A writeup: https://clickhouse.com/blog/birds
|
| + There is an attribution in the top-down corner of the map.
| metrix wrote:
| what's going on around colorado springs with these shapes?
|
| https://adsb.exposed/?dataset=Planes&zoom=9&lat=38.2165&lng=...
| compass_copium wrote:
| Possibly training flights; they will often do racetrack
| shapes like that for long periods to maintain proficiency
| with the aircraft type.
| cluckindan wrote:
| The "race tracks" are left- and right-hand traffic patterns
| for arriving aircraft and touch-and-go training, typically
| used by smaller aircraft. The polylines going from airport to
| the surroundings are IFR (instrument flight rules) STARs
| (standard terminal arrival routes) for inbound/outbound
| planes; each vertex in the line corresponds to a so-called
| navigation star which usually has a 5-letter name.
| CamperBob2 wrote:
| Awesome work, but please consider providing some contrast
| options. You can't see the country or continent boundaries
| unless they are full of tracks (or at least I can't.)
| bwestergard wrote:
| This is super cool.
|
| Where is the bird dataset coming from? I assumed ebird at
| first, but these datapoints don't map on to ebird hotspots...
|
| Also, where did you get the collection of creative commons
| licensed bird species photos?
| zX41ZdbW wrote:
| The main birds dataset is from eBird, and the photos are from
| Wikipedia.
| cozzyd wrote:
| We have a an ADS-B receiver at Summit Station in Greenland which
| we use to track airplanes that produce RFI we see in our
| experiment. I've considered sharing data (since nobody else seems
| to have data there) but the feeding instructions always scare me
| (run this script that downloads a bunch of random crap as sudo...
| no thanks).
|
| Please just give me a cURL command I can run... (perhaps some
| services have that, I haven't looked that hard).
| NoiseBert69 wrote:
| ADS-B is easy to receive with an 'rtlsdr' and opensource tools.
| cozzyd wrote:
| Yeah we are receiving it and dumping it into a sqlite
| database per day, but we're not sharing it.
| rootusrootus wrote:
| You can get containerized feeders for services like fr24 (e.g.
| liggy1/fr24feed) but that may not meet your requirements since
| it's really intended to handle everything from the sdr to the
| API, not siphon off data you are collecting some other way and
| then feed it.
| cozzyd wrote:
| Yeah I definitely don't want to run an opaque container
| either. We're already collecting and storing the data... I am
| happy to throw the data over via a udp socket or http
| request, but I don't want random software that we don't
| control running...
| jonah-archive wrote:
| I had the same concerns awhile back and ending up running a
| slightly modified version of
| https://github.com/wiedehopf/mlat-client -- not quite as
| simple as an http push, but much simpler than a
| containerized feed client.
| toomuchtodo wrote:
| https://airplanes.live/get-started/
|
| (other sites are corporate or have sold out [adsbexchange],
| happy to contribute reasonable costs to get a feed, no
| affiliation, I just like sensor feeds, thank you for the offer
| and consideration)
| cozzyd wrote:
| I appreciate the information! And yes, the fact that most
| sites are corporate makes me really distrustful of running
| random scripts from them.
|
| This is sort of an example of what I'm talking about though,
| this script seems to install a bunch of random stuff but what
| I really want is an API to incorporate into our own recording
| process. As far as I can tell from a brief look, this binary
| (?) is downloaded from somewhere and run:
| https://github.com/airplanes-
| live/feed/blob/main/scripts/air... but I just want to
| incorporate it in the system we're using already when I
| finally get to improving it from a 10-minute hack job from
| when I set it up as a side project that ended up being really
| useful (https://arxiv.org/abs/2506.17522)
| toomuchtodo wrote:
| I have to dive in a bit more to give good and specific
| guidance/context, but fundamentally, your system will
| require a shim to "speak" $UAT_SOURCE and the output this
| would expect, assuming the source was an sdr. Want help
| writing the code for this? Specs to build requirements
| RNO-G in -> SDR out are welcome.
|
| https://airplanes.live/hardware/
|
| https://sdr-enthusiasts.gitbook.io/ads-b/ might also be of
| value.
| cozzyd wrote:
| yes, we have an SDR running some form of dump1090, then
| we are parsing json output from that and sticking it in a
| local sqlite database (we cycle databases once per day).
| Then that sqlite database eventually gets copied down.
| There are plans to improve our system to read a bit more
| directly but on low priority. It looks like these tools
| expect some format called BEAST that maybe can already be
| generated by dump1090, and then it's just a TCP stream to
| some endpoint?
| rufo wrote:
| Pretty much that. The SDR enthusiast's docker guide the
| parent comment linked to uses this ultrafeeder container,
| which has instructions on how to connect directly to
| dump1090 running on a port. Pairing that[1] plus the rest
| of the guide instructions should get you a decent ADS-B
| setup that can feed any of the services you might want -
| and if you don't want to use the Docker container(s), you
| should be able to at least use the services and
| configuration they use as a guide.
|
| [1]: https://github.com/sdr-enthusiasts/docker-adsb-
| ultrafeeder/t...
| cozzyd wrote:
| Can ... I just use socat? It looks like maybe dump1090
| already might output data in the right format...
| ikmckenz wrote:
| What's the story behind adsbexchange selling out?
| toomuchtodo wrote:
| https://old.reddit.com/r/ADSB/comments/10l2euc/adsb_exchang
| e...
|
| https://www.jetnet.com/resources/press-releases/jetnet-
| acqui...
|
| https://old.reddit.com/r/ADSB/comments/17pq14p/best_adsb_fl
| i...
|
| https://www.documentcloud.org/documents/23963235-golden-
| hamm...
| btreesOfSpring wrote:
| Check out https://adsb.im
| evil-olive wrote:
| sdr-enthusiasts [0] produces some very nice self-contained
| Docker images as an alternative to the `curl | sudo bash` style
| of install script that plagues a lot of the ADSB ecosystem.
|
| most likely all you need is their "ultrafeeder" [1,2] image.
|
| 0: https://sdr-enthusiasts.gitbook.io/ads-b
|
| 1: https://sdr-
| enthusiasts.gitbook.io/ads-b/foundations/deploy-...
|
| 2: https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder
| jjwiseman wrote:
| It's good to be careful. A popular ADS-B network used to
| distribute a raspberry pi image that let the maintainers ssh
| into your machine whenever they wanted.
| pradeepchhetri wrote:
| Very cool project indeed!
|
| I tried to check the kind of flights they flew in the world's
| dangerous airport (Lukla, Nepal)[0] and found they use ATR-72
| series.
|
| [0]
| https://adsb.exposed/?dataset=Planes&zoom=12&lat=27.7136&lng...
| nickysielicki wrote:
| I love how you can clearly make out the VFR EAA approach going
| into Oshkosh from Ripon. It's only one week out of the year, but
| there's so much traffic in that week that it still stands out.
| paulirish wrote:
| Over in r/ADSB, someone recently posted a 3D visualizer of live
| ADS-B data: https://objectiveunclear.com/airloom.html. A nice
| alternative to the standard 2D maps we're used to.
| ctippett wrote:
| Reminds me of the galaxy view in No Man's Sky. Very cool. It's
| also the type of visualisation I'd imagine would be perfect
| seen through the lens of a Vision Pro or similar.
| jmux wrote:
| this is super cool!
| scrozier wrote:
| Eschew abbreviations!
| madethemcry wrote:
| I missed the "About" link in the footer but still found my way to
| the repo [1], where the project is briefly explained including a
| ton of great example images. Thanks for that!
|
| > This website (technology demo) allows you to aggregate and
| visualize massive amounts of air traffic data. The data is hosted
| in a ClickHouse database and queried on the fly. You can tune the
| visualizations with custom SQL queries and drill-down from 50
| billion records to individual data records.
|
| [1] https://github.com/ClickHouse/adsb.exposed/
| dang wrote:
| Thanks! we'll put the repo link in the toptext too, along with
| the Show HN from last year:
| https://news.ycombinator.com/item?id=45583734
| swills wrote:
| Highlighting an area, I see in the sidebar: Time: 2022-02-01
| 00:09:20.136 -- 2023-12-07 22:46:41.480. Would be nice if it had
| newer data.
| jjwiseman wrote:
| Back when this first launched, I said it was like writing webgl
| shaders for ADS-B with SQL.
|
| And I made a custom GPT that could translate natural language
| queries to Clickhouse's query language:
| https://chatgpt.com/g/g-GfJuwxZFt-ads-b-exposed-expert
___________________________________________________________________
(page generated 2025-10-14 23:00 UTC)