Страница 2 из 2

Re: GeoWebCache, установка и настройка

Добавлено: 19 мар 2014, 12:06
Denis Rykov
Судя по GetCapabilities адрес вашего WMS-сервера:

Re: GeoWebCache, установка и настройка

Добавлено: 19 мар 2014, 14:13
Александр2014
Да, правильно WMC слои по адресу

Код: Выделить всё

http://localhost:8080/geoserver/cite/wms?SERVICE=WMS&
QGIS его видит и распознает, что там четыре слоя все подключает и работает, тут проблем нет.
Не могу понять, как подключиться именно к тайловому серверу, - GeoWebCache?
(изменение формулировки адреса на

Код: Выделить всё

http://localhost:8080/geoserver/cite/wms?
или

Код: Выделить всё

http://localhost:8080/geoserver/cite/wms?tile=true
ничего не дает, отображает так же как WMC слой без сохранения тайлов в КЭШе
Цель: сделать кеш тайлов на основе созданного сервера по формату SASPlanet

Re: GeoWebCache, установка и настройка

Добавлено: 20 мар 2014, 05:56
Denis Rykov
Есть же документация, что именно из неё не ясно?

Re: GeoWebCache, установка и настройка

Добавлено: 21 мар 2014, 09:58
Александр2014
Не могу составить код чтоб тайлы кешировались
Код отображающий карту но не кешируемый тайлы

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE WMT_MS_Capabilities SYSTEM "http://127.0.0.1:8080/geoserver/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd">
<WMT_MS_Capabilities version="1.1.1" updateSequence="110">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Vitiaz Example</title>
    <script
    src="http://127.0.0.1:8080/geoserver/www/OpenLayers/OpenLayers.js"></script>
    </head>
    <body>
      <div style="width:100%; height:100%" id="map"></div>
      <script defer="defer" type="text/javascript">
        var map = new OpenLayers.Map('map');
        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
    "http://localhost:8080/geoserver/cite/wms?SERVICE=WMS&tiled=true&",
    {layers: 'cite:ru_boundary-polygon,cite:setka,cite:Post'});
   map.addLayers([wms]);
    map.zoomToMaxExtent();
	      </script>
   </body> 
</html>
код из просмотра Tile Layers по запросу

Код: Выделить всё

http://127.0.0.1:8080/geoserver/gwc/demo/cite:Proba?gridSet=EPSG:4326&format=image/png
который кеширует тайлы

Код: Выделить всё

<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="imagetoolbar" content="no">
<title>cite:Proba EPSG:4326 image/png</title>
<style type="text/css">
body { font-family: sans-serif; font-weight: bold; font-size: .8em; }
body { border: 0px; margin: 0px; padding: 0px; }
#map { width: 85%; height: 85%; border: 0px; padding: 0px; }
</style>
<script src="../../openlayers/OpenLayers.js"></script>    
<script type="text/javascript">               
var map, demolayer;                               
  // sets the chosen modifiable parameter        
  function setParam(name, value){                
   str = "demolayer.mergeNewParams({" + name + ": '" + value + "'})" 
   // alert(str);                                   
   eval(str);                                    
  }                                              
OpenLayers.DOTS_PER_INCH = 90.71428571428572;
OpenLayers.Util.onImageLoadErrorColor = 'transparent';
function init(){
var mapOptions = { 
resolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625, 0.0439453125, 0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 6.866455078125E-4, 3.4332275390625E-4, 1.71661376953125E-4, 8.58306884765625E-5, 4.291534423828125E-5, 2.1457672119140625E-5, 1.0728836059570312E-5, 5.364418029785156E-6, 2.682209014892578E-6, 1.341104507446289E-6, 6.705522537231445E-7, 3.3527612686157227E-7],
projection: new OpenLayers.Projection('EPSG:4326'),
maxExtent: new OpenLayers.Bounds(-180.0,-90.0,180.0,90.0),
units: "degrees",
controls: []
};
map = new OpenLayers.Map('map', mapOptions );
map.addControl(new OpenLayers.Control.PanZoomBar({
		position: new OpenLayers.Pixel(2, 15)
}));
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.Scale($('scale')));
map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));
demolayer = new OpenLayers.Layer.WMS(
"cite:Proba","../service/wms",
{layers: 'cite:Proba', format: 'image/png' },
{ tileSize: new OpenLayers.Size(256,256)});
map.addLayer(demolayer);
map.zoomToExtent(new OpenLayers.Bounds(-180.0,41.1867802,180.0,82.0576893));
// The following is just for GetFeatureInfo, which is not cached. Most people do not need this 
map.events.register('click', map, function (e) {
  document.getElementById('nodelist').innerHTML = "Loading... please wait...";
  var params = {
    REQUEST: "GetFeatureInfo",
    EXCEPTIONS: "application/vnd.ogc.se_xml",
    BBOX: map.getExtent().toBBOX(),
    X: e.xy.x,
    Y: e.xy.y,
    INFO_FORMAT: 'text/html',
    QUERY_LAYERS: map.layers[0].params.LAYERS,
    FEATURE_COUNT: 50,
    Layers: 'cite:Proba',
    Styles: '',
    Srs: 'EPSG:4326',
    WIDTH: map.size.w,
    HEIGHT: map.size.h,
    format: "image/png" };
  OpenLayers.loadURL("../service/wms", params, this, setHTML, setHTML);
  OpenLayers.Event.stop(e);
  });
}
function setHTML(response){
    document.getElementById('nodelist').innerHTML = response.responseText;
};
</script>
</head>
<body onload="init()">
<div id="params"></div>
<div id="map"></div>
<div id="nodelist"></div>
</body>
</html>
Пробовал переделать под первый пример, не получается. Спотыкаюсь на переменной

Код: Выделить всё

var map, demolayer;                               
  // sets the chosen modifiable parameter        
  function setParam(name, value){                
   str = "demolayer.mergeNewParams({" + name + ": '" + value + "'})" 
   // alert(str);                                   
   eval(str);                                    
  }                              

Re: GeoWebCache, установка и настройка

Добавлено: 21 мар 2014, 14:22
Александр2014
Исправил код, все работает и кеширует

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE WMT_MS_Capabilities SYSTEM "http://10.11.20.77:8080/geoserver/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd">
<WMT_MS_Capabilities version="1.1.1" updateSequence="110">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Vitiaz Example</title>
    <script
    src="http://localhost:8080/geoserver/www/OpenLayers/OpenLayers.js"></script>
    </head>
    <body>
      <div style="width:100%; height:100%" id="map"></div>
      <script defer="defer" type="text/javascript">
        var map = new OpenLayers.Map('map');
        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
    "http://localhost:8080/geoserver/gwc/service/wms?SERVICE=WMS&tiled=true&",
    {layers: 'cite:Proba'});
   map.addLayers([wms]);
    map.zoomToMaxExtent();
	
      </script>
   </body> 
</html>
раньше ошибочно ставил

Код: Выделить всё

"http://localhost:8080/geoserver/gwc/service/cite/wms?SERVICE=WMS&tiled=true&",

Re: GeoWebCache, установка и настройка

Добавлено: 03 окт 2014, 14:33
Александр2014
Здравствуйте!
Скажите, а на новой версии GeoWebCache 1.6 есть возможность делать тайлы с MapServera?
Если есть, то подскажите как? Просто там нет файла WEB-INF\classes\geowebcache.xml, и в принципе не понятно какой файл формирует демо страничку http://localhost:8080/geowebcache/demo. :?

Re: GeoWebCache, установка и настройка

Добавлено: 09 окт 2014, 10:14
Александр2014
Установил geoverver 2.6
Никак не могу настроить встроенный gwc mapserver
адрес из строки браузера

Код: Выделить всё

http://localhost:8080/geoserver/gwc/demo/setka?gridSet=EPSG:900913&format=image/png
адрес одного тайла соответственно

Код: Выделить всё

http://localhost:8080/geoserver/gwc/service/wms?LAYERS=setka&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=5009377.085,7514065.6275,5635549.220625,8140237.763125&WIDTH=256&HEIGHT=256
по этому запросу geoserver выдает мол ждал картинку, а пришел текст

Код: Выделить всё

400: Empty metatile, error message: MimeType mismatch, expected image/png but got text/html from http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/test/test.map&
но если поменять начало запроса как и прописано в файле geowebcache.xml

Код: Выделить всё

http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/test/test.map&LAYERS=setka&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=5009377.085,7514065.6275,5635549.220625,8140237.763125&WIDTH=256&HEIGHT=256
mapserver выдает тайл как и положено
Подскажите пожалуйста, как можно посмотреть что именно отправляет геосервер на mapserver, или как можно посмотреть ответ mapserver, чтоб понять на что же он ругается?

Re: GeoWebCache, установка и настройка

Добавлено: 09 окт 2014, 12:17
Denis Rykov
Посмотреть логи веб сервера (Apache?) на котором установлен MapServer.

Re: GeoWebCache, установка и настройка

Добавлено: 09 окт 2014, 13:25
Александр2014
действительно, логи аппача что может быть проще :)
стоит сборка ms4w с аппечем соответственно

причина стала понятна на mapserver приходит некорректный запрос

Код: Выделить всё

localhost - - [09/Oct/2014:14:12:22 +0400] "GET /cgi-bin/mapserv.exe?BBOX=-20037508.34%2C-20037508.34%2C20037508.34%2C20037508.34&TRANSPARENT=TRUE&EXCEPTIONS=application%2Fvnd.ogc.se_xml&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&HEIGHT=512&LAYERS=setka&REQUEST=GetMap&STYLES=&WIDTH=512&SRS=EPSG%3A900913 HTTP/1.1" 200 580
ну и конечно же ответ будет, что не указан map файл, который на самом деле указан

Код: Выделить всё

<wmsUrl>
    <string>http://localhost /cgi-bin/mapserv.exe?map=/ms4w/apps/test/test.map&</string>
  </wmsUrl>
но почему-то geoserver режет все что после знака "?" Соответственно если знак вопроса убрать то mapserver не понимает запрос
Замкнутый круг :(
Это можно как-то обойти?

Re: GeoWebCache, установка и настройка

Добавлено: 09 окт 2014, 21:20
Denis Rykov
Напишите враппер - раз, два. Я делал по второму способу, используя Python mapscript - довольно просто. Но вы я смотрю на windows, как там ставится mapscript не знаю.