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