/**************************************************************************** * * MODULE: r.in.poly * AUTHOR(S): Michael Shapiro, CERL (original contributor) * PURPOSE: creates GRASS binary raster maps from ASCII files * COPYRIGHT: (C) 1999-2006 by the GRASS Development Team * * This program is free software under the GNU General Public * License (>=v2). Read the file COPYING that comes with GRASS * for details. * *****************************************************************************/ #include #include #include #include #include "local_proto.h" int main(int argc, char *argv[]) { struct GModule *module; struct Option *input, *output, *title, *rows, *nulls, *type; int n; int raster_type; int null_value; int *null; null = &null_value; G_gisinit(argv[0]); module = G_define_module(); G_add_keyword(_("raster")); G_add_keyword(_("import")); module->description = _("Creates raster maps from ASCII polygon/line/point data files."); input = G_define_standard_option(G_OPT_F_INPUT); input->description = _("Name of input file; or \"-\" to read from stdin"); output = G_define_standard_option(G_OPT_R_OUTPUT); title = G_define_option(); title->key = "title"; title->key_desc = "phrase"; title->type = TYPE_STRING; title->required = NO; title->description = _("Title for resultant raster map"); type = G_define_standard_option(G_OPT_R_TYPE); type->required = NO; type->answer = "CELL"; nulls = G_define_option(); nulls->key = "null"; nulls->type = TYPE_INTEGER; nulls->required = NO; nulls->description = _("Integer representing NULL value data cell"); rows = G_define_option(); rows->key = "rows"; rows->type = TYPE_INTEGER; rows->required = NO; rows->description = _("Number of rows to hold in memory"); rows->answer = "4096"; if (G_parser(argc, argv)) exit(EXIT_FAILURE); sscanf(rows->answer, "%d", &n); if (n < 1) G_fatal_error(_("Minimum number of rows to hold in memory is 1")); if (strcmp(type->answer, "CELL") == 0) raster_type = CELL_TYPE; else if (strcmp(type->answer, "FCELL") == 0) raster_type = FCELL_TYPE; else if (strcmp(type->answer, "DCELL") == 0) raster_type = DCELL_TYPE; else G_fatal_error(_("Type doesn't exist")); if (nulls->answer) *null = atoi(nulls->answer); else null = NULL; exit(poly_to_rast(input->answer, output->answer, title->answer, n, raster_type, null)); }