Show HN: ADS-B visualizer (adsb.exposed)
I've created a web app for querying and visualization of ADS-B datasets: https://adsb.exposed/
Source code: https://github.com/ClickHouse/adsb.exposed/
The results significantly exceeded my expectations because the pictures are insanely beautiful, and the data is a treasure trove.
It proves many statements that were not certain: - it is feasible to generate tiles by aggregation on a pixel level (instead of hexagons or rectangular grid); - it does not require JPG/PNG tiles - we can transfer raw bitmap data with zstd compression; - it is possible to do it in real time;
79 comments
[ 2.9 ms ] story [ 179 ms ] threadEDIT: Nevermind, clickhouse.com was on disconnect's ad blocking list which I used for DNS blocking.
https://www.reddit.com/r/pihole/comments/wtizpa/deprecation_... (ETA: https://github.com/disconnectme/disconnect-tracking-protecti...)
I predict this will get a hug of death $soon
As for the dataset - is this continually updated or how "fresh" is it at any given moment?
The update scripts are also open-source, published here: https://github.com/ClickHouse/adsb.exposed/blob/main/prepare...
I took extra care to provide all the needed attributions and credits and I believe it is complete and sufficient. If I missed something, please describe it at https://github.com/ClickHouse/adsb.exposed/issues, and I will correct it.
4.3 Notice for using output (Contents). Creating and Using a Produced Work does not require the notice in Section 4.2. However, if you Publicly Use a Produced Work, You must include a notice associated with the Produced Work reasonably calculated to make any Person that uses, views, accesses, interacts with, or is otherwise exposed to the Produced Work aware that Content was obtained from the Database, Derivative Database, or the Database as part of a Collective Database, and that it is available under this License.
I can't read it for you, but I can summarize it for you. You are required to make sure that someone who uses the product (i.e., Clickhouse's marketing stunt thingy) becomes aware of the license and origin of the underlying data. And not by digging into some GitHub repo, but right there, on the page.
I have no horse in this race, but am really confused by this aggressive reaction to what I perceive to be a good-faith use of this data. Is this the prelude to some scheme by which you plan to extract money from ClickHouse? The grievance in these replies is genuinely unclear to me.
In some cases, this is only one reason.
[0]: https://pluralistic.net/2022/01/24/a-bug-in-early-creative-c...
I love the fact that techbros being called out for violating other people's intellectual property immediately revert to "TROLL!" or "this is too hard!" instead of actually engaging with the question at hand. And btw - until you actually create the software stack to collect the data and run an aggregator, don't condescend on people who do the hard work that you seem to feel free to copy in violation of said license.
https://github.com/ClickHouse/adsb.exposed/
I particularly like the example of helicopters following the river Thames in London:
https://github.com/ClickHouse/adsb.exposed/?tab=readme-ov-fi...
a) to make civilian air traffic control life easier
b) as (strategic) signalling - this applies for example to NATO tankers and electronic intelligence platforms flying over the Eastern Flank.
Remember, you want your opponent to know how you can potentially hurt them if things go bad, that's the basis of deterrence. This is why for example certain aspects of nuclear weapon systems are completely out in the public.
c) Safety, being open about the flightpaths of tankers and intelligence-gathering aircraft flying in international airspace near those areas reduces the ability of Russia to claim they weren't informed or that the aircraft strayed into restricted airspace. That means a lower probability of incidents, though it's still not completely safe as demonstrated in 2022: https://www.bbc.com/news/uk-66798508
I'm hitting the airplanes.live API every 10 seconds using ClickHouse's URL table function and storing in a MergeTree: https://github.com/JosephRedfern/airhoover/blob/main/airhoov.... Would love to use refreshable materialised views for this, but at the moment there's no append functionality (refresh only), so have to use Python to to trigger the query.
There's an open instance here: https://airhoover.joesstuff.co.uk/play?user=default#U0VMRUNU.... Only 1.5 days or so of data, I truncated before setting up tiered storage (local disk + backblaze b2).
Cool being able to e.g. get a break-down of aircraft type by operator (https://airhoover.joesstuff.co.uk/play?user=default#U0VMRUNU...) or who (supposedly) flies their planes fastest (https://airhoover.joesstuff.co.uk/play?user=default#U0VMRUNU...)
Edit: Having read the readme, I have a better idea of what I'm looking at. Really impressive technically as well.
TCAS uses active transponder interrogation from the TCAS unit interrogating a threat target's Mode-C or Mode-S transponder. TCAS only uses ADS-B In in an indirect way, in large part to acquire traffic in the area that is not yet a threat, and reduce it's RF congestion caused by excessive interrogation, especially of legacy Mode-C targets. A TCAS II system will fly you right into say a UAT out equipped aircraft without issuing an RA (resolution advisory) if that threat aircraft has no transponder or an inop transponder.
TCAS II only issuing an RA based on active interrogation of a threat aircraft's transponder is a kind of safety feature given the potential spoofing of ADS-B Out data.
I'm just a couple of miles from DAY and see a lot of traffic every day. It would be interesting to know how military aircraft like that coordinate with civilian air traffic control.
(I like to listen to Dayton approach while watching an ADS-B tracker site. I enjoy seeing the traffic fly over my neighborhood. I find it oddly amusing to look up at a plane I just heard getting clearance to land knowing that I just heard the voice of somebody up there thru my speakers. I don't know why it's so pleasing...)
In fact, this Seahawk just flew over: https://globe.airplanes.live/?icao=ae6904
There are certainly military planes that fly without ADSB, but for flights where secrecy doesn't matter, they seem to fly with it on. I've seen all manner of planes with ADSB, from U2 spy planes, F-15, F-16, A-10, the occasional B-52, and more.
https://theaviationist.com/2023/11/22/usaf-ac-130j-iraq/
Gliders potentially face very different risk scenarios and their owners will hopefully equip for what is the most significant risks to them and others. e.g. gliders often fly close to each other, especially when thermalling together, if flying with other gliders in remote areas then the FLARM system optimized to handle glider on glider threats is optimal (where GA focused ADS-B produces far to many false alerts), if flying near lots of GA aircraft ADS-B Out (and In via FLARM) is likely optimal, if flying near airliners, fast jets and tactical military aircraft then transponders alone even without 1090ES Out may be most critical item for their SSR, TCAS and IFF compatibility. Ideally owners do equip with all three... Mode-S, 1090ES Out, and FLARM.
The challenge may be more where there are low-cost/low-value gliders, maybe trainers and glider club owned gliders especially those located in busy traffic areas. You would hope those owners long ago got the message they should be equipping with some forms of supplementary traffic broadcast/awareness systems.
UAT adoption in gliders is nearly non-existent as FLARM systems only receive directly on 1090ES In and you don't want to rely on ADS-R coverage in remote or mountainous areas.
TABS/TSO-C199 is an easier route to an approved installation of ADS-B Out systems in type-certified gliders. TSO-C199 was developed by industry and the FAA following the 2006 mid-air collision between a glider and Hawker business jet near Minden NV. Experimental category gliders will typically have 14 CFR 91.227 compliant installations done under the same "meets performance requirements" clauses as many experimental power aircraft.
Imaging alien species that evolved to perceive a wider electromagnetic spectrum, the earth must look like a disco ball when their spaceship approaches.
To obtain an SQL query for a particular region, you can open the browser dev tools (F12), switch to Network, and copy a particular request that is made when you select an area with the rectangle selection tool.
If you want to build something similar on a raspberry pi, here is a tutorial: https://questdb.io/blog/create-flight-radar-raspberry-pi-que...
What was going on there?
Types: GLID (SGS 2-33A)
Flights: N7589, N2037T
Registration: N7589, N2037T
When you select the dottet square button in the lower left and select a rectangle the planes within this rectangle are listed
Very interesting project!
The glider I was thinking about is actually N914SF, a Pipistrel Sinus. That's a motorized glider, which makes a lot more sense flying though Class D airspace, right above LAX.
Incredible work, and I hope this kicks off a lot of innovation in the world of aircraft traffic analysis & visualization, which I think has been kind of stuck in a rut for a while.
HN has such a unique group of people
https://en.wikipedia.org/wiki/Automatic_Dependent_Surveillan...
Not sure I'm understanding this.
Is a "tile" then 1x1 pixels in size? If so, does the server maintain a pixel-addressable cache of the 1x1 tiles?