head.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <grass/Vect.h>
  5. #include <grass/gis.h>
  6. #include <grass/glocale.h>
  7. int read_head(FILE * dascii, struct Map_info *Map)
  8. {
  9. char buff[1024];
  10. char *ptr;
  11. for (;;) {
  12. if (0 == G_getl2(buff, sizeof(buff) - 1, dascii))
  13. return (0);
  14. /* Last line of header */
  15. if (strncmp(buff, "VERTI:", 6) == 0)
  16. return (0);
  17. if (!(ptr = G_index(buff, ':')))
  18. G_fatal_error(_("Unexpected data in vector head:\n[%s]"), buff);
  19. ptr++; /* Search for the start of text */
  20. while (*ptr == ' ')
  21. ptr++;
  22. if (strncmp(buff, "ORGANIZATION:", 12) == 0)
  23. Vect_set_organization(Map, ptr);
  24. else if (strncmp(buff, "DIGIT DATE:", 11) == 0)
  25. Vect_set_date(Map, ptr);
  26. else if (strncmp(buff, "DIGIT NAME:", 11) == 0)
  27. Vect_set_person(Map, ptr);
  28. else if (strncmp(buff, "MAP NAME:", 9) == 0)
  29. Vect_set_map_name(Map, ptr);
  30. else if (strncmp(buff, "MAP DATE:", 9) == 0)
  31. Vect_set_map_date(Map, ptr);
  32. else if (strncmp(buff, "MAP SCALE:", 10) == 0)
  33. Vect_set_scale(Map, atoi(ptr));
  34. else if (strncmp(buff, "OTHER INFO:", 11) == 0)
  35. Vect_set_comment(Map, ptr);
  36. else if (strncmp(buff, "ZONE:", 5) == 0 ||
  37. strncmp(buff, "UTM ZONE:", 9) == 0)
  38. Vect_set_zone(Map, atoi(ptr));
  39. else if (strncmp(buff, "WEST EDGE:", 10) == 0) {
  40. }
  41. else if (strncmp(buff, "EAST EDGE:", 10) == 0) {
  42. }
  43. else if (strncmp(buff, "SOUTH EDGE:", 11) == 0) {
  44. }
  45. else if (strncmp(buff, "NORTH EDGE:", 11) == 0) {
  46. }
  47. else if (strncmp(buff, "MAP THRESH:", 11) == 0)
  48. Vect_set_thresh(Map, atof(ptr));
  49. else {
  50. G_warning(_("Unknown keyword <%s> in vector head"), buff);
  51. }
  52. }
  53. /* NOTREACHED */
  54. }