init_head.c 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*!
  2. \file init_head.c
  3. \brief Vector library - init header of vector map
  4. Higher level functions for reading/writing/manipulating vectors.
  5. Initialize Head structure. To make sure that we are not writing out
  6. garbage to a file.
  7. (C) 2001-2009 by the GRASS Development Team
  8. This program is free software under the GNU General Public License
  9. (>=v2). Read the file COPYING that comes with GRASS for details.
  10. \author Original author CERL, probably Dave Gerdes or Mike Higgins.
  11. \author Update to GRASS 5.7 Radim Blazek and David D. Gray.
  12. */
  13. #include <grass/config.h>
  14. #include <string.h>
  15. #include <grass/gis.h>
  16. #include <grass/vector.h>
  17. /*!
  18. \brief Initialize head structure
  19. \param Map vector map
  20. \return 0
  21. */
  22. int Vect__init_head(struct Map_info *Map)
  23. {
  24. char buf[64];
  25. Map->head.organization = NULL;
  26. Vect_set_organization(Map, "");
  27. Map->head.date = NULL;
  28. Vect_set_date(Map, "");
  29. Map->head.your_name = NULL;
  30. sprintf(buf, "%s", G_whoami());
  31. Vect_set_person(Map, buf);
  32. Map->head.map_name = NULL;
  33. Vect_set_map_name(Map, "");
  34. Map->head.source_date = NULL;
  35. sprintf(buf, "%s", G_date());
  36. Vect_set_map_date(Map, buf);
  37. Map->head.line_3 = NULL;
  38. Vect_set_comment(Map, "");
  39. Vect_set_scale(Map, 1);
  40. Vect_set_zone(Map, 0);
  41. Vect_set_thresh(Map, 0.0);
  42. Map->plus.Spidx_built = 0;
  43. Map->plus.release_support = 0;
  44. Map->plus.update_cidx = 0;
  45. return 0;
  46. }
  47. /*!
  48. \brief Copy header data from one to another map
  49. \param from target vector map
  50. \param[out] to destination vector map
  51. \return 0
  52. */
  53. int Vect_copy_head_data(const struct Map_info *from, struct Map_info *to)
  54. {
  55. Vect_set_organization(to, Vect_get_organization(from));
  56. Vect_set_date(to, Vect_get_date(from));
  57. Vect_set_person(to, Vect_get_person(from));
  58. Vect_set_map_name(to, Vect_get_map_name(from));
  59. Vect_set_map_date(to, Vect_get_map_date(from));
  60. Vect_set_comment(to, Vect_get_comment(from));
  61. Vect_set_scale(to, Vect_get_scale(from));
  62. Vect_set_zone(to, Vect_get_zone(from));
  63. Vect_set_thresh(to, Vect_get_thresh(from));
  64. return 0;
  65. }