MApServer+TileCache+OpenLayers

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
pilotza
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 ноя 2011, 09:44
Репутация: 0

MApServer+TileCache+OpenLayers

Сообщение pilotza » 01 ноя 2011, 10:15

Здравствуйте.
Видимо избитая тема.., но столкнулся с проблемами, которые до сих пор не могу решить или просто не вижу решения.

Есть shp файлы, в которых нужная нам информация, есть map файл для WMS сервера на основе MapServer и в качестве вэб отображения OpenLayers. Ах да..., есть еще TileCache при помощи которого пытаюсь сделать тайловый вывод наших shp файлов.

Конфиги следующие:
map файл :

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

MAP
  NAME "WMS"
  STATUS ON
  IMAGETYPE   PNG
  TRANSPARENT ON
  
  OUTPUTFORMAT
    NAME "png"
	DRIVER "AGG/PNG"
	MIMETYPE "image/png"
	IMAGEMODE RGB
	EXTENSION "png"
	#FORMATOPTION "INTERLACE=OFF"
 END
  
  extent -180 -90 180 90
  SIZE           1024 768
  SHAPEPATH      "/ms4w/shp/"
  UNITS DD
  IMAGECOLOR     255 255 255
  
WEB
    #TEMPLATE  './templates/template.html'
    IMAGEPATH '/ms4w/tmp/ms_tmp/'
    IMAGEURL  '/ms_tmp/'
	   METADATA
	       wms_title             "MapServ demo"
		   wms_abstract          "This is the test"
		   wms_onlineresource    "http://localhost/fcgi-bin/mapserv.exe?map=c:/ms4w/maps/layers.map"
		   wms_srs               "ESPG:4326"
		   wms_getfeatureinfo    "http://localhost/fcgi-bin/mapserv.exe?map=c:/ms4w/maps/layers.map"
		   wms_featureinfoformat "text/plain"
		   wms_format            "image/png"
		   "ows_enable_request"   "*"
	    END
END

PROJECTION
   "proj=latlong"
   "ellps=WGS84"
   "datum=WGS84"
END

#layer
#   name fire
#   PROCESSING "CLOSE_CONNECTION=DEFER"
#   status default
#   TYPE          POLYGON
#   TILEINDEX "/ms4w/shp/index.shp"
#   TILEITEM "LOCATION"
#   
#      PROJECTION
#	    "proj=latlong"
#		"ellps=WGS84"
#		"datum=WGS84"
#	  END
#   METADATA
#	   wms_title         "fire"
#	   wms_abstract      "fire test"
#	   wms_srs           "ESPG:4326"
#	 END	  
#	 
#END

LAYER 
     NAME         line1
	 DATA ISOLINES_20111010_0
	 STATUS        ON
     TYPE          POLYGON
	  PROJECTION
	    "proj=latlong"
		"ellps=WGS84"
		"datum=WGS84"
	  END
	TRANSPARENCY 30
	 CLASS
      NAME       line1
       STYLE
         WIDTH 1
		 COLOR        0 255 0
		 ANTIALIAS true
       END
     END
	 
	 METADATA
	   wms_title         "line1"
	   wms_abstract      "line1 test"
	   wms_srs           "ESPG:4326"
	   #wms_include_items "all"
	 END
	 
  END # Конец определения слоя
  
LAYER
   NAME line2
   
   TYPE POLYGON
   STATUS ON
   DATA ISOLINES_20111010_1
TRANSPARENCY 30
    PROJECTION
	    "proj=latlong"
		"ellps=WGS84"
		"datum=WGS84"
	END
	
   CLASS 
     NAME Line2
     STYLE
	 WIDTH 1
     COLOR 123 245 18
   END 
 END
 
    METADATA
	   wms_title         "line2"
	   wms_abstract      "line2 test"
	   wms_srs           "ESPG:4326"
	 END
 
END  #Конец слоя

LAYER
    NAME line3
	
    TYPE POLYGON
   STATUS ON
   DATA ISOLINES_20111010_2
   TRANSPARENCY 30
   PROJECTION
        "proj=latlong"
		"ellps=WGS84"
		"datum=WGS84"
   END
   
  CLASS 
    NAME Line3
    STYLE	 
	  WIDTH 1
	  COLOR 255 236 9
    END
  END
  
     METADATA
	   wms_title         "line3"
	   wms_abstract      "line3 test"
	   wms_srs           "ESPG:4326"
	 END
  
END  #Конец слоя

LAYER
    NAME line4
	
    TYPE POLYGON
   STATUS ON
   DATA ISOLINES_20111010_3
TRANSPARENCY 30
    PROJECTION
	    "proj=latlong"
		"ellps=WGS84"
		"datum=WGS84"
	END
   
  CLASS 
    NAME Line4
    STYLE	 
	  WIDTH 1
	  COLOR 253 107 4
    END
  END
   
     METADATA
	   wms_title         "line4"
	   wms_abstract      "line4 test"
	   wms_srs           "ESPG:4326"
	 END
   
END  #Конец слоя
  
  LAYER
    NAME line5
	
    TYPE POLYGON
    STATUS ON
    DATA ISOLINES_20111010_4
 TRANSPARENCY 30
    PROJECTION
	    "proj=latlong"
		"ellps=WGS84"
		"datum=WGS84"
    END
 
  CLASS 
    NAME Line5
    STYLE	 
	  WIDTH 1
	  COLOR 255 0 0
    END
  END
  
     METADATA
	   wms_title         "line5"
	   wms_abstract      "line5 test"
	   wms_srs           "ESPG:4326"
	 END
  
 END  #Конец слоя
 END
Теперь кофиг tilecache.cfg :

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

[cache]
type=Disk
base=C:/ms4w/tmp/tilecache


[line]
type=WMSLayer
layers = line1,line2,line3,line4,line5
srs=ESPG:4326
url=http://localhost/fcgi-bin/mapserv.exe?map=c:/ms4w/maps/layers.map
extension = png
size=256,256
bbox=-180.0,-90.0,180.0,90.0
debug=on
Ну и наконец html :

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

<HTML>
<HEAD>
<TITLE>Тестовые карты горимости</TITLE>
<title>OpenLayers Example</title>
    <script src="OpenLayers.js"></script>
</HEAD>
<body>

<A HREF="http://localhost/virtual.html">Virtual Earth</A>
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
        
		var map = new OpenLayers.Map('map');
		
		map.addControl(new OpenLayers.Control.OverviewMap());
		map.addControl(new OpenLayers.Control.MousePosition());
		map.addControl(new OpenLayers.Control.LayerSwitcher());
        
		var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'});//, sphericalMercator : 'true'} );
		var cLayer = new OpenLayers.Layer.WMS( "CacheLayer", "http://localhost/cgi-bin/tilecache/tilecache.cgi?", {transparent: 'true', layers: ['Fire'], format: 'png'});
		var lms1 = new OpenLayers.Layer.WMS( "Fire 1", "http://localhost/fcgi-bin/mapserv.exe?map=/ms4w/maps/layers1.map", {transparent: 'true', layers: 'line1', format: 'png'});
		var lms2 = new OpenLayers.Layer.WMS( "Fire 2", "http://localhost/fcgi-bin/mapserv.exe?map=/ms4w/maps/layers2.map", {transparent: 'true', layers: 'line2', format: 'png'});
		var lms3 = new OpenLayers.Layer.WMS( "Fire 3", "http://localhost/fcgi-bin/mapserv.exe?map=/ms4w/maps/layers3.map", {transparent: 'true', layers: 'line3', format: 'png'});
		var lms4 = new OpenLayers.Layer.WMS( "Fire 4", "http://maps.mapmakers.ru/fcgi-bin/mapserv.exe?map=/ms4w/maps/layers4.map", {transparent: 'true', layers: 'line4', format: 'png'});
		var lms5 = new OpenLayers.Layer.WMS( "Fire 5", "http://localhost/fcgi-bin/mapserv.exe?map=/ms4w/maps/layers5.map", {transparent: 'true', layers: 'line5', format: 'png'});
		//var WMS_C_Server = new OpenLayers.Layer.WMS("WMK WMS-C Server 0.1","http://localhost/wms-c.php",{layers: ['line1','line2','line3','line4','line5'], format: "PNG"});
		//map.addLayers([wms, cLayer]);
		map.addLayers([lms1, lms2, lms3, lms4, lms5, wms, cLayer]);
		//map.addLayers([lms1, lms2, lms3, lms4, lms5, wms, WMS_C_Server]);
        map.zoomToMaxExtent();
      
</script>
	  
	  <script type="text/javascript">
        var lon = 35;
        var lat = 59;
        var zoom = 7;
        var map, layer;

        function init(){
            OpenLayers.DOTS_PER_INCH = 72;
            var options = {

                            minResolution: "auto",
                            minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
                            maxResolution: "auto",
                            maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
                            controls: [new OpenLayers.Control.MouseDefaults()]
                          };

            map = new OpenLayers.Map( 'map' , options);
            map.addControl(new OpenLayers.Control.PanZoomBar());
			
            layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
                    "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'});

            map.addLayer(layer);
            map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
        }
</script>
</body>
</HTML>
Вместо localhost наш внутренний или внешний IP.
Во вложении то, что получается. Вопрос, что происходит не так? Материала перелопачено много
Вложения
screen.jpg
Скриншот результата
screen.jpg (98.9 КБ) 7297 просмотров

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: MApServer+TileCache+OpenLayers

Сообщение Максим Дубинин » 01 ноя 2011, 11:29

так а что не так то припишите? что-то не показывается? проблема какая?
пристегивайтесь, турбулентность прямо по курсу

pilotza
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 ноя 2011, 09:44
Репутация: 0

Re: MApServer+TileCache+OpenLayers

Сообщение pilotza » 01 ноя 2011, 11:43

Не показывает тайлы. Вместо тайлов розовые квадратики. ТО что вы видите на скрине вверху справа - это отрисовка моих слоев , но без тайлового вывода - рендеринг MapServer. Но это очень медленно..., а тайлов нет

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: MApServer+TileCache+OpenLayers

Сообщение Mavka » 01 ноя 2011, 12:08

Розовый тайл - правой кнопкой - копировать адрес изображения - открываете новое окно в браузере - вставляете в строку адреса - получаете сообщение об ошибке

Дополнительно - см. логи apache

tilecache.cfg - type=WMS
лангольеры под окном жрали время ом-ном-ном

pilotza
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 ноя 2011, 09:44
Репутация: 0

Re: MApServer+TileCache+OpenLayers

Сообщение pilotza » 01 ноя 2011, 12:11

Спасибо, буду смотреть

pilotza
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 ноя 2011, 09:44
Репутация: 0

Re: MApServer+TileCache+OpenLayers

Сообщение pilotza » 01 ноя 2011, 12:18

Как говорится сам дурак. Обычная синтаксическая ошибка ESPG -EPSG - теперь все ок

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость