Calculate distance in meters acccording to X and y co cordinates

Hello Estimote Team,

I am working on Estimote indoor location SDK. I am getting X,Y
coordinates so what the mathematical value of coordinates . I read here that co ordinates is in meters but my question is as below.

First of all i have set up all the beacons and also did calibrations according to Indoor Location SDK. i found somewhere that X Y co ordinates follows Cartesian coordinate system For example my room size is 3* 3 meters i will get readings of x y according as shown in following images.
I will get reading like this (x,y) values (2,3),(-3,1),(-1.5,-2.5). I want to get x y readings whenever i roam around in the room but sometimes there is lots of fluctuations in in reading x,y sometimes i get (0,0) in center of the room sometimes anywhere else in the room. My requirement is generating hit map according to (x,y) it will continuously give me x,y according to that i need distance.Please help me. Feel free to as any questions if you don’t get.

Waiting for reply !!!


Hi Meena,

You can use Estimote Indoor Location SDK to set the 0,0 point in your location anywhere you want, be it center of the room or bottom-left corner or wherever you please :slight_smile: We do not have a ready tool for creating heatmaps, but this is something you can do yourself by collecting the X,Y positions reported by the app.

As for fluctuations: they still might happen, because radio waves are affected by a lot of environmental factors. If you move slower, there will be less of them. We’re also working on making our algorithms even smarter, so that they work faster and are suitable for locations of all sizes (currently it’s optimized for medium-size places). We’ve already made tremendous progress since first release in October 2014 and keep improving: next updates are already lined up!


@Wojtekb Thanks a lot for your quick response. We all appreciate your reply for our query and we are soon going to test this scenario.

Also as you have mentioned that currently it’s optimized for medium-size places - Still need this explanation in detail in terms of exact/approx/ideal room size for that Indoor Map SDK work as it should be.

Somehow, I do get about environmental factors which are affecting accuracy but what I was expecting is approx x,y relative to some origin (0,0) which should not vary, so i can compare it with other values.


Did you use the Estimote Indoor Location app to set up the room and then imported the JSON into your app, or did you use the ESTLocationBuilder?

@heypiotr Right now we are using ESTLocationBuilder for that. I have also tried Estimote Indoor Location app to calibrate the room and then imported the JSON and that file (JSON) i have used in my App,but still i am facing same issue of different origins(0,0). Can you please tell us physics behind calculating origin (X,Y) which should not vary.

The (0,0) point should never move. When using the ESTLocationBuilder, you define the coordinates system yourself. For example, take this code snippet from our Indoor’s GitHub page:

[locationBuilder setLocationBoundaryPoints:@[
    [ESTPoint pointWithX:0 y:0],
    [ESTPoint pointWithX:0 y:5],
    [ESTPoint pointWithX:5 y:5],
    [ESTPoint pointWithX:5 y:0]]];

If you define your location as such, the (0,0) point will be in the bottom-left corner of the room.


Thanks a lot for your response. We all appreciate your reply for
our query but our location is not predefined and not perfect square so we can decide boundaries.

Below is my Map after calibrating location:

Case1 : When i want to load static JSON created from Estimote Location i am using below Function :

NSString *path = [[NSBundle mainBundle] pathForResource:@"location1" ofType:@"json"];
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
ESTLocation *location = [ESTLocationBuilder parseFromJSON:content];

Case2 : After calibrating location from our app i am using below code to load map again :

ESTLocation *location = [ESTLocation locationFromDictionary:dictionaryLocationRepresentation];

Still we have problem in getting origin (0,0) (as you can see in the map).

Waiting for your reply.



I am working on a similar task. Could you please tell me how did you import JSON file after fetching location from estimote? I am trying to build a heat map after getting the aforementioned JSON file. Thank you so so much!