OpenLayer и MapServer, нужна помощь.

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Aleksfoss
Новоприбывший
Сообщения: 8
Зарегистрирован: 01 дек 2016, 09:29
Репутация: 0

OpenLayer и MapServer, нужна помощь.

Сообщение Aleksfoss » 05 дек 2016, 05:31

Доброго времени суток, кто может подсказать почему в OpenLayer не отображается рисунок из mapserver
OpenLayer:

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

<html>
<head>
  <title>OpenLayers Example</title>
    <script
    src="C:\ms4w\apps\tinyows\demo\OpenLayers-2.13.1\OpenLayers.js"></script>
<script type="text/javascript">
        var lat = 900863;
        var lon = 235829;
        var zoom = 6;
        var map, layer;

        function init(){
            map = new OpenLayers.Map( 'map' );
            var basemap = new OpenLayers.Layer.WMS( "lab1",
                "http://127.0.0.1:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/example/polt.map&",
                {
                 map: "http://127.0.0.1:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/example/polt.map&",
                 layers: 'izoline',
                 format: 'png',
                 transparent: 'off'
                },
		
                {
                  maxExtent: new OpenLayers.Bounds( 23660000, 5600000, 23676000, 5616000),
                  maxResolution: 296985/1024, // Можно также указать "auto" - автоматически
                                              // растянуть карту
                  projection:'auto',     // Код будет использоваться в запросах к WMS/WFS серверу.
                  units: "m"                  // Нужно для работаты с масштабами.
                  } );

            map.addLayer(basemap);
       //     map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.zoomToMaxExtent();
            map.addControl(new OpenLayers.Control.LayerSwitcher());
        }
    </script>
    </head>
    <body onload="init();">
      <div style="width:100%; height:100%" id="map"></div>
</body>
</html>
MapServer:

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

MAP
  NAME "WMS"
  STATUS ON
  IMAGETYPE      PNG
  EXTENT         23660000 5600000 23676000  5616000
# 23657659 5598458 23676280 5616218
  SIZE           800 600
  SHAPEPATH      "c:/ms4w/apps/example/shp/"
  IMAGECOLOR     255 250 250
 FONTSET	"fonts/fonts.list"
#   Внутри MAP-объекта определяются новые объекты - слои (LAYER).
#   Обязательно нужно определить по крайней мере один слой.
#   Количество слоев ограничено сверху (по умолчанию - не больше 100 слоев),
#   если нужно большее количество слоев, придется перекомпилировать
#   MapServer (см. заголовочный файл map.h)

WEB
  TEMPLATE "template.html"
  IMAGEPATH "C:/ms4w/Apache/htdocs/images/"
  IMAGEURL "/images/"
  METADATA
    wms_title "demo"
    wms_abstract "demo"
    wms_onlineresource "http://127.0.0.1:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/example/polt.map&"
    wms_getfeatureinfo "http://127.0.0.1:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/example/polt.map&"
    wms_featureinformation "text/plain"
   wms_enable_request "GetMap GetFeatureInfo"
    wms_srs "EPSG:4326"
  END
END
LAYER # Определяем полигональный слой
 CLASSITEM    "Изолинии"
  NAME izoline
  DATA Izolinii_lines.SHP
  STATUS ON
  METADATA
    wms_title "izoline"
    wms_abstract "izoline"
  END
  TYPE Line
  TEMPLATE "dummy"
  # Внутри объекта LAYER определяются классы (объекты CLASS).
  # Необходимо определить как минимум один класс.
  # По умолчанию можно определить не более 10 классов.
  # При необходимости большего количества классов, необходимо перекомпилировать MapServer.
   CLASS
      NAME       "Изолинии100"
      EXPRESSION '100' # Выражение, определяющее класс
      STYLE
        COLOR        12 200 12
      END
    END
 CLASS
      NAME       "Изолинии200"
      EXPRESSION '200' # Выражение, определяющее класс
      STYLE
        COLOR        255 255 0
      END
    END
CLASS
      NAME       "Изолинии300"
      EXPRESSION '300' # Выражение, определяющее класс
      STYLE
        COLOR        139 69 19
      END
    END
CLASS
      NAME       "Изолинии20"
      EXPRESSION '20' # Выражение, определяющее класс
      STYLE
        COLOR        255 137 255
      END
    END
CLASS
      NAME       "Изолинии40"
      EXPRESSION '40' # Выражение, определяющее класс
      STYLE
        COLOR        216 191 216
      END
    END
CLASS
      NAME       "Изолинии60"
      EXPRESSION '80' # Выражение, определяющее класс
      STYLE
        COLOR        255 192 203
      END
    END
CLASS
      NAME       "Изолинии120"
      EXPRESSION '120' # Выражение, определяющее класс
      STYLE
        COLOR        255 0 0
      END
    END
CLASS
      NAME       "Изолинии280"
      EXPRESSION '280' # Выражение, определяющее класс
      STYLE
        COLOR        255 160 122
      END
    END
CLASS
      NAME       "Изолинии260"
      EXPRESSION '260' # Выражение, определяющее класс
      STYLE
        COLOR        210 180 140
      END
    END
CLASS
      NAME       "Изолинии160"
      EXPRESSION '160' # Выражение, определяющее класс
      STYLE
        COLOR        0 255 255
      END
    END
CLASS
      NAME       "Изолинии240"
      EXPRESSION '240' # Выражение, определяющее класс
      STYLE
        COLOR        132 112 255
      END
    END
CLASS
      NAME       "Изолинии220"
      EXPRESSION '220' # Выражение, определяющее класс
      STYLE
        COLOR        85 107 47
      END
    END
CLASS
      NAME       "Изолинии140"
      EXPRESSION '140' # Выражение, определяющее класс
      STYLE
        COLOR        218 165 32
      END
    END
CLASS
      NAME       "Изолинии180"
      EXPRESSION '180' # Выражение, определяющее класс
      STYLE
        COLOR        238 213 210
      END
    END
CLASS
      NAME       "Изолинии130"
      EXPRESSION '130' # Выражение, определяющее класс
      STYLE
        COLOR        238 238 209
      END
    END

 END # Конец определения полигонального слоя
 LAYER # Определяем линейный слой
LABELITEM    "name"   # подписи хранятся в поле 
  NAME river
  DATA reki_lines.SHP
  STATUS ON
  TYPE LINE
    CLASS
      NAME "Реки"
      STYLE
        COLOR        12 12 12
      END
      LABEL
ANGLE Auto
        COLOR 132 26 22
        SHADOWCOLOR 218 184 218
        SHADOWSIZE 2 2
        TYPE TRUETYPE
        SIZE 7
        ANTIALIAS TRUE
        POSITION Auto #(C,U,L)
        PARTIALS False
        MINDISTANCE 100
        BUFFER 1
        ENCODING CP1251
   END # Конец определения стиля
  END # Конец определения класса
 END # Конец определения линейного слоя
Вложения
Снимок экрана 2016-12-05 в 12.52.27.png
приложение 1
Снимок экрана 2016-12-05 в 12.52.27.png (740.4 КБ) 5244 просмотра
Последний раз редактировалось Aleksfoss 05 дек 2016, 05:56, всего редактировалось 1 раз.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Denis Rykov » 05 дек 2016, 05:42

В консоли браузера что-нибудь видно? И ещё, OpenLayers 2 больше не развивается, если вы начинаете новый проект, а не занимаетесь поддержкой легаси кода, то используйте OL3.
Spatial is now, more than ever, just another column- The Geometry Column.

Aleksfoss
Новоприбывший
Сообщения: 8
Зарегистрирован: 01 дек 2016, 09:29
Репутация: 0

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Aleksfoss » 05 дек 2016, 05:50

как бы в браузере сам рисунок отображается, но почему то при увеличении делится на маленькие изображения

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Denis Rykov » 05 дек 2016, 06:07

Так сложно сказать, попробуйте на всякий случай в режиме Single Tile, добавив в четвёртую группу параметров WMS:

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

singleTile: true,
ratio: 1
Spatial is now, more than ever, just another column- The Geometry Column.

Aleksfoss
Новоприбывший
Сообщения: 8
Зарегистрирован: 01 дек 2016, 09:29
Репутация: 0

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Aleksfoss » 05 дек 2016, 06:58

Решило проблему с делением, теперь рисунок цельный, правда не увеличивает изображение.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Denis Rykov » 05 дек 2016, 07:11

Значит что-то с проекциями/разрешениями напутали.
Spatial is now, more than ever, just another column- The Geometry Column.

Aleksfoss
Новоприбывший
Сообщения: 8
Зарегистрирован: 01 дек 2016, 09:29
Репутация: 0

Re: OpenLayer и MapServer, нужна помощь.

Сообщение Aleksfoss » 05 дек 2016, 08:33

Скорее всего, буду искать. Благодарю за помощь.

Ответить

Вернуться в «Я новичок!»

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

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