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