Example #1
0
    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);
	}
Example #2
0
    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);
	}
Example #3
0
    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);
	}
Example #4
0
    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);
	}
Example #5
0
    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);
	}