¿Qué unidades tiene el PostgreSQL & # 8220; earthdistance & # 8221; uso del módulo?
-
06-07-2019 - |
Pregunta
Supongo que las unidades que utiliza son metros (m), pero no parece claro en la documentación que he encontrado. ¿Esto es correcto?
Si es así, solo para verificar, para convertir entre millas / metros, supongo que estas funciones deberían hacer el truco:
public static function mi2m($mi) { // miles to meters
return $mi * 1609.344;
}
public static function m2mi($m) { // meters to miles
return $m * 0.000621371192;
}
Solución
La documentación parece no ambigua. La mayoría del módulo utiliza medidores por defecto. Pero puede cambiarlo a cualquier unidad que desee modificando una sola función, earth
. Es de suponer que todas las demás funciones usan esta función para que sus unidades puedan ser arbitrarias si se anula.
Sin embargo, tenga en cuenta que el punto < @ > El operador de punto
siempre funciona en millas, y esto no se puede ajustar .
Sus funciones de conversión son correctas, pero también es fácil de verificar:
Otros consejos
El radio de la Tierra se obtiene de la función earth (). Se da en metros.
Si el radio de la Tierra está en metros, supongo que tus cálculos van a ser incorrectos a menos que también uses metros.
La documentación está clara: el párrafo 2 de la sección F.8.1 dice: “El radio de la Tierra se obtiene de la función earth (). Se da en metros. ”
Si ha ingresado en medidores, entonces úselo así:
radius_in_metres/1.609