[Gvsig_desarrolladores] mostrar distancias de un poligono
Elder Robert Zavaleta Veneros
erobert_zv en hotmail.com
Mie Mayo 12 02:11:18 CEST 2010
Hola Juan:
estuve adaptando el codigo que me pasaste, pero el codigo se adpta a la clase FLyrVect en la 1.9 y Yo estuve trabajando con la 1.1, por ahi creo que esta el error, nunca he compilado gvSig desde el repositorio, estaba tratando de hacerlo creando una extención. Voy ah intentarlo.
Si hay otra solucion para el problema, favor dame una ayuda
Saludos atentos
Robert Zavaketa.
Subject: RE: [Gvsig_desarrolladores] mostrar distancias de un poligono
Date: Tue, 11 May 2010 09:27:40 +0200
From: jldominguez en prodevelop.es
To: erobert_zv en hotmail.com; gvsig_desarrolladores en runas.cap.gva.es
Hola,
puedes enviar el código Java que has intentado usar?
Qué resultado o error obtienes?
Saludos,
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es
---
De: Elder Robert Zavaleta Veneros [mailto:erobert_zv en hotmail.com]
Enviado el: vie 07/05/2010 2:05
Para: Juan Lucas Dominguez Rubio; gvsig_ desarrolladores
Asunto: RE: [Gvsig_desarrolladores] mostrar distancias de un poligono
Hola Juan :
Lo intente pero falle, talvez estoy asiendo algo mal
No hay otra manera de hacerlo:
por ejemplo encontar los puntos(coordenadas) del contorno un poligono y luego aplicar
la fomula de distancia entre dos puntos.
Saludos
Robert Zavaleta
Subject: RE: [Gvsig_desarrolladores] mostrar distancias de un poligono
Date: Fri, 5 Mar 2010 14:34:48 +0100
From: jldominguez en prodevelop.es
To: erobert_zv en hotmail.com; gvsig_desarrolladores en listserv.gva.es
Hola, Robert.
El código que te propuesto es compartido por gvSIG y gvSIG Mobile. SOlo cambia a veces la ubicación de las clases.
Esto es un ejemplo:
En tu workspace tienes un archivo llamado FLyrVect.java (proyecto libFMap). En esa clase hay un metodo que se llama draw ó _draw en el que tienes una instrucción como esta:
...
geom = feat.getGeometry();
....
o muy similar a esta, donde geom es una variable de tipo IGeometry. Puedes simplemente añadir dos líneas de código para que quede así:
...
geom = feat.getGeometry();
double area_geom = getPathIteratorArea(geom.getPathIterator(null));
System.out.println("AREA = " + area);
...
y después añades en la clase FLyrVect el método getPathIteratorArea(PathIterator piter); que te he indicado antes. Ese método usa clases que no se usaban en FLyrVect, pero puedes añadir facilmente esos 'import' (Eclipse lo puede hacer inmediatamente).
Con ese cambio, si ejecutas gvSIG y añades una capa de polígonos, podrás ver en la consola de Eclipse el área de cada polígono que se dibuja sobre el mapa.
De la misma manera, cuando hayas accedido a un polígono o multilinea, puedes obtener su PathIterator y calcular las distancias.
Saludos,
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es
---
De: Elder Robert Zavaleta Veneros [mailto:erobert_zv en hotmail.com]
Enviado el: jue 04/03/2010 21:44
Para: gvsig_desarrolladores en listserv.gva.es; Juan Lucas Dominguez Rubio
Asunto: RE: [Gvsig_desarrolladores] mostrar distancias de un poligono
Hola Juan Dominguez, la verdad es que no estoy muy familiarizado con la version Mobil de GvSig,
Si fuera posible me dieras alcanses para la version de gvSig Desktop 1.1 por ejemplo:
-como recorrer un poligono,
-capturar sus vertices y coordenadas
sabiendo esos datos ya podria aplicar la formula de pitagoras que me mencionas.
o en tal caso, de donde optengo los jars necesarios para compliar la clase que me das de referencia
http://subversion.gvsig.org/gvSIG-mobile/pilots/branches/pilot2/libraries/libFMap/src/es/prodevelop/gvsig/mobile/fmap/util/graph2d/Graph2DUtilities.java
y poder hacer mis pruebas
las gracias de antemano:
Atte.
Robert Zavaleta
Date: Sat, 27 Feb 2010 14:42:24 +0100
From: jldominguez en prodevelop.es
To: gvsig_desarrolladores en listserv.gva.es; gvsig_desarrolladores en runas.cap.gva.es
Subject: Re: [Gvsig_desarrolladores] mostrar distancias de un poligono
Hola. Si lo preguntas en esta lista, entiendo que estás escribiendo y compilando código Java.
En esta clase hay varios ejemplos de cómo se accede a los vértices de las geometrías:
http://subversion.gvsig.org/gvSIG-mobile/pilots/branches/pilot2/libraries/libFMap/src/es/prodevelop/gvsig/mobile/fmap/util/graph2d/Graph2DUtilities.java
Este método de esa clase calcula el área de un polígono averiguando sus vértices y usando los algoritmos de JTS:
public static double getPathIteratorArea(PathIterator piter) { ... }
Puedes hacer algo similar, y cuando tengas la lista de vértices, en lugar de calcular el área, puedes calcular las distancias que los separan con la fórmula de Pitágoras, suponiendo que estás usando una proyección como UTM o Lambert y aceptas el error que se comete.
Si las coordenadas están en grados (longitud y latitud) debes usar otras fórmulas más sofisticadas:
http://es.wikipedia.org/wiki/F%C3%B3rmulas_de_Vincenty
Para obtener el PathIterator de una geometría de gvSIG, puedes ver este método (ya que las geometrías cumplen la interface Shape):
private static PathIterator getPathIterator(Shape shp) { ... }
Es esto lo que buscabas?
Saludos,
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es
---
-----Original Message-----
From: gvsig_desarrolladores-bounces en listserv.gva.es on behalf of Elder Robert Zavaleta Veneros
Sent: Sat 27/02/2010 2:13
To: gvsig_ desarrolladores
Subject: Re: [Gvsig_desarrolladores] mostrar distancias de un poligono
Hola a todos:
Como les comente, hay alguna manera de mostrar las distancias entre los puntos
de un polígono
el agradecimiento de antemano:
Robert Zavaleta
From: erobert_zv en hotmail.com
To: gvsig_desarrolladores en listserv.gva.es; gvsig_desarrolladores en runas.cap.gva.es
Subject: mostrar distancias de un poligono
Date: Tue, 23 Feb 2010 21:05:36 -0500
Hola a todos:
estoy desarrollado extensiones en gvsig 1.2, pero ahora me encuentro con un problema
y les consulto, hay alguna manera de mostrar las distancias entre puntos de un polígono
el agradecimiento de antemano:
Robert Zavaleta
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. Sign up now.
_________________________________________________________________
Hotmail: Powerful Free email with security by Microsoft.
https://signup.live.com/signup.aspx?id=60969
Hotmail: Trusted email with Microsoft’s powerful SPAM protection. Sign up now.
Hotmail: Trusted email with Microsoft’s powerful SPAM protection. Sign up now.
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20100511/8288c758/attachment.htm
Más información sobre la lista de distribución gvSIG_desarrolladores