1 |
mojays |
2 |
package appl.parallel.data.splittable; |
2 |
|
|
|
3 |
|
|
import org.opengis.referencing.crs.CoordinateReferenceSystem; |
4 |
|
|
|
5 |
|
|
import appl.util.RasterMetaData; |
6 |
alfonx |
60 |
import edu.bonn.xulu.data.XuluObject; |
7 |
|
|
import edu.bonn.xulu.plugin.data.grid.SingleGrid; |
8 |
mojays |
2 |
import edu.bonn.xulu.plugin.io.grid.WritableGridFactory; |
9 |
|
|
import edu.bonn.xulu.plugin.io.grid.array.WritableGridArrayFactory; |
10 |
|
|
|
11 |
|
|
/** |
12 |
|
|
* Diese Factory erzeugt Standard-Instanzen des Datentyps {@link SplittableLLProxyGrid}.<br> |
13 |
|
|
* <b>Bemerke:</b><br> |
14 |
|
|
* Dieser stellt <b>kein</b> {@linkplain XuluObject Xulu-Objekt} dar, kann also |
15 |
|
|
* nicht direkt im Xulu-Datenpool gespeichert werden. Hierzu ist der Datentyp |
16 |
|
|
* {@link SingleGrid} (bzw. eine entsprechende Factory) zu verwenden! |
17 |
|
|
* @author Dominik Appl |
18 |
|
|
* @author <a href="mailto:[email protected]">Martin Schmitz</a> (University of Bonn/Germany) |
19 |
|
|
* @version 1.0 |
20 |
|
|
*/ |
21 |
|
|
public class SplittableGridLLFactory extends WritableGridFactory { |
22 |
|
|
|
23 |
|
|
|
24 |
|
|
WritableGridFactory targetFactory = new WritableGridArrayFactory(); |
25 |
|
|
|
26 |
|
|
|
27 |
|
|
/** |
28 |
|
|
* Liefert den Datentyp, den die Factory erzeugt. |
29 |
|
|
* @return immer {@link SplittableLLProxyGrid SplittableLLProxyGrid.class} |
30 |
|
|
*/ |
31 |
|
|
public Class getInstanceType() { |
32 |
|
|
return SplittableLLProxyGrid.class; |
33 |
|
|
} |
34 |
|
|
|
35 |
|
|
/** |
36 |
|
|
* Erzeugt ein neues Grid. |
37 |
|
|
* @param type Datentyp der gespeicherten Objekte |
38 |
|
|
* @param widthc Breite in Zellen |
39 |
|
|
* @param heightc Hoehe in Zellen |
40 |
|
|
* @param minX Index der ersten Zelle in X-Richtung |
41 |
|
|
* @param minY Index der ersten Zelle in Y-Richtung |
42 |
|
|
* @param x Georeferenz Latitude (Suedliche/Untere Kante) |
43 |
|
|
* @param y Georeferenz Longitute (Westliche/Linke Kante) |
44 |
|
|
* @param width Breite |
45 |
|
|
* @param height Hoehe |
46 |
|
|
*/ |
47 |
|
|
public SplittableLLProxyGrid newInstance(int type, int widthc, int heightc, int minX, int minY, double x, double y, double width, double height, CoordinateReferenceSystem crs) { |
48 |
|
|
|
49 |
|
|
|
50 |
|
|
return new SplittableLLProxyGrid(targetFactory,new RasterMetaData( |
51 |
|
|
type,widthc,heightc, |
52 |
|
|
minX,minY,x,y,width, |
53 |
|
|
height, crs)); |
54 |
|
|
} |
55 |
|
|
} |