gvSeismic: añadir información de sísmica de formatos no soportados

Ya hemos visto como trabajar con los formatos de sísmica soportados por la extensión de gvSeismic en gvSIG. Pero…¿podemos trabajar con nuevos formatos que no soporte la extensión?

En definitiva, en este caso, se trata de generar lo que se conoce como un sistema de parseado nuevo.

Los pasos a seguir serían los siguientes:

  • Añadir una capa nueva a la vista y, dentro de la pestaña Archivo, cargar el nuevo fichero.

03_gvSIG_Seismic

  • En este punto pueden ocurrir dos cosas: que el fichero se muestre o no. Si no se muestra, se deberá escribir un asterisco (*) en el cuadro de texto del nombre de fichero, y pulsar la tecla Intro. Se nos mostrarán todos los ficheros disponibles. Una vez hecho esto, seleccionamos el fichero que queremos añadir a nuestra Vista.

  • Importante: Antes de pulsar el botón “Abrir” debemos seleccionar la opción “CSV file” en el desplegable de tipos de archivo.

04_gvSIG_Seismic

  • Ya tenemos el fichero en la ventana de “Añadir capa”. Ahora vamos a definir las características del parseador para extraer la información. Para ello pulsamos el botón ‘Propiedades‘ y nos dirigimos a la pestaña ‘Advanced‘.

  • Las características a definir son:

    • Header: Indica el nombre de los campos, separados por comas.

      Por ejemplo, según la especificación del UKOOA-84, si este fichero no fuera soportado por la extensión, se debería poner: nombre_linea, num_linea, latitud, longitud, este, norte, elevacion

    • Number of lines to skip: si el fichero tiene cabecera, indicar cuántas líneas lo componen, para que no sean interpretadas como datos.

    • Fields definition: Aquí se especifica la posición de cada uno de los campos sobre la línea de datos.

      Veamos un ejemplo:, si se tiene esta línea (y apoyados en la definición del estándar):

      A-58A-1-A-58A-17 469070050.14N0710535.72W 268745.3 775813.1 123.2

      vemos que comienza con un espacio en blanco, y luego empieza el nombre de línea, que irá desde la 2a posición hasta la 17 (A-58A-1-A-58A-17); el número de punto se ubica entre la 18 y 25 (469); la latitud va desde la 26 a la 35 (070050.14N); la longitud lo hace desde la 36 a la 46 (0710535.72W), etc. Esta línea se rellenaría indicando la posición inicial y la final de cada campo, separando los distintos campos por espacios (en el último campo con indicar únicamente el principio es suficiente):

      2:17 18:25 26:35 36:46 47:55 56:64 65:

    • CRS: el sistema de proyección de los datos del fichero.

    • FieldTypes: el tipo de dato de cada campo: string (texto), integer (número entero), float (número decimal), double (número decimal de coma flotante), boolean (valores binarios verdadero/falso) y geometry (campos con geometrías).

      En el ejemplo: string, integer, string, string, float, float, float

    • Point: se indican los campos que definirán la geometría punto.

      En el ejemplo: este, norte

05_gvSIG_Seismic

Si la definición de los datos es correcta, la capa se añadirá a la vista:

06_gvSIG_SeismicTerminamos la serie de post dedicada a la nueva extensión gvSeismic. En breve seguiremos publicando post sobre las novedades en las que estamos trabajando en el camino a gvSIG 2.2.

Posted in gvSIG Desktop, spanish, testing | Tagged , | 2 Comments

gvSeismic: funcionamiento básico

Vamos a explicar el funcionamiento básico de la extensión de gvSIG para trabajar con datos sísmicos.

Una vez instalada la extensión, en la ventana de ‘Añadir capa‘, se encontrará una nueva pestaña perteneciente a la extensión. A través de ella se podrá realizar la carga de tantos ficheros de sísmica como se quiera.

Una vez seleccionados los ficheros con los que queremos trabajar, gvSIG indicará si es soportado por los drivers de la extensión (se mostrarán en rojo los no soportados) y si se ha detectado de forma automática el sistema de coordenadas, siendo necesario indicarlo a mano a través del botón propiedades en caso de no tener ninguno asociado.

Una vez todo indicado, con el botón ‘Aceptar’ se cargarán los datos en la Vista actual.

Entre los formatos soportados, se encuentran aquellos que se corresponden con las extensiones:

  • UKOOA-84

  • SPS-RPS

  • P1-90

  • NAV

  • GEOG

  • H19

  • SUK-RUK

  • PTO

¿Y si tenemos ficheros que no están soportados por la extensión gvSeismic?

gvSIG puede cargar estos datos igualmente, dando algún paso más a la metodología presentada en el procedimiento estándar. Atendiendo a la naturaleza de la causa que ha propiciado el error, se pueden extraer dos casos.

El caso más común es que nos encontremos con un fichero soportado por gvSIG, pero que no se reconoce como tal . Vamos a ver a qué puede ser debido y cómo se soluciona.

Cada uno de los formatos soportados tiene sus particularidades. Para poder obtener la información que contienen la extensión dispone de varios parseadores (uno por cada formato), que se encargan de extraer la información. En ocasiones encontraremos que tanto el nombre de las extensión como la información de la cabecera es variable dentro de ficheros de un mismo tipo (por ejemplo, los ficheros UKOOA-84 tienen extensiones .uk, .UK4, .uk84, …). Esta variabilidad puede hacer que en algunos casos no reconozca automáticamente la información.

La solución es muy simple, el primer paso es cerciorarse que es de ese tipo específico, comprobando que los datos tienen la misma estructura y distribución (la cabecera puede ser diferente), es decir, los campos se distribuyen sobre el texto acorde a la especificación.

Un ejemplo en el caso UKOOA-84:

RENGLÓN

COLS

1

NOMBRE DE LA LÍNEA (JUST. A LA IZQUIERDA)

2-17

2

NÚMERO DEL PUNTO (JUST. A LA DERECHA)

18-25

3

LATITUD (GGMMSS.SSS)

26-35

4

LONGITUD (GGMMSS.SSS)

36-46

5

ESTE (UTM)

47-55

6

NORTE (UTM)

56-64

7

PROFUNDIDAD DEL AGUA O ELEVACIÓN

65-70

Si esto se cumple, el siguiente paso sería modificar la extensión del fichero que no es leído por una soportada. Por ejemplo, si el fichero original es ‘nuevofichero.uk2‘ (no reconocido por gvSeismic), se debería cambiar la extensión a una soportada ‘nuevofichero.uk‘. Solucionado.

En un siguiente post complicaremos más la situación…¿y si queremos leer un nuevo formato que no está soportado por la extensión gvSeismic de gvSIG?

Posted in gvSIG Desktop, spanish | Tagged , , , | 3 Comments

gvSeismic: extensión en gvSIG para para representación de datos sísmicos

Dentro del camino emprendido hacia gvSIG 2.2, hoy liberamos una nueva extensión.

El objetivo del plugin gvSeismic es poder extraer la información sísmica de ficheros UKOOA-84 y P1-90 de forma automatizada, de forma que permita a los técnicos poder realizar una validación visual de los datos recogidos por los sensores. UKOOA-84 y P1-90 son formatos estándar para la representación de datos de sísmica.

Tal y como muestra la imagen, partiendo de un fichero de formatos de sísmica, el plugin gvSeismic extrae la información y la representa automáticamente en gvSIG.

01_gvSIG_Seismic

Los ficheros de sísmica suelen representarse en ficheros de texto plano, editados por los proveedores. Tienen dos partes principales:

  • Encabezado: Ubicado en la parte inicial del fichero, se trata de un espacio reservado para introducir la información que el proveedor de datos considere. A pesar de la variabilidad de información que puede llegar a contener, sí pueden resultar útiles para conocer información acerca de los datos que hay representados a continuación. Entre ellos se puede encontrar el nombre de proyecto, el sistema de coordenadas de los datos, la empresa que los realizó, etc.

  • Datos: Se representan en ficheros de texto plano tabulado a modo de tabla. Cada línea correspondería con una entrada de datos correspondiente a un sensor concreto. Entre los datos que se pueden encontrar está el número de línea, el número de estaca, las coordenadas en longitud-latitud o en este-norte, la elevación, etc.

Para instalar la extensióngvSeismic format support” (org.gvsig.seismic) utilizaremos el Administrador de Complementos, indicando instalación desde URL y en el desplegable el repositorio de testing (Testing gvSIG repository – http://downloads.gvsig.org/download/gvsig-desktop-testing/).

Una vez instalado, en la ventana de añadir capa encontraremos la posibilidad de añadir este tipo de formatos.

02_gvSIG_Seismic

Las principales ventajas de este complemento son:

  • Se trata de un plugin extensible y ampliable para permitir la lectura de otros ficheros de sísmica y extraer sus datos de forma automatizada

  • Integra los diferentes parseadores de texto en un interfaz único, que facilita el trabajo a los técnicos y que decide, de forma automatizada, el más adecuado en función del tipo de fichero.

  • El plugin es capaz de extraer los datos más relevantes de la cabecera (como el sistema de proyección) y aplicarlos en la capa donde se volcarán los resultados.

  • Permite al usuario ajustar los parámetros manualmente.

  • Los resultados son mostrados en una capa, pudiendo transformarse o almacenarse en cualquier otro sistema de los que nos proporciona gvSIG para el tratamiento de los datos (Shapefile, base de datos PostGIS, etc.).

En siguientes post explicaremos en detalle el funcionamiento de esta extensión.

Posted in gvSIG Desktop, spanish | Tagged , , , | 4 Comments

On the road to gvSIG 2.2

road Following the gvSIG 2.1 publication, we already start the way to gvSIG 2.2, and for that, we ask you for your collaboration, as much in testing as any knowledge that you could add; technical or financial support .

We were waiting for the gvSIG 2.1 publication to establish a regular publishing calendar, which we are already running. Our goal, emulating other projects as Ubuntu, is to publish two new versions a year, one referred to environment in May and another in December during the International gvSIG conferences.

Following this calendar, the development teams and the different gvSIG organizations using gvSIG, will be able to do a task planning, regarding to technical contributions submitting and the update of versions.

Then, gvSIG 2.2 should be available in May.

What we have in mind for this new version? For the developers community, there will not have big changes in the core, being a version allowing to continue debugging gvSIG bugs and adding new add-ons which are nearly ready.

In the following weeks, we will be posting possible add-ons for the next new gvSIG version, hoping that you help us with the testing (they can be used in gvSIG 2.1). So, watch out to the announces because all the news are really interesting.

Posted in english, gvSIG Desktop, technical collaborations, testing | Tagged , | 2 Comments

Extensión de publicación: subida del proyecto al servidor

La extensión de publicación permite la subida del proyecto generado en local a su destino final en el servidor.

Visualmente presenta un menú muy parecido al de la herramienta de publicación, salvo por el hecho de que todas las opciones que hacen referencia a la generación del proyecto han desaparecido, debido a que no se va a generar la definición de ningún servicio más, únicamente se procederá a subir uno ya existente. Por lo tanto, sólo quedará indicar la carpeta del proyecto local que se desea subir al servidor y los parámetros de conexión del destino.

Opciones avanzadas: Conexión al servidor por WebDAV

Este procedimiento de publicar el proyecto generado en el servidor se puede hacer de forma automática a la vez que se crea el proyecto, o puede subirse posteriormente con otra herramienta de la extensión.

Para que la publicación se realice de forma automática, será necesario indicar la dirección destino para establecer la conexión WebDAV. En caso de ser un directorio con autenticación, se deberá facilitar también el usuario y contraseña.

21_gvSIG_Publish

Con todos los datos facilitados, el botón ‘Conectar‘ realizará una comprobación de conexión, además de rellenar el menú de su izquierda con las subcarpetas que existen en la ruta especificada.

Opciones avanzadas: Rutas

Para un correcto funcionamiento de los servicios, es necesario que los accesos a los recursos estén debidamente definidos. Para ello, existen tres posibilidades de definir las rutas a ellos:

22_gvSIG_Publish

  • Rutas por defecto: esta opción no altera las rutas a los recursos, poniéndolas tal cual en los ficheros de definición de los distintos servicios.

  • Rutas absolutas: adecuada si existe una correspondencia entre la ubicación de los ficheros en ambas máquinas (por ejemplo, los shapes se encuentran dentro de una carpeta que se llama ‘datos‘ y tienen idéntica estructura de directorios en su interior), pero el acceso a dicha carpeta tiene rutas diferentes en cada máquina (por ejemplo, en local el directorio está en ‘/home/usuario/datos‘ y en el servidor está en ‘/mnt/datos‘).

    Esta opción sustituirá en la configuración, las rutas a los accesos de la máquina local, por los del servidor.

  • Rutas relativas: Tomando como origen el fichero de configuración del servicio (el mapfile en el caso de MapServer), se puede establecer una ruta a los recursos a partir de éste usando una variable ShapePath.

    Partiendo de dicho fichero, y añadiendo lo indicado en la variable ShapePath, se construirán el resto de rutas a los recursos.

Con este post terminamos la serie dedicada a la extensión de publicación (ver 1 y 2), primer complemento liberado en el camino a gvSIG 2.2.

Posted in gvSIG Desktop, spanish, testing | Tagged , , | 1 Comment

México será la sede de las 7as Jornadas gvSIG de Latinoamérica y Caribe

gvSIG_LAC_2015

Del 26 al 28 de agosto de 2015 se celebrarán las 7as Jornadas de gvSIG Latinoamérica y Caribe con sede en la Facultad de Geografía de la Universidad Autónoma del Estado de México, bajo el lema “Desarrollo en software libre como motor de cambio“.

Las Jornadas gvSIG de Latinoamérica y Caribe tienen como objetivo proporcionar un lugar de encuentro donde técnicos, investigadores, desarrolladores, expertos, y la comunidad latinoamericana en general, se reúna en un entorno con debates, ponencias y talleres alrededor de gvSIG y geomática libre. Con la organización de estas jornadas México recoge el testigo de países como Argentina, Brasil, Uruguay y Venezuela.

Ya está abierto el periodo para el envío de propuestas para comunicaciones. Las propuestas de comunicación pueden enviarse a la dirección de correo electrónico jornadas.latinoamericanas@gvsig.org, que serán valoradas por el Comité Científico de cara a su inclusión en el programa de las Jornadas. Toda la información relativa a la presentación de comunicaciones puede consultarse en el apartado comunicaciones. El periodo de recepción de resúmenes finalizará el próximo 22 de mayo.

Posted in community, events, press office, spanish | Tagged , , | 7 Comments

Extensión de publicación: edición manual de atributos específicos

Veamos más posibilidades de la extensión de publicación.

En ocasiones puede resultar interesante definir los parámetros con mayor precisión y ajustarse a las especificaciones propias que MapServer ofrece. Por ello, se han facilitado mecanismos para otorgar la posibilidad al usuario de completar dichas características a través de unos formularios.

Existen dos puntos de acceso a dicha funcionalidad. Uno en la ventana de Propiedades de la Vista, que definirá las características del servicio de Mapfile (correspondiente a la sección Map de Mapfile).

11_gvSIG_Publish…y el segundo con botón derecho>’Propiedades’ sobre la propia capa (para definir los atributos de MapFile de cada Layer).

12_gvSIG_PublishExisten mecanismos similares para definir los servicios de TinyOWS y de MapProxy.

En el siguiente post veremos como la extensión de publicación permite la subida del proyecto generado en local a su destino final en el servidor.

Posted in gvSIG Desktop, spanish | Tagged , | 3 Comments

Camino a gvSIG 2.2: Extensión de publicación

Esta extensión se va a convertir en una herramienta imprescindible para los usuarios que necesiten publicar sus mapas utilizando aplicaciones como MapServer, MapProxy y TinyOWS.

Su objetivo es permitir una automatización del proceso de publicación de servicios de mapas, intentando obtener unos resultados lo más fieles posibles al trabajo original que tengamos en nuestro gvSIG 2.1.

La extensión se puede encontrar con el nombre de ‘org.gvsig.publish‘, pudiéndose instalar a través del ‘Administrador de complementos’, seleccionando la instalación desde URL y en el desplegable el repositorio de testing (Testing gvSIG repository – http://downloads.gvsig.org/download/gvsig-desktop-testing/).

Una vez instalado tendremos acceso a la funcionalidad de publicación bien a través del menú Vista>Exportar>Exportar vista a mapfile, bien a través del botón correspondiente.

Veamos, a modo de guía rápida, el funcionamiento de esta aplicación:

Selección del directorio local de trabajo

Con el fin de poder operar más cómodamente, la extensión requiere que se defina una carpeta local en el equipo para poder almacenar y crear toda la estructura del proyecto.

Se puede tratar de un directorio nuevo (que creará si no existe), vacío o uno sobre el que ya se ha trabajado previamente (para poder unir varios trabajos en un único proyecto).

Opciones avanzadas: Selección de servicios

Si activamos la casilla de ‘Opciones avanzadas’ podremos acceder a los servicios disponibles a través de la pestaña ‘Servicio’. En ella se podrán marcar tantos como sean necesarios, realizándose la publicación de una sola vez.

Cada servicio generará una subcarpeta con su nombre en el directorio del proyecto, dentro de la cual se generarán los ficheros necesarios para el funcionamiento ese servicio concreto.

Además, en ese mismo formulario se nos ofrece la posibilidad de indicar el nombre con el que se mostrará el servicio a los clientes y la descripción del mismo.

01_gvSIG_Publish

Creación del proyecto

Si el directorio destino donde se va a almacenar el proyecto en el equipo local no está vacío, la aplicación preguntará la opción a escoger, a elegir entre sobreescribir, añadir o cancelar.

  • Sobreescribir: creará todos los ficheros necesarios para el proyecto, pudiendo cambiar el contenido de los ficheros anteriores si así fuera requerido.

  • Añadir: si se quiere añadir más información a un proyecto ya existente, sin perder la información previa.

Esto para empezar, en siguientes post veremos las posibilidades que nos da este plugin para edición manual de atributos específicos y subida del proyecto al servidor. Por no hablar de las posibilidades de su combinación con otro plugin que esperamos liberar pronto que permite generar leyendas y etiquetado por escalas…

Posted in gvSIG Desktop, spanish, testing | Tagged , , , , | 11 Comments

Añadir una página de propiedades al diálogo de propiedades de la Vista en gvSIG 2.1

Hola a todos…
Aquí estoy de nuevo para contaros alguna cosilla mas.

Un compañero me ha preguntado cómo podía hacer para añadir una pestaña a la ventana de propiedades de la Vista. Pues bien, es bastante sencillo. En gvSIG Desktop hay un mecanismo que nos permite añadir fácilmente pestañas al cuadro de diálogo de propiedades de la vista, tabla, capa o el proyecto. Para todos estos cuadros de diálogo se usa el mismo mecanismo.

Tenemos que implementar dos interfaces, por ejemplo:

  • MyViewPropertiesPage, que sería nuestra página a añadir a las
    propiedades de la Vista.
  • MyViewPropertiesPageFactory, que sería la factoría que construye nuestras páginas de propiedades.

Y registrar nuestra factoría en el PropertiesPageManager .

Vamos a ver como quedarían estas clases:

public static class MyViewPropertiesPage implements PropertiesPage {
    
    private JPanel panel = null;
    private ViewDocument viewDocument = null;

    public MyViewPropertiesPage(ViewDocument viewDocument) {
      this.viewDocument = viewDocument;
      this.panel = createPanel();
    }
    
    public String getTitle() {
      // label of the tab.
      I18nManager i18nManager = ToolsLocator.getI18nManager();
      return i18nManager.getTranslation("My properties");
    }

    public int getPriority() {
      // Position of tab, when less the tab is rightmost
      return 10;
    }

    public boolean whenAccept() {
      // Get values from panel and apply to the viewDocument
      return true;
    }

    public boolean whenApply() {
      // Get values from panel and apply to the viewDocument
      return true;
    }

    public boolean whenCancel() {
      return true;
    }

    public JComponent asJComponent() {
      return this.panel;
    }

    private JPanel createPanel() {
      JPanel p = new JPanel();
      // Add the conponents to the panel
      p.setLayout(new BorderLayout());
      p.add(new JLabel("Demmo"),BorderLayout.CENTER);
      return p;
    }
    
}

Con esto definiríamos nuestra página de propiedades, y ahora veamos como podría ser la factoría:

public class MyViewPropertiesPageFactory implements PropertiesPageFactory {

    public String getGroupID() {
      return ViewDocument.VIEW_PROPERTIES_PAGE_GROUP;
    }

    public boolean isVisible(Object obj) {
      return true;
    }

    public PropertiesPage create(Object obj) {
      return new MyViewPropertiesPage((ViewDocument) obj);
    }

}

En la factoría, hay que tener especial interés en:

  • El valor de retorno de getGroupID debe corresponderse con el diálogo al que queremos añadir nuestra pagina de propiedades.  Si retorna ViewDocument.VIEW_PROPERTIES_PAGE_GROUP, se añadirá al diálogo de propiedades de la Vista, pero si, por ejemplo,  quisiésemos añadir nuestra página al diálogo de propiedades del proyecto retornaríamos Project.PROJECT_PROPERTIES_PAGE_GROUP.
  • El método isVisible recibe, en nuestro caso, la Vista que está asociada al diálogo de propiedades, y devolbera true si  se debe mostrar esta página para ese documento Vista. Si estuviésemos añadiendo la página a las propiedades del proyecto recibiríamos un objeto de tipo Project.
  • El método create, recibirá el objeto ViewDocument asociado al diálogo.Si ya tenemos estas dos clases listas, solo nos faltara registrar nuestra factoría:
PropertiesPageManager manager = MapControlLocator.getPropertiesPageManager();
manager.registerFactory(new MyViewPropertiesPageFactory());

El resultado de este código seria algo como:

general myproperties

Un saludo a todos!

Posted in development, gvSIG Association, gvSIG Desktop, gvSIG development, spanish | 1 Comment

Camino a gvSIG 2.2

roadTras la publicación de gvSIG 2.1, comenzamos el camino hacia gvSIG 2.2, para lo que os pedimos vuestra máxima colaboración, tanto en testeo como en cualquier aporte que podáis realizar, ya sea técnico o económico.

Estábamos esperando la publicación de gvSIG 2.1 para establecer un calendario de publicación de gvSIG regular, que ya ponemos en marcha. Nuestra intención, emulando a proyectos como Ubuntu, es publicar dos versiones al año, una entorno al mes de mayo y otra en diciembre, coincidiendo con la realización de las Jornadas Internacionales de gvSIG.

De este modo tanto los equipos de desarrollo como las distintas organizaciones que utilizan gvSIG, podrán planificar sus tareas tanto de envío de contribuciones técnicas como de actualización de versiones.

Por tanto, gvSIG 2.2 debería estar disponible en mayo.

¿Qué tenemos planificado para este versión? A nivel de la comunidad de desarrolladores no habrá grandes cambios en el core, siendo una versión que permita continuar depurando de bugs gvSIG y añada las nuevas extensiones que estamos terminando de desarrollar.

En las próximas semanas iremos liberando extensiones candidatas a formar parte de la próxima versión de gvSIG para que nos ayudéis a testearlas (y podáis ir utilizando sobre gvSIG 2.1). Atentos a los anuncios que hagamos, que vienen novedades muy interesantes.

Posted in gvSIG Desktop, spanish, technical collaborations, testing | Tagged , | 5 Comments