Skip to content

Commit be2c736

Browse files
Add back Temporal Density Writer
Was missing after the merge.
1 parent 79ac804 commit be2c736

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

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

+17
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.conveyal.analysis.results.MultiOriginAssembler;
1818
import com.conveyal.analysis.results.PathCsvResultWriter;
1919
import com.conveyal.analysis.results.RegionalResultWriter;
20+
import com.conveyal.analysis.results.TemporalDensityCsvResultWriter;
2021
import com.conveyal.analysis.results.TimeCsvResultWriter;
2122
import com.conveyal.analysis.util.JsonUtil;
2223
import com.conveyal.file.FileStorage;
@@ -524,10 +525,12 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
524525
if (!task.makeTauiSite) {
525526
if (task.recordAccessibility) {
526527
if (task.originPointSet != null) {
528+
// Freeform origins - create CSV regional analysis results
527529
var accessWriter = new AccessCsvResultWriter(task, fileStorage);
528530
resultWriters.add(accessWriter);
529531
regionalAnalysis.resultStorage.put(accessWriter.resultType(), accessWriter.getFileName());
530532
} else {
533+
// Gridded origins - create gridded regional analysis results
531534
resultWriters.addAll(GridResultWriter.createWritersFromTask(regionalAnalysis, task, fileStorage));
532535
}
533536
}
@@ -543,6 +546,20 @@ private RegionalAnalysis createRegionalAnalysis (Request req, Response res) thro
543546
resultWriters.add(pathsWriter);
544547
regionalAnalysis.resultStorage.put(pathsWriter.resultType(), pathsWriter.getFileName());
545548
}
549+
550+
if (task.includeTemporalDensity) {
551+
if (task.originPointSet == null) {
552+
// Gridded origins. The full temporal density information is probably too voluminous to be useful.
553+
// We might want to record a grid of dual accessibility values, but this will require some serious
554+
// refactoring of the GridResultWriter.
555+
// if (job.templateTask.dualAccessibilityThreshold > 0) { ... }
556+
throw AnalysisServerException.badRequest("Temporal density of opportunities cannot be recorded for gridded origin points.");
557+
} else {
558+
var tDensityWriter = new TemporalDensityCsvResultWriter(task, fileStorage);
559+
resultWriters.add(tDensityWriter);
560+
regionalAnalysis.resultStorage.put(tDensityWriter.resultType(), tDensityWriter.getFileName());
561+
}
562+
}
546563
checkArgument(notNullOrEmpty(resultWriters), "A regional analysis should always create at least one grid or CSV file.");
547564
}
548565

0 commit comments

Comments
 (0)