Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java @ 660:b4c7de93d5e8
Added Suport for the Geometrytyp SimpleLine.
geo-backend/trunk@748 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 08 Mar 2010 14:06:50 +0000 |
parents | 825781a39c70 |
children | 9bcc423d8d76 |
rev | line source |
---|---|
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
|
1 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
|
2 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
3 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
|
4 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
|
5 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
|
6 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
|
7 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
|
8 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
|
9 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
|
10 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
|
11 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
|
12 import com.esri.sde.sdk.client.SeRaster; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
13 import com.esri.sde.sdk.client.SeRasterAttr; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
14 import com.esri.sde.sdk.client.SeRasterBand; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
15 import com.esri.sde.sdk.client.SeRasterConstraint; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
16 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
|
17 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
|
18 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
|
19 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
|
20 import com.esri.sde.sdk.client.SeSqlConstruct; |
552
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
21 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
22 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
|
23 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
|
24 import com.vividsolutions.jts.geom.Polygon; |
552
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
25 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
26 import com.vividsolutions.jts.io.WKTReader; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
27 |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
28 import de.intevation.gnv.geobackend.util.RedundancyRemover; |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
29 |
552
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
30 import java.sql.Connection; |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
31 import java.sql.ResultSet; |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
32 import java.sql.SQLException; |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
33 import java.sql.SQLWarning; |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
34 import java.sql.Statement; |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
35 |
7615ee5d1345
Cleanup imports
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
547
diff
changeset
|
36 import org.apache.log4j.Logger; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
38 /** |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
39 * @author Tim Englich (tim.englich@intevation.de) |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
40 * @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
|
41 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
42 public class ArcSDEStatement implements Statement { |
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 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 * 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
|
46 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 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
|
48 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
49 private ArcSDEConnection connection = null; |
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 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
52 * Constructor |
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 public ArcSDEStatement(ArcSDEConnection connection) { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 this.connection = connection; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 |
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 * @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
|
60 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 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
|
62 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 |
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 * @see java.sql.Statement#cancel() |
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 public void cancel() throws SQLException { |
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 |
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 * @see java.sql.Statement#clearBatch() |
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 public void clearBatch() throws SQLException { |
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 |
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 * @see java.sql.Statement#clearWarnings() |
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 public void clearWarnings() throws SQLException { |
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 |
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 * @see java.sql.Statement#close() |
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 public void close() throws SQLException { |
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 |
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 * @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
|
90 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 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
|
92 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 return false; |
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 |
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 * @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
|
98 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
99 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
|
100 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 return false; |
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 |
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 * @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
|
106 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
107 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
|
108 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
109 return false; |
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 |
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 * @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
|
114 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
115 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
|
116 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 return false; |
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 |
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 * @see java.sql.Statement#executeBatch() |
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 public int[] executeBatch() throws SQLException { |
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 return null; |
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 |
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 * @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
|
130 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 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
|
132 try { |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
133 SeQuery query = null; |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
134 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
|
135 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
136 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
|
137 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
|
138 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
|
139 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
|
140 columnValueString = columnValueString.replaceFirst("select", "").trim(); |
377
6a585e87c18b
Added RegionFilter-Support to HorizontalProfile InstantaneousPoint
Tim Englich <tim.englich@intevation.de>
parents:
277
diff
changeset
|
141 String[] returnFields = columnValueString.split(", "); |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
142 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
|
143 String byClause = null; |
274
ff1b7967e6b9
General CodecCleanup:
Tim Englich <tim.englich@intevation.de>
parents:
267
diff
changeset
|
144 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
|
145 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
|
146 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
|
147 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
148 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
|
149 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
|
150 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
|
151 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
152 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
153 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
|
154 returnFields[i] = returnFields[i].trim(); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
155 if (returnFields[i].startsWith("st_astext(")){ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
156 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
|
157 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
|
158 geometryColumnName = returnFields[i]; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
159 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
160 } |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
161 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
162 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
|
163 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
|
164 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
165 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
166 Geometry g = null; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
167 int pos = where.indexOf("intersects"); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
168 if (pos >= 0 ){ |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
169 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
|
170 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
|
171 int andPos = where.lastIndexOf("and"); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
172 if (andPos < 0){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
173 andPos = 0; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
174 } |
546
210716612c30
Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
Tim Englich <tim.englich@intevation.de>
parents:
544
diff
changeset
|
175 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
|
176 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
|
177 String wkt = null; |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
178 if (intersectsStmt.contains("select")){ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
179 // 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
|
180 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
|
181 ResultSet resultSet = this.executeQuery(stmt); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
182 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
|
183 // 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
|
184 wkt = resultSet.getString("SHAPE"); |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
185 } |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
186 }else{ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
187 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
|
188 } |
383
0b813ae17173
Added Point in Polygon Query Support to ArcSDE-Statement-Processing
Tim Englich <tim.englich@intevation.de>
parents:
380
diff
changeset
|
189 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
|
190 |
275
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
191 if (geometryColumnName == null){ |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
192 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
|
193 } |
9063c5fcebf7
Added the possibility to use Innerselects in SpatialQueries
Tim Englich <tim.englich@intevation.de>
parents:
274
diff
changeset
|
194 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
195 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
196 |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
197 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
|
198 }else{ |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
199 query = new SeQuery(this.connection.getSeConnection()); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
200 query.prepareSql(statement); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
201 query.execute(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
202 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
|
203 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
204 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
205 } catch (Exception e) { |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
206 log.error(e,e); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
207 throw new SQLException(e.getMessage()); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
208 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
209 |
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 } |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
212 |
267
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
213 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
|
214 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
|
215 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
|
216 throws SQLException { |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
217 log.debug("executeQuery()"); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
218 try { |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
219 // get the layer for querying |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
220 boolean isRaster = pSpatialColumnName.equalsIgnoreCase("raster"); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
221 |
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
|
222 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
|
223 if (g != null){ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
224 if (!isRaster){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
225 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
|
226 SeShape shape = new SeShape(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
227 shape.setCoordRef(lLayer.getCoordRef()); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
228 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
229 SDEPoint[] lPoints = new ArcSDEUtils().createPoints(g); |
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 int searchMode = SeFilter.METHOD_AI; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
232 if (g instanceof Polygon){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
233 shape.generatePolygon(lPoints.length, 1, null, lPoints); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
234 }else if (g instanceof Point){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
235 shape.generatePoint(1, lPoints); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
236 searchMode = SeFilter.METHOD_PC; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
237 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
238 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
239 SeShapeFilter filter = new SeShapeFilter(pLayername[0], |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
240 pSpatialColumnName, shape,searchMode); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
241 filters = new SeShapeFilter[1]; |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
242 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
|
243 } |
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
|
244 } |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
245 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
246 SeQuery spatialQuery = null; |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
247 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
|
248 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
|
249 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
250 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
|
251 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
|
252 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
253 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
|
254 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
|
255 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
256 |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
257 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
|
258 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
|
259 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
260 /* |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
261 * Set spatial constraints |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
262 */ |
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
|
263 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
|
264 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
|
265 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
|
266 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
267 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
268 if (!isRaster){ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
269 spatialQuery.execute(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
270 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
271 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
272 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
|
273 |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
274 } 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
|
275 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
|
276 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
|
277 }else{ |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
278 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
|
279 } |
000e00592ba5
Added InnerJoin, Order By and Group By Support to Spatial-Queries
Tim Englich <tim.englich@intevation.de>
parents:
266
diff
changeset
|
280 |
263
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
281 throw new SQLException(e.getMessage()); |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
282 } |
031ef9649cd1
Added SFS-Support to ArcSDE-Query-Part
Tim Englich <tim.englich@intevation.de>
parents:
143
diff
changeset
|
283 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
284 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
285 /** |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
286 * @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
|
287 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
288 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
|
289 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
290 return 0; |
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 |
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 * @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
|
295 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
296 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
|
297 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
298 return 0; |
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 |
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 * @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
|
303 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
304 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
|
305 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
306 return 0; |
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 |
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 * @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
|
311 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
312 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
|
313 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
314 return 0; |
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 |
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 * @see java.sql.Statement#getConnection() |
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 public Connection getConnection() throws SQLException { |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
321 return this.connection; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
322 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
323 |
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 * @see java.sql.Statement#getFetchDirection() |
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 public int getFetchDirection() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getFetchSize() |
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 public int getFetchSize() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getGeneratedKeys() |
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 public ResultSet getGeneratedKeys() throws SQLException { |
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 return null; |
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 |
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 * @see java.sql.Statement#getMaxFieldSize() |
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 public int getMaxFieldSize() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getMaxRows() |
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 public int getMaxRows() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getMoreResults() |
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 public boolean getMoreResults() throws SQLException { |
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 return false; |
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 |
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 * @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
|
374 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
375 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
|
376 |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
377 return false; |
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 |
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 * @see java.sql.Statement#getQueryTimeout() |
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 public int getQueryTimeout() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getResultSet() |
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 public ResultSet getResultSet() throws SQLException { |
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 return null; |
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 |
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 * @see java.sql.Statement#getResultSetConcurrency() |
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 public int getResultSetConcurrency() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getResultSetHoldability() |
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 public int getResultSetHoldability() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getResultSetType() |
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 public int getResultSetType() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getUpdateCount() |
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 public int getUpdateCount() throws SQLException { |
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 return 0; |
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 |
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 * @see java.sql.Statement#getWarnings() |
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 public SQLWarning getWarnings() throws SQLException { |
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 return null; |
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 |
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 * @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
|
438 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
439 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
|
440 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
441 |
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 * @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
|
444 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
445 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
|
446 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
447 |
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 * @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
|
450 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
451 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
|
452 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
453 |
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 * @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
|
456 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
457 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
|
458 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
459 |
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 * @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
|
462 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
463 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
|
464 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
465 |
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 * @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
|
468 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
469 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
|
470 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
471 |
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 * @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
|
474 */ |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
475 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
|
476 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
477 |
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 * 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
|
480 * @param pSeQuery |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
481 * @return |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
482 * @throws SeException |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
483 */ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
484 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
|
485 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
486 boolean debug = log.isDebugEnabled(); |
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 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
489 log.debug("ArcSDEStatement.handleResultSet()"); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
490 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
491 |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
492 SDEResultSet lSet = new SDEResultSet(); |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
493 SeRow row = null; |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
494 int lCount; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
495 if (!isRaster){ |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
496 RedundancyRemover [] removers = null; |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
497 SeColumnDefinition [] lCols = null; |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
498 |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
499 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
|
500 // one time execution |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
501 if (lCount == 0) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
502 // analyze cols of result set |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
503 lCols = row.getColumns(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
504 for (SeColumnDefinition lCol : lCols) { |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
505 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
|
506 // 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
|
507 } |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
508 removers = new RedundancyRemover[lCols.length]; |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
509 for (int i = 0; i < removers.length; ++i) { |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
510 removers[i] = new RedundancyRemover(); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
511 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
512 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
513 short lNumCols = row.getNumColumns(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
514 Row lBackingRow = new Row(lNumCols); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
515 for (int i = 0; i < lNumCols; i++) { |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
516 lBackingRow.addObject( |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
517 removers[i].filter(row.getObject(i)), |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
518 i); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
519 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
520 lSet.addRow(lBackingRow); |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
521 } |
555
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
522 |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
523 if (debug && removers != null) { |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
524 log.debug("datasets: " + lCount); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
525 StringBuilder sb = new StringBuilder("removed redundancy: "); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
526 float percent = 100f/lCount; |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
527 for (int i = 0; i < removers.length; ++i) { |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
528 if (i > 0) sb.append(", "); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
529 sb.append(lCols[i].getName()) |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
530 .append(": ").append(removers[i].numRemoved()) |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
531 .append(" (").append(removers[i].numRemoved()*percent) |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
532 .append("%)"); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
533 } |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
534 log.debug(sb.toString()); |
825781a39c70
Fixed gnv/issue107
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
552
diff
changeset
|
535 } |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
536 }else{ |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
537 try { |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
538 pSeQuery.execute(); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
539 row = pSeQuery.fetch(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
540 SeRasterAttr attr = row.getRaster(0); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
541 SeRaster raster = attr.getRasterInfo(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
542 SeRasterBand [] bands = raster.getBands(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
543 SeRasterBand rasterBand = bands[0]; |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
544 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
545 SeExtent extent = rasterBand.getExtent(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
546 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
547 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
548 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
549 log.debug("Extent: " + |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
550 extent.getMinX() + " " + extent.getMinY() + " "+ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
551 extent.getMaxX() + " " + extent.getMaxY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
552 log.debug("Query geometry: "+geometry.toText()); |
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 */ |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
555 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
556 double x = ((Point)geometry).getX(); |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
557 double y = ((Point)geometry).getY(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
558 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
559 boolean isPointInRaster = |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
560 x >= extent.getMinX() && x <= extent.getMaxX() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
561 && y >= extent.getMinY() && y <= extent.getMaxY(); |
543
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
562 |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
563 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
|
564 |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
565 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
|
566 pSeQuery.execute(); |
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
567 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
|
568 } |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
569 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
570 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
|
571 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
|
572 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
573 SDEPoint origin = rasterBand.getTileOrigin(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
574 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
575 double maxX = origin.getX() < midX |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
576 ? extent.getMaxX() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
577 : extent.getMinX(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
578 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
579 double maxY = origin.getY() < midY |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
580 ? extent.getMaxY() |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
581 : extent.getMinY(); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
582 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
583 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
584 0 = origin.getX()*mx + bx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
585 rasterBand.getBandWidth() = maxX + bx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
586 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
587 rasterBand.getBandWidth() = (maxX-origin.getX())*mx |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
588 */ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
589 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
590 double mx = rasterBand.getBandWidth()/(maxX-origin.getX()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
591 double bx = -origin.getX()*mx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
592 double px = mx*x + bx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
593 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
594 double my = rasterBand.getBandHeight()/(maxY-origin.getY()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
595 double by = -origin.getY()*my; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
596 double py = my*y + by; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
597 |
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 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
600 log.debug("p(x, y): " + px + " / " + py); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
601 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
602 */ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
603 |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
604 SeRasterConstraint constraint = new SeRasterConstraint(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
605 constraint.setLevel(0); // best resolution |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
606 constraint.setBands(rasterBand.getBandNumber()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
607 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
|
608 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
|
609 constraint.setEnvelope(tx, ty, tx, ty); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
610 |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
611 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
|
612 SeRasterTile tile = row.getRasterTile(); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
613 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
614 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
|
615 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
|
616 tileValues = tile.getPixels(tileValues); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
617 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
|
618 Row lBackingRow = new Row(1); |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
619 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
620 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
621 0 = wx1*mt + bt |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
622 tileWidth-EPS = wx2*mt + bt |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
623 tileWidth-EPS = mt*(wx2 - wx1) |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
624 */ |
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 double wx1 = (rasterBand.getTileWidth()*tx - bx)/mx; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
627 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
|
628 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
|
629 double bxt = -wx1*mxt; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
630 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
631 double wy1 = (rasterBand.getTileHeight()*ty - by)/my; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
632 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
|
633 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
|
634 double byt = -wy1*myt; |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
635 |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
636 RasterObject ro = new RasterObject( |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
637 mxt, bxt, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
638 myt, byt, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
639 tile.getColumnIndex(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
640 tile.getRowIndex(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
641 tileValues, |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
642 rasterBand.getTileWidth(), |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
643 rasterBand.getTileHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
644 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
|
645 lSet.addRow(lBackingRow); |
547
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 /* |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
648 if (debug) { |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
649 log.debug("x / y: " + x + " / " + y); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
650 log.debug("wx1: " + wx1); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
651 log.debug("wx1 -> " + (wx1*mxt+bxt)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
652 log.debug("wx2: " + wx2); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
653 log.debug("wx2 -> " + (wx2*mxt+bxt)); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
654 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
|
655 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
|
656 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
|
657 log.debug("requesting tile: " + tx + " / " + ty); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
658 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
|
659 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
|
660 log.debug("tile width: " + rasterBand.getTileWidth()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
661 log.debug("tile height: " + rasterBand.getTileHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
662 log.debug("Rasterdimesion (Pixel) " + |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
663 rasterBand.getBandWidth() + " / " + rasterBand.getBandHeight()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
664 log.debug("BAND-ID "+rasterBand.getId().longValue()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
665 log.debug("Pixels: "+ tile.getNumPixels()); |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
666 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
|
667 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
668 */ |
544
33f93898cbbf
Added RasterObject for caching the Rastertiles to get a better performance
Tim Englich <tim.englich@intevation.de>
parents:
543
diff
changeset
|
669 } |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
670 } |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
671 else{ |
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
672 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
|
673 "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
|
674 } |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
675 } catch (Exception e) { |
fac02bf1c685
Added Rasterdatasupport to the ARCSDE-Statement
Tim Englich <tim.englich@intevation.de>
parents:
383
diff
changeset
|
676 log.error(e,e); |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
677 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
678 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
679 pSeQuery.close(); |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
680 return lSet; |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
681 } |
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
682 |
380
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
683 public boolean isClosed() throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
684 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
685 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
686 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
687 public boolean isPoolable() throws SQLException { |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
688 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
689 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
690 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
691 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
|
692 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
693 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
694 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
|
695 return false; |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
696 } |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
697 |
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
698 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
|
699 return null; |
547
23d5cc37dd5b
Fixed access to raster data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
546
diff
changeset
|
700 |
380
0100ebf6630f
Added missing Methodstubs for Java 1.6 compability.
Tim Englich <tim.englich@intevation.de>
parents:
377
diff
changeset
|
701 } |
130
e4eacd613356
Implementierung Datenzugriff auf die ArcSDE über java.sql. Methodiken
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
702 } |