您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ G_gisinit函数代码示例

51自学网 2021-06-01 21:02:35
  C++
这篇教程C++ G_gisinit函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中G_gisinit函数的典型用法代码示例。如果您正苦于以下问题:C++ G_gisinit函数的具体用法?C++ G_gisinit怎么用?C++ G_gisinit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了G_gisinit函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char **argv){    char *name;    int overlay;    int invert, fp;    struct GModule *module;    struct Option *map;    struct Option *vallist;    struct Option *bg;    struct Flag *flag_n;    struct Flag *flag_i;    /* Initialize the GIS calls */    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("display"));    G_add_keyword(_("raster"));    module->description = _("Displays user-specified raster map in the active "			    "graphics frame.");        /* set up command line */    map = G_define_standard_option(G_OPT_R_MAP);    map->description = _("Name of raster map to be displayed");    vallist = G_define_option();    vallist->key = "values";    vallist->key_desc = "value[-value]";    vallist->type = TYPE_STRING;    vallist->required = NO;    vallist->multiple = YES;    vallist->description = _("List of categories or values to be displayed");    vallist->guisection = _("Selection");    bg = G_define_standard_option(G_OPT_C_BG);    bg->key_desc = "color";    bg->gisprompt = "old_color,color,color";    bg->label = _("Background color (for null)");    bg->description = _("Either a standard color name or R:G:B triplet");    bg->guisection = _("Null cells");    flag_n = G_define_flag();    flag_n->key = 'n';    flag_n->description = _("Make null cells opaque");    flag_n->guisection = _("Null cells");    flag_i = G_define_flag();    flag_i->key = 'i';    flag_i->description = _("Invert value list");    flag_i->guisection = _("Selection");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    name = map->answer;    overlay = !flag_n->answer;    invert = flag_i->answer;    if (D_open_driver() != 0)	G_fatal_error(_("No graphics device selected. "			"Use d.mon to select graphics device."));    fp = Rast_map_is_fp(name, "");    if (vallist->answer) {	if (fp)	    parse_vallist(vallist->answers, &d_mask);	else	    parse_catlist(vallist->answers, &mask);    }    /* use DCELL even if the map is FCELL */    display(name, overlay, bg->answer, fp ? DCELL_TYPE : CELL_TYPE, invert);        D_save_command(G_recreate_command());    D_close_driver();        exit(EXIT_SUCCESS);}
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:78,


示例2: main

int main(int argc, char *argv[]){    char *name, *outfile;    const char *unit;    int unit_id;    double factor;    int fd, projection;    FILE *fp, *coor_fp;    double res;    char *null_string;    char ebuf[256], nbuf[256], label[512], formatbuff[256];    char b1[100], b2[100];    int n;    int havefirst = FALSE;    int coords = 0, i, k = -1;    double e1, e2, n1, n2;    RASTER_MAP_TYPE data_type;    struct Cell_head window;    struct    {	struct Option *opt1, *profile, *res, *output, *null_str, *coord_file, *units;	struct Flag *g, *c, *m;    }    parm;    struct GModule *module;    G_gisinit(argv[0]);    /* Set description */    module = G_define_module();    G_add_keyword(_("raster"));    G_add_keyword(_("profile"));    module->description =	_("Outputs the raster map layer values lying on user-defined line(s).");    parm.opt1 = G_define_standard_option(G_OPT_R_INPUT);    parm.output = G_define_standard_option(G_OPT_F_OUTPUT);    parm.output->required = NO;    parm.output->answer = "-";    parm.output->description =	_("Name of file for output (use output=- for stdout)");    parm.profile = G_define_standard_option(G_OPT_M_COORDS);    parm.profile->required = NO;    parm.profile->multiple = YES;    parm.profile->description = _("Profile coordinate pairs");    parm.coord_file = G_define_standard_option(G_OPT_F_INPUT);    parm.coord_file->key = "file";    parm.coord_file->required = NO;    parm.coord_file->label =	_("Name of input file containing coordinate pairs");    parm.coord_file->description =	_("Use instead of the 'coordinates' option. "	  "/"-/" reads from stdin.");    parm.res = G_define_option();    parm.res->key = "resolution";    parm.res->type = TYPE_DOUBLE;    parm.res->required = NO;    parm.res->description =	_("Resolution along profile (default = current region resolution)");    parm.null_str = G_define_option();    parm.null_str->key = "null";    parm.null_str->type = TYPE_STRING;    parm.null_str->required = NO;    parm.null_str->answer = "*";    parm.null_str->description = _("Character to represent no data cell");    parm.g = G_define_flag();    parm.g->key = 'g';    parm.g->description =	_("Output easting and northing in first two columns of four column output");    parm.c = G_define_flag();    parm.c->key = 'c';    parm.c->description =	_("Output RRR:GGG:BBB color values for each profile point");    parm.units = G_define_standard_option(G_OPT_M_UNITS);    parm.units->options = "meters,kilometers,feet,miles";    parm.units->label = parm.units->description;    parm.units->description = _("If units are not specified, current location units are used. "                                "Meters are used by default in geographic (latlon) locations.");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    clr = 0;    if (parm.c->answer)	clr = 1;		/* color output */    null_string = parm.null_str->answer;    if ((parm.profile->answer && parm.coord_file->answer) ||	(!parm.profile->answer && !parm.coord_file->answer))	G_fatal_error(_("Either use profile option or coordinate_file "			" option, but not both"));//.........这里部分代码省略.........
开发者ID:caomw,项目名称:grass,代码行数:101,


示例3: main

int main(int argc, char *argv[]){    int i, cat, with_z, more, ctype, nrows;    char buf[DB_SQL_MAX];    int count;    double coor[3];    int ncoor;    struct Option *driver_opt, *database_opt, *table_opt;    struct Option *xcol_opt, *ycol_opt, *zcol_opt, *keycol_opt, *where_opt,	*outvect;    struct Flag *same_table_flag;    struct GModule *module;    struct Map_info Map;    struct line_pnts *Points;    struct line_cats *Cats;    dbString sql;    dbDriver *driver;    dbCursor cursor;    dbTable *table;    dbColumn *column;    dbValue *value;    struct field_info *fi;    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("vector"));    G_add_keyword(_("import"));    G_add_keyword(_("database"));    G_add_keyword(_("points"));    module->description =	_("Creates new vector (points) map from database table containing coordinates.");    table_opt = G_define_standard_option(G_OPT_DB_TABLE);    table_opt->required = YES;    table_opt->description = _("Input table name");    driver_opt = G_define_standard_option(G_OPT_DB_DRIVER);    driver_opt->options = db_list_drivers();    driver_opt->answer = (char *)db_get_default_driver_name();    driver_opt->guisection = _("Input DB");    database_opt = G_define_standard_option(G_OPT_DB_DATABASE);    database_opt->answer = (char *)db_get_default_database_name();    database_opt->guisection = _("Input DB");    xcol_opt = G_define_standard_option(G_OPT_DB_COLUMN);    xcol_opt->key = "x";    xcol_opt->required = YES;    xcol_opt->description = _("Name of column containing x coordinate");    ycol_opt = G_define_standard_option(G_OPT_DB_COLUMN);    ycol_opt->key = "y";    ycol_opt->required = YES;    ycol_opt->description = _("Name of column containing y coordinate");    zcol_opt = G_define_standard_option(G_OPT_DB_COLUMN);    zcol_opt->key = "z";    zcol_opt->description = _("Name of column containing z coordinate");    zcol_opt->guisection = _("3D output");    keycol_opt = G_define_standard_option(G_OPT_DB_COLUMN);    keycol_opt->key = "key";    keycol_opt->required = NO;    keycol_opt->label = _("Name of column containing category number");    keycol_opt->description = _("Must refer to an integer column");    where_opt = G_define_standard_option(G_OPT_DB_WHERE);    where_opt->guisection = _("Selection");    outvect = G_define_standard_option(G_OPT_V_OUTPUT);    same_table_flag = G_define_flag();    same_table_flag->key = 't';    same_table_flag->description =	_("Use imported table as attribute table for new map");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    if (zcol_opt->answer) {	with_z = WITH_Z;	ncoor = 3;    }    else {	with_z = WITHOUT_Z;	ncoor = 2;    }    Points = Vect_new_line_struct();    Cats = Vect_new_cats_struct();    db_init_string(&sql);    if (G_get_overwrite()) {	/* We don't want to delete the input table when overwriting the output	 * vector. */	char name[GNAME_MAX], mapset[GMAPSET_MAX];	if (!G_name_is_fully_qualified(outvect->answer, name, mapset)) {	    strcpy(name, outvect->answer);//.........这里部分代码省略.........
开发者ID:caomw,项目名称:grass,代码行数:101,


示例4: main

int main(int argc, char **argv){    FILTER *filter;    int nfilters;    int repeat;    char *in_name;    char *filt_name;    char *out_name;    char title[1024];    char temp[300];    int i;    struct GModule *module;    struct Flag *flag2;    struct Option *opt1;    struct Option *opt2;    struct Option *opt3;    struct Option *opt4;    struct Option *opt5;    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("raster"));    G_add_keyword(_("algebra"));    G_add_keyword(_("statistics"));    module->description = _("Performs raster map matrix filter.");    /* Define the different options */    opt1 = G_define_standard_option(G_OPT_R_INPUT);    opt2 = G_define_standard_option(G_OPT_R_OUTPUT);    opt3 = G_define_standard_option(G_OPT_F_INPUT);    opt3->key = "filter";    opt3->required = YES;    opt3->description = _("Path to filter file");    opt4 = G_define_option();    opt4->key = "repeat";    opt4->type = TYPE_INTEGER;    opt4->multiple = NO;    opt4->required = NO;    opt4->answer = "1";    opt4->description = _("Number of times to repeat the filter");    opt4->guisection = _("Filter");        opt5 = G_define_option();    opt5->key = "title";    opt5->type = TYPE_STRING;    opt5->required = NO;    opt5->description = _("Output raster map title");    /* Define the different flags */    /* this isn't implemented at all        flag3 = G_define_flag() ;       flag3->key         = 'p' ;       flag3->description = _("Preserved edge") ;     */    flag2 = G_define_flag();    flag2->key = 'z';    flag2->description = _("Apply filter only to null data values");    flag2->guisection = _("Filter");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    /*       preserve_edges = flag3->answer;     */    null_only = flag2->answer;    sscanf(opt4->answer, "%d", &repeat);    out_name = opt2->answer;    filt_name = opt3->answer;    in_name = opt1->answer;    nrows = Rast_window_rows();    ncols = Rast_window_cols();    buflen = ncols * sizeof(DCELL);    /* get the filter */    filter = get_filter(filt_name, &nfilters, temp);    /* make sure filter matrix won't extend outside the raster map */    for (i = 0; i < nfilters; i++) {	if (filter[i].size > ncols || filter[i].size > nrows)	    G_fatal_error(_("Raster map too small for the size of the filter"));    }    /* make a title for result */    if (opt5->answer)	strcpy(title, opt5->answer);    else {	if (*temp == 0)	    strcpy(temp, "unknown filter");//.........这里部分代码省略.........
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:101,


示例5: main

int main(int argc, char *argv[]){    struct GModule *module;    struct Option *start_opt, *select_opt, *stop_opt, *output_opt,        *width_opt, *height_opt, *bgcolor_opt, *res_opt;    struct Flag *list_flag, *selected_flag, *select_flag, *release_flag,         *cmd_flag, *truecolor_flag, *update_flag, *x_flag, *sfile_flag;        int nopts, ret;    const char *mon;        G_gisinit(argv[0]);        module = G_define_module();    G_add_keyword(_("display"));    G_add_keyword(_("graphics"));    G_add_keyword(_("monitors"));    module->description = _("Controls graphics display monitors from the command line.");        start_opt = G_define_option();    start_opt->key = "start";    start_opt->type = TYPE_STRING;    start_opt->description = _("Name of monitor to start");    start_opt->options = "wx0,wx1,wx2,wx3,wx4,wx5,wx6,wx7,png,ps,html,cairo";    start_opt->guisection = _("Manage");        stop_opt = G_define_option();    stop_opt->key = "stop";    stop_opt->type = TYPE_STRING;    stop_opt->description = _("Name of monitor to stop");    stop_opt->options = "wx0,wx1,wx2,wx3,wx4,wx5,wx6,wx7,png,ps,html,cairo";    stop_opt->guisection = _("Manage");    select_opt = G_define_option();    select_opt->key = "select";    select_opt->type = TYPE_STRING;    select_opt->description = _("Name of monitor to select");    select_opt->options = "wx0,wx1,wx2,wx3,wx4,wx5,wx6,wx7,png,ps,html,cairo";    select_opt->guisection = _("Manage");    width_opt = G_define_option();    width_opt->key = "width";    width_opt->label = _("Width for display monitor if not set by GRASS_RENDER_WIDTH");    width_opt->description = _("Default value: 720");    width_opt->type = TYPE_INTEGER;    width_opt->key_desc = "value";    width_opt->guisection = _("Settings");    height_opt = G_define_option();    height_opt->key = "height";    height_opt->label = _("Height for display monitor if not set by GRASS_RENDER_HEIGHT");    height_opt->description = _("Default value: 480");    height_opt->type = TYPE_INTEGER;    height_opt->key_desc = "value";    height_opt->guisection = _("Settings");    res_opt = G_define_option();    res_opt->key = "resolution";    res_opt->label = _("Dimensions of display monitor versus current size");    res_opt->description = _("Example: resolution=2 enlarge display monitor twice to 1280x960");     res_opt->type = TYPE_INTEGER;    res_opt->key_desc = "value";    res_opt->guisection = _("Settings");    bgcolor_opt = G_define_standard_option(G_OPT_CN);    bgcolor_opt->key = "bgcolor";    bgcolor_opt->label = _("Background color");    bgcolor_opt->answer = DEFAULT_BG_COLOR;    bgcolor_opt->guisection = _("Settings");    output_opt = G_define_standard_option(G_OPT_F_OUTPUT);    output_opt->required = NO;    output_opt->label = _("Name for output file (when starting new monitor)");    output_opt->description = _("Ignored for 'wx' monitors");    output_opt->guisection = _("Settings");        list_flag = G_define_flag();    list_flag->key = 'l';    list_flag->description = _("List running monitors and exit");    list_flag->guisection = _("Print");    selected_flag = G_define_flag();    selected_flag->key = 'p';    selected_flag->description = _("Print name of currently selected monitor and exit");    selected_flag->guisection = _("Print");    cmd_flag = G_define_flag();    cmd_flag->key = 'c';    cmd_flag->description = _("Print commands for currently selected monitor and exit");    cmd_flag->guisection = _("Print");    sfile_flag = G_define_flag();    sfile_flag->key = 'g';    sfile_flag->description =	_("Print path to support files of currently selected monitor and exit");    select_flag = G_define_flag();    select_flag->key = 's';    select_flag->description = _("Do not automatically select when starting");    select_flag->guisection = _("Manage");//.........这里部分代码省略.........
开发者ID:GRASS-GIS,项目名称:grass-ci,代码行数:101,


示例6: main

int main(int argc, char *argv[]){    struct Option *type, *rc_file;    struct Flag *update, *nolaunch;    struct GModule *module;    const char *gui_type_env;    char progname[GPATH_MAX];    char *desc;    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("general"));    G_add_keyword(_("gui"));    G_add_keyword(_("user interface"));    module->label =	_("Launches a GRASS graphical user interface (GUI) session.");    module->description = _("And updates default user interface settings.");    type = G_define_option();    type->key = "ui";    type->type = TYPE_STRING;    type->label = _("User interface");    type->description = _("Default value: GRASS_GUI if defined otherwise wxpython");    desc = NULL;    G_asprintf(&desc,	        "wxpython;%s;text;%s",	        _("wxPython based GUI (wxGUI)"),	        _("command line interface only"));    type->descriptions = desc;    type->options = "wxpython,text";    type->guisection = _("Type");        rc_file = G_define_standard_option(G_OPT_F_INPUT);    rc_file->key = "workspace";    rc_file->required = NO;    rc_file->key_desc = "name.gxw";    rc_file->description = _("Name of workspace file to load on start-up (valid only for wxGUI)");    update = G_define_flag();    update->key = 'd';    update->description = _("Update default user interface settings");    update->guisection = _("Default");    nolaunch = G_define_flag();    nolaunch->key = 'n';    nolaunch->description =	_("Do not launch GUI after updating the default user interface settings");    nolaunch->guisection = _("Default");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    if (type->answer && strcmp(type->answer, "text") == 0 &&	!nolaunch->answer)	nolaunch->answer = TRUE;        if (nolaunch->answer && !update->answer)	update->answer = TRUE;        gui_type_env = G__getenv("GUI");    if (!type->answer) {	if (gui_type_env && strcmp(gui_type_env, "text")) {	    type->answer = G_store(gui_type_env);	}	else {	    type->answer = "wxpython";	}    }    if (((gui_type_env && update->answer) &&	 strcmp(gui_type_env, type->answer) != 0) || !gui_type_env) {	G_setenv("GUI", type->answer);	G_message(_("<%s> is now the default GUI"), type->answer);    }    else {	if(update->answer)	    if(gui_type_env) {		G_debug(1, "No change: old gui_type_env=[%s], new type->ans=[%s]",			gui_type_env, type->answer);	    }    }    if(nolaunch->answer)	exit(EXIT_SUCCESS);    G_message(_("Launching <%s> GUI in the background, please wait..."), type->answer);    if (strcmp(type->answer, "wxpython") == 0) {	sprintf(progname, "%s/gui/wxpython/wxgui.py", G_gisbase());	if (rc_file->answer) {	    G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,		    "--workspace", rc_file->answer, SF_BACKGROUND, NULL);	}	else {	    G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,		    SF_BACKGROUND, NULL);//.........这里部分代码省略.........
开发者ID:caomw,项目名称:grass,代码行数:101,


示例7: main

int main(int argc, char *argv[]){    struct GModule *module;    struct    {	struct Option *base, *cover, *output;    } parm;    char *basemap, *base_mapset;    char *covermap, *cover_mapset;    char *outmap;    char command[1024];    struct Categories cover_cats;    FILE *stats_fd, *reclass_fd;    int first;    long basecat, covercat, catb, catc;    double area;    struct stats stats;    G_gisinit(argv[0]);    module = G_define_module();    module->keywords = _("raster, statistics");    module->description =	_("Finds the median of values in a cover map within "	  "areas assigned the same category value in a "	  "user-specified base map.");    parm.base = G_define_standard_option(G_OPT_R_INPUT);    parm.base->key = "base";    parm.base->description = _("Name of base raster map");    parm.cover = G_define_standard_option(G_OPT_R_INPUT);    parm.cover->key = "cover";    parm.cover->description = _("Name of cover raster map");    parm.output = G_define_standard_option(G_OPT_R_OUTPUT);    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    basemap = parm.base->answer;    covermap = parm.cover->answer;    outmap = parm.output->answer;    base_mapset = G_find_cell2(basemap, "");    if (base_mapset == NULL)	G_fatal_error(_("Base raster map <%s> not found"), basemap);    cover_mapset = G_find_cell2(covermap, "");    if (cover_mapset == NULL)	G_fatal_error(_("Raster map <%s> not found"), covermap);    if (G_legal_filename(outmap) < 0)	G_fatal_error(_("<%s> is an illegal file name"), outmap);    if (strcmp(G_mapset(), base_mapset) == 0 && strcmp(basemap, outmap) == 0)	G_fatal_error(_("Base map and output map <%s> must be different"),		      outmap);    if (G_read_cats(covermap, cover_mapset, &cover_cats) < 0)	G_fatal_error(_("Unable to read category labels of raster map <%s>"),		      covermap);    strcpy(command, "r.stats -an /"");    strcat(command, G_fully_qualified_name(basemap, base_mapset));    strcat(command, ",");    strcat(command, G_fully_qualified_name(covermap, cover_mapset));    strcat(command, "/"");    /* strcpy (command,"cat /tmp/t"); */    G_debug(3, "command: %s", command);    stats_fd = popen(command, "r");    G_debug(3, "r.reclass i=/"%s/" o=/"%s/"",	    G_fully_qualified_name(basemap, base_mapset), outmap);    sprintf(command, "r.reclass i=/"%s/" o=/"%s/"",	    G_fully_qualified_name(basemap, base_mapset), outmap);    reclass_fd = popen(command, "w");    first = 1;    while (read_stats(stats_fd, &basecat, &covercat, &area)) {	if (first) {	    stats.n = 0;	    stats.nalloc = 16;	    stats.cat = (long *)		G_calloc(stats.nalloc, sizeof(long));	    stats.area = (double *)		G_calloc(stats.nalloc, sizeof(double));	    first = 0;	    catb = basecat;	}	if (basecat != catb) {	    catc = median(&stats);	    write_reclass(reclass_fd, catb, catc,			  G_get_cat(catc, &cover_cats));	    catb = basecat;	    stats.n = 0;	}	stats.n++;	if (stats.n > stats.nalloc) {	    stats.nalloc *= 2;	    stats.cat = (long *)//.........这里部分代码省略.........
开发者ID:imincik,项目名称:pkg-grass,代码行数:101,


示例8: main

int main(int argc, char **argv){    char title[80];    char buf[80], *p;    struct Ortho_Image_Group group;    struct GModule *module;    struct Option *group_opt;    /* must run in a term window */    G_putenv("GRASS_UI_TERM", "1");    /* initialize grass */    G_gisinit(argv[0]);    module = G_define_module();    module->keywords = _("imagery, orthorectify");    module->description = _("Menu driver for the photo imagery programs.");    group_opt = G_define_standard_option(G_OPT_I_GROUP);    group_opt->description =	_("Name of imagery group for ortho-rectification");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    strncpy(group.name, group_opt->answer, 99);    group.name[99] = '/0';    /* strip off mapset if it's there: I_() fns only work with current mapset */    if ((p = strchr(group.name, '@')))	*p = 0;    /* get and check the group reference files */    if (!I_get_group_ref(group.name, &group.group_ref)) {	G_warning(_("Pre-selected group <%s> not found"), group.name);	/* clean the wrong name in GROUPFILE */	I_put_group("");	/* ask for new group name */	if (!I_ask_group_old(	    _("Enter imagery group for ortho-rectification"), group.name))	    exit(EXIT_SUCCESS);	I_get_group_ref(group.name, &group.group_ref);    }    if (group.group_ref.nfiles <= 0)	G_fatal_error(_("Group [%s] contains no files"), group.name);    I_put_group(group.name);    while (1) {	if (!I_get_group(group.name)) {	    exit(EXIT_SUCCESS);	}	/* print the screen full of options */	sprintf(title, "i.ortho.photo -- /tImagery Group = %s ", group.name);	G_clear_screen();	fprintf(stderr, "%s/n/n", title);	fprintf(stderr, "Initialization Options:/n");	fprintf(stderr, "/n");	fprintf(stderr, "   1.     Select/Modify imagery group/n");	fprintf(stderr, "   2.     Select/Modify imagery group target/n");	fprintf(stderr, "   3.     Select/Modify target elevation model/n");	fprintf(stderr, "   4.     Select/Modify imagery group camera/n");	fprintf(stderr, "/n");	fprintf(stderr, "Transformation Parameter Computations:/n");	fprintf(stderr, "/n");	fprintf(stderr, "   5.     Compute image-to-photo transformation/n");	fprintf(stderr, "   6.     Initialize exposure station parameters/n");	fprintf(stderr, "   7.     Compute ortho-rectification parameters/n");	fprintf(stderr, "/n");	fprintf(stderr, "Ortho-rectification Option:/n");	fprintf(stderr, "/n");	fprintf(stderr, "   8.     Ortho-rectify imagery files/n");	fprintf(stderr, "/n");	fprintf(stderr, "RETURN   exit/n");	fprintf(stderr, "/n> ");	/* Get the option */	if (!G_gets(buf))	    continue;	if (*buf == 0)		/* exit */	    exit(EXIT_SUCCESS);	/* run the program chosen */	G_strip(buf);	fprintf(stderr, "<%s>/n", buf);	if (strcmp(buf, "1") == 0)	    run_system("i.group");	if (strcmp(buf, "2") == 0)	    run_etc_imagery("i.photo.target", group.name);	if (strcmp(buf, "3") == 0)	    run_etc_imagery("i.photo.elev", group.name);	if (strcmp(buf, "4") == 0)	    run_etc_imagery("i.photo.camera", group.name);	if (strcmp(buf, "5") == 0)	    run_etc_imagery("i.photo.2image", group.name);	if (strcmp(buf, "6") == 0)//.........这里部分代码省略.........
开发者ID:imincik,项目名称:pkg-grass,代码行数:101,


示例9: main

int main(int argc, char *argv[]){    struct GModule *module;    struct    {	struct Option *quant, *perc, *slots, *basemap, *covermap, *output;    } opt;    struct {	struct Flag *r, *p;    } flag;    const char *basemap, *covermap;    char **outputs;    int reclass, print;    int cover_fd, base_fd;    struct Range range;    struct FPRange fprange;    int i;    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("raster"));    G_add_keyword(_("statistics"));    module->description = _("Compute category quantiles using two passes.");    opt.basemap = G_define_standard_option(G_OPT_R_BASE);    opt.covermap = G_define_standard_option(G_OPT_R_COVER);    opt.quant = G_define_option();    opt.quant->key = "quantiles";    opt.quant->type = TYPE_INTEGER;    opt.quant->required = NO;    opt.quant->description = _("Number of quantiles");    opt.perc = G_define_option();    opt.perc->key = "percentiles";    opt.perc->type = TYPE_DOUBLE;    opt.perc->multiple = YES;    opt.perc->description = _("List of percentiles");    opt.perc->answer = "50";    opt.slots = G_define_option();    opt.slots->key = "bins";    opt.slots->type = TYPE_INTEGER;    opt.slots->required = NO;    opt.slots->description = _("Number of bins to use");    opt.slots->answer = "1000";    opt.output = G_define_standard_option(G_OPT_R_OUTPUT);    opt.output->description = _("Resultant raster map(s)");    opt.output->required = NO;    opt.output->multiple = YES;    flag.r = G_define_flag();    flag.r->key = 'r';    flag.r->description =	_("Create reclass map with statistics as category labels");    flag.p = G_define_flag();    flag.p->key = 'p';    flag.p->description =	_("Do not create output maps; just print statistics");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    basemap = opt.basemap->answer;    covermap = opt.covermap->answer;    outputs = opt.output->answers;    reclass = flag.r->answer;    print = flag.p->answer;    if (!print && !opt.output->answers)	G_fatal_error(_("Either -%c or %s= must be given"),			flag.p->key, opt.output->key);    if (print && opt.output->answers)	G_fatal_error(_("-%c and %s= are mutually exclusive"),			flag.p->key, opt.output->key);    num_slots = atoi(opt.slots->answer);    if (opt.quant->answer) {	num_quants = atoi(opt.quant->answer) - 1;	quants = G_calloc(num_quants, sizeof(DCELL));	for (i = 0; i < num_quants; i++)	    quants[i] = 1.0 * (i + 1) / (num_quants + 1);    }    else {	for (i = 0; opt.perc->answers[i]; i++)	    ;	num_quants = i;	quants = G_calloc(num_quants, sizeof(DCELL));	for (i = 0; i < num_quants; i++)	    quants[i] = atof(opt.perc->answers[i]) / 100;	qsort(quants, num_quants, sizeof(DCELL), compare_dcell);    }    if (opt.output->answer) {//.........这里部分代码省略.........
开发者ID:rashadkm,项目名称:grass_cmake,代码行数:101,


示例10: main

int main(int argc, char *argv[]){    struct GModule *module;    struct {	struct Flag *r, *w, *l, *g, *a, *n, *c;    } flag;     struct {	struct Option *map, *field, *colr, *rast, *volume, *rules,          *attrcol, *rgbcol, *range, *use;    } opt;    int layer;    int overwrite, remove, is_from_stdin, stat, have_colors, convert, use;    const char *mapset, *cmapset;    const char *style, *rules, *cmap, *attrcolumn, *rgbcolumn;    char *name;        struct Map_info Map;    struct FPRange range;    struct Colors colors, colors_tmp;    /* struct Cell_stats statf; */        G_gisinit(argv[0]);        module = G_define_module();    G_add_keyword(_("vector"));    G_add_keyword(_("color table"));    module->description =	_("Creates/modifies the color table associated with a vector map.");    opt.map = G_define_standard_option(G_OPT_V_MAP);    opt.field = G_define_standard_option(G_OPT_V_FIELD);    opt.use = G_define_option();    opt.use->key = "use";    opt.use->type = TYPE_STRING;    opt.use->required = YES;    opt.use->multiple = NO;    opt.use->options = "attr,cat,z";    opt.use->description = _("Source values");    G_asprintf((char **) &(opt.use->descriptions),	       "attr;%s;cat;%s;z;%s",	       _("read values from attribute table (requires <column> option)"),	       _("use category values"),	       _("use z coordinate (3D points or centroids only)"));    opt.use->answer = "cat";        opt.attrcol = G_define_standard_option(G_OPT_DB_COLUMN);    opt.attrcol->label = _("Name of column containing numeric data");    opt.attrcol->description = _("Required for use=attr");    opt.attrcol->guisection = _("Define");    opt.range = G_define_option();    opt.range->key = "range";    opt.range->type = TYPE_DOUBLE;    opt.range->required = NO;    opt.range->label = _("Manually set range (refers to 'column' option)");    opt.range->description = _("Ignored when 'rules' given");    opt.range->key_desc = "min,max";    opt.colr = G_define_standard_option(G_OPT_M_COLR);    opt.colr->guisection = _("Define");    opt.rast = G_define_standard_option(G_OPT_R_INPUT);    opt.rast->key = "raster";    opt.rast->required = NO;    opt.rast->description =        _("Raster map from which to copy color table");    opt.rast->guisection = _("Define");    opt.volume = G_define_standard_option(G_OPT_R3_INPUT);    opt.volume->key = "raster_3d";    opt.volume->required = NO;    opt.volume->description =        _("3D raster map from which to copy color table");    opt.volume->guisection = _("Define");    opt.rules = G_define_standard_option(G_OPT_F_INPUT);    opt.rules->key = "rules";    opt.rules->required = NO;    opt.rules->description = _("Path to rules file");    opt.rules->guisection = _("Define");    opt.rgbcol = G_define_standard_option(G_OPT_DB_COLUMN);    opt.rgbcol->key = "rgb_column";    opt.rgbcol->label = _("Name of color column to populate RGB values");    opt.rgbcol->description = _("If not given writes color table");        flag.r = G_define_flag();    flag.r->key = 'r';    flag.r->description = _("Remove existing color table");    flag.r->guisection = _("Remove");    flag.w = G_define_flag();    flag.w->key = 'w';    flag.w->description =        _("Only write new color table if it does not already exist");//.........这里部分代码省略.........
开发者ID:GRASS-GIS,项目名称:grass-ci,代码行数:101,


示例11: main

/* ************************************************************************* */int main(int argc, char *argv[]){    RASTER3D_Region region, inputmap_bounds;    struct Cell_head region2d;    struct GModule *module;    struct History history;    void *map = NULL; /*The 3D Rastermap */    int i = 0, changemask = 0;    int *fd = NULL, output_type, cols, rows;    char *RasterFileName;    int overwrite = 0;    /* Initialize GRASS */    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("raster3d"));    G_add_keyword(_("conversion"));    G_add_keyword(_("raster"));    G_add_keyword(_("voxel"));    module->description = _("Converts 3D raster maps to 2D raster maps");    /* Get parameters from user */    set_params();    /* Have GRASS get inputs */    if (G_parser(argc, argv))        exit(EXIT_FAILURE);    G_debug(3, "Open 3D raster map <%s>", param.input->answer);    if (NULL == G_find_raster3d(param.input->answer, ""))        Rast3d_fatal_error(_("3D raster map <%s> not found"),                       param.input->answer);    /*Set the defaults */    Rast3d_init_defaults();    /*Set the resolution of the output maps */    if (param.res->answer) {        /*Open the map with current region */        map = Rast3d_open_cell_old(param.input->answer,                              G_find_raster3d(param.input->answer, ""),                              RASTER3D_DEFAULT_WINDOW, RASTER3D_TILE_SAME_AS_FILE,                              RASTER3D_USE_CACHE_DEFAULT);        if (map == NULL)            Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),                           param.input->answer);        /*Get the region of the map */        Rast3d_get_region_struct_map(map, &region);        /*set this region as current 3D window for map */        Rast3d_set_window_map(map, &region);        /*Set the 2d region appropriate */        Rast3d_extract2d_region(&region, &region2d);        /*Make the new 2d region the default */        Rast_set_window(&region2d);    } else {        /* Figure out the region from the map */        Rast3d_get_window(&region);        /*Open the 3d raster map */        map = Rast3d_open_cell_old(param.input->answer,                              G_find_raster3d(param.input->answer, ""),                              &region, RASTER3D_TILE_SAME_AS_FILE,                              RASTER3D_USE_CACHE_DEFAULT);        if (map == NULL)            Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),                           param.input->answer);    }    /*Check if the g3d-region is equal to the 2D rows and cols */    rows = Rast_window_rows();    cols = Rast_window_cols();    /*If not equal, set the 3D window correct */    if (rows != region.rows || cols != region.cols) {        G_message(_("The 2D and 3D region settings are different. "                    "Using the 2D window settings to adjust the 2D part of the 3D region."));        G_get_set_window(&region2d);        region.ns_res = region2d.ns_res;        region.ew_res = region2d.ew_res;        region.rows = region2d.rows;        region.cols = region2d.cols;                Rast3d_adjust_region(&region);                Rast3d_set_window_map(map, &region);    }    /* save the input map region for later use (history meta-data) */    Rast3d_get_region_struct_map(map, &inputmap_bounds);    /*Get the output type */    output_type = Rast3d_file_type_map(map);//.........这里部分代码省略.........
开发者ID:rashadkm,项目名称:grass_cmake,代码行数:101,


示例12: main

int main(int argc, char **argv){    struct Flag *printattributes, *topo_flag, *shell_flag;    struct Option *map_opt, *field_opt, *coords_opt, *maxdistance;    struct Cell_head window;    struct GModule *module;    char buf[2000];    int i, level, ret;    int *field;    double xval, yval, xres, yres, maxd, x;    double EW_DIST1, EW_DIST2, NS_DIST1, NS_DIST2;    char nsres[30], ewres[30];    char ch;    /* Initialize the GIS calls */    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("vector"));    G_add_keyword(_("position"));    G_add_keyword(_("querying"));    module->description = _("Queries a vector map at given locations.");    map_opt = G_define_standard_option(G_OPT_V_MAPS);    field_opt = G_define_standard_option(G_OPT_V_FIELD_ALL);        coords_opt = G_define_standard_option(G_OPT_M_EN);    coords_opt->label = _("Coordinates for query");    coords_opt->description = _("If not given read from standard input");    maxdistance = G_define_option();    maxdistance->type = TYPE_DOUBLE;    maxdistance->key = "distance";    maxdistance->answer = "0";    maxdistance->multiple = NO;    maxdistance->description = _("Query threshold distance");    topo_flag = G_define_flag();    topo_flag->key = 'd';    topo_flag->description = _("Print topological information (debugging)");    topo_flag->guisection = _("Print");    printattributes = G_define_flag();    printattributes->key = 'a';    printattributes->description = _("Print attribute information");    printattributes->guisection = _("Print");    shell_flag = G_define_flag();    shell_flag->key = 'g';    shell_flag->description = _("Print the stats in shell script style");    shell_flag->guisection = _("Print");    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    if (map_opt->answers && map_opt->answers[0])	vect = map_opt->answers;    maxd = atof(maxdistance->answer);    /*       *  fprintf(stdout, maxdistance->answer);     *  fprintf(stdout, "Maxd is %f", maxd);     *  fprintf(stdout, xcoord->answer);     *  fprintf(stdout, "xval is %f", xval);     *  fprintf(stdout, ycoord->answer);     *  fprintf(stdout, "yval is %f", yval);     */    if (maxd == 0.0) {	G_get_window(&window);	x = window.proj;	G_format_resolution(window.ew_res, ewres, x);	G_format_resolution(window.ns_res, nsres, x);	EW_DIST1 =	    G_distance(window.east, window.north, window.west, window.north);	/* EW Dist at South Edge */	EW_DIST2 =	    G_distance(window.east, window.south, window.west, window.south);	/* NS Dist at East edge */	NS_DIST1 =	    G_distance(window.east, window.north, window.east, window.south);	/* NS Dist at West edge */	NS_DIST2 =	    G_distance(window.west, window.north, window.west, window.south);	xres = ((EW_DIST1 + EW_DIST2) / 2) / window.cols;	yres = ((NS_DIST1 + NS_DIST2) / 2) / window.rows;	if (xres > yres)	    maxd = xres;	else	    maxd = yres;    }    /* Look at maps given on command line */    if (vect) {	for (i = 0; vect[i]; i++)	    ;	nvects = i;//.........这里部分代码省略.........
开发者ID:AsherBond,项目名称:MondocosmOS,代码行数:101,


示例13: main

int main(int argc, char **argv){    struct Flag *printattributes, *topo_flag, *shell_flag;    struct Option *opt1, *coords_opt, *maxdistance;    struct Cell_head window;    struct GModule *module;    char *mapset;    char *str;    char buf[2000];    int i, j, level, width = 0, mwidth = 0, ret;    double xval, yval, xres, yres, maxd, x;    double EW_DIST1, EW_DIST2, NS_DIST1, NS_DIST2;    char nsres[30], ewres[30];    char ch;    /* Initialize the GIS calls */    G_gisinit(argv[0]);    module = G_define_module();    module->keywords = _("vector, querying");    module->description = _("Queries a vector map layer at given locations.");    opt1 = G_define_standard_option(G_OPT_V_MAP);    opt1->multiple = YES;    opt1->required = YES;    coords_opt = G_define_option();    coords_opt->key = "east_north";    coords_opt->type = TYPE_DOUBLE;    coords_opt->key_desc = "east,north";    coords_opt->required = NO;    coords_opt->multiple = YES;    coords_opt->label = _("Coordinates for query");    coords_opt->description = _("If not given reads from standard input");    maxdistance = G_define_option();    maxdistance->type = TYPE_DOUBLE;    maxdistance->key = "distance";    maxdistance->answer = "0";    maxdistance->multiple = NO;    maxdistance->description = _("Query threshold distance");    topo_flag = G_define_flag();    topo_flag->key = 'd';    topo_flag->description = _("Print topological information (debugging)");    printattributes = G_define_flag();    printattributes->key = 'a';    printattributes->description = _("Print attribute information");    shell_flag = G_define_flag();    shell_flag->key = 'g';    shell_flag->description = _("Print the stats in shell script style");    if ((argc > 1 || !vect) && G_parser(argc, argv))	exit(EXIT_FAILURE);    if (opt1->answers && opt1->answers[0])	vect = opt1->answers;    maxd = atof(maxdistance->answer);    /*       *  fprintf(stdout, maxdistance->answer);     *  fprintf(stdout, "Maxd is %f", maxd);     *  fprintf(stdout, xcoord->answer);     *  fprintf(stdout, "xval is %f", xval);     *  fprintf(stdout, ycoord->answer);     *  fprintf(stdout, "yval is %f", yval);     */    if (maxd == 0.0) {	G_get_window(&window);	x = window.proj;	G_format_resolution(window.ew_res, ewres, x);	G_format_resolution(window.ns_res, nsres, x);	EW_DIST1 =	    G_distance(window.east, window.north, window.west, window.north);	/* EW Dist at South Edge */	EW_DIST2 =	    G_distance(window.east, window.south, window.west, window.south);	/* NS Dist at East edge */	NS_DIST1 =	    G_distance(window.east, window.north, window.east, window.south);	/* NS Dist at West edge */	NS_DIST2 =	    G_distance(window.west, window.north, window.west, window.south);	xres = ((EW_DIST1 + EW_DIST2) / 2) / window.cols;	yres = ((NS_DIST1 + NS_DIST2) / 2) / window.rows;	if (xres > yres)	    maxd = xres;	else	    maxd = yres;    }    /* Look at maps given on command line */    if (vect) {	for (i = 0; vect[i]; i++) ;	nvects = i;//.........这里部分代码省略.........
开发者ID:imincik,项目名称:pkg-grass,代码行数:101,


示例14: main

int main(int argc, char *argv[]){    int ii;    int ret_val;    double x_orig, y_orig;    static int rand1 = 12345;    static int rand2 = 67891;    G_gisinit(argv[0]);    module = G_define_module();    G_add_keyword(_("raster"));    G_add_keyword(_("hydrology"));    G_add_keyword(_("sediment flow"));    G_add_keyword(_("erosion"));    G_add_keyword(_("deposition"));    module->description =	_("Sediment transport and erosion/deposition simulation "	  "using path sampling method (SIMWE).");    parm.elevin = G_define_standard_option(G_OPT_R_ELEV);        parm.wdepth = G_define_standard_option(G_OPT_R_INPUT);    parm.wdepth->key = "wdepth";    parm.wdepth->description = _("Name of water depth raster map [m]");    parm.dxin = G_define_standard_option(G_OPT_R_INPUT);    parm.dxin->key = "dx";    parm.dxin->description = _("Name of x-derivatives raster map [m/m]");    parm.dyin = G_define_standard_option(G_OPT_R_INPUT);    parm.dyin->key = "dy";    parm.dyin->description = _("Name of y-derivatives raster map [m/m]");        parm.detin = G_define_standard_option(G_OPT_R_INPUT);    parm.detin->key = "det";    parm.detin->description =	_("Name of detachment capacity coefficient raster map [s/m]");    parm.tranin = G_define_standard_option(G_OPT_R_INPUT);    parm.tranin->key = "tran";    parm.tranin->description =	_("Name of transport capacity coefficient raster map [s]");        parm.tauin = G_define_standard_option(G_OPT_R_INPUT);    parm.tauin->key = "tau";    parm.tauin->description =	_("Name of critical shear stress raster map [Pa]");    parm.manin = G_define_standard_option(G_OPT_R_INPUT);    parm.manin->key = "man";    parm.manin->required = NO;    parm.manin->description = _("Name of Manning's n raster map");    parm.manin->guisection = _("Input");    parm.maninval = G_define_option();    parm.maninval->key = "man_value";    parm.maninval->type = TYPE_DOUBLE;    parm.maninval->answer = MANINVAL;    parm.maninval->required = NO;    parm.maninval->description = _("Manning's n unique value");    parm.maninval->guisection = _("Input");    parm.outwalk = G_define_standard_option(G_OPT_V_OUTPUT);    parm.outwalk->key = "outwalk";    parm.outwalk->required = NO;    parm.outwalk->description =	_("Base name of the output walkers vector points map");    parm.outwalk->guisection = _("Output options");        parm.observation = G_define_standard_option(G_OPT_V_INPUT);    parm.observation->key = "observation";    parm.observation->required = NO;    parm.observation->description =	_("Name of sampling locations vector points map");    parm.observation->guisection = _("Input options");    parm.logfile = G_define_standard_option(G_OPT_F_OUTPUT);    parm.logfile->key = "logfile";    parm.logfile->required = NO;    parm.logfile->description =	_("Name for sampling points output text file. For each observation vector point the time series of sediment transport is stored.");    parm.logfile->guisection = _("Output");    parm.tc = G_define_standard_option(G_OPT_R_OUTPUT);    parm.tc->key = "tc";    parm.tc->required = NO;    parm.tc->description = _("Name for output transport capacity raster map [kg/ms]");    parm.tc->guisection = _("Output");    parm.et = G_define_standard_option(G_OPT_R_OUTPUT);    parm.et->key = "et";    parm.et->required = NO;    parm.et->description =	_("Name for output transport limited erosion-deposition raster map [kg/m2s]");    parm.et->guisection = _("Output");    parm.conc = G_define_standard_option(G_OPT_R_OUTPUT);    parm.conc->key = "conc";    parm.conc->required = NO;//.........这里部分代码省略.........
开发者ID:caomw,项目名称:grass,代码行数:101,


示例15: main

int main( int argc, char **argv ){  struct GModule *module;  struct Option *info_opt, *rast_opt, *vect_opt, *coor_opt, *north_opt, *south_opt, *east_opt, *west_opt, *rows_opt, *cols_opt;  struct Cell_head window;  /* Initialize the GIS calls */  G_gisinit( argv[0] );  module = G_define_module();  module->description = ( "Get info about locations,mapsets,maps" );  info_opt = G_define_option();  info_opt->key = "info";  info_opt->type = TYPE_STRING;  info_opt->description = "info key";  info_opt->options = "proj,window,size,query,info,colors,stats";  rast_opt = G_define_standard_option( G_OPT_R_INPUT );  rast_opt->key = "rast";  rast_opt->required = NO;  vect_opt = G_define_standard_option( G_OPT_V_INPUT );  vect_opt->key = "vect";  vect_opt->required = NO;  coor_opt = G_define_option();  coor_opt->key = "coor";  coor_opt->type = TYPE_DOUBLE;  coor_opt->multiple = YES;  north_opt = G_define_option();  north_opt->key = "north";  north_opt->type = TYPE_STRING;  south_opt = G_define_option();  south_opt->key = "south";  south_opt->type = TYPE_STRING;  east_opt = G_define_option();  east_opt->key = "east";  east_opt->type = TYPE_STRING;  west_opt = G_define_option();  west_opt->key = "west";  west_opt->type = TYPE_STRING;  rows_opt = G_define_option();  rows_opt->key = "rows";  rows_opt->type = TYPE_INTEGER;  cols_opt = G_define_option();  cols_opt->key = "cols";  cols_opt->type = TYPE_INTEGER;  if ( G_parser( argc, argv ) )    exit( EXIT_FAILURE );  if ( strcmp( "proj", info_opt->answer ) == 0 )  {    G_get_window( &window );    /* code from g.proj */    if ( window.proj != PROJECTION_XY )    {      struct Key_Value *projinfo, *projunits;      char *wkt;      projinfo = G_get_projinfo();      projunits = G_get_projunits();      wkt = GPJ_grass_to_wkt( projinfo, projunits,  0, 0 );      fprintf( stdout, "%s", wkt );    }  }  else if ( strcmp( "window", info_opt->answer ) == 0 )  {    if ( rast_opt->answer )    {      G_get_cellhd( rast_opt->answer, "", &window );      fprintf( stdout, "%f,%f,%f,%f", window.west, window.south, window.east, window.north );    }    else if ( vect_opt->answer )    {      G_fatal_error( "Not yet supported" );    }  }  // raster width and height  else if ( strcmp( "size", info_opt->answer ) == 0 )  {    if ( rast_opt->answer )    {      G_get_cellhd( rast_opt->answer, "", &window );      fprintf( stdout, "%d,%d", window.cols, window.rows );    }    else if ( vect_opt->answer )    {      G_fatal_error( "Not yet supported" );    }  }  // raster informations  else if ( strcmp( "info", info_opt->answer ) == 0 )//.........这里部分代码省略.........
开发者ID:mokerjoke,项目名称:Quantum-GIS,代码行数:101,


示例16: main

int main( int argc, char **argv ){  struct GModule *module;  struct Option *info_opt, *rast_opt, *vect_opt, *coor_opt;  struct Cell_head window;  /* Initialize the GIS calls */  G_gisinit( argv[0] );  module = G_define_module();  module->description = ( "Get info about locations,mapsets,maps" );  info_opt = G_define_option();  info_opt->key = "info";  info_opt->type = TYPE_STRING;  info_opt->description = "info key";  info_opt->options = "proj,window,query";  rast_opt = G_define_standard_option( G_OPT_R_INPUT );  rast_opt->key = "rast";  rast_opt->required = NO;  vect_opt = G_define_standard_option( G_OPT_V_INPUT );  vect_opt->key = "vect";  vect_opt->required = NO;  coor_opt = G_define_option();  coor_opt->key = "coor";  coor_opt->type = TYPE_DOUBLE;  coor_opt->multiple = YES;  if ( G_parser( argc, argv ) )    exit( EXIT_FAILURE );  if ( strcmp( "proj", info_opt->answer ) == 0 )  {    G_get_window( &window );    /* code from g.proj */    if ( window.proj != PROJECTION_XY )    {      struct Key_Value *projinfo, *projunits;      char *wkt;      projinfo = G_get_projinfo();      projunits = G_get_projunits();      wkt = GPJ_grass_to_wkt( projinfo, projunits,  0, 0 );      fprintf( stdout, "%s", wkt );    }  }  else if ( strcmp( "window", info_opt->answer ) == 0 )  {    if ( rast_opt->answer )    {      G_get_cellhd( rast_opt->answer, "", &window );      fprintf( stdout, "%f,%f,%f,%f", window.west, window.south, window.east, window.north );    }    else if ( vect_opt->answer )    {      G_fatal_error( "Not yet supported" );    }  }  else if ( strcmp( "query", info_opt->answer ) == 0 )  {    double x, y;    int row, col;    x = atof( coor_opt->answers[0] );    y = atof( coor_opt->answers[1] );    if ( rast_opt->answer )    {      int fd;      RASTER_MAP_TYPE rast_type;      DCELL *dcell;      CELL *cell;      G_get_cellhd( rast_opt->answer, "", &window );      G_set_window( &window );      fd = G_open_cell_old( rast_opt->answer, "" );      col = ( int ) G_easting_to_col( x, &window );      row = ( int ) G_northing_to_row( y, &window );      if ( col == window.cols ) col--;      if ( row == window.rows ) row--;      if ( col < 0 || col > window.cols || row < 0 || row > window.rows )      {        fprintf( stdout, "value:null/n" );      }      else      {        void *ptr;        double val;#if defined(GRASS_VERSION_MAJOR) && defined(GRASS_VERSION_MINOR) && /    ( ( GRASS_VERSION_MAJOR == 6 && GRASS_VERSION_MINOR > 2 ) || GRASS_VERSION_MAJOR > 6 )        rast_type = G_get_raster_map_type( fd );#else        rast_type = G_raster_map_type( rast_opt->answer, "" );#endif        cell = G_allocate_c_raster_buf();        dcell = G_allocate_d_raster_buf();        if ( rast_type == CELL_TYPE )//.........这里部分代码省略.........
开发者ID:mmubangizi,项目名称:qgis,代码行数:101,


示例17: main

int main(int argc, char *argv[]){    struct GModule *module;    struct Option *input, *vect;    struct Cell_head window;    int bot, right, t0, b0, l0, r0, clear = 0;    double Rw_l, Rscr_wl;    char *map_name = NULL, *v_name = NULL, *s_name = NULL;    /* Initialize the GIS calls */    G_gisinit(argv[0]);    /* must run in a term window */    G_putenv("GRASS_UI_TERM", "1");    module = G_define_module();    module->keywords = _("raster, landscape structure analysis, patch index");    module->description =	_("Interactive tool used to setup the sampling and analysis framework "	 "that will be used by the other r.le programs.");    input = G_define_standard_option(G_OPT_R_MAP);    input->description = _("Raster map to use to setup sampling");    vect = G_define_standard_option(G_OPT_V_INPUT);    vect->key = "vect";    vect->description = _("Vector map to overlay");    vect->required = NO;    if (G_parser(argc, argv))	exit(EXIT_FAILURE);    setbuf(stdout, NULL);	/* unbuffered */    setbuf(stderr, NULL);    G_sleep_on_error(1);	/* error messages get lost on clear screen */    map_name = input->answer;    v_name = vect->answer;    s_name = NULL;		/* sites not used in GRASS 6 */    /* setup the r.le.para directory */    get_pwd();    /* query for the map to be setup */    if (R_open_driver() != 0)	G_fatal_error("No graphics device selected");    /* setup the current window for display & clear screen */    D_setup(1);    Rw_l = (double)G_window_cols() / G_window_rows();    /*R_open_driver(); */    /* R_font("romant"); */    G_get_set_window(&window);    t0 = R_screen_top();    b0 = R_screen_bot();    l0 = R_screen_left();    r0 = R_screen_rite();    Rscr_wl = (double)(r0 - l0) / (b0 - t0);    if (Rscr_wl > Rw_l) {	bot = b0;	right = l0 + (b0 - t0) * Rw_l;    }    else {	right = r0;	bot = t0 + (r0 - l0) / Rw_l;    }    D_new_window("a", t0, bot, l0, right);    D_set_cur_wind("a");    D_show_window(D_translate_color("green"));    D_setup(clear);    R_close_driver();    /* invoke the setup modules */    set_map(map_name, v_name, s_name, window, t0, bot, l0, right);    return (EXIT_SUCCESS);}
开发者ID:imincik,项目名称:pkg-grass,代码行数:85,



注:本文中的G_gisinit函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ G_mapset函数代码示例
C++ G_free函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。