Georgia Beneath the Stars: Greater Caucasus, Tusheti & High-Mountain Skies

Stargazing in Georgia is shaped by four different mountain decisions: the seasonal road into Tusheti, the more reachable Kazbegi valleys, the enclosed stone villages of Khevsureti, and the wetter western heights of Upper Svaneti. The shared scoring window is August–September 2026, when all eight planning centres retain useful astronomical darkness and the main high-mountain routes are most likely to be usable. The score compares a selected portfolio rather than every part of the country, and each marker is an approximate planning centre rather than a parking instruction.

Georgia Stargazing Score
74/100
Eight-location Greater Caucasus portfolio
Highest-Rated Location
Dartlo · 81/100
Remote Tusheti tower village
Target Observing Window
August–September 2026
61-night common scoring period
Locations Assessed
8
Tusheti, Kazbegi, Khevsureti and Svaneti
Strongest Sky Type
Remote alpine valleys
Best results come from staying beyond the main town lights
Main Atmospheric Risk
Fast cloud and wind shifts
Western Svaneti carries the higher moisture penalty

Greater Caucasus Stargazing Marker Map

Markers show approximate planning centers, not guaranteed legal parking, exact observing pull-offs or unrestricted night access.

Open each marker for its score and use “View Details Below” to move to the matching location card.

74

Georgia Stargazing Suitability Score
This transparent editorial suitability index compares the selected location portfolio through disclosed darkness, cloud, atmospheric, horizon, access and astronomy-support evidence. It is not an official sky classification, a live forecast or a guarantee of access.

Highest-Rated Location Dartlo
Highest Location Score 81/100
Target Observing Window August–September 2026
Locations Assessed 8
Factor Coverage 7/7
Method Version 2.2
Last Reviewed 30 July 2026
Comparability Quality C
Score Scope Selected Location Portfolio
Artificial-Light Escape 30% 85/100
Clear-Sky Reliability 20% 70/100
Atmospheric Transparency Potential 15% 70/100
Astronomical Darkness Duration 10% 85/100
Elevation and Horizon Quality 10% 70/100
Night Access and Legal Clarity 10% 70/100
Dark-Sky Protection and Astronomy Support 5% 38/100

Weighted Total: 85×0.30 + 70×0.20 + 70×0.15 + 85.05×0.10 + 70×0.10 + 70×0.10 + 37.5×0.05 = 74.38 → 74/100

The country score is built from the median score for each factor across the same eight locations. It is not the mean of the eight overall location scores and does not describe every square kilometre of Georgia.

Read the Stargazing Suitability Score methodology

Eight Scored Stargazing Locations

Search by place or region, then filter by the observing use that matches the night plan.

8 locations shown

Dartlo

Pirikita Tusheti · approx. 2,000 m

Location Stargazing Score 81/100
Highest-Rated Location
Remote Milky Way Photography Mountain
Light Escape95
Clear Sky85
Access50
  • Dry-stone houses and defensive towers create usable foregrounds without requiring a summit approach.
  • The Pirikita Alazani valley is far from Georgia’s main urban corridors; local guesthouse lighting remains the nearest controllable light source.
  • The valley walls reduce parts of the low southern and northern sky, so a daytime horizon check matters for Milky Way framing.
  • The official Dartlo–Kvavlo route allows guesthouse stays and tents near the village rather than an improvised roadside stop.

Main trade-off: very strong light escape with weaker night-access certainty. Reach Tusheti before dark, confirm the current Abano Pass condition, and use an established stay or designated camping area.

Juta

Sno Valley, Kazbegi · approx. 2,200 m

Location Stargazing Score 80/100
Mountain Milky Way Photography Remote
Light Escape85
Clear Sky85
Access70
  • Juta sits at the head of the Sno valley beneath the Chaukhi massif, away from Stepantsminda’s denser lighting.
  • High ridges give a strong mountain foreground but remove sections of the low horizon.
  • The road from Stepantsminda is seasonal mountain access rather than an all-weather night route.
  • Campsite and guesthouse contexts make an overnight plan more realistic than a late return through the valley.

Main trade-off: balanced darkness and access, but the Chaukhi walls limit low-altitude targets. Arrive before sunset and choose a legal stopping or overnight area before vehicle headlights become disruptive.

Truso Valley

Keterisi–Abano sector, Kazbegi · approx. 2,050 m

Location Stargazing Score 78/100
Remote Milky Way Mountain Photography
Light Escape85
Clear Sky85
Access50
  • The upper valley separates observers from the Stepantsminda lighting corridor while retaining broad east–west sightlines.
  • Mineral terraces, abandoned structures and the long valley floor support wide-field landscape work.
  • The official natural-monument approach includes a dirt-road section; road condition and lawful stopping points need daytime verification.
  • The far end approaches Georgia’s border zone, where movement rules can differ from the lower public valley route.

Main trade-off: low local light with a narrow exit plan. Do not treat the marker as a parking instruction, avoid blocking the dirt road, and check border-zone limits before moving beyond the normal visitor route.

Omalo

Chaghma Tusheti · approx. 1,880 m

Location Stargazing Score 75/100
Mountain Photography Remote Easy Access
Light Escape85
Clear Sky70
Access70
  • Lower Omalo holds the Tusheti Protected Areas visitor centre, making it the clearest base for route and camping checks.
  • Upper Omalo and the Keselo towers offer a strong northern-sky foreground without committing to the farther Pirikita valley.
  • Village lighting is more noticeable than at Dartlo, but it is easier to manage by walking to an open, authorised edge before dark.
  • The Abano Pass remains the controlling access constraint for every Omalo night.

Main trade-off: the best service base in Tusheti is not the darkest point in Tusheti. Keep white light away from homes, ask the visitor centre about designated camping, and do not plan a night drive over Abano Pass.

Shatili

Pirikita Khevsureti · approx. 1,400 m

Location Stargazing Score 72/100
Photography Remote Mountain Easy Access
Light Escape85
Clear Sky70
Access70
  • The fortified village supplies one of Georgia’s clearest tower silhouettes for star-trail work.
  • A narrow gorge blocks more low sky than the open Tusheti and Koruldi sites.
  • Seasonal road and minibus operation make an overnight stay more dependable than a same-night return toward Tbilisi.
  • Working livestock-guardian dogs can be present near herds and settlement edges.

Main trade-off: strong light escape but restricted horizon geometry. Stay on established village paths, keep distance from herds and guardian dogs, and verify the seasonal road before departure.

Ushguli

Upper Svaneti · approx. 2,200 m

Location Stargazing Score 68/100
Photography Mountain Milky Way Easy Access
Light Escape85
Clear Sky55
Access70
  • Svan towers and the Shkhara sector give the strongest architectural foreground in the western part of the portfolio.
  • Upper Svaneti’s humid western climate lowers clear-sky and transparency reliability compared with Tusheti and Kazbegi.
  • Village lamps, guesthouses and vehicle lights shape the immediate foreground even when the wider valley remains rural.
  • Long, severe winters can disrupt road access well outside the August–September scoring window.

Main trade-off: the foreground is stronger than the weather reliability. A thin crescent or quarter Moon can reveal the towers and snow without washing out the full sky as strongly as a full Moon.

Gergeti Trinity Church

Stepantsminda, Kazbegi · approx. 2,170 m

Location Stargazing Score 68/100
Easy Access Photography Mountain Telescope
Light Escape55
Clear Sky70
Access85
  • The hill has a broad mountain horizon and the easiest high-altitude approach in the eight-location set.
  • Stepantsminda lighting, road traffic and possible architectural illumination reduce pure light escape.
  • The site works better for moonlit landscape photography than for observers seeking the least local glare.
  • It is a living religious site rather than a designated astronomy area; quiet conduct and local access rules come first.

Main trade-off: access and horizon are strong, darkness is not. Do not drive or set up equipment where it obstructs church or service access, and avoid directing white light toward the building or other visitors.

Koruldi Lakes

Upper Svaneti above Mestia · approx. 2,850 m

Location Stargazing Score 66/100
Mountain Photography Remote Milky Way
Light Escape70
Clear Sky55
Access50
  • The high ridge opens wide views toward Ushba and across the central Greater Caucasus.
  • Mestia’s light dome remains visible below, so elevation does not produce a fully isolated horizon.
  • The official route is a long mountain outing and is easiest from early summer to early autumn.
  • Wind exposure, cloud build-up and a difficult night descent lower practical access despite the open terrain.

Main trade-off: the broadest western horizon comes with the weakest return plan. Use an established overnight arrangement or finish the descent before dark; the marker is not a road or campsite guarantee.

Why Tusheti and Svaneti Do Not Share the Same Clear-Sky Pattern

The Greater Caucasus crosses a strong east–west moisture divide.

Tusheti and Kazbegi: Drier Window, Harder Roads

Georgia’s official climate material places lower summer precipitation norms in the eastern mountain and high-mountain districts than in the west. That supports the higher August–September clear-sky class for Dartlo, Juta and Truso. It does not remove local convection: cloud can form around Chaukhi, Kazbek or the Tusheti ridges while a regional forecast still looks usable.

The practical test is layered. Check the regional cloud forecast, then the cloud base and wind at the actual elevation, and finally the valley exit. A clear upper sky is of little use when fog fills the return road or a thunderstorm forms over the pass.

Upper Svaneti: Better Foregrounds, Higher Moisture Risk

Upper Svaneti belongs to Georgia’s wetter western climate. Ushguli and Koruldi can produce wide mountain compositions, yet low cloud, moisture and fast ridge weather reduce reliability. Koruldi’s elevation helps the horizon and can place the observer above a shallow valley layer, but it does not cancel regional cloud or wind.

For Svaneti, the best forecast is not merely a low cloud percentage. Look for a dry air mass, a cloud base above the observing elevation, moderate ridge wind and no late-day convective build-up over Ushba or Shkhara.

2026 planning note: Georgia’s National Environmental Agency expected summer 2026 temperatures around 1–2°C above the climate norm, with precipitation below normal or near normal across the country. That seasonal outlook can shape equipment and water planning, but it cannot replace a short-range mountain forecast for the chosen night.

Tusheti Nights Begin with the Abano Pass Decision

Dartlo’s score leads the portfolio, while its road and overnight constraints prevent it from becoming an effortless recommendation.

Decision pointWhat the official material establishesNight-sky consequence
Abano PassThe 72 km mountain road is difficult, takes at least four hours by 4WD and closes outside the short snow-free season.Enter Tusheti in daylight and treat the road as a daytime transfer, not a post-observation exit.
Lower OmaloThe protected-areas visitor centre provides route information, equipment rental and arranged camping space.Use Omalo to settle camping, vehicle and route questions before moving to a darker village.
DartloThe official trail description permits guesthouse stays and tents near the village.An established overnight base supports dark adaptation without a late mountain drive.
Border sectorsTourism movement inside Georgia’s border zone can require a permit and a declared route.Do not extend a stargazing drive toward Girevi, Diklo or another border sector without checking the current rule and permit route.
Access limit: protected landscape, national park and strict reserve are not interchangeable access categories. Camping that is accepted near a village or visitor facility does not create permission to enter a strict reserve or stop on any track after dark.

Caucasus Horizon Geometry: Open Ridges, Long Valleys and Tower Villages

A remote location can still lose a large part of the useful sky behind terrain.

Koruldi and Gergeti: Open Horizon, Visible Light

Koruldi and Gergeti receive the highest horizon scores. Both stand above a town, so the openness comes with a visible light source below. Frame the brighter sector behind terrain where possible, and keep the darkest target away from the Mestia or Stepantsminda direction.

Truso: Use the Valley Axis

Truso’s east–west geometry can support long low-angle views along the valley while the sidewalls remove north–south sky. The position of the Milky Way core changes through the August–September window, so the preferred foreground and the preferred horizon may not align on the same night.

Dartlo, Shatili and Ushguli: Moonlight Can Help

New Moon supports the most stars but leaves dry-stone towers as silhouettes. A thin crescent or quarter Moon can reveal texture in Dartlo, Shatili and Ushguli while preserving much of the sky. Full Moon is better treated as a mountain-landscape night than a faint Milky Way night.

Four Return Plans for Four Mountain Systems

The observation ends only when the group is back at a known overnight base.

Kazbegi: Shorter Distance, More Headlights

Juta, Truso and Gergeti are linked to Stepantsminda, but the roads do not offer the same night margin. Gergeti has the clearest return. Juta requires a seasonal valley road. Truso needs a daytime check of dirt-road condition and a lawful stopping point. Mark every turn before sunset and avoid moving a tripod into a vehicle lane.

Tusheti: Stay Inside the Region

Omalo and Dartlo should be planned as overnight locations. The long 4WD approach over Abano Pass removes the logic of a same-night return to Kakheti. Carry an offline route, preserve battery for navigation, and confirm the accommodation or designated camping area before the observing session.

Khevsureti: Narrow Road and Livestock Edges

Shatili’s best observing area is not automatically the darkest road shoulder. Use the village stay, remain clear of service access, and avoid walking into herd areas after dark. Give livestock-guardian dogs space rather than trying to pass through a flock.

Svaneti: Ridge Weather Controls the Descent

Ushguli provides a settlement base. Koruldi does not provide the same easy retreat. Wind, cloud and wet ground can turn a familiar daytime descent into a poor night route. Finish before dark or use a pre-arranged overnight plan that does not depend on an improvised campsite.

Georgia Location Score and Planning Comparison

All eight locations use the same August–September window and the same seven-factor formula.

RankLocationScoreLight EscapeClear SkyBest useHorizonNight accessMain constraint
1Dartlo819585Milky Way with tower foregrounds7050Abano Pass and overnight logistics
2Juta808585Alpine wide-field photography7070Seasonal road and blocked low sky
3Truso Valley788585Long-valley Milky Way views7050Dirt road and border-zone awareness
4Omalo758570Tusheti base and tower silhouettes7070Village light and Abano dependence
5Shatili728570Star trails with fortified architecture5070Narrow gorge and seasonal transport
6Ushguli688555Moonlit Svan tower landscapes7070Western humidity and village lights
7Gergeti Trinity Church685570Accessible mountain nightscapes8585Stepantsminda and site lighting
8Koruldi Lakes667055High-ridge panorama and reflections8550Wind, descent and Mestia dome

Tonight’s Astronomical Darkness

Calculated live from each location’s coordinates using NOAA’s public solar-position formula. Weather, cloud cover and local obstructions are not included.

Calculating…

Verification and Limits

Review Record

  • Last Reviewed: 30 July 2026
  • Target Observing Window: 1 August–30 September 2026
  • Locations Assessed: 8
  • Method Version: 2.2
  • Comparability Quality: C
  • Principal periods: 2026 solar calculation; current official route and access pages; official regional climate norms and 2026 summer outlook.

Score Limits

Artificial light, clear sky, transparency, terrain, access and support include disclosed categorical evidence where point measurements were not available. The index does not claim measured SQM, Bortle class, extracted VIIRS radiance, a live cloud forecast or legal permission at the marker coordinate.

Road, gate, border and protected-area conditions can change. Verify the Abano Pass, Shatili road, Truso route, Svaneti ridge conditions and any border-zone permit before departure. Use legal parking, arrive before sunset, avoid observatory or religious compounds that are not open to independent night use, and keep service roads clear.

(function(){ “use strict”; var boot=function(){ var root=document.getElementById(“stargaze-in-georgia”); if(!root){return;} var mapElement=document.getElementById(“dsky-map-georgia”); var locations=[ {name:”Dartlo”,region:”Pirikita Tusheti”,score:81,raw:81.2700,lat:42.4306,lng:45.5904,cardId:”dartlo-card”}, {name:”Juta”,region:”Sno Valley, Kazbegi”,score:80,raw:80.2600,lat:42.5784,lng:44.7447,cardId:”juta-card”}, {name:”Truso Valley”,region:”Keterisi–Abano sector”,score:78,raw:78.2600,lat:42.6028,lng:44.3777,cardId:”truso-valley-card”}, {name:”Omalo”,region:”Chaghma Tusheti”,score:75,raw:75.0300,lat:42.3701,lng:45.6330,cardId:”omalo-card”}, {name:”Shatili”,region:”Pirikita Khevsureti”,score:72,raw:71.7500,lat:42.6580,lng:45.1552,cardId:”shatili-card”}, {name:”Ushguli”,region:”Upper Svaneti”,score:68,raw:68.4800,lat:42.9167,lng:43.0167,cardId:”ushguli-card”}, {name:”Gergeti Trinity Church”,region:”Stepantsminda, Kazbegi”,score:68,raw:67.7500,lat:42.6625,lng:44.6201,cardId:”gergeti-trinity-church-card”}, {name:”Koruldi Lakes”,region:”Upper Svaneti above Mestia”,score:66,raw:65.7200,lat:43.0829,lng:42.7146,cardId:”koruldi-lakes-card”} ]; var prefersReduced=false; if(typeof window.matchMedia===”function”){ prefersReduced=window.matchMedia(“(prefers-reduced-motion: reduce)”).matches; } var highlightCard=function(cardId){ var card=document.getElementById(cardId); if(!card){return;} var highlighted=root.querySelectorAll(“.dsky-spot-card.is-highlighted”); highlighted.forEach(function(item){item.classList.remove(“is-highlighted”);}); card.classList.add(“is-highlighted”); if(prefersReduced){ card.scrollIntoView({block:”start”}); }else{ card.scrollIntoView({behavior:”smooth”,block:”start”}); } window.setTimeout(function(){card.classList.remove(“is-highlighted”);},2200); }; var leafletAttempts=0; var markerList=[]; var initMap=function(){ if(!mapElement){return;} if(mapElement.dataset.ready===”1″){return;} if(mapElement._leaflet_id){return;} if(typeof window.L===”undefined”){ leafletAttempts+=1; if(leafletAttempts===4){ if(!document.querySelector(“script[data-dsky-leaflet-fallback]”)){ var fallback=document.createElement(“script”); fallback.src=”https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.js”; fallback.dataset.dskyLeafletFallback=”1″; fallback.onload=initMap; document.head.appendChild(fallback); } } if(leafletAttempts===24){return;} window.setTimeout(initMap,250); return; } mapElement.dataset.ready=”1″; var map=window.L.map(mapElement,{scrollWheelZoom:false,attributionControl:true}); mapElement._dskyMap=map; if(map.attributionControl){map.attributionControl.setPrefix(false);} window.L.tileLayer(“https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png”,{ maxZoom:19, attribution:”\u00A9 OpenStreetMap contributors” }).addTo(map); var createMarkerIcon=function(position){ var markerNode=document.createElement(“span”); markerNode.className=”dsky-marker”; markerNode.setAttribute(“aria-hidden”,”true”); markerNode.textContent=String(position+1); return window.L.divIcon({ className:””, html:markerNode, iconSize:[34,34], iconAnchor:[17,17], popupAnchor:[0,-18] }); }; var createPopup=function(location){ var popup=document.createElement(“div”); popup.className=”dsky-popup”; var name=document.createElement(“strong”); name.textContent=location.name; popup.appendChild(name); popup.appendChild(document.createElement(“br”)); var summary=document.createElement(“span”); summary.textContent=location.region+” · “+location.score+”/100”; popup.appendChild(summary); popup.appendChild(document.createElement(“br”)); var detail=document.createElement(“a”); detail.className=”dsky-popup-detail”; detail.href=”#”+location.cardId; detail.dataset.cardId=location.cardId; detail.textContent=”View Details Below”; popup.appendChild(detail); return popup; }; var bounds=[]; locations.forEach(function(location,position){ var marker=window.L.marker([location.lat,location.lng],{ icon:createMarkerIcon(position) }).addTo(map).bindPopup(createPopup(location)); markerList.push(marker); bounds.push([location.lat,location.lng]); }); map.fitBounds(bounds,{padding:[32,32],maxZoom:6}); window.requestAnimationFrame(function(){ window.requestAnimationFrame(function(){map.invalidateSize();}); }); window.setTimeout(function(){map.invalidateSize();},250); window.setTimeout(function(){map.invalidateSize();},1000); window.addEventListener(“resize”,function(){map.invalidateSize();}); if(typeof window.ResizeObserver===”function”){ var observer=new window.ResizeObserver(function(){map.invalidateSize();}); observer.observe(mapElement); } var legendButtons=root.querySelectorAll(“.dsky-map-item”); legendButtons.forEach(function(button){ button.addEventListener(“click”,function(){ var position=Number(button.dataset.mapPosition); var marker=markerList[position]; if(marker){ marker.openPopup(); map.panTo(marker.getLatLng()); } }); }); mapElement.addEventListener(“click”,function(event){ var target=event.target; if(!target){return;} var detail=target.closest(“.dsky-popup-detail”); if(!detail){return;} event.preventDefault(); highlightCard(detail.dataset.cardId); }); }; initMap(); var cards=Array.prototype.slice.call(root.querySelectorAll(“.dsky-spot-card”)); var search=root.querySelector(“.dsky-search”); var filterButtons=Array.prototype.slice.call(root.querySelectorAll(“.dsky-filter-btn”)); var resultCount=root.querySelector(“.dsky-result-count”); var activeFilter=”all”; var applyFilters=function(){ var query=””; if(search){query=search.value.toLowerCase().replace(/^\s+|\s+$/g,””);} var visibleCount=0; cards.forEach(function(card){ var haystack=(card.dataset.name+” “+card.dataset.region+” “+card.dataset.tags).toLowerCase(); var searchMatch=haystack.indexOf(query)!==-1; var filterMatch=false; if(activeFilter===”all”){ filterMatch=true; }else{ filterMatch=card.dataset.tags.indexOf(activeFilter)!==-1; } var show=false; if(searchMatch){ if(filterMatch){show=true;} } card.hidden=!show; if(show){visibleCount+=1;} }); if(resultCount){resultCount.textContent=String(visibleCount)+” locations shown”;} }; if(search){search.addEventListener(“input”,applyFilters);} filterButtons.forEach(function(button){ button.addEventListener(“click”,function(){ activeFilter=button.dataset.filter; filterButtons.forEach(function(item){ var active=item===button; item.classList.toggle(“is-active”,active); item.setAttribute(“aria-pressed”,active?”true”:”false”); }); applyFilters(); }); }); var evidenceButtons=root.querySelectorAll(“.dsky-evidence-toggle”); evidenceButtons.forEach(function(button){ button.addEventListener(“click”,function(){ var panel=document.getElementById(button.getAttribute(“aria-controls”)); if(!panel){return;} var expanded=button.getAttribute(“aria-expanded”)===”true”; panel.hidden=expanded; button.setAttribute(“aria-expanded”,expanded?”false”:”true”); button.textContent=expanded?”View Method, Location Values and Sources”:”Hide Method, Location Values and Sources”; }); }); var scoreCard=root.querySelector(“.dsky-score-card”); if(scoreCard){ var factorNodes=Array.prototype.slice.call(scoreCard.querySelectorAll(“.dsky-score-factor”)); var weightTotal=0; var weightedTotal=0; var formulaParts=[]; factorNodes.forEach(function(node){ var score=Number(node.dataset.score); var weight=Number(node.dataset.weight); weightTotal+=weight; weightedTotal+=score*(weight/100); formulaParts.push(String(score)+”×”+(weight/100).toFixed(2)); }); var countryValid=factorNodes.length===7; if(countryValid){countryValid=weightTotal===100;} var roundedCountry=Math.round(weightedTotal); if(countryValid){ scoreCard.dataset.overallScore=String(roundedCountry); var countryDisplay=scoreCard.querySelector(“.dsky-score-number”); if(countryDisplay){countryDisplay.textContent=String(roundedCountry);} var dataScore=root.querySelector(“[data-country-score-display]”); if(dataScore){dataScore.textContent=String(roundedCountry);} var formula=scoreCard.querySelector(“.dsky-weighted-formula”); if(formula){formula.textContent=formulaParts.join(” + “);} var result=scoreCard.querySelector(“.dsky-weighted-result”); if(result){result.textContent=weightedTotal.toFixed(2)+” → “+roundedCountry+”/100″;} } } var validated=[]; cards.forEach(function(card){ var light=Number(card.dataset.lightScore); var clear=Number(card.dataset.clearScore); var atmosphere=Number(card.dataset.atmosphereScore); var darkness=Number(card.dataset.darknessScore); var horizon=Number(card.dataset.horizonScore); var access=Number(card.dataset.accessScore); var support=Number(card.dataset.supportScore); var calculatedRaw=light*0.30+clear*0.20+atmosphere*0.15+darkness*0.10+horizon*0.10+access*0.10+support*0.05; var storedRaw=Number(card.dataset.locationScoreRaw); var rawMatches=Number(storedRaw).toFixed(4)===Number(calculatedRaw).toFixed(4); var rounded=Math.round(calculatedRaw); card.dataset.locationScore=String(rounded); card.dataset.locationScoreValid=rawMatches?”1″:”0”; var visible=card.querySelector(“.dsky-location-score-number”); if(visible){visible.textContent=String(rounded);} validated.push({card:card,name:card.dataset.locationName,score:rounded,raw:calculatedRaw}); }); var expected=validated.slice().sort(function(first,second){ var scoreOrder=second.score-first.score; if(scoreOrder===0){return second.raw-first.raw;} return scoreOrder; }); var staticOrderMatches=validated.every(function(item,position){ return item.card.id===expected[position].card.id; }); root.dataset.locationOrderValid=staticOrderMatches?”1″:”0″; var highestScore=0; if(expected[0]){highestScore=expected[0].score;} var leaders=validated.filter(function(item){return item.score===highestScore;}); var leaderNames=leaders.map(function(item){return item.name;}); root.dataset.bestLocation=leaderNames.join(” | “); root.dataset.bestLocationScore=String(highestScore); root.dataset.bestLocationCount=String(leaders.length); var labelText=leaders.length===1?”Highest-Rated Location”:”Joint Highest-Rated Locations”; var nameText=leaderNames.join(“, “); var labels=root.querySelectorAll(“[data-best-location-label]”); labels.forEach(function(label){label.textContent=labelText;}); var names=root.querySelectorAll(“[data-best-location-name]”); names.forEach(function(name){name.textContent=nameText;}); var scores=root.querySelectorAll(“[data-best-location-score]”); scores.forEach(function(score){score.textContent=String(highestScore);}); validated.forEach(function(item){ var isLeader=item.score===highestScore; item.card.classList.toggle(“is-top-location”,isLeader); var badge=item.card.querySelector(“.dsky-top-badge”); if(isLeader){ if(!badge){ badge=document.createElement(“span”); badge.className=”dsky-top-badge”; var top=item.card.querySelector(“.dsky-spot-top”); if(top){top.parentNode.insertBefore(badge,top.nextSibling);} } badge.textContent=labelText; }else{ if(badge){badge.parentNode.removeChild(badge);} } }); }; if(document.readyState===”loading”){ document.addEventListener(“DOMContentLoaded”,boot,{once:true}); }else{ boot(); } })();
📌

Complete guide: Stargazing Countries

Scroll to Top