OpSequence.cpp
Go to the documentation of this file.
1 
2 #include "../Config.h"
3 #include <terralib/common.h>
4 #include <terralib/dataaccess.h>
6 #include <terralib/vp/Dissolve.h>
7 
8 // STL
9 #include <iostream>
10 #include <map>
11 #include <memory>
12 #include <string>
13 #include <vector>
14 
15 //Postgis to Postgis
17 {
18  std::vector<std::string> sequence;
19  sequence.push_back("sp_cities");
20  sequence.push_back("ST_Union");
21 
22  std::string connInfo("ppgsql://postgres:postgres@localhost:5432/TerraView5?PG_CONNECT_TIMEOUT=4&PG_CLIENT_ENCODING=UTF-8");
23 
24  te::da::DataSourcePtr srcDs(te::da::DataSourceFactory::make("POSTGIS", connInfo));
25  srcDs->open();
26 
27  std::string inDsetName = "overlaps";
28  if (!srcDs->dataSetExists(inDsetName))
29  {
30  std::cout << "Input dataset not found: " << inDsetName << std::endl;
31  return false;
32  }
33 
34  std::string outDSet = "result";
35 
36  te::da::DataSourcePtr outDsource(te::da::DataSourceFactory::make("POSTGIS", connInfo));
37  outDsource->open();
38 
39  if (outDsource->dataSetExists(outDSet))
40  {
41  std::cout << "A dataset with the same requested output dataset name already exists: " << outDSet << std::endl;
42  return false;
43  }
44 
45  std::unique_ptr<te::da::DataSet> inDset = srcDs->getDataSet(inDsetName);
46  std::unique_ptr<te::da::DataSetType> inDsetType = srcDs->getDataSetType(inDsetName);
47 
48 
49  return true;
50 }
Dissolve operation.
static std::unique_ptr< DataSource > make(const std::string &driver, const te::core::URI &connInfo)
boost::shared_ptr< DataSource > DataSourcePtr
bool SequenceOperations()
Definition: OpSequence.cpp:16
A factory for data sources.
This file contains include headers for the TerraLib Common Runtime module.
This file contains include headers for the Data Access module of TerraLib.