WY612 - Oman Air (OMA612) from Dubai to Muscat (2023)

26. august 2023

Once
This flight is scheduled, it will take offin 21 hours.
Dubai
DXB/OMDB

1 hour 10 minutes
348 km / 215 thousand

nutmeg
MCT/OOMS

TERMINAL:1

WY612 - Oman Air (OMA612) from Dubai to Muscat (4)

A trip 22:48UTC+04
3 minutes late

Arrival 23:55 SaturdayUTC+04

AIRLINE

DO
Oman Air

IATA/ICAO
MINE / OMA

END
Oman
Information about airlines
" : ""}WY612 - Oman Air (OMA612) from Dubai to Muscat (6)`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ classname: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[3] ? 0, 9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); label [activehex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}degrees)`; activeMarker = null; } active Hex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none';} /** * Recalculates the cursor's new position based on the elapsed time and its previous state. * @param {Object} liveMap */ async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] objects.entries(lastPos)) { if (type && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; fixed interval = Date.now() - prevPos[4]; const dist = speed * range / 1000 / 3600 * 1852; if (distance < 20) { continue; } // calculate the next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(distance / r_ground) + cos(lat1) * sin(distance / r_ground) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(distance / r_earth) * cos(lat1), cos(distance / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; label [key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch the error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "light gray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng? L.Polyline.Arc(activeDest, tn, arcOptions): L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(livemap); tracks.push(estTrack); } } } } recalcInProg = false;}/** * Gets data from the specified URL, handles errors and returns a JSON response. * @param {string} url */async function getData(url) { const response = expect fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'nothing'; } returnResponse.json();}/** * Handles fetch errors * @param {Object} response */ function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); if (response.status !== 404) { refreshActive = false; liveUpdNotFound.style.display = 'nothing'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'nothing'; liveMapContainer.style.display = 'none'; liveUpdNotFound.style.display = 'block'; }}asynchronous function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; constbounds = liveMap.getBounds(); const url = constructURL(constraints, liveMap.getZoom(), clickHex); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; Return; } ProcessMapData(liveMap, ld, fromZoom, clickHex);} function documentIsHidden() { return document type.hidden !== "undefined" && document.hidden;} construct functionURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000? "Big Little"; const hexIncl = clickHex? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + ` ${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;} function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom? minZoomFreq: minRefreshFreq; return Date.now() - lastUpdate < freq;} function ProcessMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; previousCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenwidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entry in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; remove unused tags (liveMap); updateInProg = false; recalcInProg = false; FirstUpd = false; if (clickHex) { cursor[clickHex].fire('click'); }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (resign && e[0] in cursor) { liveMap.removeLayer(cursor[e[0]]); delete tags[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }} update functionExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]] ; newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "degrees)"; function createNewMarker(liveMap, e, currentPos, st) { const htmlc = ( st?)

" + e[9] + "

" : "") + "WY612 - Oman Air (OMA612) from Dubai to Muscat (7)"; const m = L.marker(currentPos, {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: e[0], krycie: e[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[e[0]] = m; newMarker[e[0]] = sand; lastPos[e[0]] = [ e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0 ]).style.transform = "rotate(" + e[2] + "deg)";}funkcja usuńUnusedMarkers(liveMap) { for (stała m w znaczniku) { if (!(m w nowym znaczniku) && m != aktywnyHex ) { liveMap.removeLayer(marker[m]); usuń znacznik[m]; } }}funktion påPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e .target. _map; const hex = e.target.options.alt; if (hex == activeHex) { return; } updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e); }funktion påMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap (f.eks. sourceTarget, false); }function onZoomed(e) { updateMap(e.sourceTarget, true) }// Funkcję definiuj funkcję użytkową do tworzenia funkcji marka createMarker(latLng, iconClass, htmlContent, alt, opacitet) { return L. markør (latLng , { ikona: L.divIcon({className: iconClass, html: htmlContent }), alt: alt, neprozirnost: neprozirnost, }).on('click', onPlaneClick);}funktion updateTrack(liveMap, url, hex , e) { niech prevCoord = null; niech prevCoordFull = null; getData(url).then(funktion (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Zresetuj stary znacznik const lp = lastPos[activeHex] ; const htmlc = (hadTitles? "

" + lp[7] + "

" : "") + "WY612 - Oman Air (OMA612) from Dubai to Muscat (8)"; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: activeHex , ključ: lp[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[activeHex] = m; document.getElementById("mi-" + activeHex) .style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Du skal nu bruge if (hex!== activeHex && e) { const lp = lastPos[hex]; const htmlc = (hadTitles ?"

" + lp[7] + "

" : "") + "WY612 - Oman Air (OMA612) from Dubai to Muscat (9)"; const m = L.marker(e.target.getLatLng(), { ikona: L.divIcon({className: 'flt-marker', html: htmlc }), alt: hex, neprozirnost: ld[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[hex] = m; liveMap.removeLayer(e.target); activeMarker = m; } odświeżaActive = true; recalcInProg = sand; łuki = []; curArc = []; arcCol = ""; prevCoord = []; spor = ld[23]; if (sf === "") { if (ld[0] !== " ") {domElements .get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else {domElements .get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21 ]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== " " && ld[ 2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "blok"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "brak"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; } if (ld[7] !== "NA") { domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "blok"; } else { domElements.get("liveLink").style.display = "brak"; } const lt = ścieżka[długość.ścieżki - 1]; domElements.get("liveAlt").innerText = lt[3] + "ft"; domElements.get("liveSpeed").innerText = lt[5] + "kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "blok"; } else { domElements.get("planePic").style.display = "brak"; } if (ld[22]) {domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "blok"; } else { domElements.get("liveTypeBlock").style.display = "brak"; domElements.get("liveType").innerText = "NA"; } } // ažuriraj gornje elemente, jesu li są iste const liveStatusInd = domElements.get("liveStatusInd"); if (liveStatusInd) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Na żywo": "Wylądował"; const lt = ld[23][ld[23].duljina - 1]; domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; if (!ld[17]) { domElements.get("liveDataHB").style.display = "brak"; } } if (ld[13] !== null && ld[14] !== null && długość.ścieżki > 0 && Math.abs(ld[13] - ścieżka[0][1] / 1e5) > 1 && Math.abs(ld[14] - ścieżka[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [ścieżka[0][1] / 1e5, ścieżka[0][2] / 1e5]], „jasnozary”, prawda]); } prevCoord = null; prevCoordFull = null; lp = nula; for (const wpis na ścieżce) { const p = ścieżka[entr]; if (p[1] === null || p[2] === null) { kontynuuj; } niech col = "zielony"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push( [curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "jasnoszary", prawda]) ; curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prethodnaKoord) { curArc = [prethodnaKoord]; } andet { curArc = []; } arcCol = stupac; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], lažno, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld [16]) > 0,1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "jasnoszary", prawda]); aktywnyDest = L.latLng(ld[15], ld[16]); } for (const idx w ścieżkach) { utwory[idx].remove(); } utwort = []; for (const idx w łukach) { const a = buer[idx]; if (a[2]) { if (a[0] [0] [1] > a [0] [1] [1]) { stała temperatura = a [0] [0]; a[0][0] = a[0][1]; a[0][1] = temperatura; } p = L.Polyline.Arc(a[0][0], a[0][1], { boja: a[1], noClip: true, vrhovi: 100 }); estTrack = p; } andet { p = L.hotline(a[0], { paleta: { 0: 'jasnoszary', 0.1: 'zielony', 0.5: 'żółty', 0.7: 'pomarańczowy', 1: 'czerwony' }, min. : 0, max: 36000, szerokość konturu: 0, waga: 4, noClip: true }); liveTrack = p; } p.addTo(Mapa na żywo); utwory.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prethodnaKoord); aktywnyZnacznik = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "obróć(" + lastTrack + "stopień)"; } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: "/img/plane-icon_active.svg?20221124", iconSize: liveMap._zoom > 7 ? rozmiary [0]: rozmiary[1] }), rotacjaAngle: prevCoordFull[2], rotacjaOrigin: "centrum centrum", frigivet: 0,8, tytuł: hex }).addTo(liveMap); } andet { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Ustanova odświeżanie tylko przy pierwszym kliknięciu lub dla bieżących śladów lotu (wtedy nie podaje się szesnastkowego) if (trackRefreshInterval) { window.RefreshInterval); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'blok'; } aktywnyHex = szesnastkowy; aktualizacjaInProg = fałsz; recalcInProg = fałsz; });} funkcja buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateMap(Mapa na żywo, fałsz, aktywnyHex); liveMap.on('zoomend', påZoomet); liveMap.on('przenieś', onMoveend); } funkcja buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateTrack(liveMap, url, "", null); } loadingScript("/js/leaflet.js?20220411" ,function() { // konfiguriraj mapę map = new L.map('map-flight',{twoFingerZoom: true,sleep:false,minZoom:0} ); // utwórz warstwę kafelków s poprawnym przypisaniem map.fitBounds([[23.6015386,55.36444],[25.25278,58.2899376]]); viewSet = true; dep=[25.436r=[25.437ar=[25.452r=[25.532ar=[25.452r=]. 6,58.2899376]; var osmUrl= 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; var osmAttrib='© OpenStreetMap'; var osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); map.attributionControl.setPrefix(''); map.addLayer(osm); if (dep[1]

GENERAL INFORMATION ABOUT THE ROUTE

FREQUENCY:

weekday
Sunday, Mon, Tues, Wed, Tue, Fri, Sat

DIRECT DISTANCE
348 km216 mio

ACTUAL DISTANCE
357 km221 mio
+2 %

FLIGHT TIME
1 hour and 11 minutes

FLIGHTS/WEEK
85 flights
ACCURACY
25 flights per week postponed
71% on time
Latency statistics

PLACES / WEEK
190 seats/flight
69,784 places/week
Route information

CO2 EMISSIONS

Economy
52 kg

Business
158 kg

References

Top Articles
Latest Posts
Article information

Author: Amb. Frankie Simonis

Last Updated: 08/23/2023

Views: 5429

Rating: 4.6 / 5 (76 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Amb. Frankie Simonis

Birthday: 1998-02-19

Address: 64841 Delmar Isle, North Wiley, OR 74073

Phone: +17844167847676

Job: Forward IT Agent

Hobby: LARPing, Kitesurfing, Sewing, Digital arts, Sand art, Gardening, Dance

Introduction: My name is Amb. Frankie Simonis, I am a hilarious, enchanting, energetic, cooperative, innocent, cute, joyous person who loves writing and wants to share my knowledge and understanding with you.