[Gvsig_desarrolladores] Crear shape desde cero

agirrearri agirrearri en hotmail.com
Mar Mayo 11 10:08:12 CEST 2010


Hola:

La primera duda es ¿para poder utilizar DALLocator, PluginServices etc tengo
que estar dentro de un proyecto extension? No puedo crear un nuevo proyecto
que no sea una extension y utilizar estas clases? Quiero poder ejecutarlo
sin arrancar el gvsig porque si no para probarlo tengo que instalar siempre
la extension y se pierde mucho tiempo porque estoy probando cada linea de
código. Aunque ejecutarlo independientemente me trae problemas porque no
tengo algunos objetos que necesito para crear el shp.

De momento estoy haciendolo dentro de Gvsig siguiendo el ejemplo de exportto
y mi código es este,

package org.gvsig.myextension;

import java.io.File;

import org.gvsig.andami.PluginServices;
........
........

public class SHPEditable {

	SHPEditable(String path) {

		org.gvsig.andami.ui.mdiManager.IWindow f = PluginServices
				.getMDIManager().getActiveWindow();

		if (f instanceof DefaultViewPanel) {
			DefaultViewPanel vista = (DefaultViewPanel) f;
			ViewDocument model = vista.getModel();
			MapContext mapContext = model.getMapContext();

			File newFile = new File(path);

			DataManager datamanager = DALLocator.getDataManager();

			try {
				FilesystemServerExplorerParameters explorerParams =
(FilesystemServerExplorerParameters) datamanager
						.createServerExplorerParameters(FilesystemServerExplorer.NAME);
				
				explorerParams.setRoot(newFile.getParent());

				FilesystemServerExplorer explorer = (FilesystemServerExplorer)
datamanager
						.createServerExplorer(explorerParams);

				NewFeatureStoreParameters newParams = (NewFeatureStoreParameters)
explorer
						.getAddParameters(newFile);

				//FeatureStore store1=lv.getFeatureStore();codigo original
				//error
                 //no tengo la capa he intento crear un feature store pero
no se como, he intentado estas cosas pero estoy desorientado
				DataStoreParameters params = datamanager.createStoreParameters("Shape");
				FeatureStore store = (FeatureStore)datamanager.createStore(params);

				FeatureQuery featureQuery = store.createFeatureQuery();
				((SHPNewStoreParameters) newParams).setSRS(mapContext
						.getProjection());
				String pathFile = ((FilesystemStoreParameters)
newParams).getFile().getAbsolutePath();
				String withoutShp = pathFile.replaceAll("\\.shp", "");
				
				// ((SHPNewStoreParameters) newParams).setSRS(mapContext
				// .getProjection());
				 System.out.println();

				FeatureSet set = null;
				Evaluator evaluator;
			} catch (DataException e) {
				e.printStackTrace();
			} catch (ValidateDataParametersException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}



 no puedo conseguir el FEATURESTORE porque lo coje del layer, la proyección
lo puedo coger porque cuando ejecuto estoy en el panel de vista pero claro
no tengo niguna capa cargada. Porque no tiene sentido ya que lo que quiero
hacer es coger puntos de una tabla que tengo con coordenadas e ir creando
una capa con polígonos creados con esos puntos.

No se si he sido claro en la explicación, si quiere algo estoy aqui.
Gracias, no controlo las funcionalidades de las clases y tengo un lio
enorme, atentamente Eñaut.
-- 
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Crear-shape-desde-cero-tp5029945p5034853.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.


Más información sobre la lista de distribución gvSIG_desarrolladores