/* * This file is part of rasdaman community. * * Rasdaman community is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Rasdaman community is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rasdaman community. If not, see . * * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / rasdaman GmbH. * * For more information please see * or contact Peter Baumann via . */ package rasj.test; import java.util.StringTokenizer; import java.lang.Integer; import java.lang.Long; import rasj.*; import rasj.odmg.*; public class testEva { public static void main(String argv[]) throws RasException { // Points and Intervals ////////////////////////////////////////////// // create a new RasPoint RasPoint p1 = new RasPoint("[666, 777]"); RasPoint p2 = new RasPoint(5,4); // test if two points are equal boolean b1; b1 = p1.equals(p2); // get the dimension of a Point int i; i = p1.dimension(); // create a new RasSInterval RasSInterval s1 = new RasSInterval(100,200); RasSInterval s2 = new RasSInterval("150:400"); // get upper bound long l1; l1 = s2.high(); // test if lower bound is fixed boolean b2; b2 = s2.isLowFixed(); // test if interval intersects with another interval // (the return value shows the kind of intersection) int j; j = s1.intersectsWith(s2); // create new RasMInterval RasMInterval m1 = new RasMInterval("[567:3253,666:777]"); RasMInterval m2 = new RasMInterval(4); // get number of cells long l2 = 1; RasPoint m1Ext = m1.getExtent(); for (int dimi =0; dimi < m1Ext.dimension() ; dimi++) { l2 = l2 * m1Ext.item(dimi); } // Types /////////////////////////////////////////// String s = "marray "; RasType rType = RasType.getAnyType(s); RasBaseType rb; if(rType.getClass().getName().equals("rasj.RasMArrayType")) { RasMArrayType tmp = (RasMArrayType)rType; rb = tmp.getBaseType(); System.out.println(rb); } else System.out.println("element of MDD Collection is no MArray."); boolean b3; b3 = rType.isStructType(); // StorageLayout /////////////////////////////////////////// RasGMArray myMDD = new RasGMArray(new RasMInterval("[1:400,1:400]"),1); byte[] mydata = new byte[160000]; for(int y=0; y<400; y++) { for(int x=0; x<400; x++) { if((x>99 && x<151) || (x>299 && x<351)) mydata[y*399+x]=100; else mydata[y*399+x]=0; } } myMDD.setArray(mydata); myMDD.setObjectTypeName("GreyImage"); RasStorageLayout myLayout = new RasStorageLayout(); myLayout.setTileSize(32); // you can either set the TileSize or the TileDomain myLayout.setTileDomain("[1:100,1:70]"); //myMDD.setStorageLayout(); i = p2.dimension(); b1 = p1.equals(p2); //System.out.println(p1); //p1.setTo(p1.mult(p2)); //sinterval////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RasSInterval sint1 = new RasSInterval(100,200); RasSInterval sint2 = new RasSInterval("150 :400 "); RasSInterval sint3 = new RasSInterval("50:250"); sint1.setHigh(500); sint1.setLow(400); sint1.setLow('*'); sint1.setHigh('*'); sint1.setInterval('*',500); l1 = sint1.low(); l2 = sint1.high(); b1 = sint1.isLowFixed(); i = sint1.intersectsWith(sint1); //System.out.println(sint1); //System.out.println(l1); //System.out.println(l2); //System.out.println(b1); //System.out.println(i); sint3 = sint3.unionOf(sint1, sint2); sint3 = sint3.unionWith(sint2); sint3 = sint3.addToSelf(sint2); sint3 = sint3.createUnion(sint2); sint3 = sint3.add(sint2); //sint3 = sint3.differenceOf(sint2, sint1); //sint3 = sint3.differenceWith(sint1); sint3 = sint3.intersectionOf(sint2, sint1); sint3 = sint3.intersectionWith(sint2); sint3 = sint3.multWithSelf(sint2); sint3 = sint3.createIntersection(sint2); sint3 = sint3.mult(sint2); sint3 = sint3.closureOf(sint2, sint1); sint3 = sint3.closureWith(sint2); sint3 = sint3.createClosure(sint2); //Minterval////////////////////////////////////////////////////////////////////////////////////////////////////////////// RasMInterval mint1 = new RasMInterval("[567 :3253,666 :777]"); RasMInterval mint2 = new RasMInterval(4); //GMarray//////////////////////////////////////////////////////////////////////////////////////////////////////////////// RasGMArray array1 = new RasGMArray(); RasGMArray array2 = new RasGMArray(mint1, 8); byte[] bya = new byte[8]; l1 = 1; RasPoint mint1Ext = mint1.getExtent(); for (int dimi =0; dimi < mint1Ext.dimension() ; dimi++) { l1 = l1 * mint1Ext.item(dimi); } array1.setTo(array2); //bya = array2.getCell(p1); array2.intersectionWith(mint1); //Ausgabe//////////////////////////////////////////////////////////////////////////////////////////////////////////////// System.out.println("Array1 " + array1); System.out.println("Array2 " + array2); System.out.println("Punkt1 " + p1); System.out.println("Punkt2 " + p2); System.out.println("Sinterval1 " + s1); System.out.println("Sinterval2 " + s2); //System.out.println("Sinterval3 " + sint3); System.out.println("Minterval1 " + m1); System.out.println("Minterval2 " + m2); System.out.println("i = " + i); System.out.println("j = " + j); System.out.println("b1 = " + b1); System.out.println("b2 = " + b2); System.out.println("b3 = " + b3); System.out.println("l1 = " + l1); System.out.println("l2 = " + l2); //System.out.println(bya); } }