Changeset 9510 for trunk/psModules/src/concepts/pmConceptsStandard.c
- Timestamp:
- Oct 12, 2006, 11:38:28 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/concepts/pmConceptsStandard.c
r8848 r9510 282 282 283 283 284 psMetadataItem *p_pmConceptParse_ CELL_TIMESYS(psMetadataItem *concept,284 psMetadataItem *p_pmConceptParse_TIMESYS(psMetadataItem *concept, 285 285 psMetadataItem *pattern, 286 286 psMetadata *cameraFormat, … … 295 295 psString sys = concept->data.V; // The time system string 296 296 if (concept->type != PS_DATA_STRING || strlen(sys) <= 0) { 297 psError(PS_ERR_UNKNOWN, true, "Can't interpret CELL.TIMESYS --- assuming UTC.\n");297 psError(PS_ERR_UNKNOWN, true, "Can't interpret %s --- assuming UTC.\n", pattern->name); 298 298 } else if (strcasecmp(sys, "TAI") == 0) { 299 299 timeSys = PS_TIME_TAI; … … 305 305 timeSys = PS_TIME_TT; 306 306 } else { 307 psError(PS_ERR_UNKNOWN, true, "Can't interpret CELL.TIMESYS --- assuming UTC.\n");307 psError(PS_ERR_UNKNOWN, true, "Can't interpret %s --- assuming UTC.\n", pattern->name); 308 308 } 309 309 … … 311 311 } 312 312 313 psMetadataItem *p_pmConceptParse_ CELL_TIME(psMetadataItem *concept,314 psMetadataItem *pattern,315 psMetadata *cameraFormat,316 pmFPA *fpa,317 pmChip *chip,318 pmCell *cell)313 psMetadataItem *p_pmConceptParse_TIME(psMetadataItem *concept, 314 psMetadataItem *pattern, 315 psMetadata *cameraFormat, 316 pmFPA *fpa, 317 pmChip *chip, 318 pmCell *cell) 319 319 { 320 320 assert(concept); 321 321 assert(cameraFormat); 322 assert(cell); 323 324 // Need CELL.TIMESYS first 325 bool mdok = true; // Result of MD lookup 326 psTimeType timeSys = psMetadataLookupS32(&mdok, cell->concepts, "CELL.TIMESYS"); // The time system 322 323 // Need TIMESYS first 324 psString timesysName = psStringCopy(pattern->name); // e.g., "CELL.TIME" --> "CELL.TIMESYS" 325 timesysName = psStringSubstitute(timesysName, "TIMESYS", "TIME"); 326 bool mdok = false; // Result of MD lookup 327 psTimeType timeSys; // The time system 328 if (cell) { 329 timeSys = psMetadataLookupS32(&mdok, cell->concepts, timesysName); 330 } 331 if (!mdok && chip) { 332 timeSys = psMetadataLookupS32(&mdok, chip->concepts, timesysName); 333 } 334 if (!mdok && fpa) { 335 timeSys = psMetadataLookupS32(&mdok, fpa->concepts, timesysName); 336 } 327 337 if (!mdok) { 328 psLogMsg(__func__, PS_LOG_WARN, "Unable to find CELL.TIMESYS in concepts --- assuming UTC.\n"); 338 psLogMsg(__func__, PS_LOG_WARN, "Unable to find %s in concepts when parsing %s --- assuming UTC.\n", 339 timesysName, pattern->name); 329 340 timeSys = PS_TIME_UTC; 330 341 } 342 psFree(timesysName); 331 343 332 344 // Work out how the time is represented … … 344 356 } 345 357 346 psString timeFormat = psMetadataLookupStr(&mdok, formats, "CELL.TIME");358 psString timeFormat = psMetadataLookupStr(&mdok, formats, pattern->name); 347 359 if (!mdok || strlen(timeFormat) == 0) { 348 psError(PS_ERR_UNKNOWN, true, "Unable to find CELL.TIME in FORMATS.\n");360 psError(PS_ERR_UNKNOWN, true, "Unable to find %s in FORMATS.\n", pattern->name); 349 361 return NULL; 350 362 } … … 377 389 usaTime = false; 378 390 } else { 379 psError(PS_ERR_UNKNOWN, true, "Unrecognised FORMATS option for CELL.TIME: %s --- "380 "ignored.\n", timeFormat);391 psError(PS_ERR_UNKNOWN, true, "Unrecognised FORMATS option for %s: %s --- " 392 "ignored.\n", pattern->name, timeFormat); 381 393 psFree(timeFormatsIter); 382 394 psFree(timeFormats); … … 481 493 time = psTimeFromMJD(timeValue); 482 494 } else { 483 psError(PS_ERR_UNKNOWN, true, "Not sure how to parse CELL.TIME(%f) --- trying JD\n",484 timeValue);495 psError(PS_ERR_UNKNOWN, true, "Not sure how to parse %s (%f) --- trying JD\n", 496 pattern->name, timeValue); 485 497 time = psTimeFromJD(timeValue); 486 498 } … … 494 506 time = psTimeFromMJD(timeValue); 495 507 } else { 496 psError(PS_ERR_UNKNOWN, true, "Not sure how to parse CELL.TIME(%f) --- trying JD\n",497 timeValue);508 psError(PS_ERR_UNKNOWN, true, "Not sure how to parse %s (%f) --- trying JD\n", 509 pattern->name, timeValue); 498 510 time = psTimeFromJD(timeValue); 499 511 } … … 501 513 } 502 514 default: 503 psError(PS_ERR_UNKNOWN, true, "Unable to parse CELL.TIME.\n");515 psError(PS_ERR_UNKNOWN, true, "Unable to parse %s.\n", pattern->name); 504 516 return NULL; 505 517 } … … 652 664 653 665 654 psMetadataItem *p_pmConceptFormat_ CELL_TIMESYS(psMetadataItem *concept,666 psMetadataItem *p_pmConceptFormat_TIMESYS(psMetadataItem *concept, 655 667 psMetadata *cameraFormat, 656 668 pmFPA *fpa, … … 681 693 } 682 694 683 psMetadataItem *p_pmConceptFormat_ CELL_TIME(psMetadataItem *concept,684 psMetadata *cameraFormat,685 pmFPA *fpa,686 pmChip *chip,687 pmCell *cell)695 psMetadataItem *p_pmConceptFormat_TIME(psMetadataItem *concept, 696 psMetadata *cameraFormat, 697 pmFPA *fpa, 698 pmChip *chip, 699 pmCell *cell) 688 700 { 689 701 psTime *time = concept->data.V; // The time … … 700 712 psMetadata *formats = psMetadataLookupMD(&mdok, cameraFormat, "FORMATS"); // The formats 701 713 if (mdok && formats) { 702 psString format = psMetadataLookupStr(&mdok, formats, "CELL.TIME"); // The formats forCELL.TIME714 psString format = psMetadataLookupStr(&mdok, formats, concept->name); // The formats for eg, CELL.TIME 703 715 if (mdok && format && strlen(format) > 0) { 704 716 psList *formatList = psStringSplit(format, " ,;", false); // List of formats specified … … 732 744 separateTime = false; 733 745 } else { 734 psLogMsg(__func__, PS_LOG_WARN, "Unrecognised FORMATS option for CELL.TIME: %s --- "735 "ignored.\n", format);746 psLogMsg(__func__, PS_LOG_WARN, "Unrecognised FORMATS option for %s: %s --- " 747 "ignored.\n", concept->name, format); 736 748 } 737 749 }
Note:
See TracChangeset
for help on using the changeset viewer.
