123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef __WATERSHED_H__
- #define __WATERSHED_H__
- #include <stdio.h>
- #include <grass/gis.h>
- #define RAM_NAME "ram"
- #define SEG_NAME "seg"
- #define NON_NAME "watershed"
- #define ACRE_TO_METERSQ 4047.0
- #define MILESQ_TO_ACRE 640.0
- #define HECTACRE_TO_METERSQ 10000.0
- #define KILOSQ_TO_ACRE 247.1
- #define KILOSQ_TO_METERSQ 1000000.0
- #define MILESQ_TO_METERSQ 2590080.0
- #define METERSQ_TO_ACRE 0.00024709661
- #define METERSQ_TO_MILESQ 0.00000038608
- #define METERSQ_TO_HECTACRE 0.0001
- #define METERSQ_TO_KILOSQ 0.000001
- #define METER_TO_FOOT 3.281
- #define INCR 32
- #define INPUT struct inputtttttt
- #define OUTPUT struct outputttttt
- #define BASIN struct mapvallllllll
- #define MAP struct mapssssss
- #define B_FACTS struct bfactsssssss
- #define CAT struct cattttttttttt
- INPUT {
- char *ar_file_name, *com_line_ram, *com_line_seg, *haf_name, *accum_name;
- char fast, slow;
- };
- CAT {
- int num_cat; /* num of cells */
- CELL cat_val;
- CAT *nxt;
- };
- BASIN {
- CAT first_cat; /* linked list of cats with num */
- double sum_values; /* summation */
- };
- MAP {
- char *name, *mapset;
- BASIN *basins; /* array of basins */
- struct Categories cats;
- char do_cats;
- };
- OUTPUT {
- MAP *maps; /* map layers of output stuff */
- B_FACTS *basin_facts; /* basin information array */
- FILE *out_file;
- struct Cell_head window;
- int num_maps, num_basins;
- /* output file, display map name, flag for basin by percent, flag for accum of percent */
- char *file_name, do_basin, do_accum, type_area;
- };
- B_FACTS {
- double str_length, str_slope, accum_length, accum_slope, easting,
- northing;
- int num_cells, down_basin, valid;
- };
- /* accum_down.c */
- int accum_down(OUTPUT *);
- /* basin_maps.c */
- int basin_maps(INPUT *, OUTPUT *);
- /* com_line.c */
- int com_line_Gwater(INPUT *, OUTPUT *);
- int com_line_add(char **, char *, char *, char *);
- int basin_com_add(char **, double, double, struct Cell_head *);
- int com_add(char **, char *, int);
- /* file_in.c */
- int ar_file_in(char *, OUTPUT *);
- /* free.c */
- int free_input(INPUT *);
- int free_output(OUTPUT *);
- /* insert_cat.c */
- int insert_cat(CAT *, CELL, int);
- CAT *new_cat(CELL, int);
- /* intro.c */
- int intro(void);
- /* print.c */
- int print_output(OUTPUT *);
- /* read.c */
- int read_basins(char *, OUTPUT *);
- /* valid.c */
- int valid_basins(char *, OUTPUT *);
- #endif /* __WATERSHED_H__ */
|