void object::test<19>() { GeometryPtr geo = reader_.read("LINESTRING (0 0, 5 5, 10 5, 10 10)"); ensure( geo != 0 ); ensure_equals( geo->getGeometryTypeId(), geos::geom::GEOS_LINESTRING ); // FREE TESTED LINESTRING factory_.destroyGeometry(geo); }
void object::test<19>() { ensure( poly_ != nullptr ); GeometryPtr hull = poly_->convexHull(); ensure( hull != nullptr ); ensure( !hull->isEmpty() ); ensure_equals( hull->getGeometryTypeId(), geos::geom::GEOS_POLYGON ); ensure_equals( hull->getDimension(), geos::geom::Dimension::A ); // FREE MEMORY factory_->destroyGeometry(hull); }
void object::test<18>() { GeometryPtr geo = reader_.read("LINESTRING (0 0, 5 5, 10 5, 10 10)"); ensure( geo != 0 ); LineStringPtr line = dynamic_cast<LineStringPtr>(geo); ensure(line != 0); GeometryPtr hull = line->convexHull(); ensure( hull != 0 ); ensure( !hull->isEmpty() ); ensure_equals( hull->getGeometryTypeId(), geos::geom::GEOS_POLYGON ); ensure_equals( hull->getDimension(), geos::geom::Dimension::A ); factory_.destroyGeometry(hull); // FREE TESTED LINESTRING factory_.destroyGeometry(line); }
void object::test<17>() { GeometryPtr geo = reader_.read("LINESTRING (0 0, 5 5, 10 5, 10 10)"); ensure( geo != 0 ); LineStringPtr line = dynamic_cast<LineStringPtr>(geo); ensure(line != 0); GeometryPtr boundary = line->getBoundary(); ensure( boundary != 0 ); ensure( !boundary->isEmpty() ); ensure_equals( boundary->getGeometryTypeId(), geos::geom::GEOS_MULTIPOINT ); ensure_equals( boundary->getDimension(), geos::geom::Dimension::P ); factory_.destroyGeometry(boundary); // FREE TESTED LINESTRING factory_.destroyGeometry(line); }
void object::test<30>() { const size_t holesNum = 1; GeometryPtr geo = nullptr; geo = reader_.read("POLYGON ((0 0, 100 0, 100 100, 0 100, 0 0), (1 1, 1 10, 10 10, 10 1, 1 1) )"); ensure( geo != nullptr ); ensure_equals( geo->getGeometryTypeId(), geos::geom::GEOS_POLYGON ); PolygonPtr poly = dynamic_cast<PolygonPtr>(geo); ensure( poly != nullptr ); ensure_equals( poly->getNumInteriorRing(), holesNum ); LineStringCPtr interior = poly->getInteriorRingN(0); ensure( interior != nullptr ); ensure( interior->isRing() ); ensure_equals( interior->getGeometryTypeId(), geos::geom::GEOS_LINEARRING ); factory_->destroyGeometry(geo); }