|
66 | 66 | OPENSKY_ABOUT = "https://opensky-network.org/about/about-us" |
67 | 67 | OPENSKY_STATE_VECTORS_DOC = "https://openskynetwork.github.io/opensky-api/index.html#state-vectors" |
68 | 68 | OPENSKY_AUTH_TOKEN_URL = "https://auth.opensky-network.org/auth/realms/opensky-network/protocol/openid-connect/token" |
69 | | -OPENSKY_THUMBNAIL_DATA_URI = ( |
70 | | - "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E" |
71 | | - "%3Crect width='320' height='200' fill='%230f172a'/%3E" |
72 | | - "%3Cpath d='M42 150 C95 92 220 92 278 150' fill='none' stroke='%2338bdf8' stroke-width='4' stroke-dasharray='10 8'/%3E" |
73 | | - "%3Cpath d='M72 132 C122 96 198 96 248 132' fill='none' stroke='%237dd3fc' stroke-width='3' stroke-dasharray='7 7'/%3E" |
74 | | - "%3Ccircle cx='160' cy='150' r='8' fill='%23f8fafc'/%3E" |
75 | | - "%3Cpath d='M160 52 l78 31 -64 10 -18 46 -16 -49 -58 -12z' fill='%23e0f2fe' stroke='%230ea5e9' stroke-width='3'/%3E" |
76 | | - "%3Ctext x='160' y='178' text-anchor='middle' font-family='Arial,sans-serif' font-size='20' font-weight='700' fill='%23f8fafc'%3EOpenSky ADS-B Feed%3C/text%3E" |
77 | | - "%3C/svg%3E" |
78 | | -) |
| 69 | +OPENSKY_ADSB_ANTENNA_IMAGE = "https://upload.wikimedia.org/wikipedia/commons/6/68/Homemade_1090_MHz_ADS-B_dipole_antenna.jpg" |
| 70 | +OPENSKY_ADSB_ANTENNA_SOURCE = "https://commons.wikimedia.org/wiki/File:Homemade_1090_MHz_ADS-B_dipole_antenna.jpg" |
| 71 | +OPENSKY_ADSB_ANTENNA_LICENSE = "https://creativecommons.org/licenses/by-sa/3.0/" |
79 | 72 |
|
80 | 73 | # ── Contact ────────────────────────────────────────────────────────────── |
81 | 74 | OPENSKY_CONTACT_ORG = "The OpenSky Network Association" |
@@ -236,8 +229,8 @@ def _system_stub(config: dict) -> dict: |
236 | 229 | "credit_budget_note": _daily_budget_note(config), |
237 | 230 | }, |
238 | 231 | "image": { |
239 | | - "href": "./metadata_enrichment_pack/assets/opensky_feed_adapter_generic.svg", |
240 | | - "title": "Representative OpenSky feed-adapter coverage graphic", |
| 232 | + "href": OPENSKY_ADSB_ANTENNA_IMAGE, |
| 233 | + "title": "Representative 1090 MHz ADS-B antenna photograph", |
241 | 234 | }, |
242 | 235 | "validTime": [VALID_TIME_START, ".."], |
243 | 236 | }, |
@@ -351,12 +344,26 @@ def _system_sml(config: dict) -> dict: |
351 | 344 | }, |
352 | 345 | { |
353 | 346 | "role": "http://dbpedia.org/resource/Photograph", |
354 | | - "name": "Representative OpenSky ADS-B Feed Thumbnail", |
| 347 | + "name": "Representative 1090 MHz ADS-B Antenna Photograph", |
355 | 348 | "description": ( |
356 | | - "Original OS4CSAPI SVG thumbnail representing the OpenSky ADS-B feed adapter. " |
357 | | - "This is not a station-specific photograph or an aircraft-specific observation." |
| 349 | + "Photograph of real 1090 MHz ADS-B antenna hardware used as the representative " |
| 350 | + "source image for the OpenSky ADS-B feed adapter. The OpenSky resource is a " |
| 351 | + "crowd-sourced receiver-network feed rather than a single station. " |
| 352 | + "Photo: Happy-marmotte, CC BY-SA 3.0, via Wikimedia Commons." |
358 | 353 | ), |
359 | | - "link": {"href": OPENSKY_THUMBNAIL_DATA_URI, "type": "image/svg+xml"}, |
| 354 | + "link": {"href": OPENSKY_ADSB_ANTENNA_IMAGE, "type": "image/jpeg"}, |
| 355 | + }, |
| 356 | + { |
| 357 | + "role": "http://dbpedia.org/resource/Web_page", |
| 358 | + "name": "Representative ADS-B Antenna Photo Source", |
| 359 | + "description": "Wikimedia Commons source page for the ADS-B antenna photograph.", |
| 360 | + "link": {"href": OPENSKY_ADSB_ANTENNA_SOURCE, "type": "text/html"}, |
| 361 | + }, |
| 362 | + { |
| 363 | + "role": "http://dbpedia.org/resource/Web_page", |
| 364 | + "name": "Representative ADS-B Antenna Photo License", |
| 365 | + "description": "Creative Commons Attribution-ShareAlike 3.0 license for the ADS-B antenna photograph.", |
| 366 | + "link": {"href": OPENSKY_ADSB_ANTENNA_LICENSE, "type": "text/html"}, |
360 | 367 | }, |
361 | 368 | ], |
362 | 369 | "characteristics": [ |
|
0 commit comments