[Spanish] OpenLayer - simbologia segun atributo en GML

Marta Lidia Stiefel mstiefel at hotmail.com
Mon Jun 27 19:43:26 EDT 2011


Bueno, al fin resolvimos el problema (algo del 10% Jorge) y compartimos la solución. Muchas gracias por la ayuda Jorge.
 
El tema planteado era el siguiente:
...
 Estoy armando un visualizador web de mapas con OpenLayer.
> > EN el visualizador muestro capas WMS con su estilo (del servidor WMS de la
> > IDE de Santa FE), y quiero agregar capas propias en formato GML.
> > Una de mis capas GML es "centros de salud", de puntos. Uno de los atributos
> > de los centros de salud es dependencia, con valores "privado" o "publico".
> > Quiero asignar símbolo distinto (imagen png) segun  la dependencia sea
> > "privado" o "publico".
> > ¿Cómo hago cargando la capa solo una vez?

...
La solución dada por Carlos Podestá (webfe en hotmail.com)
 
////////////////// PARA VARIAR LA SIMBOLOGIA DE UN GML  SEGUN UN ATRIBUTO
////---------------------------------------------------------------------------------------------
 //// Autir: Carlos Podestá

var aStyleMap = new OpenLayers.StyleMap({fillColor: 'yellow', 
fillOpacity: 0.3, strokeWidth: 1.0, strokeColor:'yellow', pointRadius: 10 });
 
///   EL símbolo varía segun DEPENDENCIA (atributo del GML)
var lookup = {};
lookup['Provincial'] = {fillOpacity: 1, pointRadius: 10, externalGraphic: "imagenes/efector-publico.png"};
lookup['Privado'] = {fillOpacity: 1, pointRadius: 10, externalGraphic: "imagenes/efector-privado.png"};
 
 
aStyleMap.addUniqueValueRules("default", "dependecia", lookup);
 
var gmlLayer = new OpenLayers.Layer.GML("Efectores 
Publicos", "gml/efectores.gml", {styleMap : aStyleMap});
 
map.addLayers([wms, gmlLayer]);
 
 
 if (!map.getCenter()) map.zoomToMaxExtent();
 
map.setCenter(new OpenLayers.LonLat(longitud,latitud), 3);
}
----------------------------------------------------------

Saludos a todos.

 

> From: jsanz en osgeo.org
> Date: Sun, 26 Jun 2011 09:07:08 +0200
> Subject: Re: [Spanish] OpenLayer - simbologia segun atributo en GML
> To: spanish en lists.osgeo.org
> 
> 2011/6/26 Marta Lidia Stiefel <mstiefel en hotmail.com>:
> > Muchas gracias Jorge,
> > lamentablemente no me sirve. No puedo adaptarlo para usar con un archivo
> > GML; en el ejemplo el vectorial se crea y no se carga desde un archivo.
> > Si hay alguna otra mano, se agradecerá.
> >
> 
> Sí te sirve. Los estilos aplican a cualquier capa vectorial. Mira la
> API de la clase Layers.Vector
> 
> http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/Layer/Vector-js.html
> 
> Si lo que quieres decir es que no tienes claro como cargar una capa
> vectorial GML entonces es otra cosa que puedes encontrar en el
> servidor de ejemplos que recomiendo tener siempre a mano a cualquiera
> que quiera hacer algo con OL.
> 
> http://openlayers.org/dev/examples/gml-layer.html
> 
> Es decir no hay nada que adaptar, creas tu "stylemap" y luego se lo
> pasas a la capa vectorial como uno de sus atributos como se hace en el
> primer ejemplo que te pasé.
> 
> En general la documentación de OL es realmente buena, con los ejemplos
> y la API hay un 90% de lo necesario a mano, el otro 10% es irse
> directamente al código fuente ya que algunas propiedades no están
> documentadas en la API y otras veces quieres saber exactamente que
> está pasando por ahí dentro.
> 
> [5 minutos después]
> 
> Me había entrado una duda y efectivamente este es un caso del 10%
> porque en el API de la clase Vector está el atributo "style" pero no
> "stylemap", aunque si vas al código, efectivamente es una propiedad
> que puedes establecer.
> 
> http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Layer/Vector.js
> (línea 170+-)
> 
> 
> Saludos
> 
> -- 
> Jorge Sanz
> http://es.osgeo.org
> _______________________________________________
> Spanish mailing list
> http://lists.osgeo.org/mailman/listinfo/spanish
> http://es.osgeo.org
> http://twitter.com/osgeoes
 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.osgeo.org/pipermail/spanish/attachments/20110627/cdbfc079/attachment.html


More information about the Spanish mailing list