В стандартных тестах есть такой:
[CODE] #define PANASSERT(condition, testname) if (!(condition)) { mapErrorMessage(IDS_DOERROR, testname); return 0; }
#define PANASSERTCOMPLETED(testname) return 1;
#define TESTNAME "GeodeticEllipse"
// --------------------------------------------------------------
// Check building ellipse
// --------------------------------------------------------------
int test_GeodeticEllipse()
{
MAPREGISTEREX mapreg;
DATUMPARAM datum;
ELLIPSOIDPARAM ellipsoid;
PANASSERT(mapGetParametersForEPSG(3395, &mapreg, &datum, &ellipsoid),TESTNAME);
TEMPHMAP hmap = mapCreateTempSitePro(WS("service.rsc"), &mapreg, &datum, &ellipsoid, 1);
PANASSERT(hmap, TESTNAME);
TEMPHOBJ hobj = mapCreateSiteObject(hmap, hmap);
PANASSERT(hobj, TESTNAME);
PANASSERT(mapDescribeObject(hobj, SQUARESERVINCODE), TESTNAME);
DOUBLEPOINT center(6197830, 7442044);
PANASSERT(mapBuildEllipse(hobj, & center, 2000, 1000, 20.*M_PI/180., 32), TESTNAME);
PANASSERT(mapCommitObject(hobj), TESTNAME);
int count = mapPointCount(hobj, 0);
PANASSERT(count == 33, TESTNAME);
// Correct result: distance = 9 672.8923824823
double distance = mapLengthInMap(hobj);
PANASSERT(Compare(distance, 9672.8923824823) == 0, TESTNAME);
// Correct result on ellipsoid: distance = 6 391.82228430545
distance = mapLength(hobj);
PANASSERT(Compare(distance, 6391.82228430545) == 0, TESTNAME);
// Correct result: distance = 6 242 890.30451456
double square = mapSquareInMap(hobj);
PANASSERT(Compare(square, 6242890.30451456, 0.00001) == 0, TESTNAME);
// Correct result: distance = 2 725 978.21426187
square = mapSquare(hobj);
PANASSERT(Compare(square, 2725978.21426187, 0.00001) == 0, TESTNAME);
PANASSERTCOMPLETED(TESTNAME);
}[/CODE]
Если создать не временную карту, то после теста ее можно открыть и посмотреть результат.