Skip to content

Commit

Permalink
hack to add source (hootapidb) property to alpha clipped task grid ex…
Browse files Browse the repository at this point in the history
…port (#3584)

* removing option that has no effect on conflate

* removing same commented out option

* hack to add source (hootapidb) property to alpha clipped task grid export

refs #3583

* update test expectations
  • Loading branch information
brianhatchl committed Oct 30, 2019
1 parent 6f19a2c commit 26e93e0
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ public static boolean isUiOption(String key) {
this.conflateParams = params;

List<String> options = new LinkedList<>();
options.add("convert.ops=hoot::DecomposeBuildingRelationsVisitor");
options.add("writer.include.conflate.score.tags=false");
options.add("hootapi.db.writer.overwrite.map=true");
options.add("writer.text.status=true");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,14 @@ public Response export(ExportParams params,
params.setOutputType("alpha.shp");
workflow.add(getCommand(user, jobId, params, debugLevel));
params.setInputType("file");
params.setTagOverrides(params.getInput());
params.setInput(workDir.getAbsolutePath() + "/" + params.getOutputName());
Command ogrClipCommand = new OgrClipCommand(jobId, params, this.getClass());
workflow.add(ogrClipCommand);
Command ogrFormatCommand = new OgrFormatCommand(jobId, params, this.getClass());
workflow.add(ogrFormatCommand);
Command sedSourceCommand = new SedSourceCommand(jobId, params, this.getClass());
workflow.add(sedSourceCommand);
Command zipCommand = new ZIPFileCommand(new File(workDir, params.getOutputName() + ".zip"), workDir, outputName + ".alpha.tiles.geojson", this.getClass());
workflow.add(zipCommand);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* This file is part of Hootenanny.
*
* Hootenanny is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* --------------------------------------------------------------------
*
* The following copyright notices are generated automatically. If you
* have a new notice to add, please use the format:
* " * @copyright Copyright ..."
* This will properly maintain the copyright information. DigitalGlobe
* copyrights will be updated automatically.
*
* @copyright Copyright (C) 2019 DigitalGlobe (http://www.digitalglobe.com/)
*/
package hoot.services.controllers.export;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import hoot.services.command.ExternalCommand;


class SedSourceCommand extends ExternalCommand {

SedSourceCommand(String jobId, ExportParams params, Class<?> caller) {
super(jobId);

Map<String, Object> substitutionMap = new HashMap<>();
substitutionMap.put("INPUT", params.getInput());
substitutionMap.put("REGEX", "s/\"type\": \"FeatureCollection\",/\"type\": \"FeatureCollection\",\"source\": \"hootapidb:" + params.getTagOverrides() + "\",/");


//Hack to add source property into geojson output
//the shapefile output needed for ogr2ogr clipsrc can't store a source property on hoot export
String command = "sed -i ${REGEX} ${INPUT}.alpha.tiles.geojson";

super.configureCommand(command, substitutionMap, caller, new File("/tmp"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ class ImportCommand extends ExternalCommand {
List<String> inputs = filesToImport.stream().map(File::getAbsolutePath).collect(Collectors.toList());

List<String> options = new LinkedList<>();
//options.add("convert.ops=hoot::DecomposeBuildingRelationsVisitor");
//TODO: always set remap ids to false??
options.add("hootapi.db.writer.overwrite.map=true");
options.add("job.id=" + jobId);
Expand Down
Loading

0 comments on commit 26e93e0

Please sign in to comment.