<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Muchas gracias por la aclaraci&oacute;n, el c&oacute;digo que hab&iacute;a antes me estaba confundiendo.</p>
<p>Un saludo!</p>
<p>El 10-03-2017 12:51 AM, Joaquin Jose del Cerro Murciano escribi&oacute;:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr"><br />
<div class="gmail_extra"><br />
<div class="gmail_quote">El 9 de marzo de 2017, 15:26, Iago Alonso Alonso <span>&lt;<a href="mailto:ialonso@enxenio.es">ialonso@enxenio.es</a>&gt;</span> escribi&oacute;:<br />
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>Hola, me ha surgido una duda sobre los pasos a seguir para importar un DBF a PostgreSQL. Antes ten&iacute;a una carpeta con 4 ficheros:</p>
<p>- DBF</p>
<p>- PRJ</p>
<p>- SHP</p>
<p>- SHX</p>
<p>Y cuando quer&iacute;as importarlos a una tabla a PostgreSQL, con cargar el SHP (intuyo que gvSIG carga el resto autom&aacute;ticamente) llegaba. El problema es que ahora tengo una carpeta que s&oacute;lo tiene:</p>
<p>- DBF</p>
<p>- PRJ</p>
<p>La duda que tengo es c&oacute;mo obtengo el FeatureSet. Para el caso de los ficheros SHP, en el c&oacute;digo estaba puesto:<br /><br />DataManager manager = DALLocator.getDataManager();<br />DataParameters params = manager.createStoreParameters(<wbr />"Shape");</p>
<p>File fichero = new File(path);<br />params.setDynValue("shpfile",<wbr />fichero);</p>
<p>IProjection srs = CRSFactory.getCRS(EPSG25829);<br />params.setDynValue("CRS", srs);</p>
<p>DataStore store = manager.createStore((<wbr />DataStoreParameters) params);</p>
<p>FLayer capa = (FLyrVect) LayerFactory.getInstance().<wbr />createLayer(fichero.getName(), store);</p>
<p>Y despu&eacute;s se usaba un <em>((FLyrVect) capa).getFeatureStore()</em>. Entonces, para el caso del DBF, he cambiado de la siguiente forma:</p>
<p>DataManager manager = DALLocator.getDataManager();<br />DataParameters params = manager.createStoreParameters(<wbr />"DBF");</p>
<p>File fichero = new File(path);<br />params.setDynValue("dbffile",<wbr />fichero);</p>
<p>//Aqu&iacute; no se necesita el CRS</p>
<p>DataStore store = manager.createStore((<wbr />DataStoreParameters) params);</p>
<p>Pero ahora no s&eacute; c&oacute;mo obtener el FeatureSet para crear la tabla en PostgreSQL, ya que si uso el FLayer del SHP obtengo el error:</p>
<p>org.gvsig.fmap.mapcontext.<wbr />exceptions.LoadLayerException: Can't load the layer DATOS.dbf.<br /> at org.gvsig.fmap.mapcontext.<wbr />layers.LayerFactory.<wbr />createLayer(LayerFactory.java:<wbr />190)</p>
</div>
</blockquote>
<div>&nbsp;</div>
<div>No entiendo que quieres hacer.</div>
<div>Un dbf no tiene informacion geometrica (o lo asumiremos asi de momento), <br />&iquest; Como vas a crear una capa a partir de el? </div>
<div>Como mucho podrias a&ntilde;adirlo como una tabla de gvSIG, pero sigo sin entender para que.</div>
<div>Una vez ya has creado el store ya puedes acceder a los datos, de hecho el metodo getFeatureSet, la unica forma de obtener un FeatureSet es del store no de la layer.<br /><br /></div>
<div>En gvSIG estan los stores, las fuentes de datos, y con ellas se construten las capas, que estan formadas por un store con informacion geografica mas informacion sobre como debe "pintarse", la leyenda, y sirven para a&ntilde;adirlas a una vista y visualizar las geoemtrias de esta. No puedes crear un layer a partir de una fuente de datos, un store, que no tiene una columna geometria.<br /><br /></div>
<div>Si ya tienes un store... &iquest; para que crear una capa a partir de el para luego pedirle a la capa el store ?</div>
<div>Crea la capa si necesitas a&ntilde;adir los datos del store como una capa en una vista, pero si has de operar con los datos usa directamente el store.<br /><br /></div>
<div>Un saludo</div>
<div>Joaquin<br /><br /></div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
<p>............<br />Caused by: java.lang.<wbr />IllegalArgumentException: The layer don't has a geometry column.<br /> at org.gvsig.fmap.mapcontext.<wbr />impl.DefaultMapContextManager.<wbr />getLegend(<wbr />DefaultMapContextManager.java:<wbr />616)<br /> at org.gvsig.fmap.mapcontext.<wbr />layers.vectorial.FLyrVect.<wbr />bindToDataStore(FLyrVect.java:<wbr />193)<br /> at org.gvsig.fmap.mapcontext.<wbr />layers.vectorial.FLyrVect.<wbr />setDataStore(FLyrVect.java:<wbr />172)<br /> at org.gvsig.fmap.mapcontext.<wbr />layers.LayerFactory.<wbr />createLayer(LayerFactory.java:<wbr />182)<br /> ... 4 more</p>
<p>Que tiene sentido ya que en esta ocasi&oacute;n no dispongo de datos geom&eacute;tricos. He intentado buscar un ejemplo de c&oacute;mo procesar un DBF pero no he encontrado nada, en la documentaci&oacute;n he visto un ejemplo pero es para crear un fichero DBF (<a href="http://docs.gvsig.org/plone/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore/consumer-services/creacion-de-un-nuevo-almacen">Documentacion</a>), no importalo a PostgreSQL.<br /><br />&iquest;C&oacute;mo se procesa correctamente un fichero DBF o d&oacute;nde puedo ver un ejemplo para guiarme?</p>
<p>Saludos.</p>
</div>
<br />______________________________<wbr />_________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@<wbr />listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-<wbr />bin/mailman/listinfo/gvsig_<wbr />desarrolladores</a><br /><br /></blockquote>
</div>
<br /><br clear="all" /><br />-- <br />
<div class="gmail_signature">--------------------------------------<br />Joaquin Jose del Cerro Murciano<br />Development and software arquitecture manager at gvSIG Team<br /><a href="mailto:jjdelcerro@gvsig.com">jjdelcerro@gvsig.com</a><br /><a href="mailto:jjdelcerro@gvsig.org">jjdelcerro@gvsig.org</a><br />gvSIG Association<br /><a href="http://www.gvsig.com">www.gvsig.com</a><br /><a href="http://www.gvsig.org">www.gvsig.org</a></div>
</div>
</div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> gvSIG_desarrolladores mailing list<br /><a href="mailto:gvSIG_desarrolladores@listserv.gva.es">gvSIG_desarrolladores@listserv.gva.es</a><br /> Para ver hist&oacute;rico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente direcci&oacute;n: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a></div>
</blockquote>
</body></html>