<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Buenas,</p>
<p><br>
</p>
<p>Pues ahora mismo creo que la librería de scripting no está
preparada para leer los prj, ya que esto vino en una versión más
reciente de gvSIG. Lo comentaré y veremos los cambios que tenemos
que hacer para que cuando no se le asigne un prj lea el del
fichero con el que viene..</p>
<p><br>
</p>
<p>Mientras tanto (un trozo de código que tal vez no sea muy
correcto en la forma de hacerlo...), te he preparado una función
que lee el prj que esté al lado del fichero shp y saca la
proyección a la que hace referencia. El parámetro de entrada es la
ruta al fichero .shp en string. Como salida devuelve el crs en
formato "EPSG:...." string, el cual lo puedes usar ya directamente
para asociarle un crs a la capa cuando la cargues.</p>
<p><br>
</p>
<p>En tu caso algo así como.. <br>
</p>
<p> crs = esriprj2epsg(fc)<br>
</p>
<p> s1 = loadShapeFile(fc,CRS=crs)</p>
<br>
Me la apunto para preguntar lo que tendríamos que cambiar en las
librerías.<br>
<br>
Saludos<br>
<br>
<br>
<a class="moz-txt-link-freetext" href="https://gist.github.com/oscar9/a92ca47eaaa9ce8904a6722db3cd76b6">https://gist.github.com/oscar9/a92ca47eaaa9ce8904a6722db3cd76b6</a><br>
<br>
# encoding: utf-8<br>
<br>
import gvsig<br>
<br>
def main():<br>
crs =
esriprj2epsg("D:/Working/test/Huimilpan_Circles_copia.shp")<br>
print crs<br>
<br>
def esriprj2epsg(shapeprj_path):<br>
import os<br>
from org.gdal import osr<br>
from java.util import Vector<br>
if os.path.isdir(shapeprj_path):<br>
raise("Should be a file path")<br>
else:<br>
pre, ext = os.path.splitext(shapeprj_path)<br>
new_extension = ".prj"<br>
shapeprj_path = pre + new_extension<br>
#print shapeprj_path<br>
prj_file = open(shapeprj_path, 'r')<br>
prj_txt = prj_file.read()<br>
srs = osr.SpatialReference()<br>
prj_vector = Vector()<br>
prj_vector.add(prj_txt)<br>
srs.ImportFromESRI(prj_vector)<br>
srs.AutoIdentifyEPSG()<br>
epsg = "EPSG:"+srs.GetAuthorityCode(None)<br>
return epsg<br>
<br>
<br>
<div class="moz-cite-prefix">El 29/03/2017 a las 8:44, Ovidio
Ribeira escribió:<br>
</div>
<blockquote
cite="mid:AM5PR0202MB2692AD9793E81BB6DA590A2BD7350@AM5PR0202MB2692.eurprd02.prod.outlook.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;"
dir="ltr">
<div>
<p style="line-height: 100%; margin-bottom: 0cm;" lang="es-ES">Buenos
días y muchas gracias, Oscar.</p>
<p style="line-height: 100%; margin-bottom: 0cm;" lang="es-ES">Tu
ayuda me fue muy util, pero solo una cosa mas:</p>
<p style="line-height: 100%; margin-bottom: 0cm;" lang="es-ES">Es
script que hice carga un fichero “Area.shp” que es el
resultado de unha medición de GPS, este fichero es creado
por el programa de gestión del GPS, y también crea el
fichero “Area.prj” de información de la proyección, yo
utilizo la proyección WSG84 pero otros compañeros utilizan
otra ( ED50, ETRS, hay de todo) la pregunta: ¿Es posible
indicar en el escript que cargue la capa con el mismo CRS
que se indicada en “Area.prj” ( este fichero esta en la
misma carpeta que el Area .shp). El codigo de mi escript es
el siguiente:</p>
<p style="line-height: 100%; margin-bottom: 0cm;" lang="es-ES"><br>
</p>
<p style="line-height: 100%; margin-bottom: 0cm;" lang="es-ES">Un
saludo</p>
<p style="line-height: 100%; margin-bottom: 0cm;"><br>
</p>
<p style="line-height: 100%; margin-bottom: 0cm;">def
AbreArquivo_click(self,*args):</p>
<p style="line-height: 100%; margin-bottom: 0cm;">option =
"Abrir Arquivo"</p>
<p style="line-height: 100%; margin-bottom: 0cm;">fc =
commonsdialog.filechooser(option, title="",
initialPath=None, multiselection=False, filter = None,
fileHidingEnabled=True, root=None)</p>
<p style="line-height: 100%; margin-bottom: 0cm;">print
"Arquivo elixido:", fc</p>
<p style="line-height: 100%; margin-bottom: 0cm;">s1 =
loadShapeFile(fc,CRS="EPSG:4326")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">currentView().getLayer("Area").setVisible(False)
</p>
<p style="line-height: 100%; margin-bottom: 0cm;">vista =
currentView()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">layer
=currentView().getLayer("Area")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">vmap =
vista.getMap()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">vmap.zoomToEnvelope(layer.getFullEnvelope())</p>
<p style="line-height: 100%; margin-bottom: 0cm;">#eliminar a
capa Area da Vista</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.shp2 =
gvpy.runalg("gvSIG-reproject", "Area", "false",
"EPSG:25829", PATH=[getTempFile("new1",
".shp"),getTempFile("new2", ".shp"),getTempFile("new3",
".shp")],ADDLAYER=False)</p>
<p style="line-height: 100%; margin-bottom: 0cm;"><span>#Cambiarlle
o nome a shp2</span></p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.shp2[0].setName("Medicion")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.Medicion
= self.shp2[0]</p>
<p style="line-height: 100%; margin-bottom: 0cm;">#print
"capa", shp2</p>
<p style="line-height: 100%; margin-bottom: 0cm;">currentView().addLayer(self.shp2[0])</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.layers
= currentView().getLayers()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.layers.removeLayer("Area")</p>
<p style="line-height: 100%; margin-bottom: 0cm;"> </p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.planta
= currentView().getLayer("RV_Actualizado")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.planta2
= currentView().getLayer("Arrinques")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.Leyenda2
= self.planta2.getLegend()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.Leyenda
= self.planta.getLegend()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">self.shp2[0].setLegend(self.Leyenda)</p>
<p style="line-height: 100%; margin-bottom: 0cm;"><br>
</p>
<p style="line-height: 100%; margin-bottom: 0cm;">def
Interseccion_click(self,*args):</p>
<p style="line-height: 100%; margin-bottom: 0cm;">Concello =
self.ConSixpac.getText()</p>
<p style="line-height: 100%; margin-bottom: 0cm;">if Concello
== "00":</p>
<p style="line-height: 100%; margin-bottom: 0cm;">msgbox("Hai
que indicar o concello SIXPAC para facer a
intersección","AVISO" , 1)</p>
<p style="line-height: 100%; margin-bottom: 0cm;">return</p>
<p style="line-height: 100%; margin-bottom: 0cm;">else: </p>
<p style="line-height: 100%; margin-bottom: 0cm;">CapaInter0 =
self.CapaSixpac = Concello+"_SIXPAC"</p>
<p style="line-height: 100%; margin-bottom: 0cm;">CapaInter =
currentView().getLayer(CapaInter0)</p>
<p style="line-height: 100%; margin-bottom: 0cm;">print
CapaInter</p>
<p style="line-height: 100%; margin-bottom: 0cm;">print
self.Medicion</p>
<p style="line-height: 100%; margin-bottom: 0cm;">#Interse =
gvpy.runalg("intersection", self.Medicion, CapaInter, "#")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">#Interse =
gvpy.runalg("gvSIG-intersection", self.Medicion, CapaInter,
#, #, #)</p>
<p style="line-height: 100%; margin-bottom: 0cm;">Interse =
gvpy.runalg("gvSIG-intersection", self.Medicion, CapaInter,
"false", "false", PATH=[getTempFile("new4",
".shp"),getTempFile("new5", ".shp"),getTempFile("new6",
".shp")],ADDLAYER=False)</p>
<p style="line-height: 100%; margin-bottom: 0cm;">Interse[0].setName("INTER-SIXPAC")</p>
<p style="line-height: 100%; margin-bottom: 0cm;">currentView().addLayer(Interse[0])</p>
<p style="line-height: 100%; margin-bottom: 0cm;">Interse[0].setLegend(self.Leyenda2)</p>
</div>
<p><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="width: 98%; display: inline-block;">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:
11pt;" face="Calibri, sans-serif" color="#000000"><b>De:</b>
<a class="moz-txt-link-abbreviated" href="mailto:gvsig_usuarios-bounces@listserv.gva.es">gvsig_usuarios-bounces@listserv.gva.es</a>
<a class="moz-txt-link-rfc2396E" href="mailto:gvsig_usuarios-bounces@listserv.gva.es"><gvsig_usuarios-bounces@listserv.gva.es></a> en nombre
de Oscar Martinez <a class="moz-txt-link-rfc2396E" href="mailto:omartinez@gvsig.com"><omartinez@gvsig.com></a><br>
<b>Enviado:</b> lunes, 27 de marzo de 2017 9:37<br>
<b>Para:</b> <a class="moz-txt-link-abbreviated" href="mailto:gvsig_usuarios@listserv.gva.es">gvsig_usuarios@listserv.gva.es</a><br>
<b>Asunto:</b> Re: [Gvsig_usuarios] Libreria gvpy</font>
<div> </div>
</div>
<div>
<p>Buenas!</p>
<p><br>
</p>
<p>Por partes..</p>
<p><br>
</p>
<p>Para eliminar una capa:</p>
<p><br>
</p>
<p> # Eliminar layer de una Vista<br>
# <a moz-do-not-send="true"
class="moz-txt-link-freetext" id="LPlnk287481"
href="http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/mapcontext/layers/FLayers.html"
previewremoved="true">
http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/mapcontext/layers/FLayers.html</a><br>
layers = currentView().getLayers()<br>
layers.removeLayer("nuevacapa") # se puede eliminar
por nombre, por indice, etc..<br>
</p>
<p><br>
</p>
<p>Si lo que quieres hacer es cambiar el nombre del TOC se
haría con:</p>
<p>(Añadiendo al final del código del otro día)</p>
<p><br>
</p>
<p> shp2[0].setName("nueva0")<br>
shp2[1].setName("nueva1")<br>
shp2[2].setName("nueva2")<br>
</p>
<br>
Si es otra cosa la que quieres cambiar comentamelo.<br>
<br>
Para añadir una simbologia por intervalos por ejemplo está
este script que es sencillo de entender me parece, es para
crear una simbologia por intervalos a partir de un campo:<br>
<br>
<br>
# encoding: utf-8<br>
<br>
from gvsig import *<br>
from gvsig import geom<br>
from java.awt import Color<br>
from
org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl
import VectorialIntervalLegend<br>
<br>
def main(*args):<br>
""" Create interval legend """<br>
# <a moz-do-not-send="true"
class="moz-txt-link-freetext" id="LPlnk59311"
href="http://downloads.gvsig.org/download/web/html/es/html/scripting_devel_guide/2.3/leyendas.html"
previewremoved="true">
http://downloads.gvsig.org/download/web/html/es/html/scripting_devel_guide/2.3/leyendas.html</a><br>
<br>
# Seleccionar el Tipo de geometria<br>
# <a moz-do-not-send="true"
class="moz-txt-link-freetext" id="LPlnk27055"
href="http://downloads.gvsig.org/download/web/html/es/html/scripting_devel_guide/2.3/modulo_geom.html"
previewremoved="true">
http://downloads.gvsig.org/download/web/html/es/html/scripting_devel_guide/2.3/modulo_geom.html</a><br>
vil = VectorialIntervalLegend(geom.POLYGON)<br>
<br>
vil.setStartColor(Color.red) # color inicio<br>
vil.setEndColor(Color.blue) # color final<br>
vil.setIntervalType(1) # Rango<br>
store = currentLayer().getFeatureStore() # store de
los datos a aplicar la simbologia<br>
ii = vil.calculateIntervals(store, "ID", 5,
geom.POLYGON) # Calculo de la simbologia para ese store e
intervalos. (store, Campo, numero intervalos, tipo)<br>
<br>
vil.setIntervals(ii) # aplicamos los intervalos a la
simbologia<br>
<br>
currentLayer().setLegend(vil) # aplicamos la
simbologia a la capa<br>
<br>
Puedes encontrar otro tipo de leyendas e ir probando: <a
moz-do-not-send="true" class="moz-txt-link-freetext"
id="LPlnk776145"
href="http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/symbology/fmap/mapcontext/rendering/legend/impl/AbstractIntervalLegend.html"
previewremoved="true">
http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/symbology/fmap/mapcontext/rendering/legend/impl/AbstractIntervalLegend.html</a><br>
<br>
Nunca he etiquetado desde scripting.. Tendría que preguntar
primero para echarte una mano.<br>
<br>
Para saber si hay una capa activa hay varias formas, depende
para lo que necesites, por lo general esta:<br>
<br>
layers = currentView().getLayers()<br>
print "numero capas activas", len(layers.getActives())<br>
print currentLayer()==None<br>
<br>
if currentLayer()==None:<br>
print "no hay capa activa"<br>
return<br>
<br>
currentLayer.setActive(False)<br>
<br>
Respecto al geoproceso intersección, si cambia el nombre de
los campos es porque necesita hacerlo. Si no me equivoco es
cuando se duplican el mismo nombre de los campos en las
capas entrantes. No hay forma de configurar esto desde
fuera. Lo que si que puedes hacer es hacer un script que te
extraiga lo que desees de esa capa o editarla.<br>
<br>
Creo que no me dejo nada. Espero que te sea de ayuda.<br>
<br>
Saludos,<br>
Óscar<br>
<br>
<div class="moz-cite-prefix">El 27/03/2017 a las 8:29,
Ovidio Ribeira escribió:<br>
</div>
<blockquote type="cite">
<div id="divtagdefaultwrapper" style="color: rgb(0, 0, 0);
font-family: Calibri,Arial,Helvetica,sans-serif;
font-size: 12pt;" dir="ltr">
<div>
<p style="line-height: 100%; margin-bottom: 0cm;">Buenos
días Oscar, gracias por tu ayuda y tu tiempo, con
tus explicaciones conseguí lo que quería, pero para
mejorar el script so lo me faltaría,: poder eliminar
de la TOC una capa que ya no me interesa, lo que
hice fue ponerla como no visible,. Tampoco consigo
renombrar la capa de salida del geoproceso
reproyectar, aquí lo que hago es no añadir ninguna
con el geoproceso y despues anadir a la TOC la n.º
0. Me seria bueno poder añadir una simbología y un
etiquetado por selección a la nueva capa desde el
script. Para seleccionar una capa uso:
currentLayer().setActive(False) y
s1.setActive(True) pero si al principio no hay
ninguna capa activa me da un error, como se puede
saber si hay alguna capa activa. Y por último la
capa de salida en el geoproceso intersección cambia
el nombre de los campos, hay alguna manera de que no
lo haga.</p>
<p style="line-height: 100%; margin-bottom: 0cm;">Saludos
y si puedes la ayudar será muy bien venida .
</p>
<p style="line-height: 100%; margin-bottom: 0cm;"><br>
</p>
</div>
<p><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="width: 98%; display:
inline-block;">
<div id="divRplyFwdMsg" dir="ltr"><font
style="font-size: 11pt;" face="Calibri,
sans-serif" color="#000000"><b>De:</b>
<a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:gvsig_usuarios-bounces@listserv.gva.es">
gvsig_usuarios-bounces@listserv.gva.es</a> <a
moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="mailto:gvsig_usuarios-bounces@listserv.gva.es">
<gvsig_usuarios-bounces@listserv.gva.es></a>
en nombre de Oscar Martinez <a
moz-do-not-send="true"
class="moz-txt-link-rfc2396E"
href="mailto:omartinez@gvsig.com">
<omartinez@gvsig.com></a><br>
<b>Enviado:</b> viernes, 24 de marzo de 2017 14:30<br>
<b>Para:</b> <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:gvsig_usuarios@listserv.gva.es">
gvsig_usuarios@listserv.gva.es</a><br>
<b>Asunto:</b> Re: [Gvsig_usuarios] Libreria gvpy</font>
<div> </div>
</div>
<div>
<p>Buenas,</p>
<p><br>
</p>
<p>Los algortimos gvSIG-* funcionan de manera algo
diferente. Por ahora, siempre que ejecutes uno de
estos algoritmos tienes que especificar el path
que quieres usar. En gvpy se especifica añadiendo
un parámetro PATH. Para esto ya teníamos una
función preparada en gvSIG llamada
getTempFile("nombre", "extension", "carpeta
destino"), siendo el último parámetro opcional.
Esto imita el funcionamiento que tienen el resto
de geoprocesos.</p>
<p><br>
</p>
<p>También ten en cuenta que este geoproceso
reproject especifica y crea tres capas de salida,
aunque luego solo vayas a usar una, hay que
indicar los paths.</p>
<p><br>
</p>
<p>Te adjunto un ejemplo de todo esto.</p>
<p><br>
</p>
<p>Espero te sirva de ayuda, cualquier cosa nos
comentas.</p>
<p><br>
</p>
<p>Saludos</p>
<p><br>
</p>
<p><a moz-do-not-send="true"
class="moz-txt-link-freetext" id="LPlnk447514"
href="https://gist.github.com/oscar9/43523df6c76056cbde97f4a23f967ffe"
previewremoved="true">https://gist.github.com/oscar9/43523df6c76056cbde97f4a23f967ffe</a></p>
<p><br>
</p>
<pre># encoding: utf-8</pre>
<pre>import gvsig</pre>
<pre>from gvsig import *</pre>
<pre>from gvsig.libs import gvpy</pre>
<pre>reload(gvpy)</pre>
<pre>import os</pre>
<pre>def main(*args):</pre>
<pre> </pre>
<pre> gvpy.algHelp("gvSIG-reproject")</pre>
<pre> """</pre>
<pre> * Algorithm help: Reproyección</pre>
<pre> * Usage: runalg( "gvSIG-reproject",</pre>
<pre> LAYER[Vector Layer],</pre>
<pre> SELECTED_GEOM[Boolean],</pre>
<pre> DST_PROJECTION[String],</pre>
<pre> RESULT_POL[output vector layer],</pre>
<pre> RESULT_LINE[output vector layer],</pre>
<pre> RESULT_POINT[output vector layer],</pre>
<pre> );</pre>
<pre> """</pre>
<pre> #Funtion tempfile</pre>
<pre> n1 = getTempFile("new", ".shp")</pre>
<pre> print n1</pre>
<pre> #C:\Users\Versus\AppData\Local\Temp\/tmp-andami\new-58d51c6267b.shp</pre>
<pre> </pre>
<pre> n2 = getTempFile("new", ".shp", r"C:\resultados")</pre>
<pre> print n2</pre>
<pre> #C:\resultados\new-58d51c62686.shp</pre>
<pre> </pre>
<pre> # Ejemplo</pre>
<pre> shp1 = gvpy.runalg("randomvector",10,0)</pre>
<pre> shp2 = gvpy.runalg("gvSIG-reproject", shp1, "false", "EPSG:25829", PATH=[getTempFile("new1", ".shp"),getTempFile("new2", ".shp"),getTempFile("new3", ".shp")])</pre>
<pre> print shp2</pre>
<pre> </pre>
<pre> # Salida multiple en forma de lista: [new1-58d51c7f20ed, new2-58d51c7f20ed, new3-58d51c7f20ed]</pre>
<pre> print shp2[0].getGeometryType().getName()</pre>
<pre> print shp2[1].getGeometryType().getName()</pre>
<pre> print shp2[2].getGeometryType().getName()</pre>
<pre> pass</pre>
<br>
<br>
<div class="moz-cite-prefix">El 24/03/2017 a las
13:00, Ovidio Ribeira escribió:<br>
</div>
<blockquote type="cite">
<div id="divtagdefaultwrapper" style="color:
rgb(0, 0, 0); font-family:
Calibri,Arial,Helvetica,sans-serif; font-size:
12pt;" dir="ltr">
<div id="divtagdefaultwrapper" style="color:
rgb(0, 0, 0); font-family:
Calibri,Arial,Helvetica,sans-serif; font-size:
12pt;" dir="ltr">
<p><span>Hola, usando la libreria gvpy en un
script y al ejecutarlo la segunda vez me
da el error de que el fichero de salida
existe, utilizando el siguente comando:</span></p>
<p><span>gvpy.runalg("gvSIG-reproject",
"Area", "false", "EPSG:25829", "#", "#",
"#",)</span></p>
<p><span>Con esta outra linea funciona sin
problemas creando varios ficheros
temporales:
<span>gvpy.runalg("randomvector",10,0),</span></span></p>
<p><span><span>Tambien necesito ayuda para
capturar solo la capa de polígonos del
geoproceso gvsig-reproject.</span></span></p>
<p><span><span>Gracias y saludos.</span></span></p>
<p><br>
</p>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
gvSIG_usuarios mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
gvSIG_usuarios mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a class="moz-txt-link-freetext" href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
</body>
</html>