public void CalcDistanceFromErrPct()
{
SpatialContext ctx = SpatialContext.GEO;
double DEP = 0.5;//distErrPct
//the result is the diagonal distance from the center to the closest corner,
// times distErrPct
IShape superwide = ctx.MakeRectangle(-180, 180, 0, 0);
//0 distErrPct means 0 distance always
assertEquals(0, SpatialArgs.CalcDistanceFromErrPct(superwide, 0, ctx), 0);
assertEquals(180 * DEP, SpatialArgs.CalcDistanceFromErrPct(superwide, DEP, ctx), 0);
IShape supertall = ctx.MakeRectangle(0, 0, -90, 90);
assertEquals(90 * DEP, SpatialArgs.CalcDistanceFromErrPct(supertall, DEP, ctx), 0);
IShape upperhalf = ctx.MakeRectangle(-180, 180, 0, 90);
assertEquals(45 * DEP, SpatialArgs.CalcDistanceFromErrPct(upperhalf, DEP, ctx), 0.0001);
IShape midCircle = ctx.MakeCircle(0, 0, 45);
assertEquals(60 * DEP, SpatialArgs.CalcDistanceFromErrPct(midCircle, DEP, ctx), 0.0001);
}
}