void DownloadDescribeCoverage(string previousUrl, DataFactory factory) { string jobName = DeleteJob(previousUrl); DataRecord record = DataTracker.GetRecords(jobName)[0]; GetCapabilites.OperationsMetadataOperation gc = new GetCapabilites.OperationsMetadataOperation(); foreach (GetCapabilites.OperationsMetadataOperation i in record.WCSOperations) { if (i.name == "DescribeCoverage") { gc = i; break; } } string parameters = ""; // For now picking first valid parameters foreach (GetCapabilites.OperationsMetadataOperationParameter i in gc.Parameter) { foreach (string j in i.AllowedValues) { parameters += i.name + "=" + j + "&"; break; } } string req = gc.DCP.HTTP.Get.href + "request=DescribeCoverage&" + parameters; Console.WriteLine(req); InsertJob(req, wcs_download_state.Get_Coverage, jobName); factory.Import("WCS_DC", DataTracker.GetRecords(jobName), "url://" + req); }
void DownloadCoverage(string previousUrl, DataFactory factory, string crs = "", string boundingbox = "", int width = 0, int height = 0, string interpolation = "nearest") { string jobName = DeleteJob(previousUrl); DataRecord record = DataTracker.GetRecords(jobName)[0]; GetCapabilites.OperationsMetadataOperation gc = new GetCapabilites.OperationsMetadataOperation(); foreach (GetCapabilites.OperationsMetadataOperation i in record.WCSOperations) { if (i.name == "GetCoverage") { gc = i; break; } } string parameters = ""; // For now picking first valid parameters foreach (GetCapabilites.OperationsMetadataOperationParameter i in gc.Parameter) { foreach (string j in i.AllowedValues) { if (i.name == "format") { // Hard CODENESS parameters += i.name + "=" + i.AllowedValues[6] + "&"; } else { parameters += i.name + "=" + j + "&"; } break; } } string req = gc.DCP.HTTP.Get.href + "request=GetCoverage&" + parameters + "CRS=" + "EPSG:4326" + "&bbox=" + boundingbox + "&width=" + width + "&height=" + height;//+height.ToString(); factory.Import("WCS_BIL", DataTracker.GetRecords(jobName), "url://" + req); }