#include <GAP.h>
Public Member Functions | |
| GAP () | |
| bool | LoadPolygons (std::string &filename, std::string &inDsetName, Pol_OUT out) |
| int | pointLocate (te::gm::Coord2D &pt, te::gm::Polygon *pol) |
| bool | Polygon2Lines (te::gm::Polygon *pol) |
| bool | Polygon2Points (te::gm::Polygon *pol, int32_t id) |
| bool | Polygon2RTree (te::gm::Polygon *pol, te::sam::rtree::Index< te::gm::Line * > &rtree) |
| bool | run () |
| void | Save (te::da::DataSource *source, te::da::DataSet *result, te::da::DataSetType *outDsType) |
| bool | SavePol (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::string step) |
| bool | step0 (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| bool | step00 (std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| bool | step1 (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| bool | step2 (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| bool | step3 (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| bool | step4 (std::vector< std::pair< size_t, te::gm::Polygon * > > &pols, std::vector< std::pair< size_t, te::gm::Polygon * > > &polsout) |
| void | verify_polygon (std::vector< te::gm::Coord2D > &pt_out) |
| bool | verifyIntersections (te::gm::Coord2D &pt0, te::gm::Coord2D &pc, te::sam::rtree::Index< te::gm::Line * > &rtree_pol) |
| ~GAP () | |
Protected Attributes | |
| double | m_dist_min |
| std::string | m_filename1 |
| std::string | m_filename2 |
| std::string | m_filenameout |
| std::string | m_inDS1 |
| std::string | m_inDS2 |
| std::string | m_inDSout |
| std::vector< te::gm::Line * > | m_line |
| KD_TREE * | m_nodetree |
| KD_TREE * | m_nodetree_step2 |
| std::map< int32_t, double > | m_original_area |
| std::map< size_t, te::gm::Polygon * > | m_pol |
| std::vector< GAP_inter > | m_pol_points |
| te::sam::rtree::Index< te::gm::Line * > | m_rtree |
| int | m_srid |
| double | m_tol = 0.1e-7 |
|
inline |
Definition at line 104 of file GAP.h.
References te::xsd::serialize::Save().
Definition at line 449 of file GAP.cpp.
References te::dt::GEOMETRY_TYPE, te::gm::CurvePolygon::getArea(), te::da::GetFirstPropertyPos(), te::gm::GeometryCollection::getGeometryN(), te::gm::GeometryCollection::getNumGeometries(), te::da::GetPropertyPos(), te::gm::Geometry::getSRID(), Line_out, te::da::DataSourceFactory::make(), p, Point_out, Polygon_out, RTree_out, and te::gm::CurvePolygon::setSRID().
| int GAP::pointLocate | ( | te::gm::Coord2D & | pt, |
| te::gm::Polygon * | pol | ||
| ) |
Definition at line 1748 of file GAP.cpp.
References p, te::gm::GEOSWriter::write(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
| bool GAP::Polygon2Lines | ( | te::gm::Polygon * | pol | ) |
Definition at line 433 of file GAP.cpp.
References te::gm::LineString::getNPoints(), te::gm::CurvePolygon::getNumRings(), te::gm::LineString::getPointN(), te::gm::CurvePolygon::getRingN(), te::gm::Geometry::getSRID(), and te::gm::LineStringType.
| bool GAP::Polygon2Points | ( | te::gm::Polygon * | pol, |
| int32_t | id | ||
| ) |
Definition at line 399 of file GAP.cpp.
References te::gm::LineString::getNPoints(), te::gm::CurvePolygon::getNumRings(), te::gm::LineString::getPointN(), and te::gm::CurvePolygon::getRingN().
| bool GAP::Polygon2RTree | ( | te::gm::Polygon * | pol, |
| te::sam::rtree::Index< te::gm::Line * > & | rtree | ||
| ) |
Definition at line 414 of file GAP.cpp.
References te::gm::LineString::getNPoints(), te::gm::CurvePolygon::getNumRings(), te::gm::LineString::getPointN(), te::gm::CurvePolygon::getRingN(), te::gm::Geometry::getSRID(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), and te::gm::LineStringType.
| bool GAP::run | ( | ) |
| void GAP::Save | ( | te::da::DataSource * | source, |
| te::da::DataSet * | result, | ||
| te::da::DataSetType * | outDsType | ||
| ) |
Definition at line 352 of file GAP.cpp.
References te::da::DataSource::add(), te::da::DataSource::createDataSet(), te::dt::Property::getName(), te::da::DataSource::getTransactor(), te::da::DataSource::getType(), and te::da::DataSet::moveBeforeFirst().
| bool GAP::SavePol | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::string | step | ||
| ) |
Definition at line 1547 of file GAP.cpp.
References te::mem::DataSet::add(), te::gm::Polygon::clone(), DataSet(), te::dt::DOUBLE_TYPE, te::gm::CurvePolygon::getArea(), te::dt::INT32_TYPE, te::da::DataSourceFactory::make(), te::gm::PointType, te::gm::PolygonType, te::xsd::serialize::Save(), te::dt::SimpleProperty::setAutoNumber(), te::mem::DataSetItem::setDouble(), te::mem::DataSetItem::setGeometry(), te::mem::DataSetItem::setInt32(), te::gm::GeometryProperty::setSRID(), te::mem::DataSetItem::setString(), and te::dt::STRING_TYPE.
| bool GAP::step0 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ||
| ) |
Definition at line 653 of file GAP.cpp.
References sortpoints::c, d, Distance(), te::gm::CurvePolygon::getArea(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::LineString::getCoordinates(), te::gm::CurvePolygon::getExteriorRing(), te::gm::LineString::getNPoints(), te::gm::LineStringType, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), te::gm::LineString::setPointN(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
| bool GAP::step00 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ) |
Definition at line 597 of file GAP.cpp.
References GEOS_DouglasPeucker(), te::gm::CurvePolygon::getArea(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::LineString::getCoordinates(), te::gm::CurvePolygon::getExteriorRing(), te::gm::LineString::getNPoints(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::gm::LineString::isClosed(), te::gm::LineStringType, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), te::gm::LineString::setPointN(), and te::gm::LineString::size().
| bool GAP::step1 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ||
| ) |
Definition at line 811 of file GAP.cpp.
References coordToSegmentDistance(), te::gm::CurvePolygon::getArea(), te::gm::CurvePolygon::getExteriorRing(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::gm::LineStringType, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), te::gm::LineString::setPointN(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
| bool GAP::step2 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ||
| ) |
Definition at line 972 of file GAP.cpp.
References Distance(), te::gm::CurvePolygon::getExteriorRing(), line, te::gm::LineStringType, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), segInterPoint(), and te::gm::LineString::setPointN().
| bool GAP::step3 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ||
| ) |
Definition at line 1059 of file GAP.cpp.
References sortpoints::c, te::sam::kdtree::Index< KdTreeNode >::clear(), coordToSegmentDistance(), te::gm::Geometry::disjoint(), Distance(), te::gm::CurvePolygon::getArea(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::CurvePolygon::getExteriorRing(), te::gm::GeometryCollection::getGeometryN(), te::gm::Geometry::getGeomTypeId(), te::gm::GeometryCollection::getNumGeometries(), te::gm::LineString::getPointN(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::sam::kdtree::Index< KdTreeNode >::insert(), line, te::gm::LineStringType, te::gm::MultiPolygonType, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), te::sam::kdtree::Index< KdTreeNode >::search(), te::gm::LineString::setPointN(), te::gm::LineString::size(), te::gm::Validate(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
| bool GAP::step4 | ( | std::vector< std::pair< size_t, te::gm::Polygon * > > & | pols, |
| std::vector< std::pair< size_t, te::gm::Polygon * > > & | polsout | ||
| ) |
Definition at line 1311 of file GAP.cpp.
References coordToSegmentDistance(), te::gm::Geometry::disjoint(), Distance(), te::gm::CurvePolygon::getArea(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::CurvePolygon::getExteriorRing(), te::gm::Envelope::getLowerLeftX(), te::gm::Envelope::getLowerLeftY(), te::gm::Geometry::getMBR(), te::gm::Envelope::getUpperRightX(), te::gm::Envelope::getUpperRightY(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::gm::LineStringType, te::gm::PolygonType, pt1, te::gm::CurvePolygon::push_back(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), segInterPoint(), te::gm::LineString::setPointN(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
| void GAP::verify_polygon | ( | std::vector< te::gm::Coord2D > & | pt_out | ) |
Definition at line 1675 of file GAP.cpp.
References te::gm::LineString::getCoordinates(), te::gm::Coord2D::getX(), te::gm::Point::getX(), te::gm::Coord2D::getY(), te::gm::Point::getY(), te::gm::Line::intersection(), l1, te::gm::LineStringType, and te::gm::Line::setCoord().
| bool GAP::verifyIntersections | ( | te::gm::Coord2D & | pt0, |
| te::gm::Coord2D & | pc, | ||
| te::sam::rtree::Index< te::gm::Line * > & | rtree_pol | ||
| ) |
Definition at line 1709 of file GAP.cpp.
References coordToSegmentDistance(), te::gm::Curve::getLength(), te::gm::Geometry::getMBR(), te::gm::LineStringType, te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
protected |
|
protected |
|
protected |