Miary pomocnicze
Odległość na mapie
W celu obliczenia odległości pomiędzy dwoma punktami na mapie, posłużona się wzorem na odległość w kartezjańskim układzie odniesień, z uwzględnieniem krzywizny Ziemi. Z uwagi na niewielkie odległości, nieprzekraczające kilkunastu kilometrów, jest to dostateczne przybliżenie odległości na mapie.
Źródło: https://medium.com/@OttoYu/equirectangular-convolution-in-panoramic-image-147ed9bef96b
Adaptacja w DAX z przeliczeniem radianów na metry:
VAR LatRef = SELECTEDVALUE(Lat[Lat])
VAR LonRef = SELECTEDVALUE(Lon[Lon])
RETURN
CALCULATE(
MINX(
_map_data,
SQRT(
POWER(ABS(_map_data[Latitude] - LatRef) * 111320, 2) +
POWER(ABS(_map_data[Longitude] - LonRef) * 111320 *
COS(RADIANS(LatRef)), 2)
)
)
)
Funkcja atrakcyjności ze względu na odległość
W celu obliczenia niektórych wskaźników, konieczne jest utworzenie modelu zmiany znaczenia atrakcji turystycznych ze względu na ich odległość od miejsca pobytu. Funkcja przyjmuje wartość maksymalną dla odległości do 100m, następnie jej charakter zamienia się na liniowy, odwrotnie proporcjonalny do odległości, aż dla wartości 6km przyjmuje wartość minimalną równą 0. Wszystkie odległości powyżej 6km również przyjmują wartość minimalną.
Pop Places - Distance Attractivnes =
VAR D = [Pop Places - Distance]
VAR Comfort_Zone = 100
VAR Max_Zone = 6000
RETURN
SWITCH(
TRUE(),
D <= Comfort_Zone, 1,
D <= Max_Zone, 1 - (D - Comfort_Zone) / (Max_Zone - Comfort_Zone),
0
)
Przebieg funkcji wygląda następująco: