[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