<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
<br><br><font class="ecxApple-style-span" face="Tahoma" size="2" style="font-size: 10pt; "><br></font><br><br><div><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><font class="Apple-style-span" size="5"><br>&gt; &gt; hola señores desarrolladores<br>&gt; &gt; estoy &nbsp;tratando de llamas unas capas de mi base de datos postgres, &nbsp; pero al<br>&gt; &gt; importar esto me generar error&nbsp;import<br>&gt; &gt; com.iver.cit.gvsig.fmap.DriverException;&nbsp;, saben uds donde puede encontrar</font><br><font class="Apple-style-span" size="2">&gt; &gt; ese paquete o&nbsp;librería&nbsp;gracias</font><br><font class="Apple-style-span" size="2">&gt; &gt; ackage org.gvsig.proyecto;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.awt.Cursor;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.beans.Statement;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.io.*;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.Connection;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.DriverManager;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.ResultSet;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.SQLException;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import javax.swing.JOptionPane;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.geotools.data.DataSourceException;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.geotools.data.DataStore;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.geotools.data.FeatureSource;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.geotools.data.postgis.PostgisDataStore;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.geotools.data.postgis.PostgisDataStoreFactory;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.DriverException;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.MapContext;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.MapControl;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.*;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.layers.*;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.project.documents.view.IProjectView;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.project.documents.view.gui.BaseView;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.project.documents.view.gui.IView;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.project.documents.view.gui.View;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.andami.PluginServices;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.andami.messages.NotificationManager;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.andami.plugins.Extension;</font><br><font class="Apple-style-span" size="2">&gt; &gt; /**</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;*</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;* @author Felipe</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; public class Intento {</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; public void initialize() {</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; public void execute(String actionCommand) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; com.iver.andami.ui.mdiManager.IWindow view =</font><br><font class="Apple-style-span" size="2">&gt; &gt; PluginServices.getMDIManager().getActiveWindow();</font><br><font class="Apple-style-span" size="2">&gt; &gt; if(view instanceof View)</font><br><font class="Apple-style-span" size="2">&gt; &gt; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;View vista=(View)view;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;IProjectView model = vista.getModel();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;MapContext mapa = model.getMapContext();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;MapControl mapCtrl = vista.getMapControl();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; CargadorCapas cargador = new CargadorCapas();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;JOptionPane.showMessageDialog(null, "Esto es una vista");</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; cargador.cargarTabla("parcelas", 0, mapCtrl, vista);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; cargador.cargarTabla("pozo", 1, mapCtrl, vista);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; cargador.cargarTabla("marabu", 2, mapCtrl, vista);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; cargador.cargarTabla("const", 3, mapCtrl, vista);</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; else</font><br><font class="Apple-style-span" size="2">&gt; &gt; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; JOptionPane.showMessageDialog(null, "Esto no es una vista");</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; public boolean isEnabled() {</font><br><font class="Apple-style-span" size="2">&gt; &gt; return true;</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; public boolean isVisible() {</font><br><font class="Apple-style-span" size="2">&gt; &gt; return true;</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; package org.gvsig.proyecto;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.Connection;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.DatabaseMetaData;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.sql.ResultSet;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import java.util.ArrayList;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import javax.swing.JOptionPane;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.apache.log4j.Logger;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.cresques.cts.IProjection;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import org.cresques.cts.ProjectionPool;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.hardcode.driverManager.Driver;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.andami.PluginServices;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.MapControl;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.core.ICanReproject;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.crs.CRSFactory;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.ConnectionFactory;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.ConnectionJDBC;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.FieldDescription;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.IConnection;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.IVectorialJDBCDriver;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGISWriter;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.layers.FLayer;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.layers.FLyrVect;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.fmap.layers.LayerFactory;</font><br><font class="Apple-style-span" size="2">&gt; &gt; import com.iver.cit.gvsig.project.documents.view.gui.View;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; /**</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;*</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;* @author Felipe</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp;*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; public class CargadorCapas {</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp;private static String selectedDriver;</font><br><font class="Apple-style-span" size="2">&gt; &gt; private static Logger log = Logger.getLogger(CargadorCapas.class);</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; public CargadorCapas() {</font><br><font class="Apple-style-span" size="2">&gt; &gt; selectedDriver = "PostGIS JDBC Driver";</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; /**</font><br><font class="Apple-style-span" size="2">&gt; &gt; * Crea una capa a partir de una tabla de la BD y la añade al</font><br><font class="Apple-style-span" size="2">&gt; &gt; &lt;code&gt;mapControl y a la Vista &lt;code&gt;v</font><br><font class="Apple-style-span" size="2">&gt; &gt; * @param mapControl</font><br><font class="Apple-style-span" size="2">&gt; &gt; * @param v</font><br><font class="Apple-style-span" size="2">&gt; &gt; */</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; public FLyrVect cargarTabla(String nombreTabla, &nbsp;int posicion ,MapControl</font><br><font class="Apple-style-span" size="2">&gt; &gt; mapControl, View v) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; String dbURL = "jdbc:postgresql://localhost:5432/gps_geored";</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; String user = "postgres";</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; String pwd = "postgres";</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; IConnection conex = null;</font><br><font class="Apple-style-span" size="2">&gt; &gt; try {</font><br><font class="Apple-style-span" size="2">&gt; &gt; IVectorialJDBCDriver dbDriver = (IVectorialJDBCDriver)</font><br><font class="Apple-style-span" size="2">&gt; &gt; LayerFactory.getDM().getDriver("PostGIS JDBC Driver");</font><br><font class="Apple-style-span" size="2">&gt; &gt; Driver drv = LayerFactory.getDM().getDriver(selectedDriver);</font><br><font class="Apple-style-span" size="2">&gt; &gt; conex = ConnectionFactory.createConnection(dbURL, user, pwd);</font><br><font class="Apple-style-span" size="2">&gt; &gt; /*creamos la definicion para la capa*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; DBLayerDefinition dbLayerDef = new DBLayerDefinition();</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setCatalogName("gps_geored"); //Nombre de la base de datos</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setSchema("public"); //Nombre del esquema</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setTableName(nombreTabla); //Nombre de la tabla</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setFieldGeometry("the_geom");</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setFieldID("gid");</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setWhereClause("");</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setConnection(conex);</font><br><font class="Apple-style-span" size="2">&gt; &gt; /*obtenemos conexion JDBC*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; Connection conexion = ((ConnectionJDBC) conex).getConnection();</font><br><font class="Apple-style-span" size="2">&gt; &gt; DatabaseMetaData metadataDB = conexion.getMetaData();</font><br><font class="Apple-style-span" size="2">&gt; &gt; String tipos[] = new String[1];</font><br><font class="Apple-style-span" size="2">&gt; &gt; tipos[0] = "TABLE";</font><br><font class="Apple-style-span" size="2">&gt; &gt; ResultSet tablas = metadataDB.getTables(null, null, nombreTabla, tipos);</font><br><font class="Apple-style-span" size="2">&gt; &gt; tablas.next();</font><br><font class="Apple-style-span" size="2">&gt; &gt; String t = tablas.getString(tablas.findColumn( "TABLE_NAME" ));</font><br><font class="Apple-style-span" size="2">&gt; &gt; ResultSet columnas = metadataDB.getColumns(null,null,nombreTabla, "%");</font><br><font class="Apple-style-span" size="2">&gt; &gt; ResultSet claves = metadataDB.getPrimaryKeys(null, null, nombreTabla);</font><br><font class="Apple-style-span" size="2">&gt; &gt; ArrayList&lt;FieldDescription&gt; descripciones = new ArrayList</font><br><font class="Apple-style-span" size="2">&gt; &gt; &lt;FieldDescription&gt;();</font><br><font class="Apple-style-span" size="2">&gt; &gt; ArrayList&lt;String&gt; nombres = new ArrayList&lt;String&gt;();</font><br><font class="Apple-style-span" size="2">&gt; &gt; while(columnas.next()) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; log.info("Tratando atributo: \""+columnas.getString("Column_Name")+"\" de la</font><br><font class="Apple-style-span" size="2">&gt; &gt; tabla: "+nombreTabla);</font><br><font class="Apple-style-span" size="2">&gt; &gt; if(columnas.getString("Type_Name").equalsIgnoreCase("geometry")) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; /*si es la columna de geometria*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; log.info("Encontrado atributo de geometria para la tabla:"+nombreTabla);</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setFieldGeometry(columnas.getString("Column_Name"));</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; else {</font><br><font class="Apple-style-span" size="2">&gt; &gt; FieldDescription fieldDescription = new FieldDescription();</font><br><font class="Apple-style-span" size="2">&gt; &gt; fieldDescription.setFieldName(columnas.getString("Column_Name"));</font><br><font class="Apple-style-span" size="2">&gt; &gt; fieldDescription.setFieldType(columnas.getType());</font><br><font class="Apple-style-span" size="2">&gt; &gt; descripciones.add(fieldDescription);</font><br><font class="Apple-style-span" size="2">&gt; &gt; nombres.add(columnas.getString("Column_Name"));</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; FieldDescription fields[] = new FieldDescription[descripciones.size()];</font><br><font class="Apple-style-span" size="2">&gt; &gt; String s[] = new String[nombres.size()];</font><br><font class="Apple-style-span" size="2">&gt; &gt; for(int i = 0; i &lt; descripciones.size(); i++) &nbsp;{</font><br><font class="Apple-style-span" size="2">&gt; &gt; fields[i] = descripciones.get(i);</font><br><font class="Apple-style-span" size="2">&gt; &gt; s[i] = nombres.get(i);</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setFieldsDesc(fields);</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setFieldNames(s);</font><br><font class="Apple-style-span" size="2">&gt; &gt; /*buscamos clave primaria y la añadimos a la definicion de la capa*/</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; while(claves.next()) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp;dbLayerDef.setFieldID(claves.getString("Column_Name"));</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp;}</font><br><font class="Apple-style-span" size="2">&gt; &gt; PostGISWriter writer = new PostGISWriter();</font><br><font class="Apple-style-span" size="2">&gt; &gt; writer.setWriteAll(false);</font><br><font class="Apple-style-span" size="2">&gt; &gt; writer.setCreateTable(false);</font><br><font class="Apple-style-span" size="2">&gt; &gt; IProjection proj = null;</font><br><font class="Apple-style-span" size="2">&gt; &gt; String strEPSG = "3115";</font><br><font class="Apple-style-span" size="2">&gt; &gt; if (drv instanceof ICanReproject)</font><br><font class="Apple-style-span" size="2">&gt; &gt; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; dbLayerDef.setSRID_EPSG(strEPSG);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; if (dbDriver instanceof ICanReproject)</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; ((ICanReproject)dbDriver).setDestProjection(strEPSG);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; dbDriver.setData(conex, dbLayerDef);</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; if (dbDriver instanceof ICanReproject)</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp;// el error lo da aquiiiiiii</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; // proj = CRSFactory.getCRS("EPSG:" +</font><br><font class="Apple-style-span" size="2">&gt; &gt; ((ICanReproject)dbDriver).getSourceProjection(null,dbLayerDef));</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; proj = CRSFactory.getCRS("EPSG:3115");</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; FLayer lyr = &nbsp;LayerFactory.createDBLayer(dbDriver, nombreTabla, proj);</font><br><font class="Apple-style-span" size="2">&gt; &gt; if (lyr != null) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; lyr.setVisible(true);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; v.getMapControl().getMapContext().beginAtomicEvent();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; // Comprobamos si es necesario reproyectar</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; checkProjection(lyr, v.getMapControl());</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; v.getMapControl().getMapContext().getLayers().addLayer(lyr);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; v.getMapControl().getMapContext().endAtomicEvent();</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; return (FLyrVect) lyr;</font><br><font class="Apple-style-span" size="2">&gt; &gt; } catch (Exception e) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; log.warn("No se pudo cargar capa de la tabla: "+nombreTabla);</font><br><font class="Apple-style-span" size="2">&gt; &gt; e.printStackTrace();</font><br><font class="Apple-style-span" size="2">&gt; &gt; return null;</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; }</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; private void checkProjection(FLayer lyr, MapControl mc)</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; if (lyr instanceof FLyrVect)</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FLyrVect lyrVect = (FLyrVect) lyr;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IProjection proj = lyr.getProjection();</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Comprobar que la proyección es la misma que la vista</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (proj == null)</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // SUPONEMOS que la capa está en la proyección que</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // estamos pidiendo (que ya es mucho suponer, ya).</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;log.warn("Reproyectando capa "+lyr.getName()+" porque no</font><br><font class="Apple-style-span" size="2">&gt; &gt; tenía proyección asignada");</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lyrVect.setProjection( mc.getViewPort().getProjection());</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; (!proj.getAbrev().equals(mc.getViewPort().getProjection().getAbrev())) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int option =</font><br><font class="Apple-style-span" size="2">&gt; &gt; JOptionPane.showConfirmDialog(null,PluginServices.getText(this,</font><br><font class="Apple-style-span" size="2">&gt; &gt; "reproyectar_aviso"),</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PluginServices.getText(this,</font><br><font class="Apple-style-span" size="2">&gt; &gt; "reproyectar_pregunta"),JOptionPane.YES_NO_OPTION);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (option == JOptionPane.NO_OPTION) {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log.error("coordTrans = " + proj.getAbrev() + " " +</font><br><font class="Apple-style-span" size="2">&gt; &gt; mc.getViewPort().getProjection().getAbrev());</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lyrVect.reProject(mc);</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.err.println("coordTrans = " +</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proj.getAbrev() + " " +</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mc.getViewPort().getProjection().getAbrev());</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt; &nbsp; &nbsp; }</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><font class="Apple-style-span" size="5"> }<br>&gt; &gt; tambien me genera error aqui &nbsp;&nbsp; lyrVect.reProject(mc); y no se a que se debe<br>&gt; &gt; su ayuda me seria &nbsp;muy util muchismas gracias<br>&gt; &gt;<br>&gt; &gt; pd: trabajo con netbeans y compilo con apache ant!!</font><font class="Apple-style-span" size="2">!</font><br><font class="Apple-style-span" size="2">&gt; &gt;</font><br><font class="Apple-style-span" size="2">&gt; &gt; Andrés Felipe Jama Cuellar</font><br><font class="Apple-style-span" size="2">&gt; &gt; Estudiante de&nbsp;Ingeniería&nbsp;Topográfica</font><br><font class="Apple-style-span" size="2">&gt; &gt; Universidad del Valle</font><br><font class="Apple-style-span" size="2">&gt; </font><br><font class="Apple-style-span" size="2">&gt; </font><br><font class="Apple-style-span" size="2">&gt; </font><br><font class="Apple-style-span" size="2">&gt; -- </font><br><font class="Apple-style-span" size="2">&gt; Francisco Puga</font><br><font class="Apple-style-span" size="2">&gt; Grupo de Desarrollo</font><br><font class="Apple-style-span" size="2">&gt; Cartolab - Laboratorio de Ingeniería Cartográfica.</font><br><font class="Apple-style-span" size="2">&gt; http://www.cartolab.es</font><br><font class="Apple-style-span" size="2">&gt; </font><br><font class="Apple-style-span" size="2">&gt; ETS Ingeniería de Caminos, Canales y Puertos</font><br><font class="Apple-style-span" size="2">&gt; Universidade da Coruña</font><br><font class="Apple-style-span" size="2">&gt; Campus de Elviña - 15071 A Coruña (España)</font><br><font class="Apple-style-span" size="2">&gt; (34)981167000 ext. 5493</font><br></div>                                               </div></body>
</html>