本文整理汇总了C++中CMargShiftLeft函数的典型用法代码示例。如果您正苦于以下问题:C++ CMargShiftLeft函数的具体用法?C++ CMargShiftLeft怎么用?C++ CMargShiftLeft使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CMargShiftLeft函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MFOptionParse
int MFOptionParse (int argc, char *argv []) {
int argNum = argc, argPos, i;
int MFLoadConfig (const char *,int (*) (const char *, const char *));
for (argPos = 1;argPos < argNum;) {
if (CMargTest (argv [argPos],"-p","--option")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing option argument!\n");
return (CMfailed);
}
for (i = 0;i < (int) strlen (argv[argPos]);++i) if (argv [argPos][i] == '=') break;
if (i == (int) strlen (argv [argPos])) {
CMmsgPrint (CMmsgAppError,"Illformed option [%s]!\n",argv [argPos]);
return (CMfailed);
}
argv [argPos][i] = '\0';
_MFOptionNew (argv [argPos],argv [argPos] + i + 1);
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-pl","--option-listfile")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing option argument!\n");
return (CMfailed);
}
MFLoadConfig (argv [argPos],_MFOptionNew);
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
argPos++;
}
return (argNum);
}
示例2: main
int main (int argc, char *argv [])
{
int argPos, argNum = argc, ret = CMfailed, port=CMfailed, socket=CMfailed;
for (argPos = 1;argPos < argNum;) {
if (CMargTest(argv[argPos],"-p","--port")) {
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
if (port != CMfailed) CMmsgPrint (CMmsgUsrError,"Skipping port redefinition!");
else {
}
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-s","--socket")) {
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
if (socket != CMfailed) CMmsgPrint (CMmsgUsrError,"Skipping socket redefinition!");
else {
}
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
Help: if (CMargTest(argv[argPos],"-h","--help")) {
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) < argPos) break;
CMmsgPrint (CMmsgUsrError,"%s [options]",CMprgName(argv[0]));
CMmsgPrint (CMmsgUsrError," -p, --port");
CMmsgPrint (CMmsgUsrError," -s, --socket");
CMmsgPrint (CMmsgUsrError," -h,--help");
ret = CMsucceeded;
goto Stop;
}
if ((argv [argPos][0] == '-') && (strlen (argv [argPos]) > 1)) {
CMmsgPrint (CMmsgUsrError,"Unknown option: %s!",argv [argPos]);
goto Stop;
}
argPos++;
}
if (argNum > 1) { CMmsgPrint (CMmsgUsrError,"Extra arguments!"); return (CMfailed); }
{
DBObjData *data;
}
ret = CMsucceeded;
Stop:
return (ret);
}
示例3: main
int main(int argc, char* argv[])
{
int argPos = 0, argNum = argc, ncid;
char *fname = (char *) NULL, *tname = "time";
FILE *output = stdout;
NCtable_t *tbl = (NCtable_t *) NULL;
initMemInfo();
for(argPos = 1; argPos < argNum;) {
if (CMargTest(argv[argPos],"-d","--debug"))
{
SetDebug();
CMargShiftLeft(argPos,argv,argc);
argNum--;
continue;
}
if (CMargTest(argv[argPos],"-h","--help")) {
if((argPos + 1 < argNum) && (argv[argPos+1][0] == 'e')) doHelp (CMprgName(argv[0]),true);
else doHelp (CMprgName (argv[0]),false);
cleanup(NCsucceeded);
}
if (CMargTest(argv[argPos],"-t","--table"))
{
CMargShiftLeft(argPos,argv,argc); argNum--;
tname = argv[argPos];
CMargShiftLeft(argPos,argv,argc); argNum--;
continue;
}
if (CMargTest(argv[argPos],"-f","--file"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing file!"); return (CMfailed); }
fname = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-o","--output"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing output!"); return (CMfailed); }
if(output != stdout) { CMmsgPrint (CMmsgUsrError, "Output file defined twice!"); cleanup(NCfailed); }
if((output = fopen(argv[argPos],"w")) == (FILE *) NULL)
{ CMmsgPrint (CMmsgUsrError, "Cannot open for writing: %s",argv[argPos]); cleanup(NCfailed); }
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if ((argv[argPos][0] == '-') && (strlen (argv[argPos]) > 1))
{ CMmsgPrint (CMmsgUsrError, "Unknown option: %s!",argv[argPos]); cleanup(NCfailed); }
argPos++;
}
if(fname == (char *) NULL) { doHelp(argv[0],false); CMmsgPrint (CMmsgUsrError, "No file specified!"); cleanup(NCfailed); }
if(nc_open(fname,NC_NOWRITE,&ncid) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "Error opening file!"); cleanup(NCfailed); }
if((tbl = NCtableOpen(ncid,tname)) == (NCtable_t *) NULL) { CMmsgPrint (CMmsgUsrError, "Error opening table!"); cleanup(NCfailed); }
if(GetDebug()) CMmsgPrint (CMmsgUsrError, "Loaded file!");
NCtableExportAscii(tbl,output);
cleanup(NCsucceeded);
}
示例4: main
int main (int argc,char *argv [])
{
int argPos, argNum = argc, ret, verbose = false;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
DBInt stepNum = 0, offset = 0, doSum = false;
DBObjData *tsData, *data;
for (argPos = 1;argPos < argNum; )
{
if (CMargTest (argv [argPos],"-a","--aggregate"))
{
int sumCodes [] = { false, true };
const char *sumStrs [] = { "avg", "sum", (char *) NULL };
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing aggregation method!"); return (CMfailed); }
if ((doSum = CMoptLookup (sumStrs,argv [argPos],true)) == DBFault)
{ CMmsgPrint (CMmsgUsrError,"Invalid aggregation method!"); return (CMfailed); }
doSum = sumCodes [doSum];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-o","--offset"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing offset!"); return (CMfailed); }
if (sscanf (argv [argPos],"%d",&offset) != 1)
{ CMmsgPrint (CMmsgUsrError,"Invalid number of steps!"); return (CMfailed); }
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-e","--step"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing number of steps!"); return (CMfailed); }
if (sscanf (argv [argPos],"%d",&stepNum) != 1)
{ CMmsgPrint (CMmsgUsrError,"Invalid number of steps!"); return (CMfailed); }
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-t","--title"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing title!"); return (CMfailed); }
title = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-u","--subject"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing subject!"); return (CMfailed); }
subject = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-d","--domain"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing domain!"); return (CMfailed); }
domain = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-v","--version"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing version!"); return (CMfailed); }
version = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-V","--verbose"))
{
verbose = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-h","--help"))
{
CMmsgPrint (CMmsgSysError,"%s [options] <input grid> <output grid>",CMprgName(argv[0]));
CMmsgPrint (CMmsgSysError," -a,--aggregate [avg|sum]");
CMmsgPrint (CMmsgSysError," -o,--offset [offset]");
CMmsgPrint (CMmsgSysError," -e,--step [number of steps]");
CMmsgPrint (CMmsgSysError," -t,--title [dataset title]");
CMmsgPrint (CMmsgSysError," -u,--subject [subject]");
CMmsgPrint (CMmsgSysError," -d,--domain [domain]");
CMmsgPrint (CMmsgSysError," -v,--version [version]");
CMmsgPrint (CMmsgSysError," -V,--verbose");
CMmsgPrint (CMmsgSysError," -h,--help");
return (DBSuccess);
}
if ((argv [argPos][0] == '-') && (strlen (argv [argPos]) > 1))
{ CMmsgPrint (CMmsgUsrError,"Unknown option: %s!",argv [argPos]); return (CMfailed); }
argPos++;
}
if (argNum > 3) { CMmsgPrint (CMmsgUsrError,"Extra arguments!"); return (CMfailed); }
//.........这里部分代码省略.........
示例5: main
int main (int argc,char *argv [])
{
int argPos, argNum = argc, ret, verbose = false;
bool downhill = true;
char *title = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
DBObjData *outData, *inData, *basinData = (DBObjData *) NULL;
DBInt DBGridCont2Network (DBObjData *,DBObjData *, bool);
for (argPos = 1;argPos < argNum; )
{
if (CMargTest(argv[argPos],"-b","--basin_pack")) {
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing basin pack filename!"); return (CMfailed); }
else {
if (basinData != (DBObjData *) NULL)
CMmsgPrint (CMmsgWarning,"Ignoring redefined basin pack");
else {
basinData = new DBObjData ();
if (basinData->Read (argv [argPos]) == DBFault) {
CMmsgPrint (CMmsgUsrError, "Basin data reading error");
delete basinData;
basinData = (DBObjData *) NULL;
return (CMfailed);
}
}
}
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-g","--gradient")) {
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing gradient method!"); return (CMfailed); }
else {
const char *options [] = { "down", "up", (char *) NULL };
bool methods [] = { true, false };
DBInt code;
if ((code = CMoptLookup (options,argv [argPos],false)) == CMfailed) {
CMmsgPrint (CMmsgWarning,"Ignoring illformed gradient method [%s]!",argv [argPos]);
}
else downhill = methods [code];
}
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-t","--title"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing title!"); return (CMfailed); }
title = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-d","--domain"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing domain!"); return (CMfailed); }
domain = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-v","--version"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing version!"); return (CMfailed); }
version = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-V","--verbose"))
{
verbose = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-h","--help"))
{
CMmsgPrint (CMmsgInfo,"%s [options] <input file> <output file>",CMprgName(argv[0]));
CMmsgPrint (CMmsgInfo," -b,--basin_pack [basin pack file]");
CMmsgPrint (CMmsgInfo," -g,--gradient [down|up]");
CMmsgPrint (CMmsgInfo," -t,--title [dataset title]");
CMmsgPrint (CMmsgInfo," -d,--domain [domain]");
CMmsgPrint (CMmsgInfo," -v,--version [version]");
CMmsgPrint (CMmsgInfo," -V,--verbose");
CMmsgPrint (CMmsgInfo," -h,--help");
return (DBSuccess);
}
if ((argv [argPos][0] == '-') && ((int) strlen (argv [argPos]) > 1))
{ CMmsgPrint (CMmsgUsrError,"Unknown option: %s!",argv [argPos]); return (CMfailed); }
argPos++;
}
if (argNum > 3) { CMmsgPrint (CMmsgUsrError,"Extra arguments!"); return (CMfailed); }
if (verbose) RGlibPauseOpen (argv[0]);
inData = new DBObjData ();
ret = (argNum > 1) && (strcmp (argv [1],"-") != 0) ? inData->Read (argv [1]) : inData->Read (stdin);
//.........这里部分代码省略.........
示例6: main
int main(int argc, char* argv[])
{
int argPos, argNum = argc, ret, verbose = false;
int layerID, kernel = 3, offset = 0, i, layerNum, beginLayerID, endLayerID, num;
DBPosition pos;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
int shadeSet = DBDataFlagDispModeContGreyScale;
DBFloat value, sum;
DBObjData *inData, *outData;
DBGridIF *inGridIF, *outGridIF;
DBObjRecord *inLayerRec, *outLayerRec;
for (argPos = 1;argPos < argNum; )
{
if (CMargTest (argv [argPos],"-k","--kernelsize"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing kernel size!"); return (CMfailed); }
if (sscanf (argv[argPos],"%d",&kernel) != 1)
{
CMmsgPrint (CMmsgUsrError,"Invalid kernel size!");
return (CMfailed);
}
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-f","--kerneloffset"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing kernel offset!"); return (CMfailed); }
if (sscanf (argv[argPos],"%d",&offset) != 1)
{
CMmsgPrint (CMmsgUsrError,"Invalid kernel offset!");
return (CMfailed);
}
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-t","--title"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing title!"); return (CMfailed); }
title = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-u","--subject"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing subject!"); return (CMfailed); }
subject = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-d","--domain"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing domain!"); return (CMfailed); }
domain = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-v","--version"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing version!"); return (CMfailed); }
version = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-s","--shadeset"))
{
int shadeCodes [] = { DBDataFlagDispModeContStandard,
DBDataFlagDispModeContGreyScale,
DBDataFlagDispModeContBlueScale,
DBDataFlagDispModeContBlueRed,
DBDataFlagDispModeContElevation };
const char *shadeSets [] = { "standard","grey","blue","blue-to-red","elevation", (char *) NULL };
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing shadeset!"); return (CMfailed); }
if ((shadeSet = CMoptLookup (shadeSets,argv [argPos],true)) == CMfailed)
{ CMmsgPrint (CMmsgUsrError,"Invalid shadeset!"); return (CMfailed); }
shadeSet = shadeCodes [shadeSet];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-V","--verbose"))
{
verbose = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-h","--help"))
{
CMmsgPrint (CMmsgInfo,"%s [options] <input grid> <output grid>",CMfileName(argv[0]));
CMmsgPrint (CMmsgInfo," -k,--kernelsize");
CMmsgPrint (CMmsgInfo," -f,--kerneloffset");
//.........这里部分代码省略.........
示例7: main
int main (int argc,char *argv [])
{
int argPos, argNum = argc, ret, verbose = false;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
char *networkName = (char *) NULL;
DBObjData *data, *netData, *grdData;
for (argPos = 1;argPos < argNum; )
{
if (CMargTest (argv [argPos],"-n","--network"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing network!"); return (CMfailed); }
networkName = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-t","--title"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing title!"); return (CMfailed); }
title = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-u","--subject"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing subject!"); return (CMfailed); }
subject = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-d","--domain"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing domain!"); return (CMfailed); }
domain = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-v","--version"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing version!"); return (CMfailed); }
version = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-V","--verbose"))
{
verbose = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-h","--help"))
{
CMmsgPrint (CMmsgInfo,"%s [options] <input grid> <output grid>",CMfileName(argv[0]));
CMmsgPrint (CMmsgInfo," -n,--network [network]");
CMmsgPrint (CMmsgInfo," -t,--title [dataset title]");
CMmsgPrint (CMmsgInfo," -u,--subject [subject]");
CMmsgPrint (CMmsgInfo," -d,--domain [domain]");
CMmsgPrint (CMmsgInfo," -v,--version [version]");
CMmsgPrint (CMmsgInfo," -V,--verbose");
CMmsgPrint (CMmsgInfo," -h,--help");
return (DBSuccess);
}
if ((argv [argPos][0] == '-') && (strlen (argv [argPos]) > 1))
{ CMmsgPrint (CMmsgUsrError,"Unknown option: %s!",argv [argPos]); return (CMfailed); }
argPos++;
}
if (argNum > 3) { CMmsgPrint (CMmsgUsrError,"Extra arguments!"); return (CMfailed); }
if (verbose) RGlibPauseOpen (argv[0]);
if (networkName == (char *) NULL)
{ CMmsgPrint (CMmsgUsrError,"Network is not specified"); return (CMfailed); }
netData = new DBObjData ();
if ((netData->Read (networkName) == DBFault) || (netData->Type () != DBTypeNetwork))
{ delete netData; return (CMfailed); }
grdData = new DBObjData ();
ret = (argNum > 1) && (strcmp (argv [1],"-") != 0) ? grdData->Read (argv [1]) : grdData->Read (stdin);
if ((ret == DBFault) || (grdData->Type () != DBTypeGridContinuous))
{ delete netData; delete grdData; return (CMfailed); }
if (title == (char *) NULL) title = (char *) "Basin Histogram";
if (subject == (char *) NULL) subject = grdData->Document (DBDocSubject);
if (domain == (char *) NULL) domain = netData->Document (DBDocGeoDomain);
if (version == (char *) NULL) version = (char *) "0.01pre";
data = new DBObjData (title,DBTypeTable);
data->Document (DBDocSubject,subject);
data->Document (DBDocGeoDomain,domain);
data->Document (DBDocVersion,version);
if ((ret = RGlibNetworkHistogram (netData,grdData,data)) == DBSuccess)
//.........这里部分代码省略.........
示例8: main
int main (int argc,char *argv [])
{
int argPos, argNum = argc, ncid, varid;
double range[2];
char *title = NULL, *type = NULL, *domain = NULL, *subject = NULL, *ref = NULL, *inst = NULL, *source = NULL, *comments = NULL;
VarNode_t *head, *last;
if((last = head = malloc(sizeof(VarNode_t))) == (VarNode_t *) NULL)
{ CMmsgPrint (CMmsgAppError, "Memory allocation error in: %s %d",__FILE__,__LINE__); return(NCfailed); }
for (argPos = 1;argPos < argNum;)
{
if (CMargTest(argv[argPos],"-h","--help"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{
doHelp(CMfileName(argv[0]),0);
break;
}
else
doHelp(CMfileName(argv[0]),(strcmp(argv[argPos],"extend") == 0) ||
(strcmp(argv[argPos],"e") == 0));
continue;
}
if (CMargTest(argv[argPos],"-l","--longname"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing variable Name!"); return (CMfailed); }
last->text = true;
last->var = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing Long Name!"); return (CMfailed); }
last->dat = argv[argPos];
last->attrib = NCnameVALongName;
if((last = last->next = malloc(sizeof(VarNode_t))) == NULL)
{ CMmsgPrint (CMmsgSysError, "Memory allocation error in: %s %d",__FILE__,__LINE__); return(NCfailed); }
last->dat = last->dat2 = (char *) NULL;
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-n","--standardname"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing variable Name!"); return (CMfailed); }
last->text = true;
last->var = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing Standard Name!"); return (CMfailed); }
last->dat = argv[argPos];
last->attrib = NCnameVAStandardName;
if((last = last->next = malloc(sizeof(VarNode_t))) == NULL)
{ CMmsgPrint (CMmsgSysError, "Memory allocation error in: %s %d"); return(CMfailed); }
last->dat = last->dat2 = (char *) NULL;
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-U","--units"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing variable!"); return (CMfailed); }
last->text = true;
last->var = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing Units!"); return (CMfailed); }
last->dat = argv[argPos];
last->attrib = NCnameVAUnits;
if((last = last->next = malloc(sizeof(VarNode_t))) == NULL)
{ CMmsgPrint (CMmsgSysError, "Memory allocation error in: %s %d",__FILE__,__LINE__); return(NCfailed); }
last->dat = last->dat2 = (char *) NULL;
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-v","--validrange"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing variable!"); return (CMfailed); }
// ******************** CHECK HERE!!! ************************
last->text = false;
last->var = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing upper range!"); return (CMfailed); }
last->dat = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing lower range!"); return (CMfailed); }
last->dat2 = argv[argPos];
last->attrib = NCnameVAValidRange;
if((last = last->next = malloc(sizeof(VarNode_t))) == NULL)
{ CMmsgPrint (CMmsgSysError, "Memory allocation error in: %s %d",__FILE__,__LINE__); return(NCfailed); }
last->dat = last->dat2 = (char *) NULL;
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break;
continue;
}
if (CMargTest(argv[argPos],"-o","--offset"))
{
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing variable!"); return (CMfailed); }
last->text = false;
last->var = argv[argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos)
{ CMmsgPrint (CMmsgUsrError, "Missing offset!"); return (CMfailed); }
last->dat = argv[argPos];
last->attrib = NCnameVAAddOffset;
//.........这里部分代码省略.........
示例9: _MFModelParse
static int _MFModelParse (int argc, char *argv [],int argNum, int (*conf) ()) {
FILE *inFile;
bool testOnly = false;
int argPos, ret, help = false;
int i, varID, intVal;
float floatVal;
char *startDate = (char *) NULL, *endDate = (char *) NULL;
MFVariable_t *var;
int MFLoadConfig (const char *,int (*) (const char *, const char *, bool));
bool _MFOptionNew (char *,char *), _MFOptionTestInUse ();
for (argPos = 1;argPos < argNum;) {
if (CMargTest (argv [argPos],"-i","--input")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing input argument!\n");
return (CMfailed);
}
for (i = 0;i < (int) strlen (argv[argPos]);++i) if (argv [argPos][i] == '=') break;
if (i == (int) strlen (argv [argPos])) {
CMmsgPrint (CMmsgUsrError,"Illformed input variable [%s] in: %s:%d\n",argv [argPos],__FILE__,__LINE__);
return (CMfailed);
}
argv [argPos][i] = '\0';
if (MFVarSetPath (argv [argPos],argv [argPos] + i + 1, false, MFInput) == (MFVariable_t *) NULL) return (CMfailed);
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-o","--output")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing _MFModelOutput argument!\n");
return (CMfailed);
}
for (i = 0;i < (int) strlen (argv[argPos]);++i) if (argv [argPos][i] == '=') break;
if (i == (int) strlen (argv [argPos])) {
CMmsgPrint (CMmsgUsrError,"Illformed _MFModelOutput variable [%s]!\n",argv [argPos]);
return (CMfailed);
}
argv [argPos][i] = '\0';
if (_MFModelOutputNew (argv [argPos],argv [argPos] + i + 1,false) == CMfailed) return (CMfailed);
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-t","--state")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing _MFModelOutput argument!\n");
return (CMfailed);
}
for (i = 0;i < (int) strlen (argv[argPos]);++i) if (argv [argPos][i] == '=') break;
if (i == (int) strlen (argv [argPos])) {
CMmsgPrint (CMmsgUsrError,"Illformed _MFModelOutput variable [%s]!\n",argv [argPos]);
return (CMfailed);
}
argv [argPos][i] = '\0';
if (_MFModelOutputNew (argv [argPos],argv [argPos] + i + 1, true) == CMfailed) return (CMfailed);
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-s","--start")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing start time!\n");
return (CMfailed);
}
startDate = argv [argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-n","--end")) {
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing end time!\n");
return (CMfailed);
}
endDate = argv [argPos];
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-T","--testonly")) {
testOnly = true;
if ((argNum = CMargShiftLeft(argPos,argv,argNum)) <= argPos) break;
}
if (CMargTest (argv [argPos],"-m","--message")) {
const char *types [] = { "sys_error", "app_error", "usr_error", "debug", "warning", "info", (char *) NULL };
CMmsgType msgTypes [] = { CMmsgSysError, CMmsgAppError, CMmsgUsrError, CMmsgDebug, CMmsgWarning, CMmsgInfo };
int type;
const char *modes [] = { "file:", "on", "off", (char *) NULL };
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) < 1) {
CMmsgPrint (CMmsgUsrError,"Missing message argument!\n");
return (CMfailed);
}
if ((type = CMoptLookup (types,argv [argPos],false)) == CMfailed) {
CMmsgPrint (CMmsgWarning,"Ignoring illformed message [%s]!\n",argv [argPos]);
}
else {
switch (CMoptLookup (modes, argv [argPos] + strlen (types [type]) + 1, false)) {
case 0: CMmsgSetStreamFile (msgTypes [type], argv [argPos] + strlen (types [type]) + 1 + strlen (modes [0]));
case 1: CMmsgSetStatus (msgTypes [type], true); break;
case 2: CMmsgSetStatus (msgTypes [type], false); break;
default:
CMmsgPrint (CMmsgWarning,"Ignoring illformed message [%s]!\n",argv [argPos]);
//.........这里部分代码省略.........
示例10: main
int main (int argc,char *argv [])
{
int argPos, argNum = argc, ret, verbose = false;
DBInt fromSelection = false, recID;
char *tableName = (char *) NULL;
char *expr = (char *) NULL;
DBMathOperand *operand;
DBObjectLIST<DBObject> *variables = new DBObjectLIST<DBObject> ("Variables");
DBObjData *data;
DBObjTable *table, *saveTable, *groups = (DBObjTable *) NULL, *saveGroups;
DBObjRecord *record;
for (argPos = 1;argPos < argNum; )
{
if (CMargTest (argv [argPos],"-a","--table"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing table name!"); return (CMfailed); }
tableName = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-c","--condition"))
{
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos)
{ CMmsgPrint (CMmsgUsrError,"Missing expression!"); return (CMfailed); }
if (expr != (char *) NULL) { CMmsgPrint (CMmsgUsrError,"Expression is already set"); return (CMfailed); }
expr = argv [argPos];
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-s","--selection"))
{
fromSelection = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-V","--verbose"))
{
verbose = true;
if ((argNum = CMargShiftLeft (argPos,argv,argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv [argPos],"-h","--help"))
{
CMmsgPrint (CMmsgInfo,"%s [options] <input file> <output file>",CMfileName(argv[0]));
CMmsgPrint (CMmsgInfo," -a,--table [table name]");
CMmsgPrint (CMmsgInfo," -c,--condition [expression]");
CMmsgPrint (CMmsgInfo," -s,--selection");
CMmsgPrint (CMmsgInfo," -V,--verbose");
CMmsgPrint (CMmsgInfo," -h,--help");
return (DBSuccess);
}
if ((argv [argPos][0] == '-') && ((int) strlen (argv [argPos]) > 1))
{ CMmsgPrint (CMmsgUsrError,"Unknown option: %s!",argv [argPos]); return (CMfailed); }
argPos++;
}
if (argNum > 3) { CMmsgPrint (CMmsgUsrError,"Extra arguments!"); return (CMfailed); }
if (verbose) RGlibPauseOpen (argv[0]);
if (expr != (char *) NULL)
{
operand = new DBMathOperand (expr);
if (operand->Expand (variables) == DBFault) return (CMfailed);
}
data = new DBObjData ();
if (((argNum > 1) && (strcmp (argv [1],"-") != 0) ? data->Read (argv [1]) : data->Read (stdin)) == DBFault)
{ delete data; delete operand; return (CMfailed); }
if (tableName == (char *) NULL) tableName = DBrNItems;
if ((table = data->Table (tableName)) == (DBObjTable *) NULL)
{ CMmsgPrint (CMmsgUsrError,"Invalid table!"); delete data; delete operand; return (CMfailed); }
saveTable = new DBObjTable (*table);
table->DeleteAll ();
if ((strcmp (tableName,DBrNItems) == 0) && ((groups = data->Table (DBrNGroups)) != (DBObjTable *) NULL))
{
saveGroups = new DBObjTable (*groups);
groups->DeleteAll ();
}
if (expr != (char *) NULL)
{
if (operand->Configure (saveTable->Fields()) == DBFault)
{ delete data; delete operand; return (CMfailed); }
for (recID = 0;recID < saveTable->ItemNum ();++recID)
{
record = saveTable->Item (recID);
if ((ret = operand->Int (record)) == true)
{
if (!fromSelection) continue;
if ((record->Flags () & DBObjectFlagSelected) == DBObjectFlagSelected) continue;
}
table->Add (new DBObjRecord (*record));
if (groups != (DBObjTable *) NULL) groups->Add (new DBObjRecord (*(saveGroups->Item (recID))));
//.........这里部分代码省略.........
示例11: main
int main(int argc, char *argv[]) {
FILE *outFile;
DBInt argPos, argNum = argc, ret;
char *tmplName = (char *) NULL, *fieldName = (char *) NULL;
DBObjData *grdData, *tmplData = (DBObjData *) NULL;
for (argPos = 1; argPos < argNum;) {
if (CMargTest (argv[argPos], "-m", "--template")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing network!");
return (CMfailed);
}
tmplName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-f", "--field")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing fieldname!");
return (CMfailed);
}
fieldName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-h", "--help")) {
CMmsgPrint(CMmsgInfo, "%s [options] <input grid> <output datastream>", CMfileName(argv[0]));
CMmsgPrint(CMmsgInfo, " -m,--template [template coverage]");
CMmsgPrint(CMmsgInfo, " -f,--field [fieldname]");
CMmsgPrint(CMmsgInfo, " -h,--help");
return (DBSuccess);
}
if ((argv[argPos][0] == '-') && (strlen(argv[argPos]) > 1)) {
CMmsgPrint(CMmsgUsrError, "Unknown option: %s!", argv[argPos]);
return (CMfailed);
}
argPos++;
}
if (argNum > 3) {
CMmsgPrint(CMmsgUsrError, "Extra arguments!");
return (CMfailed);
}
outFile = (argNum > 2) && (strcmp(argv[2], "-") != 0) ? fopen(argv[2], "w") : stdout;
if (outFile == (FILE *) NULL) {
CMmsgPrint(CMmsgSysError, "Output file Opening error in: %s %d", __FILE__, __LINE__);
exit(DBFault);
}
grdData = new DBObjData();
ret = (argNum > 1) && (strcmp(argv[1], "-") != 0) ? grdData->Read(argv[1]) : grdData->Read(stdin);
if ((ret == DBFault) || ((grdData->Type() & DBTypeGrid) != DBTypeGrid)) {
delete grdData;
if (outFile != stdout) fclose(outFile);
return (CMfailed);
}
if (tmplName != (char *) NULL) {
tmplData = new DBObjData();
if (tmplData->Read(tmplName) == DBFault) {
delete grdData;
if (outFile != stdout) fclose(outFile);
delete tmplData;
return (CMfailed);
}
}
ret = RGlibRGIS2DataStream(grdData, tmplData, fieldName, outFile);
if (tmplData != (DBObjData *) NULL) delete tmplData;
delete grdData;
if (outFile != stdout) fclose(outFile);
return (ret);
}
示例12: main
int main(int argc, char *argv[]) {
int argPos, argNum = argc, ret, data, dataNum = 0, verbose = false;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
char *output = (char *) NULL, **dataList = (char **) NULL;
DBObjData *grdData, *appData;
for (argPos = 1; argPos < argNum;) {
if (CMargTest (argv[argPos], "-o", "--output")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing output grid!");
return (CMfailed);
}
output = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-t", "--title")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing title!");
return (CMfailed);
}
title = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-u", "--subject")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing subject!");
return (CMfailed);
}
subject = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-d", "--domain")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing domain!");
return (CMfailed);
}
domain = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-v", "--version")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing version!");
return (CMfailed);
}
version = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-V", "--verbose")) {
verbose = true;
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-h", "--help")) {
CMmsgPrint(CMmsgInfo, "%s [options] <append grid0> ..... <append gridN>", CMfileName(argv[0]));
CMmsgPrint(CMmsgInfo, " -o,--output [ouptput grid]");
CMmsgPrint(CMmsgInfo, " -t,--title [dataset title]");
CMmsgPrint(CMmsgInfo, " -u,--subject [subject]");
CMmsgPrint(CMmsgInfo, " -d,--domain [domain]");
CMmsgPrint(CMmsgInfo, " -v,--version [version]");
CMmsgPrint(CMmsgInfo, " -V,--verbose");
CMmsgPrint(CMmsgInfo, " -h,--help");
return (DBSuccess);
}
if ((argv[argPos][0] == '-') && (strlen(argv[argPos]) > 1)) {
CMmsgPrint(CMmsgUsrError, "Unknown option: %s!", argv[argPos]);
return (CMfailed);
}
argPos++;
}
if (argNum < 2) {
CMmsgPrint(CMmsgUsrError, "Nothing to append");
return (DBFault);
}
dataNum = argNum - 1;
if ((dataList = (char **) realloc(dataList, dataNum * sizeof(char *))) == (char **) NULL) {
CMmsgPrint(CMmsgSysError, "Memory allocation error in: %s %d", __FILE__, __LINE__);
return (DBFault);
}
for (data = 0; data < dataNum; ++data) {
dataList[data] = argv[data + 1];
}
if (verbose) RGlibPauseOpen(argv[0]);
grdData = new DBObjData();
ret = (strcmp(dataList[0], "-") != 0) ? grdData->Read(dataList[0]) : grdData->Read(stdin);
if ((ret == DBFault) || ((grdData->Type() & DBTypeGrid) != DBTypeGrid)) {
delete grdData;
return (CMfailed);
}
if (title != (char *) NULL) grdData->Name(title);
if (subject != (char *) NULL) grdData->Document(DBDocSubject, subject);
if (domain != (char *) NULL) grdData->Document(DBDocGeoDomain, domain);
//.........这里部分代码省略.........
示例13: main
int main(int argc, char *argv[]) {
int argPos, argNum = argc, ret, verbose = false;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
DBObjData *srcData, *dstData;
for (argPos = 1; argPos < argNum;) {
if (CMargTest (argv[argPos], "-t", "--title")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing title!");
return (CMfailed);
}
title = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-u", "--subject")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing subject!");
return (CMfailed);
}
subject = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-d", "--domain")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing domain!");
return (CMfailed);
}
domain = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-v", "--version")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing version!");
return (CMfailed);
}
version = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-V", "--verbose")) {
verbose = true;
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-h", "--help")) {
CMmsgPrint(CMmsgInfo, "%s [options] <input grid> <output grid>", CMfileName(argv[0]));
CMmsgPrint(CMmsgInfo, " -t,--title [dataset title]");
CMmsgPrint(CMmsgInfo, " -u,--subject [subject]");
CMmsgPrint(CMmsgInfo, " -d,--domain [domain]");
CMmsgPrint(CMmsgInfo, " -v,--version [version]");
CMmsgPrint(CMmsgInfo, " -V,--verbose");
CMmsgPrint(CMmsgInfo, " -h,--help");
return (DBSuccess);
}
if ((argv[argPos][0] == '-') && (strlen(argv[argPos]) > 1)) {
CMmsgPrint(CMmsgUsrError, "Unknown option: %s!", argv[argPos]);
return (CMfailed);
}
argPos++;
}
if (argNum > 3) {
CMmsgPrint(CMmsgUsrError, "Extra arguments!");
return (CMfailed);
}
if (verbose) RGlibPauseOpen(argv[0]);
srcData = new DBObjData();
ret = (argNum > 1) && (strcmp(argv[1], "-") != 0) ? srcData->Read(argv[1]) : srcData->Read(stdin);
if ((ret == DBFault) || (srcData->Type() != DBTypeGridContinuous)) {
delete srcData;
return (CMfailed);
}
if ((dstData = DBGridToGrid(srcData)) == (DBObjData *) NULL) {
delete srcData;
return (CMfailed);
}
if (title == (char *) NULL) title = (char *) "Cell Statistics";
if (subject == (char *) NULL) subject = srcData->Document(DBDocSubject);
if (domain == (char *) NULL) domain = srcData->Document(DBDocGeoDomain);
if (version == (char *) NULL) version = (char *) "0.01pre";
dstData->Name(title);
dstData->Document(DBDocSubject, subject);
dstData->Document(DBDocGeoDomain, domain);
srcData->Document(DBDocVersion, version);
if ((ret = RGlibGridCellStats(srcData, dstData)) == DBSuccess)
ret = (argNum > 2) && (strcmp(argv[2], "-") != 0) ?
dstData->Write(argv[2]) : dstData->Write(stdout);
delete srcData;
delete dstData;
if (verbose) RGlibPauseClose();
//.........这里部分代码省略.........
示例14: main
int main(int argc, char *argv[]) {
int argPos, argNum = argc, ret, verbose = false;
float coeff;
char *title = (char *) NULL, *subject = (char *) NULL;
char *domain = (char *) NULL, *version = (char *) NULL;
char *netName = (char *) NULL, *weightName = (char *) NULL;
DBInt shadeSet = DBFault, areaMult = true, coeffSet = false;
DBObjData *data, *netData, *weightData, *grdData;
for (argPos = 1; argPos < argNum;) {
if (CMargTest (argv[argPos], "-n", "--network")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing network!");
return (CMfailed);
}
netName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-w", "--weight")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing weight grid!");
return (CMfailed);
}
weightName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-m", "--mode")) {
int modeCodes[] = {true, false};
const char *modes[] = {"rate", "volume", (char *) NULL};
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing accumulation mode!");
return (CMfailed);
}
if ((areaMult = CMoptLookup(modes, argv[argPos], true)) == DBFault) {
CMmsgPrint(CMmsgUsrError, "Invalid accumulation mode!");
return (CMfailed);
}
areaMult = modeCodes[areaMult];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-f", "--coefficient")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing coefficient!");
return (CMfailed);
}
if (sscanf(argv[argPos], "%f", &coeff) != 1) {
CMmsgPrint(CMmsgUsrError, "Invalid coefficient");
return (CMfailed);
}
coeffSet = true;
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-t", "--title")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing title!");
return (CMfailed);
}
title = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-u", "--subject")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing subject!");
return (CMfailed);
}
subject = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-d", "--domain")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing domain!");
return (CMfailed);
}
domain = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-v", "--version")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing version!");
return (CMfailed);
}
version = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-s", "--shadeset")) {
int shadeCodes[] = {DBDataFlagDispModeContStandard,
DBDataFlagDispModeContGreyScale,
DBDataFlagDispModeContBlueScale,
DBDataFlagDispModeContBlueRed,
DBDataFlagDispModeContElevation};
const char *shadeSets[] = {"standard", "grey", "blue", "blue-to-red", "elevation", (char *) NULL};
//.........这里部分代码省略.........
示例15: main
int main(int argc, char *argv[]) {
int argPos, argNum = argc, ret, verbose = false;
DBInt recID;
DBObjData *data;
char *tableName = (char *) NULL;
char *fieldIDName = (char *) NULL;
char *fieldXName = (char *) NULL;
char *fieldYName = (char *) NULL;
DBObjTable *table;
DBObjTableField *fieldID, *fieldX, *fieldY;
DBObjRecord *record;
DBNetworkIF *netIF;
DBCoordinate coord;
for (argPos = 1; argPos < argNum;) {
if (CMargTest (argv[argPos], "-a", "--table")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing table name!");
return (CMfailed);
}
tableName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-f", "--IDfield")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing field name!");
return (CMfailed);
}
fieldIDName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-x", "--Xfield")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing field name!");
return (CMfailed);
}
fieldXName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-y", "--Yfield")) {
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) {
CMmsgPrint(CMmsgUsrError, "Missing field name!");
return (CMfailed);
}
fieldYName = argv[argPos];
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-V", "--verbose")) {
verbose = true;
if ((argNum = CMargShiftLeft(argPos, argv, argNum)) <= argPos) break;
continue;
}
if (CMargTest (argv[argPos], "-h", "--help")) {
CMmsgPrint(CMmsgInfo, "%s [options] <input file> <output file>", CMfileName(argv[0]));
CMmsgPrint(CMmsgInfo, " -a, --table [ [DBCells] | DBItems ]");
CMmsgPrint(CMmsgInfo, " -f, --IDfield [ [CellID] | BasinID ]");
CMmsgPrint(CMmsgInfo, " -x, --Xfield [ [CellXCoord] | MouthXCoord ]");
CMmsgPrint(CMmsgInfo, " -y, --Yfield [ [CellYCoord] | MouthYCoord ]");
CMmsgPrint(CMmsgInfo, " -V, --verbose");
CMmsgPrint(CMmsgInfo, " -h, --help");
return (DBSuccess);
}
if ((argv[argPos][0] == '-') && (strlen(argv[argPos]) > 1)) {
CMmsgPrint(CMmsgUsrError, "Unknown option: %s!", argv[argPos]);
return (CMfailed);
}
argPos++;
}
if (argNum > 3) {
CMmsgPrint(CMmsgUsrError, "Extra arguments!");
return (CMfailed);
}
if (verbose) RGlibPauseOpen(argv[0]);
if (tableName == (char *) NULL) tableName = (char *) "DBCells";
if (fieldIDName == (char *) NULL) fieldIDName = (char *) "CellID";
if (fieldXName == (char *) NULL) fieldXName = (char *) "CellXCoord";
if (fieldYName == (char *) NULL) fieldYName = (char *) "CellYCoord";
data = new DBObjData();
if (((argNum > 1) && (strcmp(argv[1], "-") != 0) ? data->Read(argv[1]) : data->Read(stdin)) == DBFault) {
delete data;
return (CMfailed);
}
if ((table = data->Table(tableName)) == (DBObjTable *) NULL) {
CMmsgPrint(CMmsgUsrError, "Invalid table: %s!", tableName);
delete data;
return (CMfailed);
}
netIF = new DBNetworkIF(data);
fieldID = new DBObjTableField(fieldIDName, DBTableFieldInt, (char *) "%8d", sizeof (DBInt));
fieldX = new DBObjTableField (fieldXName, DBTableFieldFloat, (char *) "%10.3f", sizeof (DBFloat4));
//.........这里部分代码省略.........