Esempio n. 1
0
        [Consumes("application/json")] // supports only json
        public IActionResult Post(SelectByLocationOperationParam myJson)
        {
            var          pathToScriptFolder = Configuration["pathToAnalysisScriptFolder"];
            var          scriptName         = Configuration["AnalysisScriptNames:selectByLocationScript"];
            var          qgisPython         = Configuration["ScriptRunners:qgisCmdPath"];
            ResultObject output;

            using (var tempFiles1 = new TempFileCollection())
            {
                string inputLayerFile   = tempFiles1.AddExtension("geojson");
                string overlayLayerFile = Path.ChangeExtension(Path.GetTempFileName(), "geojson");
                tempFiles1.AddFile(overlayLayerFile, false);
                System.IO.File.WriteAllText(inputLayerFile, myJson.InputLayer.ToString());
                System.IO.File.WriteAllText(overlayLayerFile, myJson.OverlayLayer.ToString());
                string args = _creator.buildSelectByLocationCommand(myJson, pathToScriptFolder, scriptName, inputLayerFile, overlayLayerFile);
                output = _python.RunCMD(args, qgisPython);
            }
            return(_outputHandler.HandleQgisOutput(output));
        }