[Gvsig_desarrolladores] ayuda para crear capa por código?
Cèsar Ordiñana
cordin en disid.com
Lun Mayo 3 11:00:45 CEST 2010
Hola Eñaut,
Disculpa, te comenté lo del parámetro srs, pero en este caso no espera
un String, sino un objeto de tipo IProjection. Necesitas llamar a la
factoría de proyecciones, algo como:
params2.setDynValue("srs", CRSFactory.getCRS("EPGS:23030"));
Saludos,
agirrearri escribió:
> HOla a todos llevo unos días intentando crear una capa por código en gvsig
> descktop 2.0 pero le meto algun paraámetro mal, pongo el código y el error
> que me da a continuación. El error me da al crear la capa.
>
> Código:
> manager2 = DALLocator.getDataManager();
>
> params2 = manager2.createStoreParameters("Shape");
> params2.getDynClass();
> params2.setDynValue("shpfilename", "C:\\apoyos.shp");
> params2.setDynValue("dbffilename", "C:\\apoyos.dbf");
> params2.setDynValue("shxfilename", "C:\\apoyos.shx");
> params2.setDynValue("encoding", "ISO-8859-1");
> params2.setDynValue("srs", "EPGS:23030");
>
> LayerFactory fabricaDeCapa2 = LayerFactory.getInstance();
> FLayer capa2 = fabricaDeCapa2.createLayer("apoyos", params2);
>
> Error:
> Can´t load the layer: apoyos
> at
> org.gvsig.fmap.mapcontext.layers.LayerFactory.createLayer(LayerFactory.java:144)
> at org.gvsig.myextension.CargarPostGis.execute(CargarPostGis.java:90)
> at
> org.gvsig.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)
> at org.gvsig.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:673)
> at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
> at
> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
> at
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
> at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
> at
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
> at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
> at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
> at java.awt.Component.processMouseEvent(Component.java:6263)
> at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
> at java.awt.Component.processEvent(Component.java:6028)
> at java.awt.Container.processEvent(Container.java:2041)
> at java.awt.Component.dispatchEventImpl(Component.java:4630)
> at java.awt.Container.dispatchEventImpl(Container.java:2099)
> at java.awt.Component.dispatchEvent(Component.java:4460)
> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
> at java.awt.Container.dispatchEventImpl(Container.java:2085)
> at java.awt.Window.dispatchEventImpl(Window.java:2478)
> at java.awt.Component.dispatchEvent(Component.java:4460)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
> at
> org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:59)
> at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
> Caused by: Exception intializing '{unknow}'.
> at
> org.gvsig.fmap.dal.impl.DefaultDataManager.intializeDataStore(DefaultDataManager.java:474)
> at
> org.gvsig.fmap.dal.impl.DefaultDataManager.createStore(DefaultDataManager.java:237)
> at
> org.gvsig.fmap.mapcontext.layers.LayerFactory.createLayer(LayerFactory.java:141)
> ... 31 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.gvsig.tools.extensionpoint.impl.DefaultExtensionPointManager.createObject(DefaultExtensionPointManager.java:224)
> at
> org.gvsig.tools.extensionpoint.impl.DefaultExtensionPointManager.create(DefaultExtensionPointManager.java:69)
> at
> org.gvsig.tools.extensionpoint.impl.DefaultExtensionPoint$Extension.create(DefaultExtensionPoint.java:99)
> at
> org.gvsig.tools.extensionpoint.impl.DefaultExtensionPoint.create(DefaultExtensionPoint.java:267)
> at
> org.gvsig.fmap.dal.impl.DefaultDataManager.intializeDataStore(DefaultDataManager.java:468)
> ... 33 more
> Caused by: Exception intializing 'Shape'.
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.getTheFeatureType(DBFStoreProvider.java:248)
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreProvider.getTheFeatureType(SHPStoreProvider.java:260)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.initFeatureType(DBFStoreProvider.java:234)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.init(DBFStoreProvider.java:110)
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreProvider.init(SHPStoreProvider.java:108)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.<init>(DBFStoreProvider.java:94)
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreProvider.<init>(SHPStoreProvider.java:101)
> ... 42 more
> Caused by: Exception opening 'Shape'.
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.open(DBFStoreProvider.java:476)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.getTheFeatureType(DBFStoreProvider.java:246)
> ... 48 more
> Caused by: Error while executing an action in resource 'MultiResource
> C:\apoyos.shp:: FileResource(C:\apoyos.shp), FileResource(C:\apoyos.shx),
> FileResource(C:\apoyos.dbf) (default)'.
> at
> org.gvsig.fmap.dal.resource.spi.AbstractResource.execute(AbstractResource.java:314)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider.open(DBFStoreProvider.java:464)
> ... 49 more
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
> org.cresques.cts.IProjection
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreParameters.getSRSID(SHPStoreParameters.java:127)
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreParameters.getSRS(SHPStoreParameters.java:147)
> at
> org.gvsig.fmap.dal.store.shp.SHPStoreProvider.loadMetadataValues(SHPStoreProvider.java:436)
> at
> org.gvsig.fmap.dal.store.dbf.DBFStoreProvider$4.run(DBFStoreProvider.java:470)
> at
> org.gvsig.fmap.dal.resource.spi.AbstractResource.performExecution(AbstractResource.java:323)
> at
> org.gvsig.fmap.dal.resource.spi.AbstractResource.execute(AbstractResource.java:312)
> ... 50 more
>
>
> Alguien sabe que es lo que falla? Puede ser algun tipo de dato en
> setDynValue?
>
> Estoy atascado, por favoooooor.
>
> Gracias, atentamente Eñaut.
>
Más información sobre la lista de distribución gvSIG_desarrolladores