Validar las geometrías de una capa

Hola a todos de nuevo,

Hacia ya un tiempo que no escribía por aquí…cosas de ir bastante liado con nuevos desarrollos que estamos abordando en gvSIG…pero el otro día me comentaron que necesitarían una herramienta en gvSIG que les permitiera localizar problemas en las geometrías de una tabla antes de cargar dicha tabla en una BBDD de postgreSQL.

Me dijeron…

“Estaría bien disponer de una herramienta que procese las geometrías de una capa y me saque un listado con los problemas y me permita pinchar e ir a la geometría conflictiva y mejor aun a donde este el conflicto”

Efectivamente, gvSIG no tiene nada que se le parezca, pero enseguida pensé que igual con un poco de scripting podía sacar algo parecido a lo que me pedían.

El script no es simple, para que vamos a engañarnos, toca muchos palos, pero no es muy grande y puede servir de inicio para abordar cosas mas complejas.

El principio es simple… nos recorremos las features de la capa, cogemos la geometría, e invocamos al método “getValidationStatus” de esta. Este método realiza una serie de validaciones sobre la geometría y nos devuelve que ha pasado con esas validaciones… si todo fue bien o mal, y en caso de ir mal nos da información sobre que problema se encontró y si puede donde lo encontró. Con esta información, vamos a ir construyendo un pequeño informe en HTML.

Por cada incidencia que encontremos generaremos una entrada con:

  • El número de línea en el que se produjo la incidencia
  • Un volcado de los datos de la feature asociada a esa línea
  • Una descripción textual del problema
  • Un enlace al punto en donde se produjo la incidencia. En el hiperenlace, en lugar de poner una URL meteremos el punto en WKT asociado a la incidencia.
wktgeom = vs.getProblemLocation().convertToWKT()
output.write('<a href="%s">%5.5d</a> %s<br>%s' % (wktgeom,i, feature.toString(),vs.getMessage()))

Cuando ya nos hemos recorrido todas las features de la capa, tendremos que presentar el informe. Para ello utilizaremos la función “showTextDialog” del“ApplicationManager”, que nos permite mostrar una venta con un texto HTML.

application = ApplicationLocator.getManager()
application.showTextDialog(
  WindowManager.MODE.TOOL,
  "Problems in layer "+layer.getName(),
  informe.getvalue()
)

Si solo quisiésemos mostrar el informe con esto nos bastaría. Pero estaría muy bien que al pinchar sobre la incidencia en el informe nos centrase la vista en el área donde se ha producido la incidencia. Para esto tendremos que hacer un poco mas de faena. La función “showTextDialog” permite que le pasemos un ultimo parámetro opcional que sea un “listener” que recibirá los eventos relacionados con los hiperenlaces de nuestro informe en HTML. Para eso tendremos que crear una clase que herede de “HyperlinkListener”.

class MyHyperlinkListener(HyperlinkListener):
  def __init__(self,vista):
    self.vista = vista
    
  def hyperlinkUpdate(self, h):
    if str(h.getEventType()) == "ACTIVATED":
      wktgeom = h.getDescription()
      print wktgeom
      manager = GeometryLocator.getGeometryManager()
      point = manager.createFrom(wktgeom)
      centerViewinPoint(self.vista,point)

Nuestra clase recibirá en el constructor la vista sobre la que ha de trabajar, y en el método “hyperlinkUpdate” pondremos el código que se ejecutara cada vez que se interactúe con un enlace de nuestro informe, bien por que se pasa el ratón sobre el enlace, o por que se hace click sobre el. Así que nuestro código lo meteremos en este método cercionándonos que filtramos las acción de hacer click en el enlace que sera cuando recibamos un evento de tipo “ACTIVATED”. Lo que haremos será recoger el punto asociado del hiperenlace. Este lo habíamos metido en WKT, así que lo primero será reconstruir nuestro punto a partir de él.

manager = GeometryLocator.getGeometryManager()
point = manager.createFrom(wktgeom)

Y luego ya centrar la vista en ese punto.

centerViewinPoint(self.vista,point)

Mas cositas que comentar…

A veces lo ejecutaremos sobre capas grandes y estaría bien que fuese informando del progreso. Para ello utilizaremos la variable “taskStatus”. Todos los scripts tienen una asociada y sirve precisamente para eso, para ir informado del progreso de nuestro proceso. Lo primero que tendremos que hacer será asociarla a la barra de estado de la aplicación para que se vaya mostrando ahí el proceso. Tan simple como invocar al método “add” de ella.

Luego le indicaremos las iteraciones que va a tener nuestro proceso, para lo que utilizaremos el método “setRangeOfValues” indicando que las iteraciones irán desde 0 al número de registros que tiene la capa que vamos a procesar. En cada iteración invocaremos al método “setCurValue” para informar de por donde vamos, y al terminar de recorrer nuestras features nos desharemos de nuestro taskStatus invocando al método “terminate” para indicarle que ya termino nuestro proceso y al método“remove” para eliminarla de la barra de estado de gvSIG.

try:
  # Añadimos la barra de progreso a la barra de estado de gvSIG
  taskStatus.add()
  # Le indicamos cuantas iteraciones vamos a realizar
  taskStatus.setRangeOfValues(0,layer.features().getCount())
  for feature in layer.features():
    # En cada iteración informamos a la barra de progreso de por donde vamos
    taskStatus.setCurValue(i)
    ...
    i+=1
finally:  
  # Al terminar
  # Le indicamos a la barra de progreso que ya hemos terminado
  taskStatus.terminate()
  # Y la eliminamos de la barra de estado de gvSIG.
  taskStatus.remove()

Bueno, hay un montón de detallitos, como atrapar errores aquí y allí, el manejo del StringIO para generar nuestro informe o la generación del código HTML, pero creo que los que han estado ya viendo algunas cosillas del scripting en gvSIG y tienen algo de conocimiento de programación en python pueden seguirlo. Al final os dejo el código completo.

También tengo un problema en el metodo “centerViewinPoint”, algun cálculo no es correcto y no se centra bien la vista, pero creo que es un detalle menor que ya podréis pulir si os es de utilidad el script.

Espero que os sirva… como herramienta para gvSIG y como ejemplo de como hacer cosas nuevas en scripting.

Eso si, para probarlo precisareis de una capa con geometrías dañadas o no validas. Alguna tengo por ahi… a ver si puedo colgarla en algun sitio y la enzalo para que podais probar.

Para ejecutar el script precisareis un gvSIG desktop 2.1.0 build 2231 o superior ;)

Un saludo a todos

Joaquin

from gvsig import *
from org.gvsig.tools.swing.api.windowmanager import WindowManager
import StringIO
from commonsdialog import *
from javax.swing.event import HyperlinkListener
from org.gvsig.fmap.geom import GeometryLocator
from org.gvsig.fmap.geom import Geometry

def centerViewinPoint(view,center):
    env = view.getMap().getViewPort().getEnvelope();
    movX = center.getX()-env.getCenter(0);
    movY = center.getY()-env.getCenter(1);
    minx = env.getMinimum(0) + movX;
    miny = env.getMinimum(1) + movY;
    maxX = env.getMaximum(0) + movX;
    maxY = env.getMaximum(1) + movY;
    env = GeometryLocator.getGeometryManager().createEnvelope(
          minx, miny,
          maxX, maxY,
          Geometry.SUBTYPES.GEOM2D);
    view.getMap().getViewPort().setEnvelope(env);
    view.getMap().invalidate()


class MyHyperlinkListener(HyperlinkListener):
  def __init__(self,vista):
    self.vista = vista
    
  def hyperlinkUpdate(self, h):
    if str(h.getEventType()) == "ACTIVATED":
      # Sopo procesamos los eventos "ACTIVATED" que son los clicks sobre los enlaces
      # Recogemos la geometría que metimos en el enlace en WKT
      wktgeom = h.getDescription()
      print wktgeom
      # Y reconstruimos el punto a partir de ese WKT
      manager = GeometryLocator.getGeometryManager()
      point = manager.createFrom(wktgeom)
      # Y una vez lo tenemos centramos la vista en ese punto.
      centerViewinPoint(self.vista,point)


def main(*args):
  layer = currentLayer()
  if layer == None:
    msgbox("Debera seleccionar la capa que desea validar")
    return
  informe = StringIO.StringIO()  
  informe.write("<ul>\n")
  i=0
  hay_problemas = False
  try:
    # Añadimos la barra de progreso a la barra de estado de gvSIG
    taskStatus.add()
    # Le indicamos cuantas iteraciones vamos a realizar
    for feature in layer.features():
      # En cada iteración informamos a la barra de progreso de por donde vamos
      taskStatus.setCurValue(i)
      vs = feature.geometry().getValidationStatus();
      if not vs.isValid() :
        hay_problemas = True
        if vs.getProblemLocation()!=None:
          wktgeom = vs.getProblemLocation().convertToWKT()
        else:
          try:
            # Atrapamos los errores no vaya a ser que la geometría este tan dañada que
            # nos falle el calculo de su centroide.
            wktgeom = feature.geometry().centroid().convertToWKT()
          except:
            wktgeom = None
        informe.write("<li>")
        if wktgeom == None:
          informe.write('%5.5d%s<br>%s' % (i, feature.toString(),vs.getMessage()))
        else:
          informe.write('<a href="%s">%5.5d</a> %s<br>%s' % (wktgeom,i, feature.toString(),vs.getMessage()))
        informe.write("</li>")
      i+=1
  finally:  
    # Al terminar
    # Le indicamos a la barra de progreso que ya hemos terminado
    taskStatus.terminate()
    # Y la eliminamos de la barra de estado de gvSIG.
    taskStatus.remove()
    
  informe.write("</ul>\n")
  if hay_problemas :
    application = ApplicationLocator.getManager()
    application.showTextDialog(
      WindowManager.MODE.TOOL, # TOOL o WINDOW según nos interese.
      "Problems in layer "+layer.getName(),
      informe.getvalue(),
      MyHyperlinkListener(currentView())
    )
  else:
    msgbox("Layer "+layer.getName()+" is valid.")
Posted in gvSIG Desktop, scripting, spanish | Tagged , , , | 2 Comments

Séminaire en ligne gvSIG 2.1 pour la communauté francophone

Bonjour à tous!

Comme vous le savez tous, MundoGeo, Membre d’honneur de l’Association gvSIG, mets à disposition ses ressources pour diffuser le projet gvSIG,  surtout en ce qui concerne les séminaires en ligne. En effet, depuis le début de l’année 2014 on a déjà eu 7 séminaires  focalisés sur gvSIG en espagnol, anglais et portugais.

Désormais, et c’est une grande nouveauté, les séminaires en ligne veulent intégrer la  communauté francophone et le prochain sera donc en français!

Celui ci se déroulera le mercredi 9 juillet (horaire: 1:00 PM – 2:00 PM GMT). Vous avez ici dessous le lien de MundoGeo pour vous inscrire dès maintenant:

https://www2.gotomeeting.com/register/949524850

Au programme, les nouveautés de la dernière version de gvSIG, quelques démonstrations pratiques en vidéo, ainsi qu’un résumé de l’Association gvSIG et  un point sur la communauté francophone du projet. Pas mal pour 1 heure de séminaire! Je serai moi-même la conférencière… tout un challenge, je ferai de mon mieux :).

L’invitation est donc faite. Si vous souhaitez devenir membre actif de la communauté francophone de gvSIG, n’hésitez pas à vous inscrire et à participez!
À très bientôt!
Viqui.-

Posted in community, french, gvSIG Desktop, opinion | Leave a comment

Go for the 10th gvSIG Conference

This year we’ll celebrate the 10th International gvSIG Conference (December 3, 4 and 5). 10th Conference. A round number that’s not bad to a free project.

The ones who knows us have in mind that we like to talk about Independence and Sovereignty. And that we like to stress that Sovereignty passes by Strategic Sectors control and that is an absurd that in 21st Century we don’t consider technology as a strategic sector.

To have control about a strategic sector passes by having capability over your government. Having government capability over you software passes by being able to knows it and freedom to it’s use, modification and distribution, saying by Free Software.

This is a recurrent idea in our way of thinking: Sovereignty , Strategic Sectors, Free Software and all from the conscience that we are in the 21st Century. It’s the issue that encourage us that the 10th Conference slogan is: “Strategies for the 21st Century”

You know too that we like to talk about collective values, solidarity, collaboration. And we have thought that at time to construct the image of the Conference, it could be interesting that if you have a moment and want to, you could tell us what are your strategies to the 21st Century (in a maximum of 150 characters) or send us an image (220 kb maximum) and see if we’re capable to collect your sensations.

You can send it to: conference-contact@gvsig.com

And in what it is possible to you, thanks for collaborating with the Project strengthening.

Go for the 10th gvSIG Conference.

Posted in opinion | Leave a comment

gvSIG Association is now a Mountain Partnership member

We are pleased to announce that the gvSIG Association is a new Mountain Partnership member, with GISMAP as focal point. At this way the gvSIG Association hopes to collaborate in this international alliance, working together with the common objective to achieve sustainable mountain development around the world. logo-mountain-1

The Mountain Partnership is a United Nations voluntary alliance of partners dedicated to improving the lives of mountain people and protecting mountain environments around the world.

The Mountain Partnership addresses the challenges facing mountain regions by tapping the wealth and diversity of resources, knowledge, information and expertise, from and between its members, in order to stimulate concrete initiatives at all levels that will ensure improved quality of life and environments in the world’s mountain regions.

Currently, 53 governments, 14 intergovernmental organizations and 167 Major Groups (e.g. civil society, NGOs and the private sector) are members.

With this agreement we add our knowledge and experience in free geomatics to the work of a lot of organizations that take part of this alliance already.

Posted in opinion | Leave a comment

A por las 10as Jornadas gvSIG

 Este año celebraremos las 10as jornadas internacionales gvSIG (3, 4 y 5 de diciembre). 10as Jornadas. Un número redondo que no está mal para un proyecto libre.

Los que nos conocéis sabéis que nos gusta hablar de Independencia y Soberanía. Sabéis que nos gusta recalcar que la Soberanía pasa por el control de los Sectores Estratégicos y que es un absurdo que en el Siglo XXI no consideremos la tecnología como sector estratégico.

Tener control sobre un sector estratégico pasa por tener capacidad sobre su gobierno. Tener capacidad de gobierno sobre el software pasa por ser capaces de conocerlo y libertad para su uso, modificación y distribución, es decir por el Software Libre.

Esta es una idea recurrente en nuestra forma de pensar: Soberanía, Sectores Estratégicos, Software Libre y todo ello desde la consciencia de que estamos en el Siglo XXI. Lo que nos anima a que el lema de las 10as Jornadas sea: “Estrategias Siglo XXI”

También sabéis que nos gusta mucho hablar de valores colectivos, de solidaridad, de colaboración. Y hemos pensado que a la hora de construir la imagen, nos podría ser interesante que aquellos que tengáis un momento y queráis, nos podéis contar cuales son vuestras estrategias para el siglo XXI (en 150 caracteres máximo) o mandarnos una imagen (220kb máximo) y ver si de alguna forma somos capaces de recoger vuestras sensaciones.

Podéis mandarla a la siguiente dirección: conference-contact@gvsig.com

Y al que le sea posible, pues gracias por colaborar con el fortalecimiento del Proyecto.

A por las 10as. Jornadas.

Posted in opinion | 3 Comments

FOSS4G-FR: Initiation à la nouvelle version de gvSIG 2.1

FR-gvsigDans le cadre de la première édition francophone du FOSS4G (*Free and Open Source For Geospatial*), événement dédié à la géomatique et aux données géographiques libres qui se tiendra les 20, 21 et 22 mai 2014 à l’Ecole Nationale des Sciences Géographiques de Marne-la-vallée, France, un atelier d’initiation à la nouvelle version de gvSIG 2.1 sera proposé.

Cet atelier, présenté par David Martinez Morata de Thinking GIS en collaboration avec Victoria Agazzi de l’Association gvSIG, aura pour objectif d’initier les participants aux principales caractéristiques de cette nouvelle version du logiciel à travers une série d’exercices pratiques.

Il se déroulera en salle C le 20 mai de 15 à 19h30.

 

Posted in events, french, gvSIG Desktop, training | Tagged | Leave a comment

6as Jornadas gvSIG da América Latina e do Caribe: Curso de introdução a gvSIG 2.1

Taller gvSIGA estas alturas creio que sobran os motivos para fazer o possível para estar presente nas 6as Jornadas gvSIG da América Latina e do Caribe que, junto a MundoGEO#Connect, tornaram esse compromisso inevitável. Além de um amplo leque de apresentações e uma mesa redonda que ninguém deveria perder, haverá oficinas de formação, sobre os quais já publicamos post (1 e 2).

Junto a estas 2 oficinas realizaremos uma terceira (que eu mesmo darei) a modo de introdução à nova versão gvSIG 2.1

Durante a oficina faremos uma revisão das principais funcionalidades de gvSIG e das novidades que aporta esta nova versão. Deste modo, tanto usuários principiantes como avançados poderão participar da oficina.

Novidades como o novo marco de geoprocessamento, o acesso a serviços como WMTS e OSM, a criação e acessop a bibliotecas de símbolos, gráficos, novas legendas e muito mais serão tratadas durante este mini-curso. Se nestes dias você estará no evento, …não pode perder esta oficina.

E, como em toda atividade das 6as Jornadas gvSIG LAC, o acesso à oficina é totalmente gratuito. Somente você deve inscrever-se na web das jornadas.

Por último, lembre-se que para as oficinas você deve levar seu próprio laptop. E, ainda que os dados necessários estarão disponíveis para os assistentes, a fim de economizar tempo é recomendável que você os descarregue previamente. Eles podem ser descarregados no seguinte link.

E, claro, leve instalado gvSIG 2.1.

Qualquer dúvida que tenha com a instalação pode ser enviada à lista de usuários do projeto.

Posted in events, gvSIG Desktop, portuguese, training | Tagged | Leave a comment

6as Jornadas gvSIG de Latinoamérica y Caribe: Curso de introducción a gvSIG 2.1

Taller gvSIGA estas alturas creo que sobran los motivos para hacer lo posible por estar presentes en las 6as Jornadas gvSIG de Latinoamérica y Caribe que junto a MundoGEO#Connect han convertido a esta cita en ineludible. Además de un amplio abanico de ponencias y una mesa redonda que nadie debería perderse, habrá talleres de formación, sobre los que ya hemos publicado post (1 y 2).

Junto a estos 2 talleres realizaremos un tercero (que yo mismo impartiré) a modo de introducción a la nueva versión gvSIG 2.1

Durante el taller haremos un repaso a las principales funcionalidades de gvSIG y a las novedades que aporta esta nueva versión. De este modo tanto usuarios noveles como avanzados podrán participar en el taller.

Novedades como el nuevo marco de geoprocesamiento, el acceso a servicios como WMTS y OSM, la creación y acceso a bibliotecas de símbolos, gráficas, nuevas leyendas y mucho más será tratado durante este mini-curso. Si esos días estás en el evento…no te lo puedes perder.

Y, como toda actividad de las 6as Jornadas gvSIG LAC, el acceso al taller es totalmente gratuito. Sólo debes inscribirte en la web de las jornadas.

Por último, recuerda que para los talleres debes llevar tú propio laptop. Y aunque los datos necesarios estarán disponibles para los asistentes, a fin de ahorrar tiempo, es recomendable que los hayas descargado previamente. Los puedes descargar en el siguiente enlace.

Y, por supuesto, lleva instalado gvSIG 2.1.

Cualquier duda que tengas con las instalación puedes enviarla a la lista de usuarios del proyecto.

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

6as Jornadas gvSIG de Latinoamérica y Caribe: Curso de geoprocesamiento con software libre

El referente en el desarrollo de soluciones tecnológicas de Gestión Territorial aplicadas a los sectores de “Agua”, “Energías renovables” y “Mobilidad”, el Centro Internacional de Hidroinformática (CIH) es un centro binacional, resultado de la colaboración entre el Gobierno de Brasil y el de Paraguay, ITAIPU Binacional y el Programa Internacional (PHI) de la UNESCO. Además de su carácter binacional es un Centro de Categoría 2 de la UNESCO, es decir, sus actividades están avaladas por la Organización de las Naciones Unidas para la Educación, la Ciencia y la Cultura .

Los proyectos e iniciativas promovidas por el CIH fomentan una gestión sostenible de los recursos hídricos y las energías renovables, teniendo como área estratégica de actuación la Cuenca Hidrográfica del Paraná. Sus actividades tienen como objetivo la investigación territorial por medio del estudio y levantamiento de datos, el análisis e interpretación de estos y la presentación de soluciones viables valorando tanto cuestiones técnicas como ambientales, sociales y económicas, así como la virtualización de estos datos por medio de los Sistemas de Información Geográfica, habiendo sido seleccionada como herramienta estratégica gvSIG.

De este modo, el CIH, por medio del Analista Ambiental Alisson Rodrigues Alves, realizará el Curso de Geoprocesamiento com Software Libre. El curso utilizará el software libre gvSIG que posibilita la visualización de datos cuantitativos del territorio y su análisis espacial mediante mapas temáticos interactivos. gvSIG también permite cruzar datos diversos para la toma de decisiones y actuaciones sobre el territorio, para los más diversos ámbitos.

El objetivo del curso será formar a profesionales y/o académicos del área de Geomática -y otras relacionadas- en el uso de gvSIG, mediante diversos ejercicios prácticos de geoprocesamiento y gestión territorial con énfasis en el nexo Agua-Energía.

Los temas abordados durante el curso serán:

  • Introducción a teledetección

  • Definición del nexo Agua-Energía

  • Nociones teóricas de geoprocesamiento y cartografía

  • Características de los SIG

  • Aplicaciones prácticas de catastros técnicos multifunción.

La formación estará enfocada a los geoprocesos relacionados con los objetivos específicos del CIH, como el desarrollo técnico regional aplicado a la gestión de recursos hídricos y energías renovables.

Para llevar a cabo el curso los interesados necesitan estar inscritos en las 6as Jornadas gvSIG de Latinoamérica y Caribe y ser usuarios a nivel básico de SIG. Los participantes deberán utilizar sus laptops con gvSIG (1.10 recomendada) previamente instalado. Los datos y archivos necesarios serán suministrados durante el propio curso.

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

6as Jornadas gvSIG da América Latina e do Caribe: Curso de capacitação em geoprocessamento com software livre

Referência no desenvolvimento de soluções tecnológicas para Gestão Territorial aplicadas à “Água”, “Energias Renováveis” e “Mobilidade”, o Centro Internacional de Hidroinformática (CIH) é um centro binacional, resultado da parceria entre o Governo do Brasil e do Paraguai, ITAIPU Binacional e Programa Internacional (PHI) da UNESCO. Além de binacional, é um Centro de Categoria 2 da UNESCO, ou seja, suas atividades são chanceladas pela Organização das Nações Unidas para a Educação, a Ciência e a Cultura.

Os projetos e iniciativas promovidas pelo CIH fomentam a gestão sustentável de recursos hídricos e energias renováveis, tendo como área estratégica de atuação a Bacia Hidrográfica do Paraná 3. Sua atuação tem como foco a Investigação Territorial, através do estudo e levantamento de dados, do entendimento e interpretação destas informações, a apresentação de soluções viáveis levando em conta questões técnicas, ambientais, sociais e econômicas, e, por fim, a virtualização dos dados instrumentada em Sistemas de Informações Geográficas – SIG, tendo como ferramenta estratégica o gvSIG.

Deste modo, o Centro Internacional de Hidroinformática, por meio do Analista Ambiental Alisson Rodrigues Alves, ministra o Curso de Capacitação em Geoprocessamento com Software Livre. Para isso, o curso utilizará o software livre gvSIG, que possibilita a visualização de dados quantitativos do território pela espacialização das informações em mapas temáticos interativos. O gvSIG também permite cruzar informações diversas para a tomadas de decisões e atuações territoriais, de forma acessível a todos os âmbitos.

O objetivo do curso é capacitar profissionais e/ou acadêmicos da área de Geomática – e outras correlacionadas, para utilização do software gvSIG, desenvolvendo experiências com geoprocessamento visando a gestão territorial com enfase no Nexo Água-Energia.

Os temas abordados durante o curso são:

  • Introdução ao sensoriamento remoto;

  • Definição do Nexo Água-Energia;

  • Noções teóricas de geoprocessamento e cartografia;

  • Características dos Sistemas de Informações Geográficas e,

  • Aplicações práticas do Cadastro Técnico Multifinalitário.

A capacitação terá foco nos geoprocessos ligados aos objetivos específicos do Centro Internacional de Hidroinformática, como o desenvolvimento técnico regional aplicado à gestão de recursos hídricos e energias renováveis.

Para realizar o curso, o interessado precisa estar devidamente inscrito via formulário de inscrição da 6as Jornadas da América Latina e do Caribe de gvSIG e ser usuário nível básico de sistemas de informação geográfica. Os participantes deverão utilizar notebooks com gvSIG (recomenda, versão 1.10) previamente instalada para execução das atividades práticas. Os dados e arquivos necessários serão disponibilizados durante o curso.

Posted in events, gvSIG Desktop, portuguese | Tagged | 3 Comments