Cursos sobre gvSIG aplicado a la Gestión de Saneamiento y Drenaje Urbano

Durante el primer semestre de 2013 se van a realizar los cursos “gvSIG aplicado a la Gestión de Saneamiento y Drenaje Urbano (Básico)” y “gvSIG + EPA-SWWM aplicado a la gestión de Saneamiento y Drenaje Urbano” a través de la plataforma gvSIG-training.

Jordi Yétor y Xavier Torret, de la empresa www.tecnicsassociats.com, especialistas en ingeniería y geoinformación, serán los conductores de ambos cursos. Después de las presentaciones realizadas en las 3as jornadas de Latino América y el Caribe de gvSIG y en las 7ás internacionales de gvSIG, así como de los talleres realizados en las 4ás jornadas LAC y las 8ás jornadas internacionales, finalmente se han publicado estos cursos.

El objetivo de pasar del conocimiento adquirido al conocimiento compartido en el ámbito de la gestión de redes de saneamiento y drenaje urbano. La formación, mediante una herramienta al alcance de todos, permitirá mejorar las competencias de cualquier ingeniero hidráulico e hidrólogo urbano que se lo proponga.

Los dos cursos están diseñados para que se puedan desarrollar de forma consecutiva. Toda la formación se va a basar en comprender y actuar a partir de la construcción topológica de nuestra red en formato arco-nodo, lo que nos dará una serie facilidades, entre ellas la comunicación con el modelo matemático o la posibilidad de usar la extensión redes desarrollada en gvSIG para el análisis cualquier tipo de red con esta topología.

En este sentido, el curso de gvSIG aplicado a la gestión de Saneamiento y Drenaje Urbano (Básico) consiste en que los alumnos puedan obtener un primer contacto de todo el potencial que ofrece la plataforma de gvSIG para la gestión de redes de saneamiento y drenaje urbano. Si el alumno supera el curso con aprovechamiento, obtendrá competencias básicas en:

  • Diseño y manejo de un potente modelo de datos completo y escalable en saneamiento.
  • Construir una red GIS de saneamiento.
  • Gestionar de forma básica una red GIS de saneamiento.
  • Obtener una visión general de un sistema integrado de gestión de saneamiento.

Por otro lado el curso que se desarrolla a continuación del anterior, gvSIG + EPA SWMM aplicado a la gestión de Saneamiento y Drenaje urbano está pensado para aquellos que quieren profundizar en el análisis de una red mediante la combinación con el código matemático de cálculo EPA SWMM.

El curso está dirigido a todos aquellos ingenieros hidrólogos que deseen mejorar su experiencia de trabajo con la incorporación de gvSIG de forma combinada con EPA SWMM. El objetivo del curso es que los alumnos puedan acceder a todo el potencial que ofrece la plataforma de gvSIG como asistente en el diseño de una red de saneamiento y drenaje urbano en combinación con EPA SWMM 5.0e. A la finalización del curso el alumno que lo haya superado con aprovechamiento obtendrá competencias en:

  • Diseño y manejo de un modelo de datos completo y escalable.
  • Mejora de sus competencias básicas en hidráulica e hidrología urbana, mediante la profundización de las posibilidades que ofrece el potente código EPA SWMM 5.0e
  • Descubrimiento de todo el potencial de análisis en el campo de la hidrología urbana.
  • Manejo de la herramienta de comunicación INPcom.

Más información:

Posted in gvSIG Desktop, spanish, training | Leave a comment

gvSIG course in English on the gvSIG-Training platform available

The gvSIG-Training e-Learning platform opens its registration period for the second edition of the gvSIG Basic Course in English.

This course lasts seven weeks and it is included in the Certification Program of the gvSIG Association [1].

Details of the course:

  • Subscription until the 1st of April 2013
  • Beginning of the course: 8th of April 2013
  • End of the Course: 31st of May 2013

For more information, you can visit the gvsig-training website [2], or write an e-mail to registration@gvsig-training.com.

[1] http://www.gvsig.com/services/certification
[2] http://www.gvsig-training.com

Posted in english, gvSIG Desktop, training | Leave a comment

Aaron Swartz y el derecho a acceder al conocimiento

El pasado 11 de enero Aaron Swartz decidió quitarse la vida. A sus 26 años era ya un referente en la lucha por el derecho a la información libre y gratuita, contra los intentos por privatizar el acceso a la misma, principalmente en todo aquello que atañe al conocimiento académico y científico.

Muchas veces recibo alertas que tengo configuradas en los buscadores de internet de artículos sobre gvSIG que se publican en la red. Muchas de las veces se trata de artículos publicados en determinadas revistas científicas que cobran cantidades desorbitadas por poder acceder a su lectura. Artículos sobre tecnología libre, sobre conocimiento compartido, que requieren de una cantidad que pocos pueden pagar para simplemente permitir su lectura. Artículos que, por supuesto, no se pueden redistribuir y supongo que ni dejar leer al compañero que tengamos al lado.

En la web dedicada a su recuerdo, la familia de Aaron Swartz declara que usó su talento, su conocimiento, no para lucrarse, sino para hacer del mundo un lugar más justo y mejor. Desde su muerte miles de artículos académicos y científicos se están liberando en formato PDF. Una reacción de parte de la comunidad científica que espero que se mantenga y amplifique en el tiempo. Me gustaría que no tuviera que encontrarme con artículos de gvSIG o geomática libre que no puedo leer, que el conocimiento que se genera usando software libre siguiera siendo libre; que no se privatizara la información científica; que el acceso al conocimiento no dependa de nuestro nivel económico, de quién somos ni dónde vivimos.

El 19 de julio de 2011, como consecuencia de las descargas de documentos académicos, reseñas y publicaciones protegidas por copyright realizadas en el mes septiembre del 2010, Swartz fue acusado de haber utilizado un script para descargar 4,8 millones de artículos y documentos, y de acuerdo a la denuncia, para compartirlos en otros sitios de descargas, aunque no existe evidencia de esto. En el momento de su muerte, Swartz, si era condenado, se enfrentaba a un máximo de 4 millones de dólares en multas y a más de 50 años de prisión.

Las ideas de Aaron Swartz están recogidas en “El manifiesto por la Guerrilla del Open Access”, que difundimos en las siguientes líneas :

La información es poder. Pero, como todo poder, están aquellos que quieren mantenerlo para ellos solos. El patrimonio científico y cultural del mundo, publicado a lo largo de los siglos en libros y revistas, está cada vez más digitalizado y encerrado por un puñado de corporaciones privadas. ¿Quieres leer los documentos que presentan los resultados más importantes del mundo científico? Necesitarás enviar enormes cantidades de dinero para editoriales como Reed Elsevier.

Están aquellos que luchan para cambiar esta situación. El Movimiento Open Acces ha luchado con valentía para garantizar que los científicos no pierdan sus derechos de autor, sino que, en vez de eso, que su trabajo sea publicado en internet bajo términos que permiten el libre acceso a cualquiera. Pero, incluso en los mejores escenarios, no habrá efecto retroactivo y solamente se aplicaría a los documentos publicados en el futuro. Todo lo publicado hasta ahora continuaría sin ser accesible.

Supone un precio muy alto. ¿Obligar a los investigadores a pagar para leer el trabajo de sus colegas? ¿Digitalizar bibliotecas enteras pero permitiendo solo al personal de Google que pueda leerlas? ¿Ofrecer artículos científicos para los que están en universidades de élite del Primer Mundo, pero no para los niños del Tercer Mundo? Algo así es escandaloso e inaceptable.

Hay algo que podemos hacer, algo que ya se está haciendo: contraatacar.

Aquellos con acceso a esos recursos –estudiantes, bibliotecarios, científicos– a todos vosotros os fue otorgado un privilegio. Mientras el resto del mundo está bloqueado, vosotros os dais un banquete de sabiduría y conocimiento. Pero vosotros no necesitáis –en verdad, moralmente, no debéis– mantener este privilegio exclusivamente para vosotros. Tenéis el deber de compartir eso con el mundo. Y vosotros tenéis las contraseñas, tenéis que intercambiar las contraseñas, y llevar a cabo los pedidos de descarga de vuestros amigos y colegas.

Mientras tanto, aquellos que fueron bloqueados no están de brazos cruzados. Apareces a través de agujeros de seguridad y te saltas las vallas, liberando así la información encerrada por las editoriales y compartiéndola con tus amigos.

Pero toda esta actividad transcurre en la oscuridad, en un escondido subsuelo. Se le llama robo o piratería, como si compartir una riqueza de conocimientos fuese el equivalente moral a abordar un navío y asesinar a su tripulación. Pero compartir no es inmoral es un imperativo moral. Solamente aquellos ciegos por la codicia negarán a un amigo hacer una copia.
Las grandes corporaciones, evidentemente, están ciegas por la codicia. Las leyes bajo las que ellas operan exigen exactamente eso, sus accionistas se rebelarían por ganar menos. Y los políticos sobornados aprueban leyes dándoles el poder exclusivo para decidir quién puede hacer copias.

No hay nada justo al seguir leyes injustas. Es hora de salir a la luz y, en la gran tradición de la desobediencia civil, declarar nuestra oposición a este robo privado de la cultura pública.

Tenemos que tomar la información, esté donde esté almacenada, hacer nuestras copias y compartirla con el mundo. Tenemos que tomar material que está protegido por derechos de autor y añadirlo al archivo para que pueda ser descargado

Tenemos que comprar bancos de datos secretos y colocarlos en la Web. Tenemos que descargar revistas científicas y subirlas a las redes de intercambio de archivos. Tenemos que luchar por la Guerrilla del Open Access.

Si somos los suficientes, alrededor del mundo, no solo vamos a mandar un fuerte mensaje de oposición a la privatización del conocimiento, vamos a convertirlo en algo del pasado. ¿Quieres unirte a nosotros?

Aaron Swartz
Julio 2008, Eremo, Italia.

Posted in opinion, spanish | 2 Comments

Nuevos cursos de gvSIG disponibles en la plataforma gvSIG-Training

La Plataforma de Capacitación a Distancia gvSIG-Training anuncia que el proceso de inscripciones del primer corte del 2013 para los siguientes cursos, que forman parte de la oferta del Programa de Certificación de la Asociación gvSIG, da inicio según se detalla a continuación:

* En la modalidad de Matrícula Restringida:

  • gvSIG para usuarios (Idioma: Español) 5ta. Edición. Duración: 10 semanas. Inicio: 18/03/2013. Créditos para Certificación Usuario gvSIG: 90. Costo: 295 euros.
  • gvSIG 3D y animación (Idioma: Español) 3era. Edición.  Duración: 2 semanas. Inicio: 11/03/2013. Créditos para Certificación Experto gvSIG: 30. Costo: 90 euros.
  • Base de Datos Espacial PostgreSQL – PostGIS Avanzado (Idioma: Español) 2da. Edición. Duración: 9 semanas. Inicio: 04/03/2013. Créditos para Certificación IDE: 70. Costo: 450 euros.
  • gvSIG aplicado a la Gestión de Pavimentos y Vialidad (Idioma: Español) 1era. Edición. Duración: 4 semanas. Inicio: 04/03/2013. Créditos para Certificación Experto gvSIG: 40. Costo: 450 euros.
  • gvSIG aplicado a la Gestión de Saneamiento y Drenaje Urbano (Idioma: Español) 1era. Edición. Duración: 2 semanas. Inicio: 04/03/2012. Créditos para Certificación Experto gvSIG. Costo: 95 euros.
  • gvSIG aplicado a la Gestión Municipal (Idioma: Español) 1era Edición. Duración: 3 semanas. Inicio: 04/03/2013. Créditos para Certificación Experto gvSIG: 30. Costo: 295 euros.
  • gvSIG + EPA-SWWM aplicado a la gestión de Saneamiento y Drenaje Urbano (Idioma: Español) 1era. Edición. Duración: 4 semanas. Inicio: 25/03/2012. Costo:  345 euros.
  • Geoprocesamiento Avanzado: Sextante sobre gvSIG (Idioma: Español) 4ta Edición. Duración: 10 semanas. Inicio: 04/03/2012. Créditos para Certificación Experto gvSIG: 75. Costo: 380 euros.

* En la modalidad de Matrícula Abierta:

  • Bases de Datos Geoespaciales: PostgreSQL – PostGIS (Idioma: Español). Duración: 6 semanas. Créditos para Certificación IDE: 60. Costo: 295 euros.
  • Análisis de Redes con gvSIG Desktop (Idioma: Español). Duración: 2 semanas. Créditos para Certificación Experto gvSIG: 20. Costo: 90 euros.
  • Navtable y Normalización de Tablas (Idioma: Español). Duración: 1 semana. Créditos para Certificación Experto gvSIG: 10. Costo: 60 euros.
  • Publicación de Servicios OGC (Idioma: Español). Duración: 1 semana. Créditos para Certificación Experto gvSIG: 20. Costo: 90 euros.
  • Prueba de Suficiencia gvSIG para Usuarios (Idioma: Español). Disponible a partir del 04/03/2013. Créditos para Certificación Usuario gvSIG: 90. Costo: 100 euros.

Las inscripciones estarán abiertas para todos los cursos a partir del 15 de enero de 2013.

Todos los cursos pueden ser bonificables al 100% para trabajadores en activo en España a través de la Fundación Tripartita para la Formación en el Empleo [1]. (Más información en contacto@gvsig-training.com)

A partir de abril se realizará también la segunda edición del curso básico de usuarios en inglés. Más adelante se dará más información sobre este curso.

Al participar en cualquiera de estos cursos obtienes créditos del programa de certificación gvSIG que te permite optar a la certificación “gvSIG Usuario” y “gvSIG Usuario Experto” [2]; al mismo tiempo que contribuyes al sostenimiento del proyecto gvSIG.

Para mayor información visita nuestra plataforma www.gvsig-training.com o escríbenos a la siguientes direcciones de correo electrónico: inscripciones@gvsig-training.com; info@gvsig-training.com

[1] http://downloads.gvsig.org/download/documents/learning/gvsig-courses/gvsig-training/Condiciones_Fundacion_Tripartita_ESP.pdf

[2] http://www.gvsig.com/servicios/certificacion/certificacion

Posted in gvSIG Desktop, spanish, training | Leave a comment

Mapas temáticos para gvSIG Educa

Alguno de vosotros ya habréis oído hablar de gvSIG Educa, el último producto del proyecto gvSIG. gvSIG Educa nace con el objetivo de aglutinar una serie de herramientas, con base en gvSIG Desktop, que faciliten en el ámbito de la educación, la adopción de conocimientos relacionados con el territorio: geografía, historia, ciencias naturales,…

gvSIG_Educa_World_Countries Actualmente hay dos formas de acceder a los desarrollos realizados en torno a gvSIG Educa. Por un lado, para los usuarios de los llamados OLPC (One Laptop per Child), el Gobierno de Uruguay impulsó dentro del Plan Ceibal el desarrollo de dos distribuciones de gvSIG Educa (para primaria y secundaria) bajo el nombre de gvSIG Batoví.

 

Los usuarios de un gvSIG Desktop al uso, con Linux o Windows, pueden acceder a las nuevas herramientas de generar y consultar “Mapas Temáticos” a partir de documentos “Vistas”, instalando los dos paquetes/plugins correspondientes para la versión 2.0 de gvSIG Desktop.

Una vez puesto en marcha el proyecto nos pareció que un complemento interesante sería que los usuarios – alumnos, profesores y, por qué no, cualquiera con ganas de generar mapas interesantes – pudieran compartir sus creaciones con cierta facilidad. Y que, aquellos que necesiten mapas, pudieran consultar por temáticas el catálogo de mapas disponible.

Con esto en mente hemos creado un nuevo espacio en el Outreach de gvSIG denominado simplemente “Maps”. En él podemos consultar los mapas disponibles, buscar, y descargarnos el paquete con el mapa que queramos cargar directamente en nuestro gvSIG mediante el “Administrador de complementos”.

gvSIG_Educa_Maps

De partida hemos creado unos pocos ejemplos para que se vean las posibilidades educativas de este catálogo fundamentado en “crear y compartir”: el típico mapa de países del mundo, un mapa físico de elevaciones y un mapa sobre Unasur.

Por cierto, todo el que quiera contribuir y mandarnos su mapa temático puedo encontrar la plantilla para hacerlo en: http://outreach.gvsig.org/contribute

Maps: http://outreach.gvsig.org/maps/

Posted in opinion | Leave a comment

Code Sprint en las 8as jornadas gvSIG

El pasado 27 de noviembre, como actividad previa a las 8as jornadas gvSIG tuvo lugar el sexto Code Sprint del proyecto gvSIG. Un Code Sprint, como ya comentaba en el post previo es una actividad orientada a desarrolladores en la que se reúnen durante un corto período de tiempo, en nuestro caso una jornada. Este año hemos vuelto a contar con el apoyo del instituto ai2 para disponer de un espacio amplio y cómodo en el que trabajar en la Ciudad Politécnica de la Innovación en la UPV.

En total nos reunimos 13 técnicos, uno de ellos de forma virtual a través del canal IRC #gvsig del proyecto en irc.freenode.net. En el wiki del proyecto hay una página con algunas notas sobre en qué se estuvo trabajando. En concreto se trabajó en:

  • el soporte de scripting de gvSIG 2.0
  • una versión «portable» de gvSIG 1.12
  • interfaz para un nuevo plugin de OSM para gvSIG 2.0
  • soporte de gráficas en gvSIG 2.0
  • corrección de bugs en las herramientas de ayuda a desarrolladores para gvSIG 2.0
  • añadir la proyección usada por OSM (EPSG:900913)
  • actualización del soporte de maven en gvSIG 1.12

Code Sprint gvSIG

En mi caso estuve trabajando con Víctor Acevedo en revisar la librería de scripting en Python que está desarrollando para recubrir la API de acceso a datos y de gestión de vistas en gvSIG 2.0 para que usuarios del mundo geo tengan un conjunto de funciones más sencillas de manejar. Además saqué un rato para comprobar que el paquete Debian para OSGeo Live todavía necesita algo de trabajo para funcionar correctamente, cosa que espero resolver en breve.

Bueno, eso es todo, como siempre es un placer hacer un pequeño alto en el día a día de proyectos y tareas para trabajar con otros técnicos en temas diferentes, espero que sigamos repitiendo el Code Sprint en las jornadas y cualquier otra oportunidad que se nos presente.

Posted in events, opinion, spanish, technical collaborations | Tagged , | Leave a comment

Scripting: Generar una poligonal a partir de un rumbo

Hace unas semanas un amigo del proyecto, Gustavo Agüero , publicó un post
en su blog en el que explicaba cómo generar una poligonal en gvSIG a partir
de un rumbo o derrotero. Me pareció un ejercicio muy interesante y con su
colaboración implementamos un script que realizase los mismos pasos en gvSIG
2.0. El resultado es el que explicamos en esta entrada.

Quiero aclarar que todo el mérito de este ejerccio es de Gustavo y los errores
que hay son míos por no seguir correctamente sus indicaciones y por mi
ignorancia. Todo lo que veáis comentadlo y lo corregiré 😉

Partimos de un rumbo que presenta los dotos con la estructura LINEA, AZIMUT,
DISTANCIA, siendo AZIMUT el ángulo de una dirección contado en el sentido de
las agujas del reloj a partir del norte geográfico (descargar el rumbo.jpg).

Lo primero que debemos hacer es pasar este archivo a un formato que luego
seamos capaces de leer desde un script, este archivo que hemos creado es un
archivo csv al que hemos llamado rumbo.csv (descargar el rumbo.csv).

Una vez que tenemos nuestro archivo pensemos qué necesitamos para obtener
su contenido en un shape file. Obviamente necesitaremos un shape file para
guardar el resultado por lo que también necesitamos crear las entidades que
representen nuestros datos para
incluirlas el el shape. Para crear estas entidades necesitaremos transformar
las coordenadas polares (Azimut, distancia) en rectangulares (X,Y).

Un par de comentarios más, Gustavo en su post recomienda hacer una
representación de los datos. A mí me resultó de mucha ayuda.

En el script vamos a crear un shape de tipo LINEAS y otro de tipo
POLIGONOS. En el de tipo LINEAS, guardaremos los datos del rumbo, los datos
de la transformació de las coordenadas, y las coordenadas resultantes. En
el de POLIGONOS guardaremos un identificador de la entidad y un campo de
tipo texto.

Partimos de un gvSIG desktop 2.0 (en mi caso el build que he usado es
el 2060 RC1) con la última versión de la extensión de scripting instalada
(actualmente es la 36).

Una vez que tenemos abierto el editor de scripts (barra de menús
Herramientas/Scripting/Scripting Composer) creamos un script nuevo y empezamos
a escribir nuestro script.

Lo primero que vamos a hacer es crear las capas de salida usando la función
createShape del módulo gvsig. La sintaxis de esta función nos dice que
necesita una definición de datos para las entidades, una ruta que es el lugar
dónde debe almacenarse el shape file que creemos, la proyección del shape file,
y el tipo de geometría que va a contener. La definición de los datos la
creamos usando la función createSchema del mismo módulo gvsig .

El código con comentarios sería:

import gvsig
import geom

def main():

'''
Crea una capa de poligonos con el siguiente modelo de datos:
    - 'ID', Integer
    - 'OBSERVACIONES', string
    - 'GEOMETRY', Geometry

Crea una capa de lineas con el siguiente modelo de datos:
    - "ID", Integer
    - "LINEA", string
    - "GRADOS", long
    - "MINUTOS",long
    - "DISTANCIA", double
    - "RADIAN", double
    - "X", double
    - "Y", double
    - "GEOMETRY", Geometry            
'''

#Establecemos la proyeccion, es la misma para las 2 capas
CRS="EPSG:32617"

#Crea el objeto que representa el modelo de datos del shape de poligonos
schema_poligonos = gvsig.createSchema() 

#Inserta los campos del modelo de datos
schema_poligonos.append('ID','INTEGER', size=7, default=0) 
schema_poligonos.append('OBSERVACIONES','STRING', size=200, default='Sin modificar') 
schema_poligonos.append('GEOMETRY', 'GEOMETRY')

#Establecemos la ruta. Recuerda cambiarla!!
ruta='/tmp/rumbo-poligonos.shp'

#Creamos el shape
shape_poligonos = gvsig.createShape(
        schema_poligonos, 
        ruta,
        CRS=CRS,
        geometryType=geom.SURFACE
    )

#Creamos la capa de lineas

#Crea el objeto que representa el modelo de datos del shape de lineas
schema_lineas = gvsig.createSchema() 

#Inserta los campos del modelo de datos
schema_lineas.append('ID','INTEGER', size=7, default=0) 
schema_lineas.append('LINEA','STRING',size=50,default='')
schema_lineas.append('GRADOS','LONG', size=7, default=0) 
schema_lineas.append('MINUTOS','LONG', size=7, default=0)
schema_lineas.append('SEGUNDOS','LONG', size=7, default=0) 
schema_lineas.append('DISTANCIA','DOUBLE', size=20, default=0.0, precision=6) 
schema_lineas.append('RADIAN','DOUBLE', size=20, default=0.0, precision=6) 
schema_lineas.append('X','DOUBLE', size=20, default=0.0, precision=6) 
schema_lineas.append('Y','DOUBLE', size=20, default=0.0, precision=6) 
schema_lineas.append('GEOMETRY', 'GEOMETRY')

#Establecemos la ruta. Recuerda cambiarla!!
ruta='/tmp/rumbo-lineas.shp'

#Creamos el shape
shape_line = gvsig.createShape(
    schema_lineas, 
    ruta,
    CRS=CRS,
    geometryType=geom.MULTILINE
)

Bien, ya tenemos nuestras capas de salida, veamos cómo obtener los datos del
archivo csv que hemos creado. Python tiene un módulo que nos permite
manejar archivos csv de forma muy cómoda ( python csv ). El código para
leer el archivo csv sería:

import csv
import os.path

#Ruta donde esta el archivo csv. Recuerda cambiarlo!!
csv_file = '/tmp/rumbo.csv'

#Comprueba que el archivo exista en la ruta
if not os.path.exists(csv_file):
  print "Error, el archivo no existe"
  return

#Abrimos el archivo en modo lectura
input = open(csv_file,'r')

#Creamos un objeto reader del modulo csv
reader = csv.reader(input)

#Leemos el archivo
for row in reader:
    #imprimimos la linea
    print ', '.join(row)

Ya sabemos crear shapes y leer archivos csv , el siguiente paso sería crear
las entidades, para ello debemos transformar las coordenadas polares a
rectangulares y es en este punto donde para mí las cosas se vuelven un tanto
oscuras por lo que perdonad los errores, que los habrá, que podáis encontrar.
Para realizar la transformación convertiremos el ángulo decimal a un ángulo en
radian. Gustavo en su post cómo generar una poligonal entre los archivos
para descargar nos facilita un pdf con una explicación de los cálculos que ha
realizado, si alguno tiene dudas recomiendo que lo lea, aclarar únicamente que
usaremos el módulo de python math para usar las funciones del seno y del
coseno, necesarias para realizar la transformación. Además, nuestro
rumbo sabemos que utiliza coordenadas relativas, por lo que vamos a necesitar
un punto de partida y el código para calcular las nuevas coordenadas a partir
de las anteriores. Nuestro punto de partida es (361820.959424, 1107908.627000).
El codigo podría ser:

"""
Convert decimal degrees, minutes, seconds to radian
"""
import math
#Definimos el valor de la constante 'pi' que vamos a usar
PI = 3.1415926

x_ant = 361820.959424
y_ant = 1107908.627000

#Aplicamos la formula y obtenemos el angulo en radianes
angulo = (degrees+(minutes/60.0)+(seconds/3600.0))*PI/180.0

#Convertimos las coordenadas polares en rectangulares

x_new = radio * math.sin(angulo)
y_new = radio * math.cos(angulo)

#Al ser coordenadas relativas sumanos los valores de las coordenadas anteriores
x = x_new + x_ant
y = y_new + y_ant

La última pieza de nuestro puzzle es cómo creamos las entidades y sus
geometrías. Las capas que hemos creado anteriormente shape_line y
shape_poligonos tienen un método llamado append que nos permite añadir los
fenómenos o entidades a la capa. Este método acepta un diccionario,
python dict que usa como claves los campos que hemos definido en la
estructura de datos de la capa cuando la hemos creado, y los valores son los
que debe tener la entidad. Las geometrías las crearemos usando el módulo geom
de la extensión de scripting, en concreto la función createGeometry, que
necesita el tipo de geometría a crear y las dimensiones de la geometría. El
código que podíamos usar es:

geometry_multiline = geom.createGeometry(MULTILINE, D2)

values = dict()
values["ID"] = id #campo calculado equivale a numero de registro
values["LINEA"] = linea_id #primer dato de nuestro rumbo
values["GRADOS"] = grados #grados decimales de nuestro rumbo
values["MINUTOS"] = minutos #minutos decimales de nuestro rumbo
values["SEGUNDOS"] = segundos #segundos decimales de nuestro rumbo
values["DISTANCIA"] = radio #Distancia de nustro rumbo
values["RADIAN"] = angulo #radian calculado
values["X"] = x #Coordenada x calculada
values["Y"] = y #Coordenada y calculada

shape_line.append(values)

Llegados a este punto hemos visto todo lo necesario para obtener lo que
queremos a partir de nuestro rumbo, solo nos falta montar el puzzle y el
resultado sería este.

El resultado final es este

Polígono

Polígono generado a partir del rumbo

El código final lo podéis descargar desde aquí .

Espero que lo disfrutéis tanto como yo haciéndolo.

¡¡Hasta la próxima!!

Posted in gvSIG Desktop, scripting, spanish | 1 Comment

8as Jornadas gvSIG, una valoración

Si me pidieran una valoración de las últimas Jornadas Internacionales de gvSIG diría, simplemente, que han sido la que más satisfecho me han dejado. Satisfacción que se produce por diversas razones.

Por un lado, desde su nacimiento el modelo de la Asociación gvSIG ha ido madurando, en paralelo a la comunidad gvSIG, y para cualquier asistente a las jornadas queda claro que este no es un proyecto más de desarrollo de software, que se sustenta sobre unos valores y una forma de entender la libertad y la solidaridad que aplica no sólo a aspectos tecnológicos, sino también y de forma ineludible a los organizativos y económicos. Este modo de entender gvSIG se ve en cada rincón de las jornadas, en las ponencias, en las conversaciones, en el modo en que se relacionan los distintos miembros de la comunidad. En definitiva, gvSIG ha conseguido ser un colectivo y no una suma de individualidades.

20121201_0046

Por otro lado, en un año en que la situación en España y en gran parte de Europa ha provocado que la mayor parte de eventos Geo celebrados en 2012 hayan sufrido un descenso alarmante de visitantes, la asistencia a nuestras jornadas ha sido más que significativa. Los números, con talleres que aglutinaban a un centenar de “alumnos”, los más de cuatrocientos inscritos y la afluencia de público que se aprecia en las fotografías desde primera hora de la mañana, nos permiten afirmar que han sido un éxito.

20121201_0020

La calidad de los talleres y ponencias fue alta, con el aliciente añadido de la variedad temática y geográfica de las presentaciones: gestión de aguas, sector energético, arqueológica, astrofísica, catastro, geoestadística,…desde España, Venezuela, Estados Unidos, Colombia, Brasil, Uruguay, Italia…

Variedad y calidad como marco de unas jornadas donde lo importante es compartir y seguir reforzando las bases de una comunidad y un modelo que avanza día a día. Generando futuro, con la solidaridad como brújula sobre la que se orienten la tecnología y el negocio.

20121201_0057

Los que no pudieron asistir tendrán la ocasión de acceder a los vídeos de las distintas sesiones y talleres -la mayor parte grabados tanto en español como inglés-.

 

Finalizaron las 8as Jornadas Internacionales de gvSIG y ya andamos hablando de la organización de las 9as.

 

Posted in community, events, gvSIG Association, opinion, spanish | 6 Comments

8as jornadas gvSIG: Code Sprint

La semana que viene, como previa a las jornadas y por tercer año consecutivo tendremos una jornada de Code Sprint. Un Code Sprint es una actividad principalmente orientada a desarrolladores en la que se establecen algunos objetivos a realizar en un día (o varios), aprovechando que un grupo de desarrolladores coinciden en un mismo lugar.

En pasadas ediciones, los Code Sprint de gvSIG han servido para resolver bugs, planificar mejoras, ayudar a desarrolladores que tenían algún problema en sus proyectos, comentar dudas sobre procedimientos de colaboración, etc.

gvSIG Code Sprint

El CodeSprint de este año se ha documentado en la infraestructura de colaboración del proyecto y además de la información genérica para conseguir (esperemos) que todo el mundo esté a la misma hora en el lugar previsto, ha servido para ir apuntando ideas o tareas que trabajar en la jornada.

Algunos datos:

  • Si vas a venir, apúntate en el wiki
  • Fecha y hora: martes, 27 de noviembre de 10 de la mañana a 7 de la tarde más o menos
  • Lugar: Universidad Politécnica de Valencia, Campus de Vera, Ciudad Politécnica de la Innovación, edificio 8G, acceso D, 3a planta, en las instalaciones del Instituto ai2 (ver plano interactivo e información del campus de la UPV)
  • Qué llevar: un ordenador portátil, tu entorno de desarrollo de gvSIG configurado a ser posible y desde luego muchas ganas de trabajar

Dar las gracias al Instituto ai2 por seguir apoyando al proyecto cediendo un espacio que seguro será propicio para trabajar juntos.

Nada más, nos vemos el martes, ¡que no falte nadie que pasamos lista!

Posted in community, development, events, spanish | Tagged , | 1 Comment

8as Jornadas gvSIG: Taller de i3Geo

El próximo jueves 29 de noviembre en las 8as Jornadas Internacionales gvSIG, y desde las 11:00 de la mañana, la Asociación gvSIG organizará un taller sobre la aplicación web i3Geo.

Para el que no conozca este software, se trata de una herramienta para la visualización y análisis de información geográfica vías web. Sus siglas significan “Interfaz Integrada para Internet de Herramientas de Geoprocesamiento” y pueden obtenerse más información en http://www.gvsig.org/web/home/projects/i3Geo

Los objetivos de este taller son los siguientes:

  • Presentar las funcionalidades generales de la aplicación.
  • Conocer los detalles de su instalación y configuración.
  • Mostrar los fundamentos de la aplicación, en especial el servidor de mapas Mapserver ya que se trata del motor principal de la aplicación.
  • Mostrar el grado de interacción i3Geo – gvSIG y su aporte a la hora de generar geoportales y nodos IDE empleando software libre.

El taller se realizará empleando el Live-DVD (.iso – 4,2GB) de las 8as Jornadas. En él estará instalado y configurado todo el software así que el único requisito para el taller será llegar con las ganas de conocer esta fantástica aplicación 😉

Posted in events, i3Geo, spanish | Tagged , | 6 Comments