12 #include <terralib/memory/dataset.h> 13 #include <terralib/memory/datasetitem.h> 19 #include <geos/geom/Coordinate.h> 20 #include <geos/geom/CoordinateSequence.h> 21 #include <geos/operation/distance/DistanceOp.h> 45 GAP_inter(int32_t polid, int32_t
id,
double x,
double y,
double xint,
double yint,
double xn,
double yn,
46 double distance,
double distance0, std::string t,
bool inside)
73 : m_seg(seg),
m_polid(polid), m_centroid(cent), m_mindist(min) {}
92 : m_ptint(pint), m_seg_id(id), m_dist(dist) {}
107 delete m_nodetree_step2;
112 bool step00(std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
113 bool step0(std::vector< std::pair< size_t, te::gm::Polygon* > > &pols, std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
114 bool step1(std::vector< std::pair< size_t, te::gm::Polygon* > > &pols, std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
115 bool step2(std::vector< std::pair< size_t, te::gm::Polygon* > > &pols, std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
116 bool step3(std::vector< std::pair< size_t, te::gm::Polygon* > > &pols, std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
117 bool step4(std::vector< std::pair< size_t, te::gm::Polygon* > > &pols, std::vector< std::pair< size_t, te::gm::Polygon* > > &polsout);
119 bool LoadPolygons(std::string &filename, std::string &inDsetName,
Pol_OUT out);
126 bool SavePol(std::vector< std::pair< size_t, te::gm::Polygon* > >& pols, std::string step);
128 void verify_polygon(std::vector<te::gm::Coord2D> &pt_out);
144 std::map<size_t, te::gm::Polygon*>
m_pol;
159 double m_tol = 0.1e-7;
This file contains include headers for TerraLib Spatial Access Methods module.
std::map< size_t, te::gm::Polygon * > m_pol
TEXSDEXPORT void Save(All *all, te::xml::AbstractWriter &writer)
KD_TREE * m_nodetree_step2
A Line is LineString with 2 points.
A Line is LineString with 2 points.
std::vector< te::gm::Line * > m_line
A class that models the description of a dataset.
std::vector< GAP_inter > m_pol_points
An utility struct for representing 2D coordinates.
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
GAP_inter(int32_t polid, int32_t id, double x, double y, double xint, double yint, double xn, double yn, double distance, double distance0, std::string t, bool inside)
GAP_pt_extern(te::gm::Coord2D pint, int32_t id, double dist)
te::sam::rtree::Index< te::gm::Line * > m_rtree
GAP_segment(te::gm::Line &seg, int32_t polid, te::gm::Coord2D ¢, double min)
bool operator==(const GAP_inter &)
te::gm::Coord2D m_centroid
A factory for data sources.
MultiPolygon is a MultiSurface whose elements are Polygons.
A class that represents a two dimensional K-d Tree (2-d Tree).
bool isInside(te::gm::Coord2D &first, te::gm::Coord2D &last, te::gm::Coord2D &c, te::gm::Coord2D ¢)
A class that converts a GEOS geometry to a TerraLib geometry.
A class that converts a TerraLib geometry to a GEOS geometry.
std::map< int32_t, double > m_original_area
A dataset is the unit of information manipulated by the data access module of TerraLib.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
te::sam::kdtree::Index< KD_NODE > KD_TREE
A class that represents an Kd-tree node.
te::sam::kdtree::Node< te::gm::Coord2D, std::pair< int32_t, int32_t >, std::pair< int32_t, int32_t > > KD_NODE
An atomic property like an integer or double.
std::vector< GAP_inter * > m_inter
This file contains include headers for the TerraLib Common Runtime module.
bool operator<(const GAP_inter &)
std::string m_filenameout
This file contains include headers for the Data Access module of TerraLib.