<div dir="ltr"><div><div><div><div>Hola Juanjo, <br><br></div>Lo mejor y recomendable es que la reproyección la haga el servidor WMS. Si tu tienes el control del WMS puedes agregar los EPSG que quieras y en OpenLayers (OL) trabajar siempre con el mismo EPSG así todo te irá mejor.<br>
<br></div>En el caso que no puedas manipular el WMS puede intentar probar con una "pseudo reproyección" en OpenLayers. Para esto necesitarás la librería proj4js. OJO que esto es una chapuzilla que sirve para sortear en estos casos de que quieres mostrar capas de WMS en diferentes EPSG. <br>
<br></div>Para esto puedes sobreescribir el getFullRequestString de la capa WMS. Lo que hace este código es reproyectar las coordenadas de la esquinas de las imagenes para pedir al WMS los getMap en el EPSG que soporta. Esto en muchos casos causa que se vean saltos entre teselas y dependiento de la escala de visualización hay desplazamientos. <br>
<br></div>Aqui te dejo el código por si lo quieres usar bajo tu propio riesgo, puedes probar a ver que tal te queda tu mapa.<br><div><br>OpenLayers.Layer.WMS.prototype.getFullRequestString = function(newParams, altUrl){<br>
var projectionCode = this.map.getProjection();<br> if (this.params.SRS){<br> if (this.params.SRS != projectionCode){<br> var point1 = new OpenLayers.LonLat(newParams.BBOX[0], newParams.BBOX[1]);<br>
point1 = point1.transform(new OpenLayers.Projection(projectionCode), new OpenLayers.Projection(this.params.SRS));<br> var point2 = new OpenLayers.LonLat(newParams.BBOX[2], newParams.BBOX[3]);<br> point2 = point2.transform(new OpenLayers.Projection(projectionCode), new OpenLayers.Projection(this.params.SRS));<br>
newParams.BBOX[0] = point1.lon;<br> newParams.BBOX[1] = point1.lat;<br> newParams.BBOX[2] = point2.lon;<br> newParams.BBOX[3] = point2.lat;<br> }else{<br>
this.params.SRS = (projectionCode == "none") ? null: projectionCode;<br> }<br> }else{<br> this.params.SRS = (projectionCode == "none") ? null: projectionCode;<br> }<br>
return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this, arguments);<br> };<br><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 7 de mayo de 2013 02:33, martinmaximilianoflores <span dir="ltr"><<a href="mailto:martinmaximilianoflores@yahoo.com.ar" target="_blank">martinmaximilianoflores@yahoo.com.ar</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Lo mejor es definir la proyección en el servidor wms, la cual tendría que ser<br>
la misma en la que esta el mapa de OP.<br>
<br>
En mapserver podes especificar la proyección en la que servira aunque las<br>
capas esten en otra.<br>
<br>
saludos.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://osgeo-org.1560.x6.nabble.com/FW-duda-proyeeccion-al-a-adir-wms-tp5051555p5051736.html" target="_blank">http://osgeo-org.1560.x6.nabble.com/FW-duda-proyeeccion-al-a-adir-wms-tp5051555p5051736.html</a><br>
Sent from the OSGeo Spanish Local Chapter mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Spanish mailing list<br>
<a href="http://lists.osgeo.org/mailman/listinfo/spanish" target="_blank">http://lists.osgeo.org/mailman/listinfo/spanish</a><br>
<a href="http://es.osgeo.org" target="_blank">http://es.osgeo.org</a><br>
<a href="http://twitter.com/osgeoes" target="_blank">http://twitter.com/osgeoes</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Saludos,<br><br>Bolo<br><a href="http://www.geoinquiets.cat" target="_blank">www.geoinquiets.cat</a><br>
</div>