Skip to content

Commit 6b565a4

Browse files
committed
draft for making zips of dual access grids
1 parent 05ab57f commit 6b565a4

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/main/java/com/conveyal/analysis/controllers/RegionalAnalysisController.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,13 +302,13 @@ private Object getAllRegionalResults (Request req, Response res) throws IOExcept
302302
progressListener.beginTask("Creating and archiving geotiffs...", nSteps);
303303
// Iterate over all dest, cutoff, percentile combinations and generate one geotiff for each combination.
304304
List<HumanKey> humanKeys = new ArrayList<>();
305+
GridResultType gridResultType = determineGridResultType(analysis);
305306
for (String destinationPointSetId : analysis.destinationPointSetIds) {
306307
OpportunityDataset destinations = getDestinations(destinationPointSetId, userPermissions);
307-
// TODO handle dual access
308308
for (int cutoffMinutes : analysis.cutoffsMinutes) {
309309
for (int percentile : analysis.travelTimePercentiles) {
310310
HumanKey gridKey = getSingleCutoffGrid(
311-
analysis, destinations, cutoffMinutes, percentile, GridResultType.ACCESS, FileStorageFormat.GEOTIFF
311+
analysis, destinations, cutoffMinutes, percentile, gridResultType, FileStorageFormat.GEOTIFF
312312
);
313313
humanKeys.add(gridKey);
314314
progressListener.increment();
@@ -389,10 +389,7 @@ private UrlWithHumanName getRegionalResults (Request req, Response res) throws I
389389
}
390390
final UserPermissions userPermissions = UserPermissions.from(req);
391391
RegionalAnalysis analysis = getAnalysis(regionalAnalysisId, userPermissions);
392-
393-
// TODO handle a regional analysis that includes both regular accessibility and dual access results.
394-
GridResultType gridResultType = analysis.request.includeTemporalDensity ? GridResultType.DUAL_ACCESS : GridResultType.ACCESS;
395-
392+
GridResultType gridResultType = determineGridResultType(analysis);
396393
// If a query parameter is supplied, range check it, otherwise use the middle value in the list.
397394
int threshold;
398395
if (gridResultType.equals(GridResultType.DUAL_ACCESS)) {
@@ -449,6 +446,12 @@ private UrlWithHumanName getRegionalResults (Request req, Response res) throws I
449446
return fileStorage.getJsonUrl(gridKey.storageKey, gridKey.humanName);
450447
}
451448

449+
// This assumes each set of regional analysis results has only primal or dual access, not both.
450+
// TODO handle regional analyses that include both regular accessibility and dual access results.
451+
private GridResultType determineGridResultType (RegionalAnalysis analysis) {
452+
return analysis.request.includeTemporalDensity ? GridResultType.DUAL_ACCESS : GridResultType.ACCESS;
453+
}
454+
452455
private Object getCsvResults (Request req, Response res) {
453456
final String regionalAnalysisId = req.params("_id");
454457
final CsvResultType resultType = CsvResultType.valueOf(req.params("resultType").toUpperCase());

0 commit comments

Comments
 (0)