IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 30, 2007, 6:43:20 PM (19 years ago)
Author:
eugene
Message:

adding select ranges for detrunbyquery

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/dettool.c

    r11413 r11480  
    768768            psFree(time);
    769769        }
     770
     771        /** selection based on airmass range **/
     772        psF32 select_airmass_min = psMetadataLookupF32(&status, config->args, "-select_airmass_min");
     773        if (!status) {
     774            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_airmass_min");
     775            psFree(where);
     776            return false;
     777        }
     778        if (isfinite(select_airmass_min)) {
     779            if (!psMetadataAddF32(where, PS_LIST_TAIL, "airmass", PS_META_DUPLICATE_OK, ">=", select_airmass_min)) {
     780                psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     781                psFree(where);
     782                return false;
     783            }
     784        }
     785        psF32 select_airmass_max = psMetadataLookupF32(&status, config->args, "-select_airmass_max");
     786        if (!status) {
     787            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_airmass_max");
     788            psFree(where);
     789            return false;
     790        }
     791        if (isfinite(select_airmass_max)) {
     792            if (!psMetadataAddF32(where, PS_LIST_TAIL, "airmass", PS_META_DUPLICATE_OK, "<=", select_airmass_max)) {
     793                psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     794                psFree(where);
     795                return false;
     796            }
     797        }
     798
     799        /** selection based on exp_time range **/
     800        psF32 select_exp_time_min = psMetadataLookupF32(&status, config->args, "-select_exp_time_min");
     801        if (!status) {
     802            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_exp_time_min");
     803            psFree(where);
     804            return false;
     805        }
     806        if (isfinite(select_exp_time_min)) {
     807            if (!psMetadataAddF32(where, PS_LIST_TAIL, "exp_time", PS_META_DUPLICATE_OK, ">=", select_exp_time_min)) {
     808                psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     809                psFree(where);
     810                return false;
     811            }
     812        }
     813        psF32 select_exp_time_max = psMetadataLookupF32(&status, config->args, "-select_exp_time_max");
     814        if (!status) {
     815            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_exp_time_max");
     816            psFree(where);
     817            return false;
     818        }
     819        if (isfinite(select_exp_time_max)) {
     820            if (!psMetadataAddF32(where, PS_LIST_TAIL, "exp_time", PS_META_DUPLICATE_OK, "<=", select_exp_time_max)) {
     821                psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     822                psFree(where);
     823                return false;
     824            }
     825        }
     826
     827        /** selection based on ccd_temp range **/
     828        psF32 select_ccd_temp_min = psMetadataLookupF32(&status, config->args, "-select_ccd_temp_min");
     829        if (!status) {
     830            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_ccd_temp_min");
     831            psFree(where);
     832            return false;
     833        }
     834        if (isfinite(select_ccd_temp_min)) {
     835            if (!psMetadataAddF32(where, PS_LIST_TAIL, "ccd_temp", PS_META_DUPLICATE_OK, "<=", select_ccd_temp_min)) {
     836                psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     837                psFree(where);
     838                return false;
     839            }
     840        }
     841        psF32 select_ccd_temp_max = psMetadataLookupF32(&status, config->args, "-select_ccd_temp_max");
     842        if (!status) {
     843            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_ccd_temp_max");
     844            psFree(where);
     845            return false;
     846        }
     847        if (isfinite(select_ccd_temp_max)) {
     848            if (!psMetadataAddF32(where, PS_LIST_TAIL, "ccd_temp", PS_META_DUPLICATE_OK, ">=", select_ccd_temp_max)) {
     849                psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     850                psFree(where);
     851                return false;
     852            }
     853        }
     854
     855        /** selection based on posang **/
     856        psF32 select_posang_min = psMetadataLookupF32(&status, config->args, "-select_posang_min");
     857        if (!status) {
     858            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_posang_min");
     859            psFree(where);
     860            return false;
     861        }
     862        if (isfinite(select_posang_min)) {
     863            if (!psMetadataAddF32(where, PS_LIST_TAIL, "posang", PS_META_DUPLICATE_OK, "<=", select_posang_min)) {
     864                psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     865                psFree(where);
     866                return false;
     867            }
     868        }
     869        psF32 select_posang_max = psMetadataLookupF32(&status, config->args, "-select_posang_max");
     870        if (!status) {
     871            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -select_posang_max");
     872            psFree(where);
     873            return false;
     874        }
     875        if (isfinite(select_posang_max)) {
     876            if (!psMetadataAddF32(where, PS_LIST_TAIL, "posang", PS_META_DUPLICATE_OK, ">=", select_posang_max)) {
     877                psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     878                psFree(where);
     879                return false;
     880            }
     881        }
     882
    770883    }
    771884
Note: See TracChangeset for help on using the changeset viewer.