GeoWebCache: desalineación de mosaicos

9

Estoy tratando de probar un mapa web simple basado en la pila PostGIS / Geoserver / OpenLayers en Windows Server 2008.

Cuando cargo mi capa WMS:

var gwctest = new OpenLayers.Layer.WMS(
    "gwctest",
    "http://localhost:1979/geoserver/wms",
    {
    'layers': 'Index2000:index_vect_s100',
    'format': 'image/png',
    'srs': 'EPSG:3857', 
    'units': 'm',
    'transparent': true
    },
    {'opacity': 0.8, 'isBaseLayer': false, 'visibility': false}

);

Todo parece estar bien,

texto alternativo

Sin embargo, cuando intento agregar una capa WMS a mi mapa usando GeoWebCache, reemplazando

"http://localhost:1979/geoserver/wms"

con:

"http://localhost:1979/geoserver/gwc/service/wms"

Mis datos de repente se mueven desde la posición correcta:

texto alternativo

¿Alguna idea sobre cuál puede ser la causa?

EDITAR: información adicional sobre la publicación de la lista de correo de GWC .

radek
fuente
1
Parece un problema de cambio de datos. Es posible que necesite editar sus parámetros de proyección to_wgs si su wms está siendo reproyectado. trac.osgeo.org/proj/wiki/…
geographika
@geographika: ¿Por qué entonces la misma capa se visualizaría correctamente sin el modo GWC?
radek
1
¿Utiliza un archivo de configuración diferente para las proyecciones? Ver geoserver.org/display/GEOSDOC/5.+GWC+-+GeoWebCache
geographika
@geographika: Supongo que es una versión antigua de los documentos de GeoServer. Versión más nueva: geoserver.org/display/GEOSDOC/5.+GWC+-+GeoWebCache . Mi página de configuración de GeoWebCache dice que los mosaicos están listos en la proyección 3857, y este es un proyecto utilizado también por mi mapa web.
radek
¿alguna vez resolviste tu problema? Tengo un problema similar con un cambio mayor. Veo que Geographika habla sobre una publicación con solución final de causas en el foro de GWC, pero no encuentro esa publicación.
usuario28386

Respuestas:

4

Actualizar

Vea las respuestas a la publicación de Radek en el foro GWC para conocer la causa y la solución reales. Ahora entiendo por qué TileCache optó por mostrar errores como "El valor actual x -1311047.936977 está demasiado lejos de la esquina del mosaico x -1493907.560000" en lugar de devolver los mosaicos "más cercanos" dentro de un rango de error arbitrario.


¿Sus datos originales están en EPSG 3857? Si no, entonces es casi seguro que un cambio de referencia (no) está ocurriendo en alguna parte.

Intente cambiar su definición de OpenLayers para hacer referencia a EPSG: 900913, ¿tal vez GeoWebCache no reconoce el nuevo código web de mercator?

Desde el enlace que publicaste:

La versión integrada de GeoWebCache configura automáticamente cada capa con las dos proyecciones más comunes:

* EPSG:4326 (standard Latitude/Longitude)
* EPSG:900913 (Spherical Mercator, the projection used in Google Maps)

Si necesita proyecciones adicionales, puede crear un archivo de configuración llamado geowebcache.xml en el directorio de caché, por ejemplo /var/geoserver_data/gwc/geowebcache.xml

Parece que Geoserver y GeoWebCache usan diferentes archivos de proyección. Tal vez su Geoserver tiene un parámetro to_wgs y GWC no.

Cuando esté en Windows, ejecute Process Monitor: http://technet.microsoft.com/en-us/sysinternals/bb896645 para ver a qué archivos está realmente accediendo.

¿También supongo que las imágenes no se almacenaron en caché después de cambiar algunos parámetros de proyección? Intente reenviar / eliminar para verificar.

geographika
fuente
Gracias. Sí, los datos originales están en 3857. Parece que GWC reconoce este código: en la sección Demos de GWC hay tres proyecciones disponibles para usar: 3857, 4326, 900913. Y para el propósito de mi mapa estoy usando 3857. También probé con 900913 y el error permanece.
radek
Si sus datos originales están en 3857 sin un cambio de datos, entonces me imagino que no se realiza ninguna reproyección en GWC, y sus datos originales deben reproyectarse nuevamente.
geographika
4

¿Tiene el origen de mosaico correcto establecido para su OpenLayers.Map como en GeoWebCache. Compruebe cómo se configura TileOrigin en GeoWebCache-demo de la capa y asegúrese de tener el mismo TileOrigin en su OpenLayers.Map Constructor.

Peter
fuente
Gracias. Intenté configurarlo como: "tilesOrigin: map.maxExtent.left + ',' + map.maxExtent.bottom" donde maxExtent se configura de acuerdo con la demostración de GWC de la capa. Aún no es correcto.
radek
¿Cuáles son sus configuraciones de GWC? Puede que necesite ajustar las configuraciones de DPI en GWC o OpenLayers
Peter
Intenté ajustar la configuración de DPI de acuerdo con la vista previa de demostración de GWC de la capa. No ha ayudado
radek
3

La desalineación como esta es casi siempre un problema de proyección. ¿Los datos están almacenados en EPSG: 3857? Compruebe que la capa GeoWebCache está configurada para generar en EPSG: 3857.

Sean
fuente
Sí, el conjunto de datos está en 3857 y GWC también está configurado para ello.
radek
2

¿Has intentado borrar el caché?

Dave Lowther
fuente
Sí, lo hice.
radek