Download Aproximación inicial en el uso de GeoTools
Document related concepts
no text concepts found
Transcript
Aproximación inicial en el uso de GeoTools Jazna Meza Hidalgo (@yasnameza) Febrero 2012 1. DESCRIPCIÓN Se dispone de un archivo shape (extensión .shp) que contiene los lı́mites comunales de Chile y se pretende construir una aplicación en Java, usando la API geotools (más detalles en http://geotools.org/) para mostrar el contenido del archivo shape. 2. ACTIVIDAD 1 - CREANDO EL PROYECTO NETBEANS En esta actividad se debe crear un proyecto NetBeans del tipo Maven, tal y como se muestra en la Figura 1. Luego de dar clic en Next se selecciona el arquetipo con el cual va a trabajar Maven (ver Figura 2). Finalmente, queda definir la ubicación de nuestro proyecto y en mi caso tengo lo que se indica en la figura 3. Figura 1: Creación de proyecto Maven Con lo anterior se ha creado el proyecto y deberı́a aparecer lo que se indica en la Figura 4. 1 3 ACTIVIDAD 2 - CONFIGURANDO ARCHIVO XML Figura 2: Selección de arquetipo de Maven Figura 3: Ubicación del proyecto 3. ACTIVIDAD 2 - Configurando archivo XML Lo primero que se debe modificar es el archivo de proyecto llamado pom.xml. El contenido inicial de este archivo es el que se indica en la Figura 5. En esa misma figura se indica el lugar en donde se van a insertar una propiedad y otras dependencias. Ahora agregamos las propiedades para poder trabajar con la API de geotools tal y como se indica en la Figura 6. A continuación se agregan las dependencias tal y como se muestra Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 2 4 ACTIVIDAD 3 - AGREGANDO CÓDIGO JAVA Figura 4: Composición del proyecto Figura 5: Contenido inicial de archivo pom.xml en la Figura 7. Finalmente, se agregan los repositorios para poder utilizar las clases contenidas en la API tal y como se indica en la Figura 8. Estos repositorios DEBEN ir después de las dependencias 4. ACTIVIDAD 3 - Agregando código Java Ahora vamos a agregar código Java y usar las clases de la API para poder mostrar el contenido del archivo shape que hemos de seleccionar. En este caso vamos a modificar el archivo App.java que ha sido generado con el código que se muestra en la Figura 9. Las lı́neas de código que se van a agregar al método main son las que se indican en Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 3 5 ACTIVIDAD 4 - EJECUTANDO EL PROYECTO Figura 6: Agrega una propiedad al archivo pom.xml Figura 7: Agrega nuevas dependencias al archivo pom.xml la Figura 10. No hay que olvidar agregar los import que el IDE sugiere ;-) 5. ACTIVIDAD 4 - Ejecutando el proyecto Ahora vamos a ejecutar el proyecto, en mi caso seleccione un archivo shape que contiene los lı́mites comunales de Chile y a través de la llamada al método showOpenFile() de la clase JFileDataStoreChooser se muestra una ventana de selección de archivo como se muestra en la Figura 11. Al seleccionar el archivo shape se muestra el contenido de forma similar a como aparece en la Figura 12. Además es posible conocer algo de información Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 4 6 COMENTARIOS FINALES Figura 8: Agrega repositorios al archivo pom.xml Figura 9: Código inicial de App.java adicional del contenido del shape, esto es información acerca de las caracterı́sticas de la capa que está representando el archivo shape. Para esto usamos el icono que se indica en la Figura 13 y seleccionamos una de las comunas del mapa se obtiene la información que ha sido incluida en el archivo shape. 6. COMENTARIOS FINALES Bueno, esto ha sido una aproximación muy básica para trabajar con archivos shape, seguiremos avanzando en el siguiente tutorial con algo más interesante para ir conociendo las clases de GeoTools. Hasta la próxima!!!!! Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 5 6 COMENTARIOS FINALES Figura 10: Código para mostrar el contenido del archivo shape Figura 11: Selección del archivo shape Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 6 6 COMENTARIOS FINALES Figura 12: Despliegue del archivo shape Figura 13: Información asociada al shape Preparado por Jazna Meza Hidalgo - SCJP 5.0 Página 7