print_tree 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. int print_tree(tree)
  2. struct quadtree *tree;
  3. {
  4. double x_se,x_sw,x_ne,x_nw,y_se,y_sw,y_ne,y_nw;
  5. static int k=0;
  6. static int i=1;
  7. if (i)
  8. {
  9. i = 0;
  10. printf ("ORGANIZATION: USGS-NMD DLG DATA - CHARACTE\n");
  11. printf ("DIGIT DATE: 1977,\n");
  12. printf ("DIGIT NAME: grass\n");
  13. printf ("MAP NAME: RAPID CITY, SD\n");
  14. printf ("MAP DATE: 1977,\n");
  15. printf ("MAP SCALE: 100000\n");
  16. printf ("OTHER INFO: RC3.RDS03\n");
  17. printf ("ZONE: 13\n");
  18. printf ("WEST EDGE: -123\n");
  19. printf ("EAST EDGE: 8004\n");
  20. printf ("SOUTH EDGE: -20\n");
  21. printf ("NORTH EDGE: 5580\n");
  22. printf ("MAP THRESH: 2\n");
  23. printf ("VERTI:\n");
  24. }
  25. if (tree==NULL) return 0;
  26. if (tree->data==NULL) return 0;
  27. if (tree->data->points == NULL) {
  28. print_tree(tree->se_leaf);
  29. print_tree(tree->sw_leaf);
  30. print_tree(tree->ne_leaf);
  31. print_tree(tree->nw_leaf);
  32. }
  33. else {
  34. x_sw=tree->data->x_orig;
  35. y_sw=tree->data->y_orig;
  36. x_nw=x_sw;
  37. y_se=y_sw;
  38. x_se=x_sw+tree->data->n_cols*step;
  39. y_nw=y_sw+tree->data->n_rows*step;
  40. y_ne=y_nw;
  41. x_ne=x_se;
  42. printf("L 5\n");
  43. printf(" %lf %lf\n",y_sw,x_sw);
  44. printf(" %lf %lf\n",y_nw,x_nw);
  45. printf(" %lf %lf\n",y_ne,x_ne);
  46. printf(" %lf %lf\n",y_se,x_se);
  47. printf(" %lf %lf\n",y_sw,x_sw);
  48. }
  49. return 1;
  50. }