1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Observatory Guide â Universe Explorer Observatory Guide</title> 7 <meta name="description" content="Directory of astronomical observatories worldwide â Search by country, coordinates, wavelength range"> 8 <meta name="author" content="Dr. Wolfgang Grond"> 9 <link rel="alternate" hreflang="de" href="?lang=de"> 10 <link rel="alternate" hreflang="en" href="?lang=en"> 11 <link rel="icon" href="/images/favicon.ico" sizes="any"> 12 <link rel="stylesheet" href="/css/milkyweb.css"> 13 <link rel="stylesheet" href="/observatory/css/observatory.css"> 14 <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css"> 15 <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/MarkerCluster.css"> 16 <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/MarkerCluster.Default.css"> 17
17<script src="https://unpkg.com/[email protected]/dist/leaflet.js" defer></script>
17 18
18<script src="https://unpkg.com/[email protected]/dist/leaflet.markercluster.js" defer></script>
18 19</head> 20<body class="page-observatory"> 21 22 <div class="site-bg" id="site-bg"></div> 23 24 <div class="site-wrapper"> 25 <nav class="site-nav" role="navigation" aria-label="Main navigation"> 26 <div class="site-nav__inner"> 27 <a href="/" class="site-nav__logo"> 28 <img src="/images/milkyweb-logo.svg" alt="Universe Explorer" width="28" height="28"> 29 <span>Universe Explorer</span> 30 </a> 31 <div class="site-nav__links"> 32 <a href="/" class="site-nav__link">HOME</a> 33 <a href="/astro_links/" class="site-nav__link">ASTRO LINKS</a> 34 <a href="/spacehistory/" class="site-nav__link">SPACE HISTORY</a> 35 <a href="/observatory/" class="site-nav__link site-nav__link--active">OBSERVATORY GUIDE</a> 36 <a href="/sky_survey/" class="site-nav__link">SKY SURVEY</a> 37 <a href="/organisations/" class="site-nav__link">ORGANISATIONS</a> 38 </div> 39 <div class="site-nav__right"> 40 <div class="lang-switch"> 41 <a href="?lang=de" class="lang-switch__option" hreflang="de" aria-label="Deutsch">DE</a> 42 <span class="lang-switch__sep">|</span> 43 <a href="?lang=en" class="lang-switch__option lang-switch__option--active" hreflang="en" aria-label="English">EN</a> 44 </div> 45 <button class="site-nav__toggle" aria-label="Menu" aria-expanded="false" 46 onclick="document.querySelector('.site-nav__mobile').classList.toggle('is-open')"> 47 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 48 <path d="M3 6h18M3 12h18M3 18h18"/> 49 </svg> 50 </button> 51 </div> 52 </div> 53 <div class="site-nav__mobile" role="menu"> 54 <a href="/" class="site-nav__link" role="menuitem">HOME</a> 55 <a href="/astro_links/" class="site-nav__link" role="menuitem">ASTRO LINKS</a> 56 <a href="/spacehistory/" class="site-nav__link" role="menuitem">SPACE HISTORY</a> 57 <a href="/observatory/" class="site-nav__link" role="menuitem">OBSERVATORY GUIDE</a> 58 <a href="/sky_survey/" class="site-nav__link" role="menuitem">SKY SURVEY</a> 59 <a href="/organisations/" class="site-nav__link" role="menuitem">ORGANISATIONS</a> 60 </div> 61 </nav> 62 63 <main class="site-main"> 64 65 <h1>Observatory Guide</h1> 66 67 <p class="obs-subtitle"> 68 3,301 observatories in 88 countries </p> 69 70 <!-- Search bar --> 71 <form class="obs-search" action="/observatory/list.php" method="get"> 72 <input type="hidden" name="lang" value="en"> 73 <div class="obs-search__row"> 74 <input type="text" name="q" class="obs-search__input" 75 placeholder="Search observatories..." 76 aria-label="Search"> 77 <select name="band" class="obs-search__select"> 78 <option value="">All wavelengths</option> 79 <option value="gamma">Gamma</option> 80 <option value="xray">X-ray</option> 81 <option value="uv">UV</option> 82 <option value="optical">Optical</option> 83 <option value="nir">NIR</option> 84 <option value="mir">MIR</option> 85 <option value="fir">FIR</option> 86 <option value="submm">Sub-mm</option> 87 <option value="radio">Radio</option> 88 <option value="neutrino">Neutrino</option> 89 <option value="gw">Gravitational Waves</option> 90 <option value="cosmic_rays">Cosmic Rays</option> 91 </select> 92 <button type="submit" class="obs-search__btn">Search</button> 93 </div> 94 </form> 95 96 <!-- Map --> 97 <div class="obs-card"> 98 <div id="obs-map" style="height: 450px; border-radius: var(--radius-lg);"></div> 99 </div> 100 101 <!-- Continent grid --> 102 <h2>By Continent</h2> 103 <div class="obs-grid obs-grid--3"> 104 <a href="list.php?continent=europe&lang=en" class="obs-card obs-card--link"> 105 <h4>Europe</h4> 106 <p class="obs-card__meta">930 observatories · 33 countries</p> 107 </a> 108 <a href="list.php?continent=asia&lang=en" class="obs-card obs-card--link"> 109 <h4>Asia</h4> 110 <p class="obs-card__meta">226 observatories · 18 countries</p> 111 </a> 112 <a href="list.php?continent=north_america&lang=en" class="obs-card obs-card--link"> 113 <h4>North America</h4> 114 <p class="obs-card__meta">648 observatories · 5 countries</p> 115 </a> 116 <a href="list.php?continent=south_america&lang=en" class="obs-card obs-card--link"> 117 <h4>South America</h4> 118 <p class="obs-card__meta">67 observatories · 9 countries</p> 119 </a> 120 <a href="list.php?continent=africa&lang=en" class="obs-card obs-card--link"> 121 <h4>Africa</h4> 122 <p class="obs-card__meta">43 observatories · 6 countries</p> 123 </a> 124 <a href="list.php?continent=oceania&lang=en" class="obs-card obs-card--link"> 125 <h4>Oceania</h4> 126 <p class="obs-card__meta">88 observatories · 2 countries</p> 127 </a> 128 <a href="list.php?continent=antarctica&lang=en" class="obs-card obs-card--link"> 129 <h4>Antarctica</h4> 130 <p class="obs-card__meta">7 observatories · 1 countries</p> 131 </a> 132 </div> 133 134 <!-- Quick links --> 135 <h2>By Spectral Band</h2> 136 <div class="obs-grid obs-grid--4"> 137 <a href="list.php?band=optical&lang=en" class="obs-card obs-card--link"> 138 <h4>Optical</h4> 139 <p class="obs-card__meta">2,985</p> 140 </a> 141 <a href="list.php?band=radio&lang=en" class="obs-card obs-card--link"> 142 <h4>Radio</h4> 143 <p class="obs-card__meta">216</p> 144 </a> 145 <a href="list.php?band=neutrino&lang=en" class="obs-card obs-card--link"> 146 <h4>Neutrino</h4> 147 <p class="obs-card__meta">29</p> 148 </a> 149 <a href="list.php?band=gw&lang=en" class="obs-card obs-card--link"> 150 <h4>Gravitational Waves</h4> 151 <p class="obs-card__meta">6</p> 152 </a> 153 </div> 154 155 <!-- Latitude bands --> 156 <h2>By Latitude</h2> 157 <div class="obs-card"> 158 <div class="obs-lat-grid"> 159 <div class="obs-lat-section"> 160 <h4>Northern Hemisphere</h4> 161 <a href="list.php?lat_min=70&lat_max=90&lang=en" class="obs-lat-link">70°â90° N</a> 162 <a href="list.php?lat_min=60&lat_max=70&lang=en" class="obs-lat-link">60°â70° N</a> 163 <a href="list.php?lat_min=54&lat_max=60&lang=en" class="obs-lat-link">54°â60° N</a> 164 <a href="list.php?lat_min=50&lat_max=54&lang=en" class="obs-lat-link">50°â54° N</a> 165 <a href="list.php?lat_min=48&lat_max=50&lang=en" class="obs-lat-link">48°â50° N</a> 166 <a href="list.php?lat_min=46&lat_max=48&lang=en" class="obs-lat-link">46°â48° N</a> 167 <a href="list.php?lat_min=44&lat_max=46&lang=en" class="obs-lat-link">44°â46° N</a> 168 <a href="list.php?lat_min=42&lat_max=44&lang=en" class="obs-lat-link">42°â44° N</a> 169 <a href="list.php?lat_min=40&lat_max=42&lang=en" class="obs-lat-link">40°â42° N</a> 170 <a href="list.php?lat_min=30&lat_max=40&lang=en" class="obs-lat-link">30°â40° N</a> 171 <a href="list.php?lat_min=20&lat_max=30&lang=en" class="obs-lat-link">20°â30° N</a> 172 <a href="list.php?lat_min=0&lat_max=20&lang=en" class="obs-lat-link">0°â20° N</a> 173 </div> 174 <div class="obs-lat-section"> 175 <h4>Southern Hemisphere</h4> 176 <a href="list.php?lat_min=-20&lat_max=0&lang=en" class="obs-lat-link">0°â20° S</a> 177 <a href="list.php?lat_min=-30&lat_max=-20&lang=en" class="obs-lat-link">20°â30° S</a> 178 <a href="list.php?lat_min=-40&lat_max=-30&lang=en" class="obs-lat-link">30°â40° S</a> 179 <a href="list.php?lat_min=-50&lat_max=-40&lang=en" class="obs-lat-link">40°â50° S</a> 180 <a href="list.php?lat_min=-60&lat_max=-50&lang=en" class="obs-lat-link">50°â60° S</a> 181 <a href="list.php?lat_min=-90&lat_max=-60&lang=en" class="obs-lat-link">60°â90° S</a> 182 </div> 183 </div> 184 </div> 185 186 <!-- Timezone links --> 187 <h2>By Timezone</h2> 188 <div class="obs-card"> 189 <div class="obs-tz-grid"> 190 <a href="list.php?tz=-12&lang=en" class="obs-tz-link">UTC -12</a> 191 <a href="list.php?tz=-11&lang=en" class="obs-tz-link">UTC -11</a> 192 <a href="list.php?tz=-10&lang=en" class="obs-tz-link">UTC -10</a> 193 <a href="list.php?tz=-9&lang=en" class="obs-tz-link">UTC -9</a> 194 <a href="list.php?tz=-8&lang=en" class="obs-tz-link">UTC -8</a> 195 <a href="list.php?tz=-7&lang=en" class="obs-tz-link">UTC -7</a> 196 <a href="list.php?tz=-6&lang=en" class="obs-tz-link">UTC -6</a> 197 <a href="list.php?tz=-5&lang=en" class="obs-tz-link">UTC -5</a> 198 <a href="list.php?tz=-4&lang=en" class="obs-tz-link">UTC -4</a> 199 <a href="list.php?tz=-3&lang=en" class="obs-tz-link">UTC -3</a> 200 <a href="list.php?tz=-2&lang=en" class="obs-tz-link">UTC -2</a> 201 <a href="list.php?tz=-1&lang=en" class="obs-tz-link">UTC -1</a> 202 <a href="list.php?tz=%2B00&lang=en" class="obs-tz-link">UTC +00</a> 203 <a href="list.php?tz=%2B01&lang=en" class="obs-tz-link">UTC +01</a> 204 <a href="list.php?tz=%2B02&lang=en" class="obs-tz-link">UTC +02</a> 205 <a href="list.php?tz=%2B03&lang=en" class="obs-tz-link">UTC +03</a> 206 <a href="list.php?tz=%2B04&lang=en" class="obs-tz-link">UTC +04</a> 207 <a href="list.php?tz=%2B05&lang=en" class="obs-tz-link">UTC +05</a> 208 <a href="list.php?tz=%2B06&lang=en" class="obs-tz-link">UTC +06</a> 209 <a href="list.php?tz=%2B07&lang=en" class="obs-tz-link">UTC +07</a> 210 <a href="list.php?tz=%2B08&lang=en" class="obs-tz-link">UTC +08</a> 211 <a href="list.php?tz=%2B09&lang=en" class="obs-tz-link">
211UTC +09</a> 212 <a href="list.php?tz=%2B10&lang=en" class="obs-tz-link">UTC +10</a> 213 <a href="list.php?tz=%2B11&lang=en" class="obs-tz-link">UTC +11</a> 214 <a href="list.php?tz=%2B12&lang=en" class="obs-tz-link">UTC +12</a> 215 </div> 216 </div> 217 218 <p style="text-align: center; margin-top: var(--space-8);"> 219 <a href="submit.php?lang=en" class="obs-btn"> 220 Submit an observatory </a> 221 </p> 222 223 224 </main> 225 226
226<script> 227 document.addEventListener('DOMContentLoaded', function() { 228 var map = L.map('obs-map').setView([30, 0], 2); 229 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 230 attribution: '© OpenStreetMap', 231 maxZoom: 18 232 }).addTo(map); 233 234 var markers = L.markerClusterGroup({ 235 maxClusterRadius: 40, 236 spiderfyOnMaxZoom: true, 237 showCoverageOnHover: false, 238 iconCreateFunction: function(cluster) { 239 var count = cluster.getChildCount(); 240 var size = count < 10 ? 'small' : count < 50 ? 'medium' : 'large'; 241 return L.divIcon({ 242 html: '<div><span>' + count + '</span></div>', 243 className: 'obs-cluster obs-cluster--' + size, 244 iconSize: L.point(40, 40) 245 }); 246 } 247 }); 248 249 fetch('/observatory/api/observatories.php?format=geojson&lang=en') 250 .then(function(r) { return r.json(); }) 251 .then(function(data) { 252 var geoLayer = L.geoJSON(data, { 253 pointToLayer: function(feature, latlng) { 254 return L.circleMarker(latlng, { 255 radius: 5, 256 fillColor: feature.properties.color || '#6592ff', 257 color: '#fff', 258 weight: 1, 259 fillOpacity: 0.85 260 }); 261 }, 262 onEachFeature: function(feature, layer) { 263 var p = feature.properties; 264 layer.bindPopup( 265 '<b>' + p.name + '</b>' + 266 (p.country ? '<br>' + p.country : '') + 267 (p.iau ? '<br>IAU ' + p.iau : '') + 268 (p.bands ? '<br><small>' + p.bands + '</small>' : '') + 269 '<br><a href="detail.php?id=' + p.id + '&lang=en">Details »</a>' 270 ); 271 } 272 }); 273 markers.addLayer(geoLayer); 274 map.addLayer(markers); 275 }); 276 }); 277 </script>
277 278 279 <footer class="site-footer"> 280 <div class="site-footer__inner"> 281 <div class="site-footer__copy"> 282 © 2026 universeexplorer.de — Astronomy links since 2001 </div> 283 <div class="site-footer__links"> 284 <a href="/en/impressum.php" class="site-footer__link">Legal Notice</a> 285 <a href="/en/privacy.php" class="site-footer__link">Privacy</a> 286 <a href="/en/disclaimer.php" class="site-footer__link">Disclaimer</a> 287 <a href="mailto:[email protected]" class="site-footer__link">Contact</a> 288 </div> 289 </div> 290 </footer> 291 292 </div><!-- .site-wrapper --> 293 294
294<script> 295 (function() { 296 var bgs = ["milkyway.webp","carina_nebula.webp","deepfield.webp","omega_centauri.webp", 297 "ring_nebula.webp","pillars_of_creation.webp","andromeda.webp","pleiades.webp", 298 "orion_nebula.webp","lagoon_nebula.webp","eagle_nebula.webp", 299 "neptune.webp","solar_flare.webp","saturn_rings.webp","pluto.webp", 300 "milkyway_paranal.webp","galactic_center.webp","sagittarius_starfield.webp", 301 "ngc3603_starfield.webp","ngc6752_starfield.webp","deep_galaxy_field.webp"]; 302 var bg = bgs[Math.floor(Math.random() * bgs.length)]; 303 document.getElementById('site-bg').style.backgroundImage = 'url(/images/backgrounds/' + bg + ')'; 304 })(); 305 </script>
305 306 307</body> 308</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.