annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java @ 552:7615ee5d1345

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

http://dive4elements.wald.intevation.org