PLATEAU · Tokyo

Odaiba signal lab

320,932 trianglesFull mesh · live ray tracing
Preparing scene…
PLATEAU / 2022Tokyo · OdaibaLoading the full CityGML mesh
Drag to orbit · Scroll to zoom
Direct LOS Single reflection Blocked direct Receiver

Signal history Model · relative dB

Waiting for a completed trace…
RF assumptions

Display-only relative power: 0 dB is each satellite’s unobstructed power at 20,000 km. The earliest path uses inverse-square spreading, either fixed reflection or complex-permittivity Fresnel coefficients. Materials are uniform assumptions, not PLATEAU material labels. Preset (relative permittivity, conductivity S/m): concrete (5.31, 0.0326), glass (6.27, 0.0043), brick (3.75, 0.038), wood (1.99, 0.0047). Values are held constant across frequency. GPS/QZSS L1 and Galileo E1 use 1575.42 MHz, BeiDou B1I 1561.098 MHz, and GLONASS G1 uses the broadcast FDMA channel. The zenith pattern is an ideal power gain of sin²(arrival elevation), zero below the horizon; reflected paths use their receiver-local arrival angle. Exact zero power is distinguished in CSV. No calibrated dBm/C/N₀, transmitter gain, coherent multipath, roughness, diffraction, or receiver tracking. These choices never change positioning. Fresnel theory ↗

Only completed results are sampled, at actual GPST spacing. Lines join samples at most 10 simulated seconds apart; missing values break lines. Retains up to 120 seconds / 600 samples. Seek, backward time, receiver/system or RF changes start a new history. Geometric bias² is the existing zero-noise fit, not measured positioning accuracy. CSV preserves full Number precision.

Recorded signal strength UrbanNav · actual observations
Open to load recorded observations.
Comparison notes

Actual rover RINEX Sxx fields from the same UrbanNav Tokyo Odaiba drive. Unit headers are absent: dB-Hz is inferred from the RTKCONV producer convention, not declared by these files or independently calibrated. The code is shown for each selected satellite: GPS/GLONASS/QZSS S1C, Galileo S1X (Trimble) or S1C (u-blox), BeiDou B1I S1I in RINEX 3.02. Tracking codes and receiver hardware differ; no cross-receiver calibration or band substitution is applied. These are numeric Sxx observations, not the one-digit signal-strength indicator.

This lower plot uses its own dB-Hz axis and the same 120-second GPS-time window as the completed model pose. Model relative power above is not predicted C/N₀: no absolute error or calibrated overlay is implied. Curves retain original observation epochs without resampling; missing/zero fields and gaps over 1.5 receiver intervals break lines. The value is matched only within ±2 ms and reports its actual time offset; otherwise it stays unavailable. Virtual antenna heights are excluded. Receiver-clock, lever-arm and 2018/2022 scene differences remain uncorrected. Missing reception does not prove building blockage, and a modeled blocked path can still have recorded reception.

Source hashes & observation assets ↗ · UrbanNav data ↗ · RINEX definitions ↗ · RTKLIB Sxx output convention ↗

Reflection geometry Selected shortest path

Preparing reflection geometry…

Range fit Paths → position bias²

Preparing modeled range diagnostics…

Share this scene
Compare receiver settings

Pin a completed scene, then change height or elevation mask at the same pose.

Opening this panel pauses playback. The pinned reference stays in this tab until cleared or reloaded.

Evaluate route Compare · map · export

A uses the current receiver settings. Set B below; both use the RF assumptions above.

Ready after the city index loads.

Completed sampled poses · geometric bias²
RunFitsMedianP95Max

Both fits: 0 poses

Grey: not evaluated · purple: unavailable · green / amber / red: bias <5 / <25 / ≥25 m, or blocked fraction <20 / <50 / ≥50%. For A − B, green is lower, red higher.

Grey route = not evaluated

Evaluation details

Runs in the existing worker with one shared full-precision mesh/index. Each sampled pose completes before yielding; playback pauses evaluation. Pause/resume and Stop retain completed results. Same-height conditions reuse a union of exact satellite paths, then filter by system/mask and run the unchanged geometric solve. Different heights need separate traces. Settings are captured when Evaluate is pressed; later receiver/RF changes do not relabel this run. Sampling never interpolates missing poses. CSV/JSON export completed results, including partial runs, captured conditions, RF assumptions and unavailable values. Statistics use available sampled poses only, never missing-as-zero. The median averages the two middle values for even counts; P95 uses nearest rank, without time weighting; paired A − B uses only poses with both fits. Live statistics refresh every 20 completed poses and on pause/stop/completion. JSON and GeoJSON include exact summaries and asset checksums. GeoJSON exports each condition’s reference receiver, not fitted positions; coordinates are longitude/latitude and WGS84 ellipsoidal height in metres with nominal frame alignment, without interpolated lines. CSV also includes these coordinates. Times are GPST and heights are virtual offsets, not calibrated antenna heights. No RF threshold is applied to positioning.

Recorded route

±5 s

12,410 original reference poses

Loading the recorded route…

Select a pose on the route.

Keyboard controls

Arrow keys: 0.1 s · Shift + arrow: 1 s · Home / End: route limits

12,410 reference poses · 10 HzGPS · Galileo · BeiDou · QZSS · GLONASS

PLATEAU · UrbanNav 320,932 triangles · 28 CityGML tiles

Data sources, method & limits

Building and bridge components, with original interior rings.

Base map: © OpenStreetMap contributors (ODbL). Current roads, water and place labels provide context beneath the PLATEAU mesh. The raster map follows a nominal sea-level reference surface; it supplies no terrain or signal-obstruction geometry. Its date differs from the recorded drive and city model. Only tiles for the displayed camera view are requested, following the OSM tile usage policy. A map outage does not stop the signal simulation.

City: PLATEAU Tokyo 23 wards, 2022 (CC BY 4.0), Odaiba building and bridge CityGML. The highest available LoD is selected per component. T.P. heights are converted to ellipsoidal heights with bilinear GSI GSIGEO2011 ver.2.1 corrections at every vertex. The geoid grid is used offline and is not redistributed.

Trajectory & sky: UrbanNav Tokyo Odaiba, 2018-12-19, Applanix POS LV620 reference ECEF coordinates and DLR/TUM CONGO/MGEX broadcast navigation data. GPS, Galileo E1, BeiDou B1 and QZSS positions use healthy, already-transmitted ephemerides within their fit interval, Kepler propagation, harmonic corrections, iterative signal travel time and Earth rotation. The timeline is GPST; propagation converts to GST using the file’s GPGA polynomial and to BDT with the 1356-week/14-second offset. BeiDou GEO uses its tilted-frame rotation. GLONASS RINEX state vectors are integrated in Float64 with 60-second RK4 steps including J2, Earth rotation and broadcast acceleration, with navigation selected within ±15 minutes of its reference epoch at reception. RINEX epochs and message-frame times are UTC; the recorded 2018 GPST−UTC offset is 18 seconds. The RINEX clock sign is preserved. FDMA channel numbers are retained in the data, but RF/inter-frequency receiver biases are not modeled. SBAS and NavIC are not included. Galileo/GTRF, BeiDou/CGCS2000, QZSS/JGS and GLONASS/PZ-90.11 are nominally aligned with WGS84 here; centimetre-level frame transformations are not applied. UrbanNav MIT attribution ↗.

Tracing: All triangles participate in Float64 BVH visibility tests. Single-bounce specular candidates are tested against each triangle, then both legs are checked for obstruction. Reflections use quasi-static satellite geometry per epoch. ¹ No path means no unobstructed direct or single-bounce ray inside the loaded mesh. Display rays are shortened; display buffers alone use Float32.

Source topology repair is recorded in the scene manifest.

² Controlled range experiment: Horizontal displacement from iterative least squares using the earliest modeled path per usable satellite. It starts at the reference position, with ideal satellite/system clock and atmospheric corrections (no inter-system receiver bias), zero noise and no power threshold. LOS-only displacement is zero by construction when geometry permits a solution. This is geometric bias, not measured positioning accuracy, a receiver simulator, or a native PF/FGO benchmark. The purple Fit² diamond projects that stored solution at its full 3D coordinates; its dashed connector shows spatial displacement from the receiver, not a signal ray or the horizontal distance alone. These diagnostic annotations appear over the city and do not establish visibility. A fit outside the view is indicated in the legend; missing, pending and failed solutions and surface inspection hide the overlay.

Reconstruction limits: A 2018 drive is combined with a 2022 city model, so this does not reproduce the exact historical scene. JGD2011 horizontal coordinates are nominally aligned with WGS84; no epoch-dependent crustal correction or reference-to-antenna lever-arm calibration is applied. This is not survey-grade frame registration. Moving objects, vegetation, calibrated RF power/materials, diffraction, multiple bounces, atmosphere and receiver tracking are not modeled. Occlusion is limited to the 28 loaded tiles. Playback shows the latest completed epoch; it does not compute every intermediate epoch in real time. The timeline evaluates any recorded pose exactly.

Route navigation: The north-up route overview retains every recorded position. Click or tap near its line to select the closest recorded pose on screen; exact spatial ties prefer the current time, then the earlier source row. The highlighted segment spans up to five seconds on either side. Selection pauses playback. An amber marker indicates that the selected pose is still being traced; a green marker confirms that the displayed trace matches the selected pose and receiver controls. The route overview supports 0.1-second arrow steps, one-second Shift + arrow steps and Home / End. In the 3D view, arrow keys orbit and Space plays or pauses.

Surface inspection: Show reflector frames the receiver and the shortest valid single-bounce reflection surface; Show obstruction frames the first triangle blocking the direct ray. These views isolate the chosen path and tint its original triangle while retaining the full city and normal depth occlusion. The camera faces the receiver side of the surface; a view from below is labeled Underside view. The caption identifies the satellite and interaction, and the CityGML feature below the inspector follows the focused surface. Follow receiver restores the preceding camera view. Changing satellite, epoch or receiver settings, resuming playback, or hiding a focused reflection leaves surface inspection. Camera and display controls use the completed trace without changing or rerunning its calculations.

Reflection geometry: The viewer's Reflection geometry panel inspects the selected signal's existing shortest single-bounce path. Segment lengths use its Float64 source, reflection point and receiver. The excess range reuses the trace's stored value. Incidence and reflection angles are acute angles to the original triangle normal and do not depend on vertex winding. The 3D mismatch compares the incoming propagation direction reflected about that normal with the actual outgoing direction; equal incidence/reflection angles alone do not test coplanarity. The sketch projects normalized directions into the normal/receiver plane, so its arrow lengths are not physical distances. No angles or paths are adjusted to enforce reflection symmetry. NLOS labels the earliest modeled path; LOS reflections are additional paths after direct arrival. Pending, missing and failed traces hide the geometry values and sketch. Opening the panel pauses playback, and resuming playback closes it. Inspection uses the completed trace without launching another calculation. These geometric checks do not predict RF power or measured positioning accuracy.

Range fit: The panel reads the existing earliest-path geometric SPP result; it does not run another solve. Its synthetic range is the scene-coordinate satellite distance at the recorded receiver plus zero excess for LOS, or the stored shortest-reflection excess for NLOS. Additional LOS reflections are not used. For each usable satellite, geometry change is the fitted minus reference distance. Post-fit residual is synthetic range minus fitted distance minus the estimated receiver clock in metres, with the same sign and arithmetic order as the existing solver. Thus modeled excess equals geometry change plus clock plus residual, up to floating-point arithmetic. The RMS uses all usable residuals without degrees-of-freedom scaling. Horizontal and up displacements use the existing fixed scene ENU frame, rather than rotating to the current receiver's local frame. Blocked paths have no range or residual; an unavailable solution retains usable excess ranges but has no fit terms. Pending or failed traces clear the table and values. Selecting a table row selects the same satellite in the list, sky and 3D view without retracing. These are zero-noise geometric diagnostics, not measured pseudoranges, receiver clock measurements, confidence intervals, or independent per-satellite error contributions. A small residual does not establish accurate positioning.

Scene links: Share this scene pauses playback and waits for the selected pose to finish tracing. Links preserve its original epoch, virtual height offset, elevation mask, selected satellite, view mode, camera orientation/zoom and display toggles. Values are serialized at full JavaScript Number precision. The link checks the mesh and scene asset checksums before restoring inputs; incompatible data or invalid settings show a visible message and the default scene. An unavailable satellite or surface is reported explicitly. Results are recomputed with the currently published numerical model. The link state stays in the URL fragment. Clipboard restrictions leave a selectable link for manual copying.

Source hashes & asset checksums ↗ · Data attribution ↗ · Reproducible exporter ↗.

Receiver comparison: Pin a completed result, then vary the virtual height or elevation mask. The comparison uses completed traces at the same original epoch and GPS time; a different pose or pending trace hides all differences. Return to pinned pose preserves the current receiver controls. The tables show current minus pinned counts and ideal-range horizontal geometric bias, plus each satellite's path class and earliest excess range. LOS excess is zero even when additional reflections exist; blocked and masked paths have no usable excess. Unavailable position solutions remain unavailable and have no numeric difference. Highlighted rows indicate a path-class or mask change, not a measured accuracy improvement. Pinning, clearing and viewing the comparison do not launch new traces. The pinned result stays in the current tab until cleared or reloaded; its scene link preserves the inputs and view captured at pinning. While this panel is open, a blue Pinned² diamond and ring show the pinned fit and its own receiver, joined by its displacement. Both solutions must exist at the same recorded pose with different receiver settings. Pending traces, surface inspection and closing the panel hide this annotation; coordinates are never rebased onto the current receiver.

Sky plot: Circles reuse the completed trace's geometric satellite azimuths and elevations, with geodetic north up and east right. Distance from the center is proportional to zenith angle; the center is 90° elevation and the outer circle is the 0° horizon. The shaded rim is the completed satellite elevation mask, not a building skyline. Only satellites from the selected systems above that mask are shown. Colors use the same direct, reflected-only or blocked classification as the full-mesh trace. Marker positions stay exact while labels can move to reduce overlap. The selected signal's diamond points from the receiver toward its existing shortest single-bounce reflection point, transformed from scene coordinates into the receiver's own geodetic ENU frame. This source bearing is opposite to the final ray's propagation velocity. Its angular separation from the satellite is calculated in 3D; the dashed line only connects their plotted directions. For LOS, the direct arrival coincides with the satellite and arrives before any displayed reflection. For NLOS, the shortest reflection is the earliest modeled path. Blocked signals have no modeled arrival. Reflected directions below the satellite mask are retained; those below the local horizon keep their signed elevation in the readout and are not plotted. These directions do not predict received power or receiver tracking. Opening the sky plot keeps playback running and updates satellite directions at each completed GPST epoch. Point selection pauses playback and selects the same signal in the list and 3D view, without launching a trace. Pending results retain the previous completed satellite plot with its own time/mask label and disable point selection; reflected arrival overlays and values wait for the selected trace. Pause to inspect waits for the selected pose to finish.