Revision 29563
branches/v2_0_0_prep/extensions/extOracleSpatial/src-test/org/gvsig/oraclespatial/TextExportToOracle.java | ||
---|---|---|
1 |
import org.cresques.ProjectionLibrary; |
|
2 |
import org.cresques.impl.CresquesCtsLibrary; |
|
3 |
import org.gvsig.fmap.dal.DALDbLibrary; |
|
4 |
import org.gvsig.fmap.dal.index.spatial.jts.JTSIndexLibrary; |
|
5 |
import org.gvsig.fmap.dal.store.db.DBStoreLibrary; |
|
6 |
import org.gvsig.fmap.dal.store.jdbc.JDBCLibrary; |
|
7 |
import org.gvsig.fmap.dal.store.postgresql.PostgreSQLLibrary; |
|
8 |
import org.gvsig.fmap.geom.impl.DefaultGeometryLibrary; |
|
9 |
import org.gvsig.fmap.mapcontext.MapContext; |
|
10 |
import org.gvsig.fmap.mapcontext.MapContextLibrary; |
|
11 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
|
12 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
|
13 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
14 |
import org.gvsig.fmap.mapcontrol.MapControl; |
|
15 |
import org.gvsig.fmap.mapcontrol.MapControlsLibrary; |
|
16 |
import org.gvsig.oraclespatial.extension.ExportToOracle; |
|
17 |
import org.gvsig.tools.ToolsLocator; |
|
18 |
import org.gvsig.tools.persistence.xmlentity.XMLEntityManager; |
|
19 |
|
|
20 |
import junit.framework.TestCase; |
|
21 |
|
|
22 |
|
|
23 |
public class TextExportToOracle extends TestCase { |
|
24 |
|
|
25 |
public TextExportToOracle(){ |
|
26 |
|
|
27 |
ToolsLocator.registerDefaultPersistenceManager(XMLEntityManager.class); |
|
28 |
|
|
29 |
DefaultGeometryLibrary defGeomLib = new DefaultGeometryLibrary(); |
|
30 |
defGeomLib.initialize(); |
|
31 |
|
|
32 |
ProjectionLibrary projLib = new ProjectionLibrary(); |
|
33 |
projLib.initialize(); |
|
34 |
|
|
35 |
CresquesCtsLibrary cresquesLib = new CresquesCtsLibrary(); |
|
36 |
cresquesLib.initialize(); |
|
37 |
|
|
38 |
DALDbLibrary libDb = new DALDbLibrary(); |
|
39 |
libDb.initialize(); |
|
40 |
|
|
41 |
DBStoreLibrary libDbStore = new DBStoreLibrary(); |
|
42 |
libDbStore.initialize(); |
|
43 |
|
|
44 |
JDBCLibrary libJDBC = new JDBCLibrary(); |
|
45 |
libJDBC.initialize(); |
|
46 |
|
|
47 |
JTSIndexLibrary jtsIndex = new JTSIndexLibrary(); |
|
48 |
jtsIndex.initialize(); |
|
49 |
|
|
50 |
MapContextLibrary mapContext = new MapContextLibrary(); |
|
51 |
mapContext.initialize(); |
|
52 |
|
|
53 |
MapControlsLibrary mapControl = new MapControlsLibrary(); |
|
54 |
mapContext.initialize(); |
|
55 |
|
|
56 |
projLib.postInitialize(); |
|
57 |
cresquesLib.postInitialize(); |
|
58 |
defGeomLib.postInitialize(); |
|
59 |
libDb.postInitialize(); |
|
60 |
libDbStore.postInitialize(); |
|
61 |
libJDBC.postInitialize(); |
|
62 |
jtsIndex.postInitialize(); |
|
63 |
mapContext.postInitialize(); |
|
64 |
mapControl.postInitialize(); |
|
65 |
} |
|
66 |
|
|
67 |
public void testExportLayer(){ |
|
68 |
|
|
69 |
MapControl control = new MapControl(); |
|
70 |
MapContext context = control.getMapContext(); |
|
71 |
|
|
72 |
FLyrVect layer = getLayer(); |
|
73 |
|
|
74 |
ExportToOracle exp = new ExportToOracle(); |
|
75 |
exp.toOracle(context, layer); |
|
76 |
|
|
77 |
} |
|
78 |
|
|
79 |
|
|
80 |
private FLyrVect getLayer(){ |
|
81 |
|
|
82 |
|
|
83 |
return null; |
|
84 |
} |
|
85 |
} |
branches/v2_0_0_prep/extensions/extOracleSpatial/src-test/org/gvsig/oraclespatial/testOracle.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
|
2 |
* |
|
3 |
* Copyright (C) 2006 Prodevelop and Generalitat Valenciana. |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or |
|
6 |
* modify it under the terms of the GNU General Public License |
|
7 |
* as published by the Free Software Foundation; either version 2 |
|
8 |
* of the License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License |
|
16 |
* along with this program; if not, write to the Free Software |
|
17 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. |
|
18 |
* |
|
19 |
* For more information, contact: |
|
20 |
* |
|
21 |
* Generalitat Valenciana |
|
22 |
* Conselleria d'Infraestructures i Transport |
|
23 |
* Av. Blasco Ib??ez, 50 |
|
24 |
* 46010 VALENCIA |
|
25 |
* SPAIN |
|
26 |
* |
|
27 |
* +34 963862235 |
|
28 |
* gvsig@gva.es |
|
29 |
* www.gvsig.gva.es |
|
30 |
* |
|
31 |
* or |
|
32 |
* |
|
33 |
* Prodevelop Integraci?n de Tecnolog?as SL |
|
34 |
* Conde Salvatierra de ?lava , 34-10 |
|
35 |
* 46004 Valencia |
|
36 |
* Spain |
|
37 |
* |
|
38 |
* +34 963 510 612 |
|
39 |
* +34 963 510 968 |
|
40 |
* gis@prodevelop.es |
|
41 |
* http://www.prodevelop.es |
|
42 |
*/ |
|
43 |
package org.gvsig.oraclespatial; |
|
44 |
|
|
45 |
import java.awt.geom.PathIterator; |
|
46 |
import java.sql.Connection; |
|
47 |
import java.sql.DriverManager; |
|
48 |
import java.sql.PreparedStatement; |
|
49 |
import java.sql.ResultSet; |
|
50 |
import java.sql.ResultSetMetaData; |
|
51 |
import java.sql.SQLException; |
|
52 |
import java.sql.Statement; |
|
53 |
|
|
54 |
import oracle.jdbc.driver.OracleDriver; |
|
55 |
import oracle.jdbc.driver.OracleResultSet; |
|
56 |
import oracle.sql.ARRAY; |
|
57 |
import oracle.sql.Datum; |
|
58 |
import oracle.sql.NUMBER; |
|
59 |
import oracle.sql.STRUCT; |
|
60 |
|
|
61 |
import org.cresques.cts.IProjection; |
|
62 |
import org.gvsig.oraclespatial.driver.OracleSpatialDriver; |
|
63 |
|
|
64 |
import com.iver.cit.gvsig.fmap.core.GeneralPathX; |
|
65 |
import com.iver.cit.gvsig.fmap.core.ICanReproject; |
|
66 |
import com.iver.cit.gvsig.fmap.core.IFeature; |
|
67 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
|
68 |
import com.iver.cit.gvsig.fmap.crs.CRSFactory; |
|
69 |
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition; |
|
70 |
import com.iver.cit.gvsig.fmap.drivers.IConnection; |
|
71 |
import com.iver.cit.gvsig.fmap.drivers.IFeatureIterator; |
|
72 |
import com.iver.cit.gvsig.fmap.drivers.WKBParser2; |
|
73 |
import com.vividsolutions.jts.geom.MultiLineString; |
|
74 |
import com.vividsolutions.jts.io.oracle.OraReader; |
|
75 |
|
|
76 |
|
|
77 |
|
|
78 |
/** |
|
79 |
* @author FJP |
|
80 |
* |
|
81 |
* TODO To change the template for this generated type comment go to Window - |
|
82 |
* Preferences - Java - Code Generation - Code and Comments |
|
83 |
*/ |
|
84 |
public class testOracle { |
|
85 |
private static boolean addOrdsToGPX(GeneralPathX gpx, int zero_based_start, |
|
86 |
int zero_based_include_end, Datum[] ords, int d, int ltype, |
|
87 |
boolean do_the_move, boolean must_do_first) { |
|
88 |
int length = ords.length; |
|
89 |
boolean return_following_must_do_first = true; |
|
90 |
|
|
91 |
double x = ((NUMBER) ords[zero_based_start]).doubleValue(); |
|
92 |
double y = ((NUMBER) ords[zero_based_start + 1]).doubleValue(); |
|
93 |
|
|
94 |
if (must_do_first) { |
|
95 |
if (do_the_move) { |
|
96 |
gpx.moveTo(x, y); |
|
97 |
} |
|
98 |
else { |
|
99 |
gpx.lineTo(x, y); |
|
100 |
} |
|
101 |
} |
|
102 |
|
|
103 |
int ind = 1; |
|
104 |
|
|
105 |
int size = ((zero_based_include_end - zero_based_start) / d) + 1; |
|
106 |
int indx; |
|
107 |
int indx2; |
|
108 |
|
|
109 |
if (ltype == PathIterator.SEG_QUADTO) { // (interpretation = 2) |
|
110 |
|
|
111 |
double x2; |
|
112 |
double y2; |
|
113 |
|
|
114 |
while (ind < size) { |
|
115 |
indx = zero_based_start + (ind * d); |
|
116 |
x = ((NUMBER) ords[indx]).doubleValue(); |
|
117 |
y = ((NUMBER) ords[indx + 1]).doubleValue(); |
|
118 |
|
|
119 |
indx2 = zero_based_start + ((ind + 1) * d); |
|
120 |
|
|
121 |
if (indx >= length) { |
|
122 |
indx2 = zero_based_start; |
|
123 |
} |
|
124 |
|
|
125 |
x2 = ((NUMBER) ords[indx2]).doubleValue(); |
|
126 |
y2 = ((NUMBER) ords[indx2 + 1]).doubleValue(); |
|
127 |
gpx.quadTo(x, y, x2, y2); |
|
128 |
ind++; |
|
129 |
ind++; |
|
130 |
} |
|
131 |
|
|
132 |
return_following_must_do_first = false; |
|
133 |
} |
|
134 |
else { // PathIterator.SEG_LINETO (interpretation = 1) |
|
135 |
|
|
136 |
while (ind < size) { |
|
137 |
indx = zero_based_start + (ind * d); |
|
138 |
x = ((NUMBER) ords[indx]).doubleValue(); |
|
139 |
y = ((NUMBER) ords[indx + 1]).doubleValue(); |
|
140 |
gpx.lineTo(x, y); |
|
141 |
ind++; |
|
142 |
} |
|
143 |
} |
|
144 |
|
|
145 |
return return_following_must_do_first; |
|
146 |
} |
|
147 |
|
|
148 |
private static int getLineToType(Datum[] infos, int i) { |
|
149 |
int resp = PathIterator.SEG_LINETO; |
|
150 |
|
|
151 |
try { |
|
152 |
if (((NUMBER) infos[(3 * i) + 2]).intValue() == 2) { |
|
153 |
resp = PathIterator.SEG_QUADTO; |
|
154 |
} |
|
155 |
} |
|
156 |
catch (SQLException e) { |
|
157 |
e.printStackTrace(); |
|
158 |
} |
|
159 |
|
|
160 |
return resp; |
|
161 |
} |
|
162 |
|
|
163 |
// CREATE TYPE sdo_geometry AS OBJECT ( |
|
164 |
// SDO_GTYPE NUMBER, |
|
165 |
// SDO_SRID NUMBER, |
|
166 |
// SDO_POINT SDO_POINT_TYPE, |
|
167 |
// SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY, |
|
168 |
// SDO_ORDINATES SDO_ORDINATE_ARRAY); |
|
169 |
private static GeneralPathX parseOracleStruct(STRUCT s) |
|
170 |
throws SQLException { |
|
171 |
GeneralPathX resp = new GeneralPathX(); |
|
172 |
ARRAY infoARRAY = null; |
|
173 |
ARRAY ordsARRAY = null; |
|
174 |
Datum[] info_array = null; |
|
175 |
Datum[] ords_array = null; |
|
176 |
int info_array_size = 0; |
|
177 |
int[] start_ind; |
|
178 |
int[] end_ind; |
|
179 |
int dims = 0; |
|
180 |
boolean next_must_do_first = true; |
|
181 |
Datum[] aux = s.getOracleAttributes(); |
|
182 |
|
|
183 |
infoARRAY = (ARRAY) aux[3]; |
|
184 |
ordsARRAY = (ARRAY) aux[4]; |
|
185 |
|
|
186 |
dims = ((NUMBER) aux[0]).intValue() / 1000; |
|
187 |
|
|
188 |
if (dims == 0) { |
|
189 |
dims = 2; |
|
190 |
} |
|
191 |
|
|
192 |
info_array = (Datum[]) infoARRAY.getOracleArray(); |
|
193 |
ords_array = (Datum[]) ordsARRAY.getOracleArray(); |
|
194 |
info_array_size = info_array.length / 3; |
|
195 |
|
|
196 |
int last_index = ords_array.length - dims + 1; |
|
197 |
|
|
198 |
// set indices: |
|
199 |
start_ind = new int[info_array_size]; |
|
200 |
end_ind = new int[info_array_size]; |
|
201 |
|
|
202 |
for (int i = 0; i < info_array_size; i++) |
|
203 |
start_ind[i] = ((NUMBER) info_array[3 * i]).intValue(); |
|
204 |
|
|
205 |
for (int i = 0; i < (info_array_size - 1); i++) |
|
206 |
end_ind[i] = start_ind[i + 1] - 1; |
|
207 |
|
|
208 |
end_ind[info_array_size - 1] = last_index; |
|
209 |
|
|
210 |
int lineType = PathIterator.SEG_LINETO; |
|
211 |
|
|
212 |
if (end_ind[0] == 0) { // collection of paths |
|
213 |
|
|
214 |
for (int i = 1; i < info_array_size; i++) { |
|
215 |
lineType = getLineToType(info_array, i); |
|
216 |
next_must_do_first = addOrdsToGPX(resp, start_ind[i] - 1, |
|
217 |
end_ind[i] - 1, ords_array, dims, lineType, (i == 1), |
|
218 |
next_must_do_first); |
|
219 |
} |
|
220 |
} |
|
221 |
else { |
|
222 |
// standard case, do the moveto always |
|
223 |
for (int i = 0; i < info_array_size; i++) { |
|
224 |
lineType = getLineToType(info_array, i); |
|
225 |
addOrdsToGPX(resp, start_ind[i] - 1, end_ind[i] - 1, |
|
226 |
ords_array, dims, lineType, true, true); |
|
227 |
} |
|
228 |
} |
|
229 |
|
|
230 |
return resp; |
|
231 |
} |
|
232 |
|
|
233 |
public static void main(String[] args) { |
|
234 |
/* |
|
235 |
* System.err.println("dburl has the following format:"); |
|
236 |
* System.err.println("jdbc:postgresql://HOST:PORT/DATABASENAME"); |
|
237 |
* System.err.println("tablename is 'jdbc_test' by default."); |
|
238 |
* System.exit(1); |
|
239 |
*/ |
|
240 |
String dburl = "jdbc:oracle:thin:@//localhost:1521/xe"; |
|
241 |
String dbuser = "system"; |
|
242 |
String dbpass = "aquilina"; |
|
243 |
|
|
244 |
String dbtable = "VIAS"; |
|
245 |
|
|
246 |
Connection conn = null; |
|
247 |
System.out.println("Creating JDBC connection..."); |
|
248 |
|
|
249 |
try { |
|
250 |
DriverManager.registerDriver(new OracleDriver()); |
|
251 |
|
|
252 |
conn = DriverManager.getConnection(dburl, dbuser, dbpass); |
|
253 |
|
|
254 |
conn.setAutoCommit(false); |
|
255 |
|
|
256 |
long t1 = System.currentTimeMillis(); |
|
257 |
test1(conn, dburl, dbuser, dbpass, dbtable); |
|
258 |
|
|
259 |
// testHashID(conn, dburl, dbuser, dbpass, dbtable); |
|
260 |
long t2 = System.currentTimeMillis(); |
|
261 |
System.out.println("Tiempo de consulta1:" + (t2 - t1) + |
|
262 |
" milisegundos"); |
|
263 |
|
|
264 |
// t1 = System.currentTimeMillis(); |
|
265 |
// OracleSpatialDriver driver = initDriverOracle(conn, dburl, dbuser, dbpass, dbtable); |
|
266 |
// while (driver.getRowCount() == 0) |
|
267 |
// { |
|
268 |
// // do Nothing |
|
269 |
// } |
|
270 |
// t2 = System.currentTimeMillis(); |
|
271 |
// System.out.println("Tiempo de inicializar capa:" + (t2 - t1) |
|
272 |
// + " milisegundos"); |
|
273 |
// |
|
274 |
// t1 = System.currentTimeMillis(); |
|
275 |
// test4(driver); |
|
276 |
// t2 = System.currentTimeMillis(); |
|
277 |
// System.out.println("Tiempo de recorrer capa:" + (t2 - t1) |
|
278 |
// + " milisegundos"); |
|
279 |
conn.close(); |
|
280 |
} |
|
281 |
catch (SQLException e) { |
|
282 |
// TODO Auto-generated catch block |
|
283 |
e.printStackTrace(); |
|
284 |
} |
|
285 |
} |
|
286 |
|
|
287 |
/** |
|
288 |
* @param conn |
|
289 |
* @param dburl |
|
290 |
* @param dbuser |
|
291 |
* @param dbpass |
|
292 |
* @param dbtable |
|
293 |
*/ |
|
294 |
private static void test1(Connection conn, String dburl, String dbuser, |
|
295 |
String dbpass, String dbtable) { |
|
296 |
try { |
|
297 |
String strSQL = "select c.geometry, ROWID from " + dbtable + " c"; |
|
298 |
|
|
299 |
// String strSQL = "select c.GEOMETRY, ROWID from VIAS c where (sdo_filter(GEOMETRY, mdsys.sdo_geometry(2003, 82337, null, mdsys.sdo_elem_info_array(1, 1003, 1), mdsys.sdo_ordinate_array(-167305.445478584,3826564.14408529, 1026816.46891846,3826564.14408529, 1026816.46891846,4919672.72433395, -167305.445478584,4919672.72433395, -167305.445478584,3826564.14408529)), 'mask=anyinteract querytype=window') = 'TRUE')"; |
|
300 |
Statement s = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, |
|
301 |
ResultSet.CONCUR_READ_ONLY); |
|
302 |
int fetchSize = 20000; |
|
303 |
s.setFetchSize(fetchSize); |
|
304 |
s.setFetchDirection(ResultSet.FETCH_FORWARD); |
|
305 |
|
|
306 |
// s.execute("declare wkb_cursor binary cursor for " + strSQL); |
|
307 |
long t1 = System.currentTimeMillis(); |
|
308 |
|
|
309 |
// ResultSet r = s.executeQuery("fetch forward " + fetchSize + " in wkb_cursor"); |
|
310 |
OracleResultSet r = (OracleResultSet) s.executeQuery(strSQL); |
|
311 |
long t2 = System.currentTimeMillis(); |
|
312 |
System.out.println("Tiempo de consulta:" + (t2 - t1) + " msecs."); |
|
313 |
|
|
314 |
ResultSetMetaData metadata = r.getMetaData(); |
|
315 |
System.out.println(metadata.getColumnClassName(1)); |
|
316 |
|
|
317 |
// Estar?a bien tener una clase OraParser separada, |
|
318 |
// igual que tenemos WKBParser y WKTParser. |
|
319 |
WKBParser2 parser = new WKBParser2(); |
|
320 |
int numReg = 0; |
|
321 |
|
|
322 |
while (r.next()) { |
|
323 |
/* |
|
324 |
* ?Hay otros m?todos de leer el campo SDO_GEOMETRY? |
|
325 |
* STRUCT parece muy lento, sobre todo al tener que procesarlo |
|
326 |
* despu?s. |
|
327 |
*/ |
|
328 |
|
|
329 |
// JGeometry geom = (JGeometry) r.getObject(1, mymap); |
|
330 |
// byte[] aux2 = r.getBytes(1); |
|
331 |
// InputStream aux = r.getBinaryStream(1); |
|
332 |
STRUCT _st = (oracle.sql.STRUCT) r.getObject(1); |
|
333 |
GeneralPathX gpx = parseOracleStruct(_st); |
|
334 |
|
|
335 |
// |
|
336 |
// // Prueba con la parte de Prodevelop |
|
337 |
//// GeneralPathX gpx = OracleSpatialUtils.structToGPX(_st |
|
338 |
//// .getOracleAttributes()); |
|
339 |
// IGeometry geom = ShapeFactory.createGeometry(new FPolyline2D(gpx)); |
|
340 |
|
|
341 |
/* PRUEBA CON LA CARGA STANDARD DE ORACLE */ |
|
342 |
// JGeometry jg = JGeometry.load(_st); |
|
343 |
|
|
344 |
// GeneralPathX gpx = OracleSpatialUtils.structToGPX(_st); |
|
345 |
numReg++; |
|
346 |
} |
|
347 |
|
|
348 |
System.out.println("numReg = " + numReg); |
|
349 |
s.close(); |
|
350 |
} |
|
351 |
catch (Exception e) { |
|
352 |
e.printStackTrace(); |
|
353 |
} |
|
354 |
} |
|
355 |
|
|
356 |
private static void testHashID(Connection conn, String dburl, |
|
357 |
String dbuser, String dbpass, String dbtable) { |
|
358 |
try { |
|
359 |
/* |
|
360 |
* Create a statement and execute a select query. |
|
361 |
*/ |
|
362 |
|
|
363 |
// String strSQL = "select rowid, c.geometry.SDO_ELEM_INFO from " + |
|
364 |
// dbtable + " |
|
365 |
// c"; |
|
366 |
String strSQL = "select rowid from " + dbtable; |
|
367 |
|
|
368 |
PreparedStatement s = conn.prepareStatement(strSQL); |
|
369 |
|
|
370 |
// Statement s = |
|
371 |
// conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, |
|
372 |
// ResultSet.CONCUR_READ_ONLY); |
|
373 |
int fetchSize = 5000; |
|
374 |
s.setFetchSize(fetchSize); |
|
375 |
|
|
376 |
ResultSet r = s.executeQuery(strSQL); |
|
377 |
int id = 0; |
|
378 |
|
|
379 |
while (r.next()) { |
|
380 |
String strAux = r.getString(1); |
|
381 |
id++; |
|
382 |
|
|
383 |
// System.out.println("Row " + id + ":" + strAux); |
|
384 |
} |
|
385 |
|
|
386 |
s.close(); |
|
387 |
} |
|
388 |
catch (Exception e) { |
|
389 |
e.printStackTrace(); |
|
390 |
} |
|
391 |
} |
|
392 |
|
|
393 |
/** |
|
394 |
* Prueba con JTS_IO. (OraReader) |
|
395 |
* @param conn |
|
396 |
* @param dburl |
|
397 |
* @param dbuser |
|
398 |
* @param dbpass |
|
399 |
* @param dbtable |
|
400 |
* @throws SQLException |
|
401 |
*/ |
|
402 |
private static void test3(Connection conn, String dburl, String dbuser, |
|
403 |
String dbpass, String dbtable) throws SQLException { |
|
404 |
// Usando el OraReader de JTSIO. |
|
405 |
OraReader or = new OraReader(); |
|
406 |
|
|
407 |
String strSQL = "select c.GEOMETRY, ROWID from VIAS c where (sdo_filter(GEOMETRY, mdsys.sdo_geometry(2003, 82337, null, mdsys.sdo_elem_info_array(1, 1003, 1), mdsys.sdo_ordinate_array(-167305.445478584,3826564.14408529, 1026816.46891846,3826564.14408529, 1026816.46891846,4919672.72433395, -167305.445478584,4919672.72433395, -167305.445478584,3826564.14408529)), 'mask=anyinteract querytype=window') = 'TRUE')"; |
|
408 |
|
|
409 |
Statement s = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, |
|
410 |
ResultSet.CONCUR_READ_ONLY); |
|
411 |
int fetchSize = 20000; |
|
412 |
s.setFetchSize(fetchSize); |
|
413 |
s.setFetchDirection(ResultSet.FETCH_FORWARD); |
|
414 |
|
|
415 |
long t1 = System.currentTimeMillis(); |
|
416 |
ResultSet r = s.executeQuery(strSQL); |
|
417 |
long t2 = System.currentTimeMillis(); |
|
418 |
System.out.println("Tiempo de consulta:" + (t2 - t1) + " msecs."); |
|
419 |
|
|
420 |
ResultSetMetaData metadata = r.getMetaData(); |
|
421 |
System.out.println(metadata.getColumnClassName(1)); |
|
422 |
|
|
423 |
WKBParser2 parser = new WKBParser2(); |
|
424 |
int numReg = 0; |
|
425 |
|
|
426 |
while (r.next()) { |
|
427 |
STRUCT st = (oracle.sql.STRUCT) r.getObject(1); |
|
428 |
MultiLineString pt2 = (MultiLineString) or.read(st); |
|
429 |
numReg++; |
|
430 |
} |
|
431 |
|
|
432 |
System.out.println("numReg = " + numReg); |
|
433 |
s.close(); |
|
434 |
} |
|
435 |
|
|
436 |
private static void test4(OracleSpatialDriver driver) { |
|
437 |
try { |
|
438 |
IFeatureIterator geomIt = driver.getFeatureIterator( |
|
439 |
"SELECT ROWID, GEOMETRY FROM VIAS"); |
|
440 |
|
|
441 |
while (geomIt.hasNext()) { |
|
442 |
IFeature feat = geomIt.next(); |
|
443 |
IGeometry geom = feat.getGeometry(); |
|
444 |
} |
|
445 |
} |
|
446 |
catch (Exception e) { |
|
447 |
e.printStackTrace(); |
|
448 |
} |
|
449 |
} |
|
450 |
|
|
451 |
private static OracleSpatialDriver initDriverOracle(IConnection conn, |
|
452 |
String dburl, String dbuser, String dbpass, String dbtable) { |
|
453 |
try { |
|
454 |
String fidField = "rowid"; // BE CAREFUL => MAY BE NOT!!! |
|
455 |
String geomField = "geometry"; // BE CAREFUL => MAY BE NOT!!! => |
|
456 |
|
|
457 |
String[] fields = new String[1]; |
|
458 |
fields[0] = "rowid"; |
|
459 |
|
|
460 |
String whereClause = ""; |
|
461 |
|
|
462 |
OracleSpatialDriver driver = new OracleSpatialDriver(); |
|
463 |
|
|
464 |
// Here you can set the workingArea |
|
465 |
// driver.setWorkingArea(dbLayerDefinition.getWorkingArea()); |
|
466 |
String strEPSG = "23030"; |
|
467 |
DBLayerDefinition lyrDef = new DBLayerDefinition(); |
|
468 |
lyrDef.setName(dbtable); |
|
469 |
lyrDef.setTableName(dbtable); |
|
470 |
lyrDef.setWhereClause(whereClause); |
|
471 |
lyrDef.setFieldNames(fields); |
|
472 |
lyrDef.setFieldGeometry(geomField); |
|
473 |
lyrDef.setFieldID(fidField); |
|
474 |
|
|
475 |
// if (dbLayerDefinition.getWorkingArea() != null) |
|
476 |
// lyrDef.setWorkingArea(dbLayerDefinition.getWorkingArea()); |
|
477 |
lyrDef.setSRID_EPSG(strEPSG); |
|
478 |
|
|
479 |
if (driver instanceof ICanReproject) { |
|
480 |
((ICanReproject) driver).setDestProjection(strEPSG); |
|
481 |
} |
|
482 |
|
|
483 |
driver.setData(conn, lyrDef); |
|
484 |
|
|
485 |
IProjection proj = null; |
|
486 |
|
|
487 |
if (driver instanceof ICanReproject) { |
|
488 |
proj = CRSFactory.getCRS("EPSG:" + |
|
489 |
((ICanReproject) driver).getSourceProjection(conn, lyrDef)); |
|
490 |
} |
|
491 |
|
|
492 |
return driver; |
|
493 |
} |
|
494 |
catch (Exception e) { |
|
495 |
e.printStackTrace(); |
|
496 |
} |
|
497 |
|
|
498 |
return null; |
|
499 |
} |
|
500 |
} |
branches/v2_0_0_prep/extensions/extOracleSpatial/src-test/org/gvsig/oraclespatial/TestStCreator.java | ||
---|---|---|
1 |
package org.gvsig.oraclespatial; |
|
2 |
|
|
3 |
import java.sql.SQLException; |
|
4 |
import java.util.ArrayList; |
|
5 |
|
|
6 |
import com.iver.cit.gvsig.fmap.drivers.ConnectionJDBC; |
|
7 |
import com.iver.cit.gvsig.fmap.drivers.IConnection; |
|
8 |
|
|
9 |
import oracle.sql.NUMBER; |
|
10 |
import oracle.sql.STRUCT; |
|
11 |
import oracle.sql.StructDescriptor; |
|
12 |
|
|
13 |
public class TestStCreator { |
|
14 |
|
|
15 |
private static int index = 0; |
|
16 |
private STRUCT[] st = new STRUCT[2]; |
|
17 |
private static IConnection conn; |
|
18 |
|
|
19 |
public static STRUCT getStruct() { |
|
20 |
|
|
21 |
STRUCT resp = getStruct(index); |
|
22 |
index++; |
|
23 |
return resp; |
|
24 |
} |
|
25 |
|
|
26 |
private static STRUCT getStruct(int ind) { |
|
27 |
|
|
28 |
STRUCT resp = null; |
|
29 |
StructDescriptor dsc = null; |
|
30 |
|
|
31 |
Object[] obj = new Object[5]; |
|
32 |
obj[0] = new NUMBER(2007); |
|
33 |
obj[1] = null; |
|
34 |
obj[2] = null; |
|
35 |
|
|
36 |
NUMBER[] indices = null; |
|
37 |
NUMBER[] ords = null; |
|
38 |
|
|
39 |
try { |
|
40 |
dsc = StructDescriptor.createDescriptor( |
|
41 |
"MDSYS.SDO_GEOMETRY", |
|
42 |
((ConnectionJDBC) conn).getConnection()); |
|
43 |
} catch (SQLException e) { |
|
44 |
System.err.println(e.getMessage()); |
|
45 |
} |
|
46 |
|
|
47 |
|
|
48 |
if (ind == 0) { |
|
49 |
|
|
50 |
System.err.println("CREANDO STRUCT 0..."); |
|
51 |
indices = new NUMBER[36]; |
|
52 |
indices[0] = new NUMBER(1); |
|
53 |
indices[1] = new NUMBER(1005); |
|
54 |
indices[2] = new NUMBER(4); |
|
55 |
indices[3] = new NUMBER(1); |
|
56 |
indices[4] = new NUMBER(2); |
|
57 |
indices[5] = new NUMBER(2); |
|
58 |
indices[6] = new NUMBER(5); |
|
59 |
indices[7] = new NUMBER(2); |
|
60 |
indices[8] = new NUMBER(2); |
|
61 |
indices[9] = new NUMBER(9); |
|
62 |
indices[10] = new NUMBER(2); |
|
63 |
indices[11] = new NUMBER(2); |
|
64 |
indices[12] = new NUMBER(13); |
|
65 |
indices[13] = new NUMBER(2); |
|
66 |
indices[14] = new NUMBER(1); |
|
67 |
indices[15] = new NUMBER(181); |
|
68 |
indices[16] = new NUMBER(1003); |
|
69 |
indices[17] = new NUMBER(1); |
|
70 |
indices[18] = new NUMBER(315); |
|
71 |
indices[19] = new NUMBER(1003); |
|
72 |
indices[20] = new NUMBER(1); |
|
73 |
indices[21] = new NUMBER(409); |
|
74 |
indices[22] = new NUMBER(1005); |
|
75 |
indices[23] = new NUMBER(4); |
|
76 |
indices[24] = new NUMBER(409); |
|
77 |
indices[25] = new NUMBER(2); |
|
78 |
indices[26] = new NUMBER(2); |
|
79 |
indices[27] = new NUMBER(413); |
|
80 |
indices[28] = new NUMBER(2); |
|
81 |
indices[29] = new NUMBER(1); |
|
82 |
indices[30] = new NUMBER(621); |
|
83 |
indices[31] = new NUMBER(2); |
|
84 |
indices[32] = new NUMBER(1); |
|
85 |
indices[33] = new NUMBER(685); |
|
86 |
indices[34] = new NUMBER(2); |
|
87 |
indices[35] = new NUMBER(1); |
|
88 |
|
|
89 |
ords = new NUMBER[688]; |
|
90 |
// ================================= |
|
91 |
for (int i=0; i<89; i++) { |
|
92 |
ords[2 * i] = new NUMBER(5000 + i); |
|
93 |
ords[2 * i + 1] = new NUMBER(i*i); |
|
94 |
} |
|
95 |
ords[178] = new NUMBER(5000); |
|
96 |
ords[179] = new NUMBER(0); |
|
97 |
// ================================= |
|
98 |
for (int i=90; i<156; i++) { |
|
99 |
ords[2 * i] = new NUMBER(6000 + i); |
|
100 |
ords[2 * i + 1] = new NUMBER(i*i); |
|
101 |
} |
|
102 |
ords[312] = new NUMBER(6000 + 90); |
|
103 |
ords[313] = new NUMBER(90*90); |
|
104 |
// ================================= |
|
105 |
for (int i=157; i<202; i++) { |
|
106 |
ords[2 * i] = new NUMBER(7000 + i); |
|
107 |
ords[2 * i + 1] = new NUMBER(10 * (i % 2)); |
|
108 |
} |
|
109 |
ords[404] = new NUMBER(7070); |
|
110 |
ords[405] = new NUMBER(500); |
|
111 |
ords[406] = new NUMBER(7157); |
|
112 |
ords[407] = new NUMBER(10 * (157 % 2)); |
|
113 |
// ================================= |
|
114 |
for (int i=204; i<342; i++) { |
|
115 |
ords[2 * i] = new NUMBER(8000 + i); |
|
116 |
ords[2 * i + 1] = new NUMBER(10 * (i % 2)); |
|
117 |
} |
|
118 |
ords[684] = new NUMBER(8300); |
|
119 |
ords[685] = new NUMBER(500); |
|
120 |
ords[686] = new NUMBER(8204); |
|
121 |
ords[687] = new NUMBER(10 * (204 % 2)); |
|
122 |
// ================================= |
|
123 |
|
|
124 |
} else { |
|
125 |
|
|
126 |
System.err.println("CREANDO STRUCT 1..."); |
|
127 |
indices = new NUMBER[30]; |
|
128 |
indices[0] = new NUMBER(1); |
|
129 |
indices[1] = new NUMBER(1003); |
|
130 |
indices[2] = new NUMBER(1); |
|
131 |
indices[3] = new NUMBER(39); |
|
132 |
indices[4] = new NUMBER(1003); |
|
133 |
indices[5] = new NUMBER(1); |
|
134 |
indices[6] = new NUMBER(327); |
|
135 |
indices[7] = new NUMBER(1005); |
|
136 |
indices[8] = new NUMBER(6); |
|
137 |
indices[9] = new NUMBER(327); |
|
138 |
indices[10] = new NUMBER(2); |
|
139 |
indices[11] = new NUMBER(2); |
|
140 |
indices[12] = new NUMBER(331); |
|
141 |
indices[13] = new NUMBER(2); |
|
142 |
indices[14] = new NUMBER(1); |
|
143 |
indices[15] = new NUMBER(1011); |
|
144 |
indices[16] = new NUMBER(2); |
|
145 |
indices[17] = new NUMBER(2); |
|
146 |
indices[18] = new NUMBER(1015); |
|
147 |
indices[19] = new NUMBER(2); |
|
148 |
indices[20] = new NUMBER(2); |
|
149 |
indices[21] = new NUMBER(1019); |
|
150 |
indices[22] = new NUMBER(2); |
|
151 |
indices[23] = new NUMBER(2); |
|
152 |
indices[24] = new NUMBER(1023); |
|
153 |
indices[25] = new NUMBER(2); |
|
154 |
indices[26] = new NUMBER(1); |
|
155 |
indices[27] = new NUMBER(2033); |
|
156 |
indices[28] = new NUMBER(2003); |
|
157 |
indices[29] = new NUMBER(1); |
|
158 |
|
|
159 |
ords = new NUMBER[2040]; |
|
160 |
// ================================= |
|
161 |
for (int i=0; i<18; i++) { |
|
162 |
ords[2 * i] = new NUMBER(1000 + i); |
|
163 |
ords[2 * i + 1] = new NUMBER(i*i); |
|
164 |
} |
|
165 |
ords[36] = new NUMBER(1000); |
|
166 |
ords[37] = new NUMBER(0); |
|
167 |
// ================================= |
|
168 |
for (int i=19; i<162; i++) { |
|
169 |
ords[2 * i] = new NUMBER(2000 + i); |
|
170 |
ords[2 * i + 1] = new NUMBER(i*i); |
|
171 |
} |
|
172 |
ords[324] = new NUMBER(2000 + 19); |
|
173 |
ords[325] = new NUMBER(19 * 19); |
|
174 |
// ================================= |
|
175 |
for (int i=163; i<1014; i++) { |
|
176 |
ords[2 * i] = new NUMBER(3000 + i); |
|
177 |
ords[2 * i + 1] = new NUMBER(10 * (i % 2)); |
|
178 |
} |
|
179 |
ords[2028] = new NUMBER(4000); |
|
180 |
ords[2029] = new NUMBER(100); |
|
181 |
ords[2030] = new NUMBER(3163); |
|
182 |
ords[2031] = new NUMBER(10 * (163 % 2)); |
|
183 |
// ================================= |
|
184 |
ords[2032] = new NUMBER(3500); |
|
185 |
ords[2033] = new NUMBER(-100); |
|
186 |
ords[2034] = new NUMBER(3600); |
|
187 |
ords[2035] = new NUMBER(-100); |
|
188 |
ords[2036] = new NUMBER(3500); |
|
189 |
ords[2037] = new NUMBER(-200); |
|
190 |
ords[2038] = new NUMBER(3500); |
|
191 |
ords[2039] = new NUMBER(-100); |
|
192 |
// ================================= |
|
193 |
} |
|
194 |
|
|
195 |
obj[3] = indices; |
|
196 |
obj[4] = ords; |
|
197 |
|
|
198 |
try { |
|
199 |
resp = new STRUCT(dsc, ((ConnectionJDBC) conn).getConnection(), obj); |
|
200 |
} catch (SQLException e) { |
|
201 |
System.err.println(e.getMessage()); |
|
202 |
} |
|
203 |
|
|
204 |
return resp; |
|
205 |
} |
|
206 |
|
|
207 |
public static void init(IConnection _conn) { |
|
208 |
conn = _conn; |
|
209 |
} |
|
210 |
|
|
211 |
} |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_ca.properties | ||
---|---|---|
1 |
add_connection=Afegir connexi? |
|
2 |
almacenar_sc_de_vista=Salvar sistema de refer?ncia de la vista |
|
3 |
cancel=Cancel.lar |
|
4 |
choose_connection=Seleccione connexi? |
|
5 |
conectar_jdbc=Intentant connectar |
|
6 |
connection_error=Error de connexi? |
|
7 |
error=Error |
|
8 |
exportando_features=Exportant registres |
|
9 |
exporting_=Exportant |
|
10 |
geometries=geometr?es |
|
11 |
insertar_capa=Afegir capa |
|
12 |
insertar_en_la_vista_la_capa_creada=Afegir capa a la vista actual |
|
13 |
intro_tablename=Introduisca nom de la taula |
|
14 |
nombre_demasiado_largo=Nom massa llarg |
|
15 |
nombre_no_valido=Nom no ?s v?lid |
|
16 |
oracle_spatial=Oracle Spatial |
|
17 |
password=Contrasenya |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_pt.properties | ||
---|---|---|
1 |
#Translations for language [pt] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=\u00c1rea de trabalho |
|
4 |
aviso_sin_extent_de_referencia=Para usar esta op\u00e7\u00e3o necessita ter como m\u00ednimo uma capa j\u00e1 adicionada que sirva de referencia. |
|
5 |
back=Anterior |
|
6 |
bd=bd |
|
7 |
capa_importada=Capa importada. Deseja criar o \u00edndice espacial? |
|
8 |
connection_name=Nome da conex\u00e3o |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Driver |
|
12 |
error_conexion=Erro ao conectar \u00e0 base de dados. |
|
13 |
host=M\u00e1quina |
|
14 |
importar_extent=Importar a extens\u00e3o actual da vista |
|
15 |
intro_tablename=Introduza o nome da tabela a criar. AVISO\: Se existe a tabela, vai ser apagada. |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Seguinte |
|
21 |
nombre_capa=Nome da capa |
|
22 |
password=Senha |
|
23 |
puerto=Porta |
|
24 |
seleccion_de_campos=Selec\u00e7\u00e3o de campos |
|
25 |
seleccione_tabla=Selecciona a tabela |
|
26 |
select_all=Seleccionar todos |
|
27 |
select_geom_field=Selecciona o campo que leva a geometria |
|
28 |
select_none=Remover todos |
|
29 |
select_unique_field=Seleccione o campo \u00fanico |
|
30 |
usuario=Usu\u00e1rio |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/config.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
|
2 |
<plugin-config> |
|
3 |
<libraries library-dir="lib"/> |
|
4 |
<depends plugin-name="com.iver.cit.gvsig" /> |
|
5 |
<depends plugin-name="org.gvsig.geodb" /> |
|
6 |
<resourceBundle name="text"/> |
|
7 |
<extensions> |
|
8 |
|
|
9 |
<extension class-name="org.gvsig.oraclespatial.extension.ExportOracleExtension" |
|
10 |
description="Support to access Oracle Spatial databases" active="true"> |
|
11 |
|
|
12 |
<menu text="Capa/export_to/oracle_spatial" |
|
13 |
action-command="EXPORT_TO_ORACLE_SPATIAL" |
|
14 |
icon="images/oracle.png" |
|
15 |
position="400" /> |
|
16 |
</extension> |
|
17 |
|
|
18 |
<extension class-name="org.gvsig.oraclespatial.extension.NewOracleSpatialTableExtension" |
|
19 |
description="Support to create new Oracle Spatial tables" active="true"> |
|
20 |
<menu text="Vista/new_layer/new_oracle_spatial_table" action-command="NEW_ORACLE_SPATIAL" |
|
21 |
icon="images/oracle.png" /> |
|
22 |
</extension> |
|
23 |
|
|
24 |
</extensions> |
|
25 |
</plugin-config> |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_cs.properties | ||
---|---|---|
1 |
#Translations for language [cs] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=Pracovn\u00ed oblast |
|
4 |
aviso_sin_extent_de_referencia=Aby jste mohli pou\u017e\u00edt tuto volbu, pot\u0159ebujete m\u00edt alespo\u0148 jednu vrstvu jako referen\u010dn\u00ed |
|
5 |
back=P\u0159edchoz\u00ed |
|
6 |
bd=db |
|
7 |
capa_importada=Vrstva importov\u00e1na. Chcete vytvo\u0159it prostorov\u00fd index? |
|
8 |
connection_name=N\u00e1zev spojen\u00ed |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Ovlada\u010d |
|
12 |
error_conexion=Chyba p\u0159i spojen\u00ed s datab\u00e1z\u00ed |
|
13 |
host= |
|
14 |
importar_extent=Import aktu\u00e1ln\u00ed viditeln\u00e9 oblasti |
|
15 |
intro_tablename=Zadejte n\u00e1zev tabulky k vytvo\u0159en\u00ed. VAROV\u00c1N\u00cd\: Pokud tabulka existuje bude vymaz\u00e1na. |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Dal\u0161\u00ed |
|
21 |
nombre_capa=N\u00e1zev vrstvy |
|
22 |
password=K\u00f3d |
|
23 |
puerto= |
|
24 |
seleccion_de_campos=V\u00fdb\u011br pole |
|
25 |
seleccione_tabla=V\u00fdb\u011br tabulky |
|
26 |
select_all=Vyber v\u0161e |
|
27 |
select_geom_field=Vyber polo\u017eku s geometri\u00ed |
|
28 |
select_none=Odstra\u0148 v\u0161e |
|
29 |
select_unique_field=Vyber jedine\u010dnou polo\u017eku |
|
30 |
usuario=U\u017eivatel |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_fr.properties | ||
---|---|---|
1 |
#Translations for language [fr] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=Espace de travail |
|
4 |
aviso_sin_extent_de_referencia=Pour utiliser cette option, vous devez disposer d'une couche de r\u00e9f\u00e9rence. |
|
5 |
back=Pr\u00e9c\u00e9dent |
|
6 |
bd=bd |
|
7 |
capa_importada=Couche g\u00e9ographique import\u00e9e. Voulez-vous cr\u00e9er un index spatial? |
|
8 |
connection_name=Nom de la connexion |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Driver |
|
12 |
error_conexion=Erreur de connexion \u00e0 la base de donn\u00e9es. |
|
13 |
host=Machine |
|
14 |
importar_extent=Importer l'extension de la vue |
|
15 |
intro_tablename=D\u00e9finir le nom de la couche \u00e0 importer. ATTENTION\: Si la table existe d\u00e9j\u00e0, elle sera supprim\u00e9e. |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Suivant |
|
21 |
nombre_capa=Nom de la couche |
|
22 |
password=Mot de passe |
|
23 |
puerto=Port |
|
24 |
seleccion_de_campos=S\u00e9lection des champs |
|
25 |
seleccione_tabla=S\u00e9lectionnez la table |
|
26 |
select_all=Tout s\u00e9lectionner |
|
27 |
select_geom_field=S\u00e9lection la colonne g\u00e9ometrie |
|
28 |
select_none=Tout supprimmer |
|
29 |
select_unique_field=S\u00e9lectionner le champs unique |
|
30 |
usuario=Utilisateur |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_de.properties | ||
---|---|---|
1 |
#Translations for language [de] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=Arbeitsbereich |
|
4 |
aviso_sin_extent_de_referencia=F\u00fcr diese Option wird mindestens ein bereits hinzugef\u00fcgter Layer als Referenz ben\u00f6tigt. |
|
5 |
back=Zur\u00fcck |
|
6 |
bd=db |
|
7 |
capa_importada=Importierter Layer. Wollen sie den r\u00e4umlichen Index einrichten? |
|
8 |
connection_name=Name der verbindung |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Treiber |
|
12 |
error_conexion=Fehler bei der Verbindung zur Datenbank |
|
13 |
host= |
|
14 |
importar_extent=Aktuellen Ansichtsbereich importieren. |
|
15 |
intro_tablename=Bitte den Namen der neuen Tabelle eingeben. ACHTUNG\: Wenn es bereits eine Tabelle dieses Namens gibt, wird sie gel\u00f6scht\! |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Weiter |
|
21 |
nombre_capa=Name des Layers |
|
22 |
password=Passwort |
|
23 |
puerto= |
|
24 |
seleccion_de_campos=Auswahl der felder |
|
25 |
seleccione_tabla=W\u00e4hlen sie die tabelle aus. |
|
26 |
select_all=Alle ausw\u00e4hlen |
|
27 |
select_geom_field=W\u00e4hlen Sie das Feld mit der Geometrie aus. |
|
28 |
select_none=Alle aus der Auswahl entfernen |
|
29 |
select_unique_field=W\u00e4hlen Sie das einmalige Feld aus. |
|
30 |
usuario=Benutzer |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_eu.properties | ||
---|---|---|
1 |
#Translations for language [eu] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=Lan eremua |
|
4 |
aviso_sin_extent_de_referencia=Aukera hau erabiltzeko aurretik erreferentzia gisa erabiliko den beste geruza bat erantsita izan behar duzu. |
|
5 |
back=Aurrekoa |
|
6 |
bd=bd |
|
7 |
capa_importada=Inportatutako geruza. Espazio-indizea sortu nahi duzu? |
|
8 |
connection_name=Konexioaren izena |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Driver |
|
12 |
error_conexion=Errorea datu-basera konektatzean. |
|
13 |
host= |
|
14 |
importar_extent=Inportatu oraingo bistaren extent-a |
|
15 |
intro_tablename=Sortuko duzun taularen izena sartu. OHARRA\: Taula aurretik badago, ezabatu egingo da. |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Hurrengoa |
|
21 |
nombre_capa=Geruzaren izena |
|
22 |
password=Gakoa |
|
23 |
puerto=Ataka |
|
24 |
seleccion_de_campos=Eremuak hautatzea |
|
25 |
seleccione_tabla=Hautatu taula |
|
26 |
select_all=Hautatu dena |
|
27 |
select_geom_field=Hautatu geometria duen eremua |
|
28 |
select_none=Kendu denak |
|
29 |
select_unique_field=Hautatu eremu bakarra |
|
30 |
usuario=Erabiltzailea |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_nl.properties | ||
---|---|---|
1 |
#Translations for language [nl] |
|
2 |
#Tue Dec 12 10:59:28 GMT+01:00 2006 |
|
3 |
area_trabajo=Werkplaats |
|
4 |
aviso_sin_extent_de_referencia= |
|
5 |
back=Terug |
|
6 |
bd=db |
|
7 |
connection_name= |
|
8 |
database_connection= |
|
9 |
DBManager= |
|
10 |
driver=driver |
|
11 |
error_conexion= |
|
12 |
host=computer |
|
13 |
importar_extent=Huidig kaartbeeld extentie importen |
|
14 |
maxx= |
|
15 |
maxy= |
|
16 |
minx= |
|
17 |
miny= |
|
18 |
next=Volgende |
|
19 |
nombre_capa=Naam van de laag |
|
20 |
password= |
|
21 |
puerto=Haven |
|
22 |
seleccion_de_campos= |
|
23 |
seleccione_tabla=Selecteer tabel |
|
24 |
select_all=Selecteer alles |
|
25 |
select_geom_field=Selecteer veld met geometrie |
|
26 |
select_none=Verwijder alles |
|
27 |
select_unique_field=Selecteer een uniek veld |
|
28 |
usuario=Gebruiker |
|
29 |
where_clause= |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_it.properties | ||
---|---|---|
1 |
#Translations for language [it] |
|
2 |
#Thu Oct 05 17:04:17 CEST 2006 |
|
3 |
area_trabajo=Area di lavoro |
|
4 |
aviso_sin_extent_de_referencia=Per usare questa opzione \u00e9 necessario avere come minimo un layer gi\u00e0 aperto che serva da riferimento |
|
5 |
back=Precedente |
|
6 |
bd=Database |
|
7 |
capa_importada=Layer importato, vuoi creare l'indice spaziale? |
|
8 |
connection_name=Nome della connessione |
|
9 |
database_connection=Connessione al database |
|
10 |
DBManager= |
|
11 |
driver=Driver |
|
12 |
error_conexion=Errore nel connettersi al database |
|
13 |
host=HOST |
|
14 |
importar_extent=Importare l'estensione attuale della vista |
|
15 |
intro_tablename=Inserisci il nome della tabella da creare. AVVISO\: Se la tabella esiste, si canceller\u00e0. |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Successivo |
|
21 |
nombre_capa=Nome del layer |
|
22 |
password=Password |
|
23 |
puerto=Porta |
|
24 |
seleccion_de_campos=Selezione dei campi |
|
25 |
seleccione_tabla=Seleziona la tabella |
|
26 |
select_all=Seleziona tutto |
|
27 |
select_geom_field=Seleziona il campo geometrico |
|
28 |
select_none=Togli tutto |
|
29 |
select_unique_field=Seleziona campo unico |
|
30 |
usuario=Utente |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_po.properties | ||
---|---|---|
1 |
#Translations for language [po] |
|
2 |
#Tue Dec 12 10:59:28 GMT+01:00 2006 |
|
3 |
area_trabajo= |
|
4 |
aviso_sin_extent_de_referencia= |
|
5 |
back= |
|
6 |
bd= |
|
7 |
connection_name= |
|
8 |
database_connection= |
|
9 |
DBManager= |
|
10 |
driver= |
|
11 |
error_conexion= |
|
12 |
host= |
|
13 |
importar_extent= |
|
14 |
maxx= |
|
15 |
maxy= |
|
16 |
minx= |
|
17 |
miny= |
|
18 |
next= |
|
19 |
nombre_capa= |
|
20 |
password= |
|
21 |
puerto= |
|
22 |
seleccion_de_campos= |
|
23 |
seleccione_tabla= |
|
24 |
select_all= |
|
25 |
select_geom_field= |
|
26 |
select_none= |
|
27 |
select_unique_field= |
|
28 |
usuario= |
|
29 |
where_clause= |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text.properties | ||
---|---|---|
1 |
add_connection=A?adir conexi?n |
|
2 |
almacenar_sc_de_vista=Almacenar sistema se referencia de la vista |
|
3 |
cancel=Cancelar |
|
4 |
choose_connection=Elija conexi?n |
|
5 |
list_connection=Lista de conexiones |
|
6 |
conectar_jdbc=Intentando conectar |
|
7 |
connection_error=Error de conexi?n |
|
8 |
error=Error |
|
9 |
exportando_features=Exportando registros |
|
10 |
exporting_=Exportando |
|
11 |
geometries=geometr?as |
|
12 |
insertar_capa=Insertar capa |
|
13 |
insertar_en_la_vista_la_capa_creada=Insertar capa en vista actual |
|
14 |
intro_tablename=Introduzca nombre de tabla |
|
15 |
nombre_demasiado_largo=Nombre demasiado largo |
|
16 |
nombre_no_valido=Nombre no v?lido |
|
17 |
new_oracle_spatial_table=Nueva tabla Oracle Spatial |
|
18 |
oracle_spatial=Oracle Spatial |
|
19 |
password=Contrase?a |
|
20 |
|
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_zh.properties | ||
---|---|---|
1 |
#Translations for language [zh] |
|
2 |
#Tue Dec 12 10:59:28 GMT+01:00 2006 |
|
3 |
area_trabajo=\u5de5\u4f5c\u8303\u56f4 |
|
4 |
aviso_sin_extent_de_referencia=\u5fc5\u987b\u5df2\u6709\u56fe\u5c42\u4f5c\u4e3a\u53c2\u8003\uff0c\u624d\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u9009\u9879\u3002 |
|
5 |
back=\u540e\u9000 |
|
6 |
bd=\u6570\u636e\u5e93 |
|
7 |
capa_importada=\u56fe\u5c42\u5df2\u8f93\u5165\u3002\u60a8\u8981\u521b\u5efa\u7a7a\u95f4\u7d22\u5f15\u5417\uff1f |
|
8 |
connection_name=\u8fde\u63a5 |
|
9 |
database_connection=\u6570\u636e\u5e93\u8fde\u63a5 |
|
10 |
DBManager=\u6570\u636e\u5e93\u7ba1\u7406\u5668 |
|
11 |
driver=\u9a71\u52a8\u7a0b\u5e8f |
|
12 |
error_conexion=\u4e0e\u6570\u636e\u5e93\u8fde\u63a5\u65f6\u51fa\u9519 |
|
13 |
host=\u4e3b\u673a |
|
14 |
importar_extent=\u8f93\u5165\u5f53\u524d\u89c6\u56fe\u6269\u5c55 |
|
15 |
intro_tablename=\u8f93\u5165\u65b0\u5efa\u8868\u683c\u540d\u79f0\u3002 \u6ce8\u610f\: \u5982\u679c\u8868\u683c\u5df2\u5b58\u5728, \u5b83\u5c06\u4f1a\u88ab\u5220\u9664\u3002 |
|
16 |
maxx=X\u8f74\u6700\u5927\u503c |
|
17 |
maxy=Y\u8f74\u6700\u5927\u503c |
|
18 |
minx=X\u8f74\u6700\u5c0f\u503c |
|
19 |
miny=Y\u8f74\u6700\u5c0f\u503c |
|
20 |
next=\u7ee7\u7eed |
|
21 |
nombre_capa=\u56fe\u5c42\u540d\u79f0 |
|
22 |
password=\u5bc6\u7801 |
|
23 |
puerto=\u94fe\u63a5\u53e3 |
|
24 |
seleccion_de_campos=\u9009\u62e9\u5b57\u6bb5 |
|
25 |
seleccione_tabla=\u9009\u62e9\u8868\u683c |
|
26 |
select_all=\u9009\u62e9\u5168\u90e8 |
|
27 |
select_geom_field=\u9009\u62e9\u5305\u542b\u51e0\u4f55\u7684\u5b57\u6bb5 |
|
28 |
select_none=\u5168\u90e8\u6e05\u9664 |
|
29 |
select_unique_field=\u9009\u62e9\u552f\u4e00\u5b57\u6bb5 |
|
30 |
usuario=\u7528\u6237 |
|
31 |
where_clause=Where \u5b50\u53e5 |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_en.properties | ||
---|---|---|
1 |
add_connection=Add connection |
|
2 |
almacenar_sc_de_vista=Save current view's coordinate system in table |
|
3 |
cancel=Cancel |
|
4 |
choose_connection=Choose connection |
|
5 |
list_connection=Connection list |
|
6 |
conectar_jdbc=Trying to connect |
|
7 |
connection_error=Connection error |
|
8 |
error=Error |
|
9 |
exportando_features=Exporting features |
|
10 |
exporting_=Exporting |
|
11 |
geometries=geometr?es |
|
12 |
insertar_capa=Add layer |
|
13 |
insertar_en_la_vista_la_capa_creada=Add layer to currant view |
|
14 |
intro_tablename=Enter table name |
|
15 |
nombre_demasiado_largo=Name is too long |
|
16 |
nombre_no_valido=Invalid name |
|
17 |
new_oracle_spatial_table=New Oracle Spatial table |
|
18 |
oracle_spatial=Oracle Spatial |
|
19 |
password=Password |
branches/v2_0_0_prep/extensions/extOracleSpatial/config/text_gl.properties | ||
---|---|---|
1 |
#Translations for language [gl] |
|
2 |
#Thu Sep 28 13:19:48 CEST 2006 |
|
3 |
area_trabajo=\u00c1rea de traballo |
|
4 |
aviso_sin_extent_de_referencia=Para usar esta opci\u00f3n precisa ter como m\u00ednimo unha capa xa engadida que serva de referencia |
|
5 |
back=Anterior |
|
6 |
bd=bd |
|
7 |
capa_importada=Capa mportada. Desexa crear o \u00edndice espacial? |
|
8 |
connection_name=Nome da conexi\u00f3n |
|
9 |
database_connection= |
|
10 |
DBManager= |
|
11 |
driver=Driver |
|
12 |
error_conexion=Erro ao conectar \u00e1 base de datos |
|
13 |
host=M\u00e1quina |
|
14 |
importar_extent=Importar o extent actual da vista |
|
15 |
intro_tablename=Introduza o nome da t\u00e1boa a crear. AVISO\: Se a t\u00e1boa xa existe, ser\u00e1 borrada |
|
16 |
maxx=max.x |
|
17 |
maxy=max.y |
|
18 |
minx=min.x |
|
19 |
miny=min.y |
|
20 |
next=Seguinte |
|
21 |
nombre_capa=Nome da capa |
|
22 |
password=Chave |
|
23 |
puerto=Porto |
|
24 |
seleccion_de_campos=Selecci\u00f3n de campos |
|
25 |
seleccione_tabla=Seleccione a t\u00e1boa |
|
26 |
select_all=Seleccionar todo |
|
27 |
select_geom_field=Selecciona o campo que leva a xeometr\u00eda |
|
28 |
select_none=Quitar todos |
|
29 |
select_unique_field=Seleccione o campo \u00fanico |
|
30 |
usuario=Usuario |
branches/v2_0_0_prep/extensions/extOracleSpatial/install/extjdbc_installer/install.sh | ||
---|---|---|
1 |
#!/bin/sh |
|
2 |
java -jar oracle_spatial_driver.jar |
branches/v2_0_0_prep/extensions/extOracleSpatial/install/extjdbc_installer/install.bat | ||
---|---|---|
1 |
java -jar oracle_spatial_driver.jar |
branches/v2_0_0_prep/extensions/extOracleSpatial/install/install.xml | ||
---|---|---|
1 |
<installation version="1.0"> |
|
2 |
<info> |
|
3 |
<appname>gvSIG_1.0.2</appname> |
|
4 |
<appversion>1.0.2</appversion> |
|
5 |
<authors> |
|
6 |
<author name="Generalitat Valenciana. Conselleria d'Infraestructures i Transport" email="" /> |
|
7 |
<author name="Prodevelop S.L." email="" /> |
|
8 |
</authors> |
|
9 |
<url>http://www.prodevelop.es</url> |
|
10 |
<javaversion>1.4</javaversion> |
|
11 |
|
|
12 |
<uninstaller name="oracle_spatial_driver_uninstaller.jar" write="yes" /> |
|
13 |
</info> |
|
14 |
|
|
15 |
<guiprefs height="600" resizable="yes" width="800"> |
|
16 |
<laf name="liquid"> |
|
17 |
<os family="unix" /> |
|
18 |
</laf> |
|
19 |
<laf name="liquid"> |
|
20 |
<os family="windows" /> |
|
21 |
</laf> |
|
22 |
</guiprefs> |
|
23 |
|
|
24 |
<locale> |
|
25 |
<langpack iso3="spa"/> |
|
26 |
<langpack iso3="val"/> |
|
27 |
<langpack iso3="eng"/> |
|
28 |
<langpack iso3="cat"/> |
|
29 |
<langpack iso3="chn"/> |
|
30 |
<langpack iso3="cze"/> |
|
31 |
<langpack iso3="dan"/> |
|
32 |
<langpack iso3="deu"/> |
|
33 |
<langpack iso3="fin"/> |
|
34 |
<langpack iso3="fra"/> |
|
35 |
<langpack iso3="glg"/> |
|
36 |
<langpack iso3="hun"/> |
|
37 |
<langpack iso3="ita"/> |
|
38 |
<langpack iso3="jpn"/> |
|
39 |
<langpack iso3="mys"/> |
|
40 |
<langpack iso3="ned"/> |
|
41 |
<langpack iso3="nor"/> |
|
42 |
<langpack iso3="pol"/> |
|
43 |
<langpack iso3="por"/> |
|
44 |
<langpack iso3="rom"/> |
|
45 |
<langpack iso3="rus"/> |
|
46 |
<langpack iso3="scg"/> |
|
47 |
<langpack iso3="svk"/> |
|
48 |
<langpack iso3="swe"/> |
|
49 |
<langpack iso3="ukr"/> |
|
50 |
</locale> |
|
51 |
|
|
52 |
<resources> |
|
53 |
<res src="resources/gpl.txt" id="LicencePanel.licence"/> |
|
54 |
<res src="resources/LEEME.html" id="HTMLInfoPanel.info"/> |
|
55 |
<res src="resources/images/Logo_gvsig_gva.jpg" id="Installer.image"/> |
|
56 |
<res src="resources/userInputSpec.xml" id="userInputSpec.xml"/> |
|
57 |
<parsable os="linux" targetfile="resources/userInputSpec.xml"/> |
|
58 |
<res src="resources/userInputLang.xml_val" id="userInputLang.xml_val" /> |
|
59 |
<res src="resources/userInputLang.xml_spa" id="userInputLang.xml_spa" /> |
|
60 |
</resources> |
|
61 |
|
|
62 |
<panels> |
|
63 |
<panel classname="HTMLInfoPanel"/> |
|
64 |
<panel classname="LicencePanel"/> |
|
65 |
<panel classname="PacksPanel"/> |
|
66 |
<panel classname="UserInputPanel"/> |
|
67 |
<panel classname="InstallPanel"/> |
|
68 |
<panel classname="SimpleFinishPanel"/> |
|
69 |
</panels> |
|
70 |
|
|
71 |
<packs> |
|
72 |
|
|
73 |
<pack name="Oracle Spatial driver" required="yes"> |
|
74 |
<description>Adds the Oracle Spatial driver to read/write Oracle tables with columns of SDO_GEOMETRY type</description> |
|
75 |
<fileset targetdir="$INSTALL_PATH/bin" dir="./bin" override="true" |
|
76 |
excludes="**/*.svn" |
|
77 |
/> |
|
78 |
</pack> |
|
79 |
|
|
80 |
</packs> |
|
81 |
|
|
82 |
</installation> |
Also available in: Unified diff