Like @ThomDietrich suggested, I tried the way of separating the Location coordinates and it was actually much simpler than I expected:
Items:
Location Location_Home
Number Location_Home_Lat (G_Numbers)
Number Location_Home_Lon (G_Numbers)
Initialization (startup.rules)
// set home location coordinates
Location_Home_Lat.postUpdate(38.897676)
Location_Home_Lon.postUpdate(-77.036626)
and calculation in geofencing.rules:
rule "Calc Distance of from Home"
when
Item mqttLatitude changed or
Item mqttLongitude changed
then
val Loc_Home_tmp = new PointType(Location_Home_Lat.state as DecimalType, Location_Home_Lon.state as DecimalType)
Location_Home.postUpdate(Loc_Home_tmp)
val dist_Home_tmp = (Location_).distanceFrom(Location_Home)
mqttDist.postUpdate(dist_Home_tmp.intValue)
end