[Spanish] Re: Openlayers

Wladimir Szczerban bolosig at gmail.com
Mon May 14 04:42:35 EDT 2012


Hola Francisco,

Hay una "solución" para hacer la "reproyeción" de capas WMS con OpenLayers.

Como verás esta todo entre comillas por que es algo que te puede funcionar
en algunos casos pero no es procedimiento exacto, ya que lo que se hace es
una simulación de reproyección.

Es muy importante comentar que para simular una reproyección del WMS no es
un método muy exacto ya que estamos haciendo la transformación de
coordenadas de las 4 esquinas de la imagen y eso crea cierta deformación de
la misma. Debido a la deformación veremos que en ocasiones las imágenes
quedan un poco escalonadas.

Como ya lo dije se puede usar bajo tu propio riesgo.

Para esto igual necesitas el Proj4js.

Aquí el código.

//Sobrescribir el método para manejar multiples SRS.
OpenLayers.Layer.WMS.prototype.getFullRequestString = function(newParams,
altUrl) {
var projectionCode = this.map.getProjection();
if (this.params.SRS){
if (this.params.SRS != projectionCode){
var point1 = new OpenLayers.LonLat(newParams.BBOX[0],
newParams.BBOX[1]);
point1 = point1.transform(new OpenLayers.
Projection(projectionCode), new OpenLayers.
Projection(this.params.SRS));
var point2 = new OpenLayers.LonLat(newParams.BBOX[2],
newParams.BBOX[3]);
point2 = point2.transform(new OpenLayers.
Projection(projectionCode), new OpenLayers.
Projection(this.params.SRS));
newParams.BBOX[0] = point1.lon;
newParams.BBOX[1] = point1.lat;
newParams.BBOX[2] = point2.lon;
newParams.BBOX[3] = point2.lat;
}else{
this.params.SRS = (projectionCode == "none") ? null :
projectionCode;
}
}else{
this.params.SRS = (projectionCode == "none") ? null : projectionCode;
}
return OpenLayers.
Layer.Grid.prototype.getFullRequestString.apply(this, arguments);
};

-- 
Saludos,

Bolo
www.geoinquiets.cat
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.osgeo.org/pipermail/spanish/attachments/20120514/87d8ebe0/attachment.html


More information about the Spanish mailing list