Я нахожусь в процессе разработки приложения webGIS с использованием GeoServer (2.1.1), GeoWebCache (1.2.6), OpenLayers (2.11), GeoExt.Все мои слои подаются как wms через GeoWebCache.Пример определения для любого слоя выглядит следующим образом:
var My_Layer = new OpenLayers.Layer.WMS( "My_Layer",
"http://my-ip + my-port/geoserver/gwc/service/wms",
{layers: 'layer-name',transparent: "true",format: "image/png",
tileSize: new OpenLayers.Size(256,256),
tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom },
{ isBaseLayer: false, visibility:false} );
До этого момента все работало нормально.Но когда я планировал продвинуться немного вперед и попытался внедрить модуль MapFish Printing ...... выходной pdf пустой !!!Я получаю следующее сообщение об ошибке:
java.io.IOException: ошибка (состояние = 400) при чтении изображения из ........
Я много искал.Согласно этот один вариант заключается в том, чтобы получить доступ к моим слоям как к слою TMS.Но я не хочу, чтобы слой статического изображения использовался вместо слоя карты GeoServer WMS.
Снова найден другой вариант здесь используется OpenLayers.Control.ExportMap (). Но это ограничивает использование разных масштабов, так как мой объем данных слишком велик.В результате в определенном масштабе, если пользователь хочет сделать отпечаток всей области карты (может быть на бумаге формата A0), которая не полностью видна в элементе Openlayers, это не может решить задачу.
Таким образом, вопрос в том, как я могу это сделать, не используя слой TMS или GeoWebCache?
Редактировать # 1: Извините, я опоздал, так как меня не было на работе.Ниже приведен мой файл config.yaml.Я чувствую, что нет ошибки, это может напечатать мои слои WMS, поступающие непосредственно из GeoServer.
dpis: [75, 150, 300]
outputFormats:
- pdf
scales:
- 10000
- 25000
- 50000
- 100000
hosts:
- !localMatch
dummy: true
- !ipMatch
ip: www.camptocamp.org
- !dnsMatch
host: labs.metacarta.com
port: 80
- !dnsMatch
host: terraservice.net
port: 80
- !dnsMatch
host: sigma.openplans.org
- !dnsMatch
host: demo.mapfish.org
layouts:
A4 portrait:
metaData:
title: 'Arunava TopoMap PDF'
author: 'Arunava print module'
subject: 'Map layout'
keywords: 'map,print'
creator: 'Arunava'
mainPage:
pageSize: A4
rotation: true
items:
- !text
text: '${mapTitle} ${now MM.dd.yyyy}'
fontSize: 20
spacingAfter: 30
- !map
spacingAfter: 30
width: 440
height: 600
- !scalebar
type: bar
maxSize: 100
barBgColor: white
fontSize: 8
align: right
- !text
font: Helvetica
fontSize: 9
align: right
text: '1:${scale}'
footer: *commonFooter
A2 portrait:
metaData:
title: 'Arunava TopoMap PDF'
author: 'Arunava print module'
subject: 'Map layout'
keywords: 'map,print'
creator: 'Arunava'
mainPage:
pageSize: A2
rotation: true
items:
- !text
text: '${mapTitle} ${now MM.dd.yyyy}'
fontSize: 20
spacingAfter: 30
- !map
spacingAfter: 30
width: 880
height: 1200
- !scalebar
type: bar
maxSize: 100
barBgColor: white
fontSize: 8
align: right
- !text
font: Helvetica
fontSize: 9
align: right
text: '1:${scale}'
footer: *commonFooter