Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java @ 547:23d5cc37dd5b
Fixed access to raster data.
geo-backend/trunk@518 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 09 Jan 2010 12:41:26 +0000 |
parents | 210716612c30 |
children | 7615ee5d1345 |
rev | line source |
---|---|
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 * |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 */ |
266
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
4 package de.intevation.gnv.geobackend.sde.datasources; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
6 import java.sql.Connection; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
7 import java.sql.ResultSet; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 import java.sql.SQLException; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 import java.sql.SQLWarning; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 import java.sql.Statement; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 import org.apache.log4j.Logger; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
14 import com.esri.sde.sdk.client.SDEPoint; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
15 import com.esri.sde.sdk.client.SeColumnDefinition; |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
16 import com.esri.sde.sdk.client.SeConnection; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 import com.esri.sde.sdk.client.SeException; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
18 import com.esri.sde.sdk.client.SeExtent; |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
19 import com.esri.sde.sdk.client.SeFilter; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
20 import com.esri.sde.sdk.client.SeLayer; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
21 import com.esri.sde.sdk.client.SeQuery; |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
22 import com.esri.sde.sdk.client.SeQueryInfo; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
23 import com.esri.sde.sdk.client.SeRaster; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
24 import com.esri.sde.sdk.client.SeRasterAttr; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
25 import com.esri.sde.sdk.client.SeRasterBand; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
26 import com.esri.sde.sdk.client.SeRasterConstraint; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
27 import com.esri.sde.sdk.client.SeRasterTile; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
28 import com.esri.sde.sdk.client.SeRow; |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
29 import com.esri.sde.sdk.client.SeShape; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
30 import com.esri.sde.sdk.client.SeShapeFilter; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
31 import com.esri.sde.sdk.client.SeSqlConstruct; |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
32 import com.vividsolutions.jts.geom.Coordinate; |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
33 import com.vividsolutions.jts.geom.Envelope; |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
34 import com.vividsolutions.jts.geom.Geometry; |
383
0b813ae17173
Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents:
380
diff
changeset
|
35 import com.vividsolutions.jts.geom.Point; |
0b813ae17173
Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents:
380
diff
changeset
|
36 import com.vividsolutions.jts.geom.Polygon; |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
37 import com.vividsolutions.jts.io.WKTReader; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
38 |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
40 /** |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
41 * @author Tim Englich (tim.englich@intevation.de) |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
42 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
43 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 public class ArcSDEStatement implements Statement { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 * the logger, used to log exceptions and additonaly information |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
48 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
49 private static Logger log = Logger.getLogger(ArcSDEStatement.class); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
50 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
51 private ArcSDEConnection connection = null; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
52 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
53 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
54 * Constructor |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 public ArcSDEStatement(ArcSDEConnection connection) { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 this.connection = connection; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
58 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 * @see java.sql.Statement#addBatch(java.lang.String) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
62 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 public void addBatch(String arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
65 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
66 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
67 * @see java.sql.Statement#cancel() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
68 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 public void cancel() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
70 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
71 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
72 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
73 * @see java.sql.Statement#clearBatch() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
74 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
75 public void clearBatch() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
76 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
78 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
79 * @see java.sql.Statement#clearWarnings() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
80 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
81 public void clearWarnings() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
82 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
83 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
85 * @see java.sql.Statement#close() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
86 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
87 public void close() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
88 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
89 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
90 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 * @see java.sql.Statement#execute(java.lang.String) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
92 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 public boolean execute(String arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
94 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
95 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
96 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
98 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
99 * @see java.sql.Statement#execute(java.lang.String, int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
100 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 public boolean execute(String arg0, int arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
102 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
104 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
105 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
106 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
107 * @see java.sql.Statement#execute(java.lang.String, int[]) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
108 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
109 public boolean execute(String arg0, int[] arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
110 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
111 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
112 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
113 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
114 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
115 * @see java.sql.Statement#execute(java.lang.String, java.lang.String[]) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
116 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 public boolean execute(String arg0, String[] arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
118 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
119 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
120 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
121 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
122 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
123 * @see java.sql.Statement#executeBatch() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
124 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
125 public int[] executeBatch() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
126 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
127 return null; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
128 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
129 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
130 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 * @see java.sql.Statement#executeQuery(java.lang.String) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
132 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
133 public ResultSet executeQuery(String statement) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
134 try { |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
135 SeQuery query = null; |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
136 if (statement.toLowerCase().contains("st_astext") || statement.toLowerCase().contains("intersects")){ |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
137 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
138 String[] values = statement.toLowerCase().split("where", 2); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
139 String where = values.length > 1 ? values[1].trim() : ""; |
277
f304f2f12db4
Changed the splitting of the Statements for ARCSDE-Transformation.
Tim Englich <tim.englich@intevation.de>
parents:
275
diff
changeset
|
140 String[] tableNames = values[0].substring(values[0].indexOf("from")).replaceFirst("from", "").toUpperCase().trim().split(", "); |
f304f2f12db4
Changed the splitting of the Statements for ARCSDE-Transformation.
Tim Englich <tim.englich@intevation.de>
parents:
275
diff
changeset
|
141 String columnValueString = values[0].substring(0, values[0].indexOf("from")).trim(); |
f304f2f12db4
Changed the splitting of the Statements for ARCSDE-Transformation.
Tim Englich <tim.englich@intevation.de>
parents:
275
diff
changeset
|
142 columnValueString = columnValueString.replaceFirst("select", "").trim(); |
377
6a585e87c18b
Added RegionFilter-Support to HorizontalProfile InstantaneousPoint
Tim Englich <tim.englich@intevation.de>
parents:
277
diff
changeset
|
143 String[] returnFields = columnValueString.split(", "); |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
144 String geometryColumnName = null; |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
145 String byClause = null; |
274
ff1b7967e6b9
General CodecCleanup:
Tim Englich <tim.englich@intevation.de>
parents:
267
diff
changeset
|
146 int byClausePos = where.indexOf("group by"); |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
147 if (byClausePos < 0){ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
148 byClausePos = where.indexOf("order by"); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
149 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
150 if (byClausePos > 0){ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
151 byClause = where.substring(byClausePos); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
152 where = where.substring(0,byClausePos); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
153 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
154 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
155 for (int i = 0; i < returnFields.length; i++){ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
156 returnFields[i] = returnFields[i].trim(); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
157 if (returnFields[i].startsWith("st_astext(")){ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
158 returnFields[i] = returnFields[i].replaceAll("st_astext", ""); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
159 returnFields[i] = returnFields[i].substring(1, returnFields[i].length()-1); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
160 geometryColumnName = returnFields[i]; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
161 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
162 } |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
163 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
164 for (int i = 0; i < tableNames.length; i++){ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
165 tableNames[i] = tableNames[i].trim(); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
166 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
167 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
168 Geometry g = null; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
169 int pos = where.indexOf("intersects"); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
170 if (pos >= 0 ){ |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
171 String substr = where.substring(pos); |
546
210716612c30
Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
Tim Englich <tim.englich@intevation.de>
parents:
544
diff
changeset
|
172 where = where.substring(0,where.lastIndexOf("intersects")); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
173 int andPos = where.lastIndexOf("and"); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
174 if (andPos < 0){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
175 andPos = 0; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
176 } |
546
210716612c30
Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
Tim Englich <tim.englich@intevation.de>
parents:
544
diff
changeset
|
177 where = where.substring(0,andPos); // TODO support or also |
210716612c30
Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
Tim Englich <tim.englich@intevation.de>
parents:
544
diff
changeset
|
178 String intersectsStmt = substr.substring(0, substr.lastIndexOf(")")); // Spatial-Statment is the last one |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
179 String wkt = null; |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
180 if (intersectsStmt.contains("select")){ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
181 // Anstelle eines WKT ist ein InnerSelect zum Bestimmen der Comparatorgeometrie gegeben. |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
182 String stmt = intersectsStmt.substring(intersectsStmt.indexOf("select"),intersectsStmt.lastIndexOf(")")); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
183 ResultSet resultSet = this.executeQuery(stmt); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
184 if (resultSet != null && resultSet.next()){ |
546
210716612c30
Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
Tim Englich <tim.englich@intevation.de>
parents:
544
diff
changeset
|
185 // TODO: Support the selection of more than one Geometry |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
186 wkt = resultSet.getString("SHAPE"); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
187 } |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
188 }else{ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
189 wkt = intersectsStmt.substring(intersectsStmt.indexOf("\""), intersectsStmt.lastIndexOf("\"")).replace("\"", "").trim(); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
190 } |
383
0b813ae17173
Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents:
380
diff
changeset
|
191 g = new WKTReader().read(wkt.toUpperCase()); |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
192 |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
193 if (geometryColumnName == null){ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
194 geometryColumnName = "SHAPE"; // TODO dynamisch aus Intersects auslesen. |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
195 } |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
196 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
197 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
198 |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
199 return this.executeQuery(this.connection.getSeConnection(), tableNames, geometryColumnName, where, g, returnFields,byClause); |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
200 }else{ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
201 query = new SeQuery(this.connection.getSeConnection()); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
202 query.prepareSql(statement); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
203 query.execute(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
204 return this.handleResultSet(query,false,null); |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
205 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
206 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
207 } catch (Exception e) { |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
208 log.error(e,e); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
209 throw new SQLException(e.getMessage()); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
210 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
211 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
212 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
213 } |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
214 |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
215 private ResultSet executeQuery(SeConnection con, String[] pLayername, |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
216 String pSpatialColumnName, String pWhere, |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
217 Geometry g, String[] pReturnFields, String byClause) |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
218 throws SQLException { |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
219 log.debug("executeQuery()"); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
220 try { |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
221 // get the layer for querying |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
222 boolean isRaster = pSpatialColumnName.equalsIgnoreCase("raster"); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
223 |
266
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
224 SeShapeFilter[] filters = null; |
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
225 if (g != null){ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
226 if (!isRaster){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
227 SeLayer lLayer = new SeLayer(con, pLayername[0], pSpatialColumnName); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
228 SeShape shape = new SeShape(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
229 shape.setCoordRef(lLayer.getCoordRef()); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
230 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
231 SDEPoint[] lPoints = new ArcSDEUtils().createPoints(g); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
232 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
233 int searchMode = SeFilter.METHOD_AI; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
234 if (g instanceof Polygon){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
235 shape.generatePolygon(lPoints.length, 1, null, lPoints); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
236 }else if (g instanceof Point){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
237 shape.generatePoint(1, lPoints); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
238 searchMode = SeFilter.METHOD_PC; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
239 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
240 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
241 SeShapeFilter filter = new SeShapeFilter(pLayername[0], |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
242 pSpatialColumnName, shape,searchMode); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
243 filters = new SeShapeFilter[1]; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
244 filters[0] = filter; |
383
0b813ae17173
Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents:
380
diff
changeset
|
245 } |
266
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
246 } |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
247 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
248 SeQuery spatialQuery = null; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
249 SeSqlConstruct sqlCons = new SeSqlConstruct(pLayername, pWhere); |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
250 spatialQuery = new SeQuery(con);//, pReturnFields, sqlCons); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
251 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
252 SeQueryInfo queryInfo = new SeQueryInfo(); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
253 queryInfo.setColumns(pReturnFields); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
254 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
255 if (byClause != null){ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
256 queryInfo.setByClause(byClause); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
257 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
258 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
259 queryInfo.setConstruct(sqlCons); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
260 spatialQuery.prepareQueryInfo(queryInfo); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
261 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
262 /* |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
263 * Set spatial constraints |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
264 */ |
266
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
265 if (filters != null){ |
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
266 spatialQuery.setSpatialConstraints(SeQuery.SE_OPTIMIZE, false, |
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
267 filters); |
1530890b28c9
Added SFS-Support to ArcSDE-Query-Part without any Spatial restriction in the where clause
Tim Englich <tim.englich@intevation.de>
parents:
263
diff
changeset
|
268 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
269 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
270 if (!isRaster){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
271 spatialQuery.execute(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
272 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
273 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
274 return this.handleResultSet(spatialQuery,isRaster,g); |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
275 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
276 } catch (Exception e) { |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
277 if (e instanceof SeException){ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
278 ArcSDEUtils.printError((SeException)e); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
279 }else{ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
280 log.error(e.getMessage(), e); |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
281 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
282 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
283 throw new SQLException(e.getMessage()); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
284 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
285 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
286 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
287 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
288 * @see java.sql.Statement#executeUpdate(java.lang.String) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
289 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
290 public int executeUpdate(String arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
291 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
292 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
293 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
294 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
295 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
296 * @see java.sql.Statement#executeUpdate(java.lang.String, int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
297 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
298 public int executeUpdate(String arg0, int arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
299 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
300 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
301 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
302 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
303 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
304 * @see java.sql.Statement#executeUpdate(java.lang.String, int[]) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
305 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
306 public int executeUpdate(String arg0, int[] arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
307 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
308 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
309 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
310 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
311 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
312 * @see java.sql.Statement#executeUpdate(java.lang.String, java.lang.String[]) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
313 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
314 public int executeUpdate(String arg0, String[] arg1) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
315 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
316 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
317 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
318 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
319 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
320 * @see java.sql.Statement#getConnection() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
321 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
322 public Connection getConnection() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
323 return this.connection; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
324 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
325 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
326 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
327 * @see java.sql.Statement#getFetchDirection() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
328 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
329 public int getFetchDirection() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
330 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
331 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
332 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
333 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
334 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
335 * @see java.sql.Statement#getFetchSize() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
336 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
337 public int getFetchSize() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
338 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
339 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
340 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
341 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
342 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
343 * @see java.sql.Statement#getGeneratedKeys() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
344 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
345 public ResultSet getGeneratedKeys() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
346 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
347 return null; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
348 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
349 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
350 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
351 * @see java.sql.Statement#getMaxFieldSize() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
352 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
353 public int getMaxFieldSize() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
354 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
355 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
356 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
357 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
358 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
359 * @see java.sql.Statement#getMaxRows() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
360 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
361 public int getMaxRows() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
362 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
363 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
364 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
365 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
366 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
367 * @see java.sql.Statement#getMoreResults() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
368 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
369 public boolean getMoreResults() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
370 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
371 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
372 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
373 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
374 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
375 * @see java.sql.Statement#getMoreResults(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
376 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
377 public boolean getMoreResults(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
378 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
379 return false; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
380 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
381 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
382 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
383 * @see java.sql.Statement#getQueryTimeout() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
384 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
385 public int getQueryTimeout() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
386 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
387 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
388 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
389 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
390 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
391 * @see java.sql.Statement#getResultSet() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
392 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
393 public ResultSet getResultSet() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
394 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
395 return null; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
396 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
397 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
398 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
399 * @see java.sql.Statement#getResultSetConcurrency() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
400 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
401 public int getResultSetConcurrency() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
402 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
403 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
404 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
405 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
406 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
407 * @see java.sql.Statement#getResultSetHoldability() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
408 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
409 public int getResultSetHoldability() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
410 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
411 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
412 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
413 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
414 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
415 * @see java.sql.Statement#getResultSetType() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
416 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
417 public int getResultSetType() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
418 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
419 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
420 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
421 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
422 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
423 * @see java.sql.Statement#getUpdateCount() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
424 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
425 public int getUpdateCount() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
426 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
427 return 0; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
428 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
429 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
430 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
431 * @see java.sql.Statement#getWarnings() |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
432 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
433 public SQLWarning getWarnings() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
434 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
435 return null; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
436 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
437 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
438 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
439 * @see java.sql.Statement#setCursorName(java.lang.String) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
440 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
441 public void setCursorName(String arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
442 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
443 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
444 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
445 * @see java.sql.Statement#setEscapeProcessing(boolean) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
446 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
447 public void setEscapeProcessing(boolean arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
448 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
449 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
450 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
451 * @see java.sql.Statement#setFetchDirection(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
452 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
453 public void setFetchDirection(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
454 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
455 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
456 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
457 * @see java.sql.Statement#setFetchSize(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
458 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
459 public void setFetchSize(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
460 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
461 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
462 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
463 * @see java.sql.Statement#setMaxFieldSize(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
464 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
465 public void setMaxFieldSize(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
466 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
467 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
468 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
469 * @see java.sql.Statement#setMaxRows(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
470 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
471 public void setMaxRows(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
472 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
473 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
474 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
475 * @see java.sql.Statement#setQueryTimeout(int) |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
476 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
477 public void setQueryTimeout(int arg0) throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
478 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
479 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
480 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
481 * Copied from de.intevation.gnv.geobackend.sde.datasources.SDEQuery |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
482 * @param pSeQuery |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
483 * @return |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
484 * @throws SeException |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
485 */ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
486 private ResultSet handleResultSet(SeQuery pSeQuery, boolean isRaster, Geometry geometry) throws SeException { |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
487 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
488 boolean debug = log.isDebugEnabled(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
489 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
490 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
491 log.debug("ArcSDEStatement.handleResultSet()"); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
492 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
493 |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
494 SDEResultSet lSet = new SDEResultSet(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
495 SeRow row = null;; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
496 int lCount; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
497 if (!isRaster){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
498 for (lCount = 0; (row = pSeQuery.fetch()) != null; lCount++) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
499 // one time execution |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
500 if (lCount == 0) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
501 // analyze cols of result set |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
502 SeColumnDefinition[] lCols = row.getColumns(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
503 for (SeColumnDefinition lCol : lCols) { |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
504 lSet.addCol(new ColDefinition(lCol.getName(), lCol.getType())); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
505 // notice: esri-types have been copied into colDefinition class! |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
506 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
507 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
508 short lNumCols = row.getNumColumns(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
509 Row lBackingRow = new Row(lNumCols); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
510 for (int i = 0; i < lNumCols; i++) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
511 lBackingRow.addObject(row.getObject(i), i); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
512 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
513 lSet.addRow(lBackingRow); |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
514 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
515 }else{ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
516 try { |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
517 pSeQuery.execute(); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
518 row = pSeQuery.fetch(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
519 SeRasterAttr attr = row.getRaster(0); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
520 SeRaster raster = attr.getRasterInfo(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
521 SeRasterBand [] bands = raster.getBands(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
522 SeRasterBand rasterBand = bands[0]; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
523 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
524 SeExtent extent = rasterBand.getExtent(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
525 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
526 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
527 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
528 log.debug("Extent: " + |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
529 extent.getMinX() + " " + extent.getMinY() + " "+ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
530 extent.getMaxX() + " " + extent.getMaxY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
531 log.debug("Query geometry: "+geometry.toText()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
532 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
533 */ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
534 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
535 double x = ((Point)geometry).getX(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
536 double y = ((Point)geometry).getY(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
537 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
538 boolean isPointInRaster = |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
539 x >= extent.getMinX() && x <= extent.getMaxX() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
540 && y >= extent.getMinY() && y <= extent.getMaxY(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
541 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
542 if (isPointInRaster){ |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
543 |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
544 if (row == null){ |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
545 pSeQuery.execute(); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
546 row = pSeQuery.fetch(); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
547 } |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
548 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
549 double midX = 0.5d*(extent.getMinX() + extent.getMaxX()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
550 double midY = 0.5d*(extent.getMinY() + extent.getMaxY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
551 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
552 SDEPoint origin = rasterBand.getTileOrigin(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
553 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
554 double maxX = origin.getX() < midX |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
555 ? extent.getMaxX() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
556 : extent.getMinX(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
557 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
558 double maxY = origin.getY() < midY |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
559 ? extent.getMaxY() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
560 : extent.getMinY(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
561 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
562 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
563 0 = origin.getX()*mx + bx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
564 rasterBand.getBandWidth() = maxX + bx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
565 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
566 rasterBand.getBandWidth() = (maxX-origin.getX())*mx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
567 */ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
568 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
569 double mx = rasterBand.getBandWidth()/(maxX-origin.getX()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
570 double bx = -origin.getX()*mx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
571 double px = mx*x + bx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
572 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
573 double my = rasterBand.getBandHeight()/(maxY-origin.getY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
574 double by = -origin.getY()*my; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
575 double py = my*y + by; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
576 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
577 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
578 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
579 log.debug("p(x, y): " + px + " / " + py); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
580 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
581 */ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
582 |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
583 SeRasterConstraint constraint = new SeRasterConstraint(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
584 constraint.setLevel(0); // best resolution |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
585 constraint.setBands(rasterBand.getBandNumber()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
586 int tx = (int)Math.floor(px / rasterBand.getTileWidth()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
587 int ty = (int)Math.floor(py / rasterBand.getTileHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
588 constraint.setEnvelope(tx, ty, tx, ty); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
589 |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
590 pSeQuery.queryRasterTile(constraint); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
591 SeRasterTile tile = row.getRasterTile(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
592 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
593 if (tile != null){ |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
594 double[] tileValues = new double[tile.getNumPixels()]; |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
595 tileValues = tile.getPixels(tileValues); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
596 lSet.addCol(new ColDefinition("tile", ColDefinition.FLOAT64)); |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
597 Row lBackingRow = new Row(1); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
598 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
599 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
600 0 = wx1*mt + bt |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
601 tileWidth-EPS = wx2*mt + bt |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
602 tileWidth-EPS = mt*(wx2 - wx1) |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
603 */ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
604 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
605 double wx1 = (rasterBand.getTileWidth()*tx - bx)/mx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
606 double wx2 = (rasterBand.getTileWidth()*(tx+1) - bx)/mx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
607 double mxt = (rasterBand.getTileWidth()-1e-5d)/(wx2 - wx1); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
608 double bxt = -wx1*mxt; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
609 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
610 double wy1 = (rasterBand.getTileHeight()*ty - by)/my; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
611 double wy2 = (rasterBand.getTileHeight()*(ty+1) - by)/my; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
612 double myt = (rasterBand.getTileHeight()-1e-5d)/(wy2 - wy1); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
613 double byt = -wy1*myt; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
614 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
615 RasterObject ro = new RasterObject( |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
616 mxt, bxt, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
617 myt, byt, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
618 tile.getColumnIndex(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
619 tile.getRowIndex(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
620 tileValues, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
621 rasterBand.getTileWidth(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
622 rasterBand.getTileHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
623 lBackingRow.addObject(ro, 0); |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
624 lSet.addRow(lBackingRow); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
625 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
626 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
627 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
628 log.debug("x / y: " + x + " / " + y); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
629 log.debug("wx1: " + wx1); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
630 log.debug("wx1 -> " + (wx1*mxt+bxt)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
631 log.debug("wx2: " + wx2); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
632 log.debug("wx2 -> " + (wx2*mxt+bxt)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
633 log.debug("wx2 - wx1: " + Math.abs(wx2-wx1)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
634 log.debug("wy2 - wy1: " + Math.abs(wy2-wy1)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
635 log.debug("pix: " + (x*mxt + bxt)+ " " + (y*myt + byt)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
636 log.debug("requesting tile: " + tx + " / " + ty); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
637 log.debug("got tile: " + tile.getColumnIndex() + " / " + tile.getRowIndex()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
638 log.debug("tile orig: " + origin.getX() + " / " + origin.getY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
639 log.debug("tile width: " + rasterBand.getTileWidth()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
640 log.debug("tile height: " + rasterBand.getTileHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
641 log.debug("Rasterdimesion (Pixel) " + |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
642 rasterBand.getBandWidth() + " / " + rasterBand.getBandHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
643 log.debug("BAND-ID "+rasterBand.getId().longValue()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
644 log.debug("Pixels: "+ tile.getNumPixels()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
645 log.debug("Column / Row "+tile.getColumnIndex()+" / "+tile.getRowIndex()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
646 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
647 */ |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
648 } |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
649 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
650 else{ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
651 log.debug("The Query doesn't deliver any Information " + |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
652 "because the Point is located outside the Raster."); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
653 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
654 } catch (Exception e) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
655 log.error(e,e); |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
656 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
657 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
658 pSeQuery.close(); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
659 return lSet; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
660 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
661 |
380
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
662 public boolean isClosed() throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
663 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
664 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
665 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
666 public boolean isPoolable() throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
667 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
668 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
669 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
670 public void setPoolable(boolean arg0) throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
671 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
672 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
673 public boolean isWrapperFor(Class<?> iface) throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
674 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
675 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
676 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
677 public <T> T unwrap(Class<T> iface) throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
678 return null; |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
679 |
380
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
680 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
681 } |