From 4839d482ad05949a19bdeb40d5a09bd7340af7b0 Mon Sep 17 00:00:00 2001 From: Otmane Lahlou <otmane.lahlou@c-s.fr> Date: Wed, 11 May 2011 18:22:57 +0200 Subject: [PATCH] ADD : tests for ConcatenateVectorDataFilter --- Testing/Code/BasicFilters/CMakeLists.txt | 19 ++++ .../BasicFilters/otbBasicFiltersTests14.cxx | 3 +- .../otbConcatenateVectorDataFilter.cxx | 87 +++++++++++++++++++ 3 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 Testing/Code/BasicFilters/otbConcatenateVectorDataFilter.cxx diff --git a/Testing/Code/BasicFilters/CMakeLists.txt b/Testing/Code/BasicFilters/CMakeLists.txt index 8397a657cc..6aaa8c665a 100644 --- a/Testing/Code/BasicFilters/CMakeLists.txt +++ b/Testing/Code/BasicFilters/CMakeLists.txt @@ -2007,6 +2007,24 @@ ADD_TEST(bfTuVectorDataToRandomLineGenerator ${BASICFILTERS_TESTS14} ) +# ----------------------- otbConcatenateVectorDataFilter ----------------------- + +ADD_TEST(bfTuConcatenateVectorDataFilterNew ${BASICFILTERS_TESTS14} + otbConcatenateVectorDataFilterNew +) + +ADD_TEST(bfTvConcatenateVectorDataFilter ${BASICFILTERS_TESTS14} + --compare-ogr ${NOTOL} + ${BASELINE_FILES}/otbConcatenateVectorDataFilter_Output.shp + ${TEMP}/otbConcatenateVectorDataFilter_Output.shp + otbConcatenateVectorDataFilter + -in ${INPUTDATA}/france_coastline.shp + ${INPUTDATA}/waterways.shp + -out ${TEMP}/otbConcatenateVectorDataFilter_Output.shp +) + + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ otbBasicFiltersTests15 ~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2327,6 +2345,7 @@ otbConnectedComponentMuParserFunctorTest.cxx otbLabelObjectOpeningMuParserFilterNew.cxx otbLabelObjectOpeningMuParserFilterTest.cxx otbVectorDataToRandomLineGenerator.cxx +otbConcatenateVectorDataFilter.cxx ) IF(OTB_DATA_USE_LARGEINPUT) SET(BasicFilters_SRCS15 diff --git a/Testing/Code/BasicFilters/otbBasicFiltersTests14.cxx b/Testing/Code/BasicFilters/otbBasicFiltersTests14.cxx index d0c1ae66a5..847960f621 100644 --- a/Testing/Code/BasicFilters/otbBasicFiltersTests14.cxx +++ b/Testing/Code/BasicFilters/otbBasicFiltersTests14.cxx @@ -28,5 +28,6 @@ void RegisterTests() REGISTER_TEST(otbLabelObjectOpeningMuParserFilterNew); REGISTER_TEST(otbLabelObjectOpeningMuParserFilterTest); REGISTER_TEST(otbVectorDataToRandomLineGeneratorNew); - REGISTER_TEST(otbVectorDataToRandomLineGenerator); + REGISTER_TEST(otbConcatenateVectorDataFilterNew); + REGISTER_TEST(otbConcatenateVectorDataFilter); } diff --git a/Testing/Code/BasicFilters/otbConcatenateVectorDataFilter.cxx b/Testing/Code/BasicFilters/otbConcatenateVectorDataFilter.cxx new file mode 100644 index 0000000000..a2c53a9ddf --- /dev/null +++ b/Testing/Code/BasicFilters/otbConcatenateVectorDataFilter.cxx @@ -0,0 +1,87 @@ +/*========================================================================= + + Program: ORFEO Toolbox + Language: C++ + Date: $Date$ + Version: $Revision$ + + + Copyright (c) Centre National d'Etudes Spatiales. All rights reserved. + See OTBCopyright.txt for details. + + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + + =========================================================================*/ + +#include "otbCommandLineArgumentParser.h" + +// Images +#include "otbVectorData.h" +#include "otbVectorDataFileReader.h" +#include "otbVectorDataFileWriter.h" + +// Concatener +#include "otbConcatenateVectorDataFilter.h" + + +typedef otb::VectorData<> VectorDataType; +typedef otb::VectorDataFileReader<VectorDataType> ReaderType; +typedef otb::VectorDataFileWriter<VectorDataType> WriterType; +typedef otb::ConcatenateVectorDataFilter<VectorDataType> ConcatenateFilterType; + +int otbConcatenateVectorDataFilterNew (int argc, char * argv[]) +{ + ConcatenateFilterType::Pointer concatenate = ConcatenateFilterType::New(); + return EXIT_SUCCESS; +} + +int otbConcatenateVectorDataFilter (int argc, char * argv[]) +{ + // Parse command line parameters + typedef otb::CommandLineArgumentParser ParserType; + ParserType::Pointer parser = ParserType::New(); + parser->AddOptionNParams("--InputVectorDatas","Input VectorDatas to concatenate ", "-in", true); + parser->AddOption("--OutputVectorData","Output concatenated VectorData","-out",true); + + typedef otb::CommandLineArgumentParseResult ParserResultType; + ParserResultType::Pointer parseResult = ParserResultType::New(); + + try + { + parser->ParseCommandLine(argc,argv,parseResult); + } + catch ( itk::ExceptionObject & err ) + { + return EXIT_FAILURE; + } + + + // Get number of input vectorDatas + unsigned int nbInputs = parseResult->GetNumberOfParameters("--InputVectorDatas"); + + // Instanciate a concatenate filter + // Concatenate the vector datas + ConcatenateFilterType::Pointer concatenate = ConcatenateFilterType::New(); + + for (unsigned int idx = 0; idx < nbInputs; idx++) + { + // Reader object + ReaderType::Pointer reader = ReaderType::New(); + //std::cout << << std::endl; + reader->SetFileName(parseResult->GetParameterString("--InputVectorDatas",idx )); + reader->Update(); + + concatenate->AddInput(reader->GetOutput()); + } + + // Write the output + WriterType::Pointer writer = WriterType::New(); + writer->SetFileName(parseResult->GetParameterString("--OutputVectorData")); + writer->SetInput(concatenate->GetOutput()); + writer->Update(); + + return EXIT_SUCCESS; +} -- GitLab