ZGConnectCoordinates
Uloga u sustavu
Converts between Unity world-space positions and real-world GPS coordinates. Coordinate chain: Unity (x, y, z) ↕ add / subtract dataset origin offset EPSG:3765 — HTRS96 / Croatia TM (easting, northing in metres) ↕ Transverse Mercator (de)projection WGS84 (latitude, longitude in decimal degrees) The HTRS96 datum is based on GRS80, which is virtually identical to WGS84 for all practical purposes (< 1 m difference over Croatia). Call Configure() once at startup — TerrainStreamingController does this automatically when the CityDataset is loaded.
Uloga: Modul ZGConnect
Dizajnerska obrazloženja: Modul ZGConnectCoordinates izdvojen je radi odvajanja odgovornosti unutar ZG Connect pipeline-a. Implementacija slijedi editor-first pristup s eksplicitnim JSON modelima i determinističkim tile ID-evima u EPSG:3765 sustavu.
Pregled
Converts between Unity world-space positions and real-world GPS coordinates. Coordinate chain: Unity (x, y, z) ↕ add / subtract dataset origin offset EPSG:3765 — HTRS96 / Croatia TM (easting, northing in metres) ↕ Transverse Mercator (de)projection WGS84 (latitude, longitude in decimal degrees) The HTRS96 datum is based on GRS80, which is virtually identical to WGS84 for all practical purposes (< 1 m difference over Croatia). Call Configure() once at startup — TerrainStreamingController does this automatically when the CityDataset is loaded.
Metode (4)
public static void Configure(int originX, int originY, float minHeightM)
EPSG:3765 northing that maps to Unity Z = 0.</summary> public static double OriginNorthing { get; private set; } = 5051000.0; <summary> Real-world elevation (metres above sea level) at Unity Y = 0. Equal to the dataset's global minimum height.
Parametri
| Ime | Opis |
|---|---|
originX | Tip: int |
originY | Tip: int |
minHeightM | Tip: float |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Izvršava poslovnu logiku metode Configure prema implementaciji u izvorniku.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —
public static Vector3 WGS84ToUnity(double lat, double lon, float heightY = 0f)
Unity world position → (latitude, longitude) in decimal degrees (WGS84).
Parametri
| Ime | Opis |
|---|---|
lat | Tip: double |
lon | Tip: double |
0f | Tip: float heightY = |
Povratna vrijednost: Vector3 — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —
public static float UnityYToElevation(float unityY) => unityY + MinHeightMetres;
WGS84 decimal degrees → Unity world position.
Parametri
| Ime | Opis |
|---|---|
unityY | Tip: float |
Povratna vrijednost: float — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —
public static string Format(double lat, double lon)
Unity Y value → approximate real-world elevation in metres above sea level. Accurate to ± 1 m across the dataset extent.
Parametri
| Ime | Opis |
|---|---|
lat | Tip: double |
lon | Tip: double |
Povratna vrijednost: string — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —