コード例 #1
0
int main()
{
	RTree tree;
	
	for(int i = 0;i < DATA_NUMBER; ++i)
	{
		double min[2],max[2];
		min[0] = rand() % MAP_SIZE;
		max[0] = min[0];
		min[1] = rand() % MAP_SIZE;
		max[1] = min[1];
		tree.Insert(min, max, i);  //Insert (x,y,id)
	}
	outFileData(&tree);
	//tree.fileInsert("data.txt");
	//tree.printRec(tree.getMBR(tree.getRoot()));

	RTree::Iterator it;
	for( tree.GetFirst(it); 
       !tree.IsNull(it);
       tree.GetNext(it) )
	{
		int value = tree.GetAt(it);
    
		double x,y;
		it.GetCard(&x,&y);
		cout << "ID " << value << " : " << "(" << x << "," << y << ")" << endl;
	}

	Table1 table1;
	Table2 table2;
	Table3 table3;
	generateTable(&tree,&table1,&table2,&table3);
	printTable(&table1,&table2,&table3);
	outFileTable(&table1,&table2,&table3);

	TimeCounter tc;
	double CreateTime = 0.0;
	tc.StartTime();
	cout << QueryPlan(&tree,K_NEAREST) << endl;
	CreateTime = tc.EndTime();
	cout << "QueryPlan Time: " << CreateTime << " ms" << endl;

//	outFileRect(&tree);

	system("pause");
	return 0;
}