18 #ifndef __otbLabelMapToGISTableFilter_txx
19 #define __otbLabelMapToGISTableFilter_txx
26 template<
class TLabelMap,
class TGISTable>
30 m_InputGISConnection = InputGISConnectionType::New();
31 m_DropExistingGISTable =
false;
33 m_GISTableName =
"labelmap_to_gis_table";
36 template<
class TLabelMap,
class TGISTable>
43 const_cast<InputLabelMapType *>(input));
46 template<
class TLabelMap,
class TGISTable>
53 const_cast<InputLabelMapType *>(input));
56 template<
class TLabelMap,
class TGISTable>
61 if (this->GetNumberOfInputs() < 1)
66 return static_cast<const TLabelMap *
>
70 template<
class TLabelMap,
class TGISTable>
75 return static_cast<const TLabelMap *
>
79 template<
class TLabelMap,
class TGISTable>
106 template<
class TLabelMap,
class TGISTable>
113 this->AllocateOutputs();
120 output->SetConnection (this->GetInputGISConnection ());
123 output->GetConnection()->ConnectToDB();
126 output->SetTableName (this->GetGISTableName());
129 output->CreateTable(m_DropExistingGISTable);
138 typename InputLabelMapType::LabelObjectContainerType::const_iterator it;
140 const typename InputLabelMapType::LabelObjectContainerType& labelObjectContainer = input->GetLabelObjectContainer();
141 for (it = labelObjectContainer.begin(); it != labelObjectContainer.end(); ++it)
150 std::ostringstream oss;
151 oss << labelObject->GetLabel();
164 this->GetOutput()->InsertPolygons(static_cast<typename TGISTable::PolygonConstPointerType> (
166 static_cast<typename TGISTable::PolygonListConstPointerType> (0), oss.str());
172 template<
class TLabelMap,
class TGISTable>
177 Superclass::PrintSelf(os, indent);