Commit 2d87a8e1 authored by jaehyu's avatar jaehyu

fix ble_cell_id in regarding to cell_location

parent b2e4646d
......@@ -23,9 +23,9 @@ public class BLEFpBuilder {
BLE_Floor bFloor;
public BLEFpBuilder(int M, int N, int sizeOfCell) {
public BLEFpBuilder(int M, int N, int sizeOfCell, int campus, int building, int floor) {
bFloor = new BLE_Floor(M,N,sizeOfCell);
bFloor = new BLE_Floor(M,N,sizeOfCell, campus, building, floor);
}
public void LoadCellID() {
......@@ -170,15 +170,16 @@ public class BLEFpBuilder {
public boolean build() throws Throwable {
// Todo read from Console or Database
int campus_id = SAMPLE_CAMPUS_ID;
int building_id = SAMPLE_BUILDING_ID;
int floor_id = SAMPLE_FLOOR_ID;
int object_campus_id = bFloor.getCampus_id();
int object_building_id = bFloor.getBuilding_id();
int object_floor_id = bFloor.getFloor_id();
int object_cell_size = bFloor.getBle_cell_size();
int ble_cell_id;
double scale_pixel = readMapScale(campus_id, building_id, floor_id); // 수집시 사용한 지도의 축척정보
double scale_pixel = readMapScale(object_campus_id, object_building_id, object_floor_id); // 수집시 사용한 지도의 축척정보
bFloor.setMap_scale_pixel(scale_pixel);
double object_scale_pixel;
......@@ -200,8 +201,8 @@ public class BLEFpBuilder {
ble_cell_id = bFloor.getCell(m, n).get_id();
System.out.printf("floor_id : %d, building_id : %d, campus_id : %d, ble_cell_id : %d, lower_rssi_dir : %d, upper_rssi_dir : %d ",
floor_id, building_id, campus_id, ble_cell_id, rssi_dir.get_lower_rssi_dir(), rssi_dir.get_upper_rssi_dir() );
System.out.printf("campus_id : %d, building_id : %d, floor_id : %d, ble_cell_id : %d, lower_rssi_dir : %d, upper_rssi_dir : %d ",
object_campus_id, object_building_id, object_floor_id, ble_cell_id, rssi_dir.get_lower_rssi_dir(), rssi_dir.get_upper_rssi_dir() );
System.out.printf(" ble_cell_location : ("+bFloor.getCell(m,n).get_location_x()+", "+bFloor.getCell(m,n).get_location_y()+")");
System.out.println();
......@@ -244,7 +245,7 @@ public class BLEFpBuilder {
final double rssi_std_dev = Math.sqrt(sum_of_dev / (count - 1)); // Bessel correction for sample stdev
// populate insert value
FPElement cell_elem = new FPElement(floor_id, building_id, campus_id, ble_cell_id, rssi_dir.get_rssi_dir(), entry.getKey(), count, rssi_min, rssi_max, rssi_avg, rssi_std_dev);
FPElement cell_elem = new FPElement(object_floor_id, object_building_id, object_campus_id, ble_cell_id, rssi_dir.get_rssi_dir(), entry.getKey(), count, rssi_min, rssi_max, rssi_avg, rssi_std_dev);
fp_cell_per_ap.add(cell_elem);
}
......@@ -271,11 +272,10 @@ public class BLEFpBuilder {
public static void main(String[] args) {
int M = (FLOOR_LENGTH_X % CELL_SIZE_BLE == 0)? ( FLOOR_LENGTH_X / CELL_SIZE_BLE ) : (FLOOR_LENGTH_X / CELL_SIZE_BLE )+1;
int N = (FLOOR_LENGTH_Y % CELL_SIZE_BLE == 0)? ( FLOOR_LENGTH_Y / CELL_SIZE_BLE ) : (FLOOR_LENGTH_Y / CELL_SIZE_BLE )+1;
BLEFpBuilder fp = new BLEFpBuilder((FLOOR_LENGTH_X % CELL_SIZE_BLE == 0)? FLOOR_LENGTH_X/CELL_SIZE_BLE : FLOOR_LENGTH_X/CELL_SIZE_BLE + 1, (FLOOR_LENGTH_Y % CELL_SIZE_BLE == 0)? FLOOR_LENGTH_Y/CELL_SIZE_BLE : FLOOR_LENGTH_Y/CELL_SIZE_BLE + 1, CELL_SIZE_BLE); // mFloor
BLEFpBuilder fp = new BLEFpBuilder(M,N,CELL_SIZE_BLE, SAMPLE_CAMPUS_ID, SAMPLE_BUILDING_ID, SAMPLE_FLOOR_ID); // mFloor
fp.LoadCellID();
fp.LoadCellLocation();
......
......@@ -11,15 +11,22 @@ class BLE_Floor {
// Todo 수집방향
private final int[] rssi_dir = new int[]{1000000, 2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000};
private double map_scale_pixel;
private int ble_cell_size;
public BLE_Floor(int M, int N, int sizeOfCell) {
// later , may need these data be treated in one map object.......
private double map_scale_pixel;
private int campus_id;
private int building_id;
private int floor_id;
public BLE_Floor(int M, int N, int sizeOfCell, int campus, int building, int floor) {
this.bcm_M = M;
this.bcm_N = N;
this.bcm = new _ble_cell[M][N];
this.ble_cell_size = sizeOfCell;
this.campus_id = campus;
this.building_id = building;
this.floor_id = floor;
}
public int getCellID(int M, int N) {
......@@ -39,7 +46,8 @@ class BLE_Floor {
public void showCellLocation() {
for(int j=0;j< bcm_N;j++) {
for(int i=0;i< bcm_M; i++) {
System.out.printf("("+bcm[i][j].get_location_x()+","+bcm[i][j].get_location_y()+")");
if(bcm[i][j] != null)
System.out.printf("("+bcm[i][j].get_location_x()+","+bcm[i][j].get_location_y()+")");
}
System.out.println();
}
......@@ -91,4 +99,15 @@ class BLE_Floor {
return ble_cell_size;
}
public int getCampus_id() {
return campus_id;
}
public int getBuilding_id() {
return building_id;
}
public int getFloor_id() {
return floor_id;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment