19 namespace MAKVRinTerra
25 ,
public boost::enable_shared_from_this<DtGdbVectorFeature>
29 typedef boost::shared_ptr<DtGdbVectorFeature>
Ptr;
41 virtual void setAsPointGeometry(
const DtPoint&);
44 virtual void setAsLinearGeometry(
const std::vector<DtPoint>&);
47 virtual void setAsArealGeometry(
const std::vector<DtPoint>&);
58 static Ptr MakePoint(
const DtNetworkNode*, boost::shared_ptr<DtSpecificationManager> mgr,
DtProj::CPtr projection, std::string layerName);
61 static Ptr MakePath(
const DtNetworkEdge*, boost::shared_ptr<DtSpecificationManager> mgr,
DtProj::CPtr projection, std::string layerName);
64 static Ptr MakeArea(
const DtNetworkEdge*, boost::shared_ptr<DtSpecificationManager> mgr,
DtProj::CPtr projection, std::string layerName);
67 static Ptr Make(std::istream&, boost::shared_ptr<DtSpecificationManager> mgr,
DtProj::CPtr projection, std::string layerName);
72 virtual boost::optional<Attribute> attribute(
const Key & k)
const;
74 virtual void forEachAttribute(ForEachFunction f)
const;
76 virtual unsigned numberOfAttributes(
const Key::String &)
const;
79 virtual CPtr getPtr()
const;
82 virtual void print(std::ostream&);
116 virtual bool loaded(
double = 0.0)
const;
117 virtual unsigned numberOfFeatures()
const;
119 virtual DtQuery schema()
const;
128 virtual void print(std::ostream&);
189 virtual void print(
const std::string& file);
190 virtual void print(std::ostream&);
197 virtual bool saveAsShapeFiles(
const std::string& directory, std::string&
error);
209 std::set<DtSpecificationID>
ids;
223 virtual bool saveShapeFileForLayer(
int featureType,
const SpecificationLayer&,
const std::string& directory, std::string& error)
const;
226 virtual std::string fixupNameToLength(
const std::string& name,
int length)
const;
229 virtual bool addAttributesToLayer(
const AttributeMap&, OGRLayer*, std::string& error)
const;