data(){
			int sx = 1 << 20, sy = 1 << 20, mx = -1, my = -1;
			try {
				Scanner in = new Scanner(new FileInputStream(new File(filename)));
				in.nextInt();// eat 3
				in.nextInt();//eat number
				while(in.hasNext()){
					int x1 = in.nextInt(), y1 = in.nextInt();
					in.nextLong();
					if(x1 > mx) mx = x1;
					if(x1 < sx) sx = x1;
					if(y1 > my) my = y1;
					if(y1 < sy) sy = y1;
				}
				in.close();
				sx = sy = 0;
				mx = my = FormatData2Norm.scale;
				System.out.println("Read data ended!");
				in = new Scanner(new FileInputStream(new File(filename)));
				int rangex = mx - sx, rangey = my - sy;
				in.nextInt();// eat 3
				in.nextInt();//eat number
				while(in.hasNext()){
					int x1 = (int) (1.0 * (in.nextInt() - sx) / rangex * DEFAULT_WIDTH), y1 = (int) (1.0 * (in.nextInt()- sy) / rangey * DEFAULT_HEIGHT);
					in.nextLong();
					points.add(new Point(x1, y1));
				}
				in.close();
				in = new Scanner(new FileInputStream(new File(fileofquery)));
				int count = 0;
				while(in.hasNext()){
					int x = in.nextInt(), y = in.nextInt();
					int x1 = (int) (1.0 * (x - sx) / rangex * DEFAULT_WIDTH), y1 = (int) (1.0 * (y- sy) / rangey * DEFAULT_HEIGHT);
					points2.add(new Point(x1, y1));
					count ++;
					if(count == 22)System.out.println("22: " + x + ", " + y);
//					if(count ++ >= 50)break;
				}
				System.out.println("Read query ended!");
				in.close();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}