[geos-commits] [SCM] geos branch master updated. 64e823b26bc6a771571f39af245b0e0f4e256df8
git at osgeo.org
git at osgeo.org
Tue Aug 29 11:47:12 PDT 2017
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "geos".
The branch, master has been updated
via 64e823b26bc6a771571f39af245b0e0f4e256df8 (commit)
from 080d94701ce900494898c5fe78c53a1db72a5f4c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 64e823b26bc6a771571f39af245b0e0f4e256df8
Author: Mateusz Loskot <mateusz at loskot.net>
Date: Tue Aug 29 17:02:33 2017 +0200
Add GEOSPointOnSurface test for case of three similar polygons
Might help to catch significant changes in
algorithm calculating point on surface.
Source https://trac.osgeo.org/geos/ticket/840
diff --git a/tests/unit/capi/GEOSPointOnSurfaceTest.cpp b/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
index 41d4ec1..b6d0f9d 100644
--- a/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
+++ b/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
@@ -188,5 +188,61 @@ namespace tut
}
+ // Check point on surface for three similar polygons (shapes)
+ // https://trac.osgeo.org/geos/ticket/840
+ template<>
+ template<>
+ void object::test<7>()
+ {
+ // Polygon A
+ {
+ geom1_ = GEOSGeomFromWKT("POLYGON(("
+ "182111.031940953 141935.935903267,181944.315698016 141813.663222482,"
+ "181993.426552077 141735.161360171,182025.215323227 141755.058841504,"
+ "182042.126877935 141723.338145732,182089.035943744 141755.453352846,"
+ "182096.699289843 141744.892410235,182142.107084301 141773.967727472,"
+ "182140.268233846 141825.482203511,182123.233970367 141827.369156254,"
+ "182111.031940953 141935.935903267))");
+ ensure(0 != geom1_);
+ geom2_ = GEOSPointOnSurface(geom1_);
+ ensure(0 != geom2_);
+
+ wkt_ = GEOSWKTWriter_write(wktw_, geom2_);
+ ensure_equals(std::string(wkt_), std::string("POINT (182077.08 141881.65)"));
+ }
+ // Polygon B
+ {
+ geom1_ = GEOSGeomFromWKT("POLYGON(("
+ "182512.231897141 141935.935903267,182344.315698016 141813.663222482,"
+ "182393.426552077 141735.161360171,182425.215323227 141755.058841504,"
+ "182442.126877935 141723.338145732,182489.035943744 141755.453352846,"
+ "182496.699289843 141744.892410235,182542.107084301 141773.967727472,"
+ "182540.268233846 141825.482203511,182522.034014178 141825.369229273,"
+ "182512.231897141 141935.935903267))");
+ ensure(0 != geom1_);
+ geom2_ = GEOSPointOnSurface(geom1_);
+ ensure(0 != geom2_);
+
+ wkt_ = GEOSWKTWriter_write(wktw_, geom2_);
+ ensure_equals(std::string(wkt_), std::string("POINT (182476.76 141880.71)"));
+ }
+ // Polygon C
+ {
+ geom1_ = GEOSGeomFromWKT("POLYGON(("
+ "182635.760119718 141846.477712277,182826.153168283 141974.473039044,"
+ "182834.952846998 141857.67730337,182862.151853936 141851.277537031,"
+ "182860.551912351 141779.280165725,182824.553226698 141748.881275618,"
+ "182814.953577191 141758.480925126,182766.155358861 141721.682268681,"
+ "182742.156235092 141744.881421657,182692.558045971 141716.882443927,"
+ "182635.760119718 141846.477712277))");
+ ensure(0 != geom1_);
+ geom2_ = GEOSPointOnSurface(geom1_);
+ ensure(0 != geom2_);
+
+ wkt_ = GEOSWKTWriter_write(wktw_, geom2_);
+ ensure_equals(std::string(wkt_), std::string("POINT (182755.89 141812.88)"));
+ }
+ }
+
} // namespace tut
-----------------------------------------------------------------------
Summary of changes:
tests/unit/capi/GEOSPointOnSurfaceTest.cpp | 56 ++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
hooks/post-receive
--
geos
More information about the geos-commits
mailing list