|
@@ -57,7 +57,6 @@ int main(int argc, char **argv)
|
|
struct Option *icon_line_opt, *icon_area_opt;
|
|
struct Option *icon_line_opt, *icon_area_opt;
|
|
struct Flag *id_flag, *cats_acolors_flag, *sqrt_flag;
|
|
struct Flag *id_flag, *cats_acolors_flag, *sqrt_flag;
|
|
char *desc;
|
|
char *desc;
|
|
- char *leg_file;
|
|
|
|
|
|
|
|
struct cat_list *Clist;
|
|
struct cat_list *Clist;
|
|
LATTR lattr;
|
|
LATTR lattr;
|
|
@@ -65,9 +64,6 @@ int main(int argc, char **argv)
|
|
struct Cell_head window;
|
|
struct Cell_head window;
|
|
struct bound_box box;
|
|
struct bound_box box;
|
|
double overlap;
|
|
double overlap;
|
|
- int gv_point, gv_line, gv_boundary, gv_centroid;
|
|
|
|
-
|
|
|
|
- FILE *fd;
|
|
|
|
|
|
|
|
stat = 0;
|
|
stat = 0;
|
|
/* Initialize the GIS calls */
|
|
/* Initialize the GIS calls */
|
|
@@ -457,84 +453,10 @@ int main(int argc, char **argv)
|
|
stat += display_dir(&Map, type, Clist, chcat, size);
|
|
stat += display_dir(&Map, type, Clist, chcat, size);
|
|
}
|
|
}
|
|
|
|
|
|
- /* Write into legend file */
|
|
|
|
- leg_file = getenv("GRASS_LEGEND_FILE");
|
|
|
|
- if (leg_file) {
|
|
|
|
- fd = fopen(leg_file, "a");
|
|
|
|
-
|
|
|
|
- /* Point */
|
|
|
|
- if (strstr(type_opt->answer, "point") != NULL){
|
|
|
|
- gv_point = Vect_get_num_primitives(&Map, GV_POINT);
|
|
|
|
- if (gv_point > 0) {
|
|
|
|
- if (leglab_opt->answer)
|
|
|
|
- fprintf(fd, "%s|", leglab_opt->answer);
|
|
|
|
- else {
|
|
|
|
- char map[128];
|
|
|
|
- char *ptr;
|
|
|
|
- strcpy(map, map_opt->answer);
|
|
|
|
- strtok_r(map, "@", &ptr);
|
|
|
|
- fprintf(fd, "%s|", map);
|
|
|
|
- }
|
|
|
|
- fprintf(fd, "%s|%s|%s|%s|%s", icon_opt->answer, size_opt->answer, color_opt->answer, fcolor_opt->answer, width_opt->answer);
|
|
|
|
- fprintf(fd, "|%s|%d\n", "point", gv_point);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /* Line */
|
|
|
|
- if (strstr(type_opt->answer, "line") != NULL){
|
|
|
|
- gv_line = Vect_get_num_primitives(&Map, GV_LINE);
|
|
|
|
- if (gv_line > 0){
|
|
|
|
- if (leglab_opt->answer)
|
|
|
|
- fprintf(fd, "%s|", leglab_opt->answer);
|
|
|
|
- else {
|
|
|
|
- char map[128];
|
|
|
|
- char *ptr;
|
|
|
|
- strcpy(map, map_opt->answer);
|
|
|
|
- strtok_r(map, "@", &ptr);
|
|
|
|
- fprintf(fd, "%s|", map);
|
|
|
|
- }
|
|
|
|
- fprintf(fd, "%s|%s|%s|%s|%s", icon_line_opt->answer, size_opt->answer, color_opt->answer, fcolor_opt->answer, width_opt->answer);
|
|
|
|
- fprintf(fd, "|%s|%d\n", "line", gv_line);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /* Area */
|
|
|
|
- if (strstr(type_opt->answer, "area") != NULL){
|
|
|
|
- gv_boundary = Vect_get_num_primitives(&Map, GV_BOUNDARY);
|
|
|
|
- if (gv_boundary > 0) {
|
|
|
|
- if (leglab_opt->answer)
|
|
|
|
- fprintf(fd, "%s|", leglab_opt->answer);
|
|
|
|
- else {
|
|
|
|
- char map[128];
|
|
|
|
- char *ptr;
|
|
|
|
- strcpy(map, map_opt->answer);
|
|
|
|
- strtok_r(map, "@", &ptr);
|
|
|
|
- fprintf(fd, "%s|", map);
|
|
|
|
- }
|
|
|
|
- fprintf(fd, "%s|%s|%s|%s|%s", icon_area_opt->answer, size_opt->answer, color_opt->answer, fcolor_opt->answer, width_opt->answer);
|
|
|
|
- fprintf(fd, "|%s|%d\n", "area", gv_boundary);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- /* Centroid */
|
|
|
|
- if (strstr(type_opt->answer, "centroid") != NULL){
|
|
|
|
- gv_centroid = Vect_get_num_primitives(&Map, GV_CENTROID);
|
|
|
|
- if (gv_centroid > 0) {
|
|
|
|
- if (leglab_opt->answer)
|
|
|
|
- fprintf(fd, "%s|", leglab_opt->answer);
|
|
|
|
- else {
|
|
|
|
- char map[128];
|
|
|
|
- char *ptr;
|
|
|
|
- strcpy(map, map_opt->answer);
|
|
|
|
- strtok_r(map, "@", &ptr);
|
|
|
|
- fprintf(fd, "%s|", map);
|
|
|
|
- }
|
|
|
|
- fprintf(fd, "%s|%s|%s|%s|%s", icon_opt->answer, size_opt->answer, color_opt->answer, fcolor_opt->answer, width_opt->answer);
|
|
|
|
- fprintf(fd, "|%s|%d\n", "centroid", gv_centroid);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- fclose(fd);
|
|
|
|
- }
|
|
|
|
|
|
+ write_into_legfile(&Map, type, leglab_opt->answer, map_name,
|
|
|
|
+ icon_opt->answer, size_opt->answer, color_opt->answer,
|
|
|
|
+ fcolor_opt->answer, width_opt->answer, icon_area_opt->answer,
|
|
|
|
+ icon_line_opt->answer);
|
|
|
|
|
|
/* reset line width: Do we need to get line width from display
|
|
/* reset line width: Do we need to get line width from display
|
|
* driver (not implemented)? It will help restore previous line
|
|
* driver (not implemented)? It will help restore previous line
|