location calculate