Taller para desarrolladores ● III Jornadas gvSIG Victor Olaya s Francisco José Peñarrubia César Martínez Izquierdo

Slides:



Advertisements
Presentaciones similares
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Advertisements

¿Para qué sirve cada sección? Santiago del Estero.
Clase práctica Nº 1. Introducción al entorno de desarrollo Eclipse. Dpto. de Ciencias e Ingeniería de la Computación. Universidad Nacional del Sur.
23/09/2016II Encuertros de programadores Java. UJI El proyecto gvSIG y su extensión 3D Julio Campos
USO DE LOS SISTEMAS DE ARCHIVO DE UN ORDENADOR DIRECTORIOS CARPETAS ARCHIVOS TIPOS DE ARCHIVOS (nombres y extensiones)
JCLIC. ¿QUE ES JCLIC? JClic es una herramienta para la creación de diversos tipos de actividades educativas.
¿Qué es el theming? Es el proceso de generar html y css a partir de los datos de nuestra aplicación. El diseño de una aplicación web hecha con Drupal lo.
Taller para desarrolladores ● SIGTE Girona 2009 Victor Olaya Francisco José Peñarrubia César Martínez Izquierdo
TRABAJAR CON JCross. Introducción de los datos del ejercicio Al arrancar JCross nos encontramos una cuadrícula en blanco.
LibLocation: acceso a dispositivos de localización para gvSIG Desktop y Mobile Juan G. Jordán Aldasoro Manuel Planells Jiménez.
MANUALES DE PROCEDIMIENTOS ¿¿Que son los manuales ?? Manuales de procedimientos.
HTM L (Hyper Text Markup Language). ¿Qué es HTML? Es el lenguaje que permite escribir texto de forma estructurada, y que está compuesto por etiquetas,
Nuevas funcionalidades en
INSTALACIÓN DEL SISTEMA C.A.N.O.A.
Tema 2: Los Sistemas Operativos de texto (MS-DOS) y gráficos (Windows). Informática, Escuela Técnica Superior Forestal, Facultad de Ciencias Forestales.
PROGRAMACIÓN ORIENTADA A OBJETOS
Base de datos El almacenamiento, manipulación y recuperación de información en forma eficiente, es vital y estratégico para cualquier organización. Las.
Índice Parte II. La asignatura en acción Herramientas de comunicación 82 Correo 83 Mensajería 85 Rastreo de finalización 87 Filtros 89 Calificación de.
PREZI.
Nuevas funcionalidades en gvSIG Mobile 1.0
Seguimiento y Avance.
2as Jornadas de Tecnologías Libres de Información Geográfica
Métodos y parámetros.
BLOQUES.
POLITECNICO INDES COROZAL
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
introducción Ingeniería de software
Unidad 7 Windows.
Conectividad de Bases de Datos
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
II QUIMESTRE PARCIAL I VISUAL.
Capacitación Macros en Excel
Agustín J. González ELO-329
Introducción a Visual Studio .NET
Botones de minimizar, maximizar y cerrar Barra de Titulo
Tema 6. Conceptos básicos de programación Clase 1
CÓMO CREAR UNA CUENTA EN WIKISPACES.COM.
Principios básicos del entorno windows
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
Las herramientas Case Julian madrigal.
Administrador de Tareas
Programación Orientada a Objetos
Diagramas del modelo uml
Unidad Educativa Calasanz.
Guía de: Cmap Tools.
PROYECTO DE INSTALACIÓN EN VB.NET
Conceptos de bases de datos
Curso de Programación Web html, java script
Taller de desarrollo en gvSIG 2.0
Protocolos Protocolos de red.
CONCEPTOS BÁSICOS DE COMPUTACIÓN E HISTORIA
Customización en ADempiere
EXPLORADOR DE WINDOWS 7. Explorador de Windows El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella podemos organizar.
GRÁFICOS Un gráfico es la representación gráfica de los datos de una hoja de cálculo y facilita su interpretación. La utilización de gráficos hace más.
Plataforma de Gestión de Servicios Sociales
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
SICRES-Tester Presentación Ejecutiva
Introducción a los algoritmos
GRÁFICOS Un gráfico es la representación gráfica de los datos de una hoja de cálculo y facilita su interpretación. La utilización de gráficos hace más.
Generaciones de Bases de Datos
Unidad 4: LibreOffice Impress
Cómo utilizar el Campus
ENGLISH SPEAKING COUNTRIES' FAIR
Nombre del Docente: María Guadalupe Salazar Chapa
Transformación de una aplicación móvil utilizando Material Design Denisse Gómez Casco Usabilidad e Interfaces Trabajo final de grado.
JENIFER SÁNCHEZ CRUZ JOSE MANUEL CHAVISTA
“Android - Estructura”
Desarrollando programas Java con Eclipse
Macros EN EXCEL.
ESTRUCTURA DE UNA PC.
Transcripción de la presentación:

Taller para desarrolladores ● III Jornadas gvSIG Victor Olaya s Francisco José Peñarrubia César Martínez Izquierdo

Indice Introducción Arquitectura interna Proyectos básicos. Core de gvSIG Configurar un workspace de trabajo con Eclipse Andami y el mecanismo de plugin Ejemplos de extensiones Hola Mundo Información personalizada Implementar un driver

Indice Otros plugins SEXTANTE Qué es SEXTANTE Configurar un workspace de trabajo con Eclipse + SEXTANTE La arquitectura extensión-algoritmo Estructura base de una extensión de análisis Ejemplos de extensiones con componentes raster y vectorial.

Introducción ● Aplicación de escritorio ● Proyecto escalable desde sus orígenes. ● Muchas librerías útiles por separado ● Licencia GPL ● Entorno de desarrollo usado: Eclipse 3.2 ● Máquina virtual: JAI ● Extensiones JNI para otras librerías en C++ ● Documentación para desarrolladores escasa... por ahora.

Arquitectura Interna

Proyectos básicos ● _fwAndami ● libCorePlugin ● libFMap ● libGDBMS ● appGvSIG ● libCq CMS for Java ● extCAD ● ExtJDBC ● Otros: libDWG, libIverUtiles, libUI, binaries libRemoteServices....

Configurar un workspace de trabajo ● Descargamos el código fuente de ● Lo descomprimimos en un directorio cualquiera ● En Eclipse ejecutamos File => Switch Workspace (cambiar de workspace) ● En el diálogo que aparece seleccionamos el directorio en el que acabamos de descomprimir las fuentes

Configurar un workspace de trabajo ● gvSIG está compuesto de muchos proyectos (librerías propias) ● Para compilar gvSIG hay que compilar todos los proyectos que lo componen ● Eclipse realiza la compilación (generación de los.class) automáticamente, después debemos ejecutar el fichero build.xml de cada proyecto, que crea los ficheros.jar y los copia al directorio adecuado ● El orden de compilación no es indiferente, ya que unos proyectos necesitan de otros ● Para evitar este proceso, existe un método automático

Compilación de gvSIG (automática)

Ejecución de gvSIG

Depuración ● Ejecución un poco especial ● Sirve para entender mejor el programa, o para encontrar errores ● Permite poner puntos de parada en el código, y hacer ejecuciones paso a paso ● De esta forma se pueden ver o alterar los resultados intermedios

Navegación por el código. Teclas rápidas (I) ● F3 nos lleva a la definición de un método o clase ● CTRL+MAY+O nos añade imports faltantes ● F4 nos muetra la jerarquía de herencias de una clase ● CTRL+I indenta la(s) línea(s) automáticamente

Navegación por el código. Teclas rápidas (II) En modo depuración: ● F6 avanza una línea ● F5 avanza una línea entrando dentro de la próxima función a ejecutar ● F7 avanza hasta el punto en el que se ha llamado a la función actual ● CTRL+MAY+I evalúa la expresión seleccionada y muetra el resultado

● Modelo de Objetos(Andami) ● Andami: Framework que permite la construcción de aplicaciones MDI extensibles a base de un mecanismo de plugins ● Clases más importantes: ● Launcher => Arranca la aplicación e inicializa todos los plugins ● PluginServices => Clase base para obtener todos los servicios ofertados a los plugins plugins. Tiene métodos para obtener MainFrame, MDIManager, traducir cadenas, ejecutar tareas en segundo plano, recuperar instancias de otras extensiones, etc. ● IExtension => Interface que deben implementar todos los plugins. Es la base sobre la que se añaden menus, botones, herramientas, y/o nuevas funcionalidades.. ● IAndamiView=> Cada ventana añadida al framework debe implementar este interface. Define cómo se mostrará esa ventana. (Modal, resizable, iconifiable, etc). ● Las extensiones se controlan desde el fichero “config.xml”. El esquema de este fichero se define en el archivo “plugin-config.xsd”.

● Modelo de Objetos(FMap) ● Clases más importantes: ● MapContext => Contiene todas las capas e información acerca de la proyección, viewport, etc. Dibuja, imprime y maneja algunos eventos. ● MapControl => Componente que sabe cómo pintar (en un trhead aparte) una instancia de MapContext. Está muy relacionado también con los tools. ● ViewPort => Mantiene información acerca de las transformaciones a hacer (Afines o not. Genera los eventos de cámbio de extent visible. ● FLayers => Collección de capas. Puede ser jerárquica. ● Packages: ● Core => Interfaces básicos como IFeature e Igeometry + algunas implementaciones ● Layers => Todo tipo de capas (raster, vectorial, wms...) ● Drivers => Los sistemas lectores de datos. ● Rendering => Leyendas y simbología ● Strategies => Se definen las operaciones que se van a hacer con los datos. ● Tools => Behaviors, tools y sus eventos.

● Modelo de Objetos(gvSIG) ● gvSIG: Plugin que convierte a Andami en un cliente GIS. Usa FMap como librería principal. La mayoría de las clases aquí tendrán que ver con el GUI (interface de usuario). ● Clases más importantes: ● Las que están en el package com.iver.cit.gvsig. Son las “extensions” a andami, las clases que implementan IExtension y aparecen en el fichero “config.xml”. ● Algunos ejemplos:: ● AddLayer: Abre un diálogo que permite añadir capas (basadas en fichero, wms, etc) ● ViewControls: Define botones como (zoom, pan, info, select, etc. ● LayoutControls: La mayoría de los botones y herramientas relacionadas con el Layout. ● ProjectExtension: Maneja el proyecto, y es el punto de entrada para el resto de documentos (View, Tables and Layouts). ● Otras clases interesantes: View, TOC, FlegendManagerWindow, Table y Layout

● Librarías Usadas ● JTS (Java Topology Suite) ● Geotools2 ● Log4java ● Batik ● Castor ● ErMapper ● MrSID ● GDBMS

● Ejemplos ● Hola Mundo ● Información personalizada

Contacto Víctor Olaya Fco. José Peñarrubia César Martínez Izquierdo