[Gvsig_desarrolladores] Ayuda con GDAL
Juan DYB
jdyb04jdyb en gmail.com
Sab Nov 24 02:13:39 CET 2012
Hola a todos:
Se que no tiene mucho que ver con GvSIG pero estoy intentando buscar ayuda para usar GDAL en java. No encuentro casi nada de documentación y estoy un poco desesperado.
Se trata de que quiero leer un fichero ECW y para ello necesito GDAL con Geotools (o eso he llegado a entender)
Estoy trabajando con MAVEN y desarrollo bajo mac y bajo Windows.
Lo he intentado en ambos sistemas y no he conseguido nada.
Este es el código que estoy usando. He puesto en negrita lo que es importante en lo que se refiere a GDAL
File ecw = new File (ruta);
ECWReader reader = new ECWReader(ecw);
GridCoverage2D coverage = reader.read(null);
Les dejo parte de mi pom.xml
<properties>
<gdal.path>/Library/Frameworks/GDAL.framework/Programs/</gdal.path>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>org.geo_gdal.App</mainClass>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Class-Path>${gdal.path}</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>freehep-maven</id>
<name>Maven FreeHEP</name>
<url>http://java.freehep.org/maven2</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net repository</name>
<url>http://download.java.net/maven/2/</url>
</repository>
<repository>
<id>osgeo</id>
<name>Open Source Geospatial Foundation Repository</name>
<url>http://download.osgeo.org/webdav/geotools/</url>
</repository>
<repository>
<id>geosolutions</id>
<name>GeoSolutions libraries repository</name>
<url>http://mvn.geo-solutions.it/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.swinglabs</groupId>
<artifactId>swing-layout</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-geotiff</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-api</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-imageio-ext-gdal</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdal-bindings</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
En Windows he instalado los paquetes de esta web que están para win x64, tanto el core como el plugin eco.
http://www.gisinternals.com/sdk/
En mac he hecho lo mismo pero desde esta página
http://www.kyngchaos.com/software:frameworks
El error que obtengo es el siguiente
nov 24, 2012 1:05:48 AM it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL
WARNING: Failed to load the GDAL native libs. This is not a problem unless you need to use the GDAL plugins: they won't be enabled.
java.lang.UnsatisfiedLinkError: no gdaljni in java.library.path
Exception in thread "main" java.lang.IllegalStateException: GDAL native libraries are not available.
at it.geosolutions.imageio.gdalframework.GDALImageReader.setInput(GDALImageReader.java:636)
at it.geosolutions.imageio.plugins.ecw.ECWImageReader.setInput(ECWImageReader.java:60)
at javax.imageio.ImageReader.setInput(ImageReader.java:380)
at org.geotools.coverageio.BaseGridCoverage2DReader.<init>(BaseGridCoverage2DReader.java:172)
at org.geotools.coverageio.gdal.BaseGDALGridCoverage2DReader.<init>(BaseGDALGridCoverage2DReader.java:84)
at org.geotools.coverageio.gdal.ecw.ECWReader.<init>(ECWReader.java:68)
at org.geotools.coverageio.gdal.ecw.ECWReader.<init>(ECWReader.java:53)
He probado con la opción de la JVM al lanzar el jar pero lo mismo, el mismo error, no hay manera.
-Djava.library.path="C:/Program Files/GDAL"
Si alguien sabe como hacerlo funcionar en Mac y/o en Windows le agradecería enormemente que me lo dijera paso por paso porque estoy desesperado con ello, llevo cerca de una semana detrás de ello y no hay manera. Muchísimas gracias a todos de antemano.
--
Un Saludo,
Juan
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20121124/33139ae8/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores