コード例 #1
0
void DomainTimeTests::construction()
{
    //Ilwis::TimeInterval ti("20081104","20100130");
    Ilwis::Time t2("20090412");
    Ilwis::Time t3("20160707");
    Ilwis::Time t4 = t2 - Ilwis::Duration("2Y");
    Ilwis::Time t5 = t2 + Ilwis::Duration("10Y");
    QString aa = t4.toString();
    aa = t5.toString();
    Ilwis::INumericDomain dom;
    dom.prepare();
    dom->range(new Ilwis::TimeInterval("20081104","20100130"));
    Ilwis::ITimeDomain dm;
    dm.prepare();
    dm->range(new Ilwis::TimeInterval(t4,t5));

    DOTEST(dom->valueType() == itDATE, "correctly set");
    QString v = dom->impliedValue(IVARIANT(t2)).value<Ilwis::Time>().toString();
    DOCOMPARE(v, QString("2009-04-12"), "testing representation");
    DOTEST(dom->contains(IVARIANT(t2)) == Ilwis::Domain::cSELF, "testing containment 1");
    DOTEST(dom->contains(IVARIANT(t3)) == Ilwis::Domain::cNONE, "testing containment 2");

    dom->setParent(dm);
    DOTEST(dom->contains(IVARIANT(t3)) == Ilwis::Domain::cPARENT, "testing containment 3");

    Ilwis::ITimeDomain dm2;
    dm2.prepare("time");

}
コード例 #2
0
ファイル: sizetest.cpp プロジェクト: 52North/IlwisTests
void SizeTest::misc() {
    Ilwis::Size<double> sz(3.45, 2.67, 8.0);

    DOTEST( APPROX(sz.linearSize(), 48,0.001), "volume test");

    Ilwis::Size<> sz2(200,400, 300);
    DOTEST(sz2.contains(24,23,67), "valid contains test");
    DOTEST(sz2.contains(700,23,67) == false, "valid contains test that fails");
}
コード例 #3
0
ファイル: csy.cpp プロジェクト: 52North/IlwisTests
void CsyTests::wkt() {
    Ilwis::ICoordinateSystem csy;
    DOTEST(csy.prepare("code=proj4:+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0") == true,"loading from proj4 definition");

    QString swkt = csy->toWKT(4);
    if ( swkt == "?")
        return;
}
コード例 #4
0
void RasterOperations::testResample() {

    Ilwis::IGeoReference grf("code=georef:type=corners,csy=epsg:21037,envelope=-3.02456e+06 -4.55547e+06 6.47259e+06 4.39692e+06,gridsize=1188 1120,name=grf1");
    QString expr = QString("aa5resbic=resample(n000302.mpr,grf1,bicubic)");
    DOTEST(grf.isValid(),"making georef by code");
    QString expr = QString("aa5resbic=resample(average_monthly_temperature_january_5.mpr,plate102.grf,bicubic)");
    //QString expr = QString("aa5resbic=resample(small3.mpr,aeqsmall.grf,bicubic)");

    Ilwis::ExecutionContext ctx;
    Ilwis::SymbolTable syms;
    DOTEST(Ilwis::commandhandler()->execute(expr,&ctx,syms), "resample done.");

    Ilwis::IRasterCoverage raster("ilwis://internalcatalog/aa5resbic");
    raster->connectTo(QString("file:///%1/aa5ss.mpr").arg(_baseDataPath.absolutePath()), "map","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
    raster->createTime(Ilwis::Time::now());
    raster->store();
}
コード例 #5
0
void test() 
{
    DOTEST(1, "one");
    DOTEST(10, "ten");
    DOTEST(15, "fifteen");
    DOTEST(50, "fifty");
    DOTEST(54, "fiftyfour");
    DOTEST(100, "onehundred");
    DOTEST(101, "onehundredandone");
    DOTEST(118, "onehundredandeighteen");
}
コード例 #6
0
ファイル: sizetest.cpp プロジェクト: 52North/IlwisTests
void SizeTest::creation() {
    Ilwis::Size<> sz;
    DOTEST(sz.isValid() == false, "invalid size");

    sz = Ilwis::Size<>(100,200,1);
    DOTEST(sz.isValid() && sz.xsize() == 100 && sz.ysize() == 200 && sz.zsize() == 1, "valid creation");

    Ilwis::Size<double> sz2 = { 2.34, 6.78, 9.34};
    DOTEST(sz.isValid() && sz2.xsize() == 2.34 && sz2.ysize() == 6.78 && sz2.zsize() == 9.34, "size with doubles, valid");

    Ilwis::Size<qint32> sz3 = Ilwis::Size<qint32>(-200,-300,1);
    DOTEST(sz3.isValid() == false, "invalid size");

    Ilwis::Size<double> sz4(0,0,0);
    DOTEST(sz4.isNull() == true, "invalid size");



}
コード例 #7
0
ファイル: rastercalc.cpp プロジェクト: 52North/IlwisTests
void Rastercalc::addition() {

    Ilwis::IRasterCoverage map1;
    DOTEST(map1.prepare(makeInputPath("U_1001A.NTF")),"loading erdas imagine file");

      Ilwis::IRasterCoverage cov = map1 + 100.0;
    DOCOMPARE(cov->pix2value(Ilwis::Pixel(0,0)),225.0,"Checking pix(269,339) for expression raster <operator> number");
    DOCOMPARE(cov->pix2value(Ilwis::Pixel(269,339)),139.0,"Checking pix(269,339) for expression raster <operator> number");
    DOCOMPARE(cov->pix2value(Ilwis::Pixel(29,996)),127.0,"Checking pix(29,996) for expression raster <operator> number");
}
コード例 #8
0
void FeatureOperations::pointrastercross() {

    QString expr = QString("aacrosspoints=pointrastercrossing(ETH_M_TOWN.mpp, average_monthly_temperature.mpl, band)");
    Ilwis::ExecutionContext ctx;
    Ilwis::SymbolTable symTable;
    DOTEST(Ilwis::commandhandler()->execute(expr,&ctx, symTable),"executed pointrastercrossing)");
    Ilwis::IFeatureCoverage crossedpoints("ilwis://internalcatalog/aacrosspoints");
    crossedpoints->connectTo(QString("file:///%1/aacrosspoints.mpp").arg(_baseDataPath.absolutePath()), "vectormap","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
    crossedpoints->createTime(Ilwis::Time::now());
    crossedpoints->store();
}
コード例 #9
0
void FeatureOperations::transform(){
    QString expr = QString("aatransformed=transformcoordinates(Kenya.mpa, utm37.csy)");
    Ilwis::ExecutionContext ctx;
    Ilwis::SymbolTable symTable;
    DOTEST(Ilwis::commandhandler()->execute(expr,&ctx, symTable),"executed transformcoordinates)");
    Ilwis::IFeatureCoverage transformed("ilwis://internalcatalog/aatransformed");
    transformed->connectTo(QString("file:///%1/aatransformed.mpa").arg(_baseDataPath.absolutePath()), "vectormap","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
    transformed->createTime(Ilwis::Time::now());
    transformed->store();

}
コード例 #10
0
void DataAccess::table() {
    Ilwis::ITable tbl;

    tbl.prepare(makeInputPath("rainfall.tbt"));
    std::vector<QVariant> values = tbl->column("february");
    DOCOMPARE(values[2].toInt(), 165, "Accessing numerical column");

    tbl.prepare(makeInputPath("geom.tbt"));

    DOCOMPARE(tbl->cell("zonation",1).toInt(), 1, "Accessing cell , getting raw value as return");
    DOTEST(tbl->cell("zonation",1, false).toString() == "Alluvial fan zone", "Accessing cell get string value as return");

}
コード例 #11
0
ファイル: gdaldataaccess.cpp プロジェクト: 52North/IlwisTests
void GdalDataAccess::tableAccess(){

    Ilwis::ITable tbl1;
    DOTEST(tbl1.prepare(makeInputPath("rainfall.shp")),"loading table from shape");

    DOCOMPARE(tbl1->recordCount(),(unsigned int)13,"check record count");
    DOTEST(tbl1->cell(1,0).toString() == "UMSS", "column test 1");
    DOTEST(tbl1->cell("APRIL",0).toInt() == 36, "column test 2");
    DOTEST(tbl1->cell("JUNE",2).toInt() == 35, "column test 3");
    DOTEST(tbl1->cell("NOVEMBER",4).toInt() == 81, "column test 4");

    DOTEST(tbl1.prepare(makeInputPath("regions.shp")), "Loaded table regions.shp");

    DOTEST(tbl1->cell("REGIONNAME",3).toString() == "Dire Dawa", "column test 5");
    DOTEST(tbl1->cell("COUNT",7).toDouble() == 34.0, "column test 6");
}
コード例 #12
0
void RasterOperations::testMirrorRotate() {
    try {
        QString expr = QString("aamirvert=mirrorrotateraster(small.mpr,rotate180)");
        Ilwis::ExecutionContext ctx;
       DOTEST(Ilwis::commandhandler()->execute(expr,&ctx), "mirror rotate mirrvert done.");

        Ilwis::IRasterCoverage raster("ilwis://internalcatalog/aamirvert");
        raster->connectTo(QString("file:///%1/aamirvert.mpr").arg(_baseDataPath.absolutePath()), "map","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
       raster->createTime(Ilwis::Time::now());
       raster->store();
    }
    catch(Ilwis::ErrorObject& err) {
        qDebug() << err.message();
        QVERIFY(false);
    }
}
コード例 #13
0
ファイル: gdaldataaccess.cpp プロジェクト: 52North/IlwisTests
void GdalDataAccess::accessingFeatureData() {
    try {
        Ilwis::IFeatureCoverage fc;
        qDebug() << "Features : accessing data ";

        DOTEST(fc.prepare(makeInputPath("regions.shp")), "Loading regions.shp");
        QString env = fc->envelope().toString();
        DOTEST(env == "33.0065 3.40088 47.9605 14.9637","FeatureCoverage: testing envelope (bbox)");

        DOTEST(fc.prepare(makeInputPath("rainfall.shp")),"loading point map");
        Ilwis::FeatureIterator iter1(fc);

        Ilwis::SPFeatureI f1 = *(iter1 + 1);
        QVariant output = f1->cell("RAINFALL");
        DOTEST(output.toString() =="taquina","accesing attribute string data of pointmap");

        Ilwis::SPFeatureI f2 = *(iter1 + 4);
        output = f2("JANUARY");
        DOCOMPARE(output.toInt(), 85 ,"accesing attribute numeric data of pointmap");

        DOTEST(fc.prepare(makeInputPath("drainage.shp")),"loading segment map");
        Ilwis::FeatureIterator iter2(fc);

        Ilwis::SPFeatureI f3 = *(iter2 + 104);
        output = f3->cell("DRAINAGE");
        DOTEST(output.toString() == "lake","accesing attribute string data of line coverage");

        Ilwis::SPFeatureI f4 = *(iter2 + 21);
        output = f4("C1");
        DOCOMPARE(output.toInt(), 1 ,"accesing attribute numeric data ofline coverage");

        DOTEST(fc.prepare(makeInputPath("geology.shp")),"loading polygon map");
        Ilwis::FeatureIterator iter3(fc);

        Ilwis::SPFeatureI f5 = *(iter3 + 40);
        output = f5->cell("GEOLOGY");
        DOTEST(output.toString() == "Shales","accesing attribute string data of polygon coverage");


    }catch (const Ilwis::ErrorObject& err) {
        QString error = "Test threw exception : " + err.message();
        QFAIL(error.toLatin1());
    }
}
コード例 #14
0
ファイル: storingdata.cpp プロジェクト: 52North/IlwisTests
void StoringData::storeGdalFormats(){
//    Ilwis::IRasterCoverage map1;
//    DOTEST(map1.prepare(makeInputPath("PR_2003_allyear.bsq")), "loading bsq");

//    map1->name("aaraster2");
//    map1->connectTo(makeOutputPath("aaraster2.mpl"), "map","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
//    map1->createTime(Ilwis::Time::now());
//    map1->store();

    Ilwis::IRasterCoverage map2;
    DOTEST(map2.prepare(makeInputPath("GCL_INT.tif")), "loading tif");

    map2->name("aaraster3");
    map2->connectTo(makeOutputPath("aaraster2.mpl"), "map","ilwis3",Ilwis::IlwisObject::cmOUTPUT);
    map2->createTime(Ilwis::Time::now());
    map2->store();
}
コード例 #15
0
void DataAccess::features() {
    Ilwis::IFeatureCoverage features;

    features.prepare(makeInputPath("rainfall.mpp"));

    Ilwis::FeatureIterator iter(features);
    Ilwis::SPFeatureI f = *(iter + 4);
    DOCOMPARE(f("january").toInt(), 93,"accessing value of 4th feature, january attribute column");

    features.prepare(makeInputPath("Contour.mps"));
    Ilwis::FeatureIterator iter2(features);
    Ilwis::SPFeatureI f2 = *(iter2 + 10);
    DOCOMPARE(f2(FEATUREVALUECOLUMN).toInt(), 2600, "accessing map value of the 10th segment");

    features.prepare(makeInputPath("soils_sadc.mpa"));
    Ilwis::FeatureIterator iter3(features);
    Ilwis::SPFeatureI f3 = *(iter3 + 4);
    auto result = f3->cell(QString("FAOSOIL"),false);
    DOTEST(result.toString() == "Rd18-3ab", "accessing attribute value of the 4th polygon");

}
コード例 #16
0
ファイル: rastercalc.cpp プロジェクト: 52North/IlwisTests
void Rastercalc::substract(){
    Ilwis::IRasterCoverage map1;
    DOTEST(map1.prepare(makeInputPath("U_1001A.NTF")),"loading erdas imagine file");

    Ilwis::IRasterCoverage cov = 100.0 - map1;

    DOCOMPARE(cov->pix2value(Ilwis::Pixel(0,0)),-25.0,"Checking pix(269,339) for expression number <operator> raster");

    map1.prepare("small.mpl");
    Ilwis::IRasterCoverage cov4 = map1 + 100;

    map1.prepare("n000302_sub_kenya.mpr");
    Ilwis::IRasterCoverage map2("kenya_2009ndvi_cor_22.mpr");

    Ilwis::IRasterCoverage cov2 = map1 + map2 / 3;

    DOCOMPARE(cov2->pix2value(Ilwis::Pixel(50,50)),148.18,"Checking pix(50,50) for compound expression");

    Ilwis::IRasterCoverage cov3 = sqrt(cov2);

    DOCOMPARE(cov3->pix2value(Ilwis::Pixel(50,50)),12.173,"Checking pix(50,50) for sqrt");


}
コード例 #17
0
ファイル: test19.c プロジェクト: Afshintm/coreclr
int __cdecl main(int argc, char *argv[])
{

    if (PAL_Initialize(argc, argv) != 0)
        return(FAIL);

    DOTEST("%.*s", 2, "bar", "bar", "ba", "ba");
    DOTEST("%.*S", 2, convert("bar"), "bar", "ba", "ba");

    //DOTEST("%.*n", 4, 2, "2", "0002");
    DOTEST("%.*c", 0, 'a', "a", "a", "a");
    DOTEST("%.*c", 4, 'a', "a", "a", "a");
    DOTEST("%.*C", 0, (WCHAR)'a', "a", "a", "a");
    DOTEST("%.*C", 4, (WCHAR)'a', "a", "a", "a");
    DOTEST("%.*d", 1, 42, "42", "42", "42");
    DOTEST("%.*d", 3, 42, "42", "042", "042");
    DOTEST("%.*i", 1, 42, "42", "42", "42");
    DOTEST("%.*i", 3, 42, "42", "042", "042");
    DOTEST("%.*o", 1, 42, "42", "52", "52");
    DOTEST("%.*o", 3, 42, "42", "052", "052");
    DOTEST("%.*u", 1, 42, "42", "42", "42");
    DOTEST("%.*u", 3, 42, "42", "042", "042");
    DOTEST("%.*x", 1, 0x42, "0x42", "42", "42");
    DOTEST("%.*x", 3, 0x42, "0x42", "042", "042");
    DOTEST("%.*X", 1, 0x42, "0x42", "42", "42");
    DOTEST("%.*X", 3, 0x42, "0x42", "042", "042");
    

    DoublePrecTest("%.*e", 1, 2.01, "2.0e+000", "2.0e+00");
    DoublePrecTest("%.*e", 3, 2.01, "2.010e+000", "2.010e+00");
    DoublePrecTest("%.*E", 1, 2.01, "2.0E+000", "2.0E+00");
    DoublePrecTest("%.*E", 3, 2.01, "2.010E+000", "2.010E+00");
    DoublePrecTest("%.*f", 1, 2.01, "2.0", "2.0");
    DoublePrecTest("%.*f", 3, 2.01, "2.010", "2.010");
    DoublePrecTest("%.*g", 1, 256.01, "3e+002", "3e+02");
    DoublePrecTest("%.*g", 3, 256.01, "256", "256");
    DoublePrecTest("%.*g", 4, 256.01, "256", "256");
    DoublePrecTest("%.*g", 6, 256.01, "256.01", "256.01");
    DoublePrecTest("%.*G", 1, 256.01, "3E+002", "3E+02");
    DoublePrecTest("%.*G", 3, 256.01, "256", "256");
    DoublePrecTest("%.*G", 4, 256.01, "256", "256");
    DoublePrecTest("%.*G", 6, 256.01, "256.01", "256.01");

    PAL_Terminate();
    return PASS;
}