[Gvsig_desarrolladores] gvsig 1.9 y oraclespatial

Juan Lucas Dominguez Rubio jldominguez en prodevelop.es
Jue Dic 24 08:55:13 CET 2009


Hola,
 
Parece que has construído una query SQL con los atributos en orden equivocado. Ejecuta paso a paso para ver de qué tipo son los atributos del resultset que obtienes en esa línea de código.
 
Además, Oracle Spatial usa otra codificación para los SRS, es decir en la BD Oracle Spatial no debe figurar el valor 23030 para el SRID. . El código EPSG:23030 es el 82337 en Oracle Spatial.
 
Saludos,
 
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es <http://www.prodevelop.es/> 
---

________________________________

De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
Enviado el: mié 23/12/2009 19:08
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial


Buenas Juan,

al cargar la capa me salta el siguiente error, comentarte que el sistema de referencia de los datos que he cargado es el 23030,
te suen esto ??

Gracias de antemano

DEBUG [AWT-EventQueue-1] (MDIFrame.java:672) - Execute command:HELLO
ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java: 
2175) - Oracle Spatial code not found in table: 23030
ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2205) - Error with SQL statement. Unknown Oracle code: 23030
ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2452) - Unknown EPSG code: null
DEBUG [Thread-14] (OracleSpatialDriver.java:927) - SQL para leer ids: select rowid, c.GEOM.SDO_ELEM_INFO from PRUEBA.AREAINFLUENCIA c
 INFO [Thread-14] (OracleSpatialDriver.java:940) - FETCH_SIZE = 15000
DEBUG [Thread-14] (OracleSpatialDriver.java:960) - Beginning of result set:
 INFO [Thread-14] (OracleSpatialDriver.java:983) - IDs read: 0
 INFO [Thread-14] (OracleSpatialDriver.java:402) - Ids thread delayed by: 875 ms.
DEBUG [AWT-EventQueue-1] (FLyrDefault.java:1106) - setTocStatusImage sun.awt.image.ToolkitImage en 129a559 sobre capa AREAINFLUENCIA
DEBUG [Thread-14] (FLyrDefault.java:1106) - setTocStatusImage null sobre capa AREAINFLUENCIA
Viewport despues: Datos del viewPort:
Extent=java.awt.geom.Rectangle2D$Double[x=100525.0,y=1.0,w=7.9679899441E10,h=4077141.0]
adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100525.0,y=-3.1231621380395138E10,w=7.9679899441E10,h=6.2467319903790276E10]
imageSize=java.awt.Dimension[width=1111,height=871]
escale=1.3943290689299303E-8
trans=AffineTransform[[1.3943291E-8, 0.0, -0.001401649296542], [0.0, -1.3943291E-8, 435.5284243950154]]
DEBUG [Thread-11] (OracleSpatialDriver.java:1476) - MAIN SEL = select CODAREA, c."TIPO", c."IDCOMISION", c."TITULARIDA", c."NOMBREORIG", c."SHAPE_LENG", c."SHAPE_AREA", c."CODINEMUN", c.GEOM from PRUEBA.AREAINFLUENCIA c where (sdo_relate(GEOM, mdsys.sdo_geometry(2003, 23030, null, mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(100525.0, -3.12316213803951E10, 7.9679999966E10, 3.12356985233951E10)), 'mask=anyinteract querytype=window') = 'TRUE')
java.lang.ClassCastException: java.lang.String
    at es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialFeatureIterator.next(OracleSpatialFeatureIterator.java:135)
    at com.iver.cit.gvsig.fmap.drivers.featureiterators.ReprojectWrapperFeatureIterator.next(ReprojectWrapperFeatureIterator.java:92)
    at com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:437)
    at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)
    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)
    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)DEBUG [Thread-11] (NotificationManager.java:104) - java.lang.String
java.lang.ClassCastException: java.lang.String
    at es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialFeatureIterator.next(OracleSpatialFeatureIterator.java:135)
    at com.iver.cit.gvsig.fmap.drivers.featureiterators.ReprojectWrapperFeatureIterator.next(ReprojectWrapperFeatureIterator.java:92)
    at com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:437)
    at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)
    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)
    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)
    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)
    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)
    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)
    at java.lang.Thread.run(Thread.java:595)

    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)
    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)
    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)
    at java.lang.Thread.run(Thread.java:595)


El 23 de diciembre de 2009 15:59, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:


	Hola,
	 
	en mi workspace de 1.9 (conectado al trunk del repositorio) tengo un proyecto llamado libDriverManager y en su build.xml se crea el archivo "driver-manager-1.1.jar". Qué versión estás compilando? De dónde salen esos dos jar?
	 
	Saludos,
	 
	Juan Lucas Domínguez Rubio
	---
	Prodevelop SL, Valencia (España)
	Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
	http://www.prodevelop.es <http://www.prodevelop.es/> 
	---

________________________________

	
	De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
	
	Enviado el: mié 23/12/2009 13:15 

	Para: Lista de Desarrolladores de gvSIG
	Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
	

	Buenas Juan, te comento un poco
	tengo dos librerias :
	
	driver-manager-1.0-SNAPSHOT      con esta si me aparece el driver de Oracle Spatial Database Driver
	
	driver-manager-1.0                         con esta NO ME SALE EL DRIVER  Oracle Spatial Database Driver
	
	
	Si pongo las dos librerias evidentemente me da error, me dice que tengo dos librerias que se 
	llaman igual,
	¿Que diferencias hay entre una y otra ?
	
	¿como puedo hacer para que me salga el driver oracle spatial?
	
	
	Saludos y muchas gracias
	
	
	El 23 de diciembre de 2009 11:43, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
	

		Hola, Carlos.
		 
		Esto es un esbozo del código que necesitas para crear una capa Oracle Spatial por código. No lo he probado, pero los errores que tenga creo que serán solo erratas. Debes reemplazar las expresiones <...> por los valores de tu BD: El puerto suele ser 1521 para Oracle Spatial. He supuesto que el nombre del campo geométrico es GEOMETRY:
		 
		===========================
		ConnectionWithParams cwp = null;
		try {
		  cwp = SingleVectorialDBConnectionManager.instance().getConnectionOracleSpatialDriver.NAME, <usuario>, <contrasena>,
		    <nombre_de_la_conexion_cualquier_cosa>, <nombre-del-servidor-o-IP>, <puerto>, <nombre_de_la_BD>, true);
		} catch (DBException e) {
		  System.err.println("Error: " + e.getMessage());
		}
		FLayer lyr = null;
		try {
		                IVectorialDatabaseDriver driver = (IVectorialDatabaseDriver) LayerFactory.getDM().getDriver(OracleSpatialDriver.NAME);
		                 schema = <esquema_es_decir_usuario>;
		                 tableName = <nombre_de_la_tabla>;
		                String fidField = "ROWID";
		                String geomField = "GEOMETRY";
		                String[] fields = <array_con_los_nombre_de_campos>; // debe contener "ROWID" pero no "GEOMETRY" 
		                DBLayerDefinition lyrDef = new DBLayerDefinition();
		                lyrDef.setName(<nombre_de_la_capa_en_el_TOC_de_gvSIG_cualquier_cosa>);
		                lyrDef.setSchema(schema);
		                lyrDef.setTableName(tableName);
		                lyrDef.setWhereClause("");
		                lyrDef.setFieldGeometry(geomField);
		                lyrDef.setFieldNames(fields);
		                lyrDef.setFieldID(fidField);
		                lyrDef.setHost(cwp.getHost());
		                lyrDef.setPort(Integer.parseInt(cwp.getPort()));
		                lyrDef.setDataBase(cwp.getDb());
		                lyrDef.setUser(cwp.getUser());
		                lyrDef.setPassword(cwp.getPw());
		                driver.setData(cwp.getConnection(), lyrDef);
		                lyr = LayerFactory.createDBLayer(driver, layerName, null);
		} catch (Exception ex) {
		  System.err.println("Error: " + ex.getMessage());
		}
		 
		=============================
		 
		 
		 
		Saludos,
		 
		 
		Juan Lucas Domínguez Rubio
		---
		Prodevelop SL, Valencia (España)
		Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
		http://www.prodevelop.es <http://www.prodevelop.es/> 
		---

________________________________

		De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
		Enviado el: mié 23/12/2009 10:34
		Para: Lista de Desarrolladores de gvSIG
		Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
		
		
		Buenas Juan,
		
		He estado viendo las clases que me comentastes de WizardVectorialDB y de NewOracleSpatialTableWizard,
		eso lo que hace es realmente mostrar el panel de conexio a bd y seleccionar la capa a representar en la vista,
		para hacer esto mismo pero todo mediante codificación nada de abrir panels, es posible  con estas clases ??  o hay otras ??
		
		Gracias y saludos
		
		
		
		El 21 de diciembre de 2009 15:40, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
		

			Hola, Carlos. No entiendo lo que quieres hacer. Coger una capa de la BD Oracle Spatial y representarla en una vista de gvSIG es lo que hace la extensión Oracle Spatial, entre otras cosas. Qué cosa novedosa quieres hacer con una capa Oracle Spatial?
			 
			La creación de la capa puedes verla en el método getLayer de la clase WizardVectorialDB (proyecto appGvsig). Ese método se usa para cualquier tipo de BD espacial, lo único que cambia son las variables selectedDataSource y conex. Para ver cómo dar valor a esas variables en el caso de Oracle Spatial, mira por ejemplo el método addNewConnection de la clase NewOracleSpatialTableWizard.
			 
			Saludos,
			 
			Juan Lucas Domínguez Rubio
			---
			Prodevelop SL, Valencia (España)
			Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
			http://www.prodevelop.es <http://www.prodevelop.es/> 
			---

________________________________

			
			De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
			
			Enviado el: lun 21/12/2009 14:31 

			Para: Lista de Desarrolladores de gvSIG
			Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
			

			Efectivamente, estaba intentando ejecutar ese código, mi intención era coger una capa de nuesta BD oracle
			y representarla en gvsig, pero ando un poco perdido y estaba siguiendo ese ejemplo
			que parecia crear un DBLayerDefinition con la capa de la BD...
			
			Hay alguno forma para hacer esto que te comento, coger la capa de la bd y representarla  ??
			
			Muchas Gracias y un saludo
			
			
			
			El 21 de diciembre de 2009 13:48, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
			

				Esta línea exactamente:
				 
				OracleSpatialDriver driver = new OracleSpatialDriver();
				 
				solo aparece en una clase de test que tiene un método 'main', pero no se usa en la aplicación. Se usó para hacer pruebas de rendimiento del driver. Estás intentando ejecutar ese main?
				 
				Saludos,
				
				Juan Lucas Domínguez Rubio
				---
				Prodevelop SL, Valencia (España)
				Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
				http://www.prodevelop.es <http://www.prodevelop.es/> 
				---

________________________________

				
				De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
				
				Enviado el: lun 21/12/2009 12:40 

				Para: Lista de Desarrolladores de gvSIG
				Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
				

				Sabes de alguna libreria que pueda revisar para ver si todo esta correcto ??
				
				Gracias y saludos
				
				
				El 21 de diciembre de 2009 12:36, Carlos Javier Martin Cano <carlosjmartinc en gmail.com> escribió:
				

					Si si seguí las instrucciones, me funciona todo menos la conexión  a oracle spatial...
					tengo la version 1.9 estable de gvsig
					
					
					El 21 de diciembre de 2009 12:30, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió: 


					Hola.
					 
					Parece que te falta compilar  y poner en su sitio alguna de las librerías básicas de gvSIG.
					Has seguido estas instrucciones?
					 
					http://www.gvsig.org/web/docdev/docs/svn_article/construir-gvsig-desde-el-repositorio-svn
					 
					Saludos,
					 
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: lun 21/12/2009 11:18
					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					
					
					Buenas Juan,
					
					Primero gracias por contestar ,
					
					He podido ejecutar el build.xml del proyecto extOracleSpatial pero al iniciar mi aplicación
					cuando ejecuto la linea 
					
					OracleSpatialDriver driver = new OracleSpatialDriver();
					
					me da el siguiente error, no se si tendrá algo que ver
					
					java.lang.NoClassDefFoundError: com/iver/cit/gvsig/fmap/DriverException
					
					No se a que se debe,
					
					Un saludo
					
					
					El 21 de diciembre de 2009 10:56, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola, Carlos. En la línea 42 de extOracleSpatial/build.xml dice:
					 
					depends="init,compile,create-jar,copy-data-files,copy-to-andami, clean">
					 
					Elimina el elemento 'compile' para que quede asi:
					 
					depends="init,create-jar,copy-data-files,copy-to-andami,clean">
					 
					Creo que así podrás ejecutar el build.xml sin ese error. No olvides tener activada la opción "Project - build automatically" en el menú principal.
					 
					Saludos,
					 
					 
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					Enviado el: dom 20/12/2009 20:41
					Para: gvsig_desarrolladores en listserv.gva.es
					Asunto: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					
					
					Buenas, 
					me he bajado la extensión para oracle spatial  (extOracleSpatial) 
					al ejecutar el build.xml me da el siguiente error : 
					
					Buildfile: D:\gvSIG\extOracleSpatial\build.xml 
					init: 
					compile: 
					gvSIG-import-build-number: 
					
					BUILD FAILED 
					D:\gvSIG\extOracleSpatial\build.xml:123: The following error occurred while executing this line: 
					D:\gvSIG\binaries\ant\utilities.xml:207: Error: property buildNumberFile not set or file not available: ${buildNumberFile} 
					
					Total time: 1 second 
					
					Me podeis ayudar ? 
					
					Gracias y un saludo 

					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					




				_______________________________________________
				gvSIG_desarrolladores mailing list
				gvSIG_desarrolladores en listserv.gva.es
				http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
				
				



			_______________________________________________
			gvSIG_desarrolladores mailing list
			gvSIG_desarrolladores en listserv.gva.es
			http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
			
			



		_______________________________________________
		gvSIG_desarrolladores mailing list
		gvSIG_desarrolladores en listserv.gva.es
		http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
		
		



	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en listserv.gva.es
	http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
	
	


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20091224/d68cb58d/attachment.htm 


More information about the gvSIG_desarrolladores mailing list