Геосервер и WMS - PullRequest
       14

Геосервер и WMS

3 голосов
/ 03 августа 2010

Мне нужна помощь. Я новичок в концепции Geoserver и WMS, и я ищу очень простую помощь. Я скачал и установил Geoserver, настроил слои и т. Д. (Включая sld), однако я не знаю, как перенести эту информацию отсюда на мой сайт. Как я уже говорил, я новичок в этом и не знаю, что я делаю, я пытался искать в Интернете пошаговую справку, но большинство просто упускают, как и что делать, когда вы загрузили и сохранили свои шейп-файлы Geoserver.

Любая помощь или указание в правильном направлении информации будет наиболее ценной.

Спасибо

Steve

Ответы [ 6 ]

5 голосов
/ 03 августа 2010

Geoserver может работать либо с использованием собственного веб-сервера (Jetty), либо в качестве «.war-архива» для Tomcat. То есть, чтобы развернуть его на своем веб-сервере, вам нужно будет установить программное обеспечение на фактическую машину, на которой размещен ваш веб-сайт (обычным способом будет развертывание архива .war, когда на вашем веб-сервере уже запущен tomcat).

Работа геосервера состоит в том, чтобы отображать листы карты в соответствии со спецификациями, предоставленными протоколом WMS. Чтобы включить эти плитки в ваш реальный веб-сайт и отобразить их в виде карты, вам потребуется клиентское приложение, такое как OpenLayers, которое обрабатывает все взаимодействие с пользователем.

http://docs.geoserver.org/stable/en/user/installation/war.html

http://geoserver.org/display/GEOSDOC/OpenLayers

2 голосов
/ 29 октября 2010

Я согласен с Релет. Просто запустите его, нажав на кнопку «Предварительный просмотр» в веб-интерфейсе Geoserver (внизу слева). Там вы можете просмотреть слой с открытыми слоями. Как только вы увидите там свой слой, просто посмотрите на HTML + JS-код страницы. Вы можете начать копирование и вставку оттуда ...

1 голос
/ 19 ноября 2014

Вы, вероятно, уже установили, что вам нужно добавить код OpenLayers / javascript на страницу HTML, где вы хотите, чтобы ваша карта была.Ниже приведена HTML-страница с некоторым базовым кодом OpenLayers, который добавляет карту на страницу.

Бит, который нужно посмотреть / использовать, - это затем OpenLayers / javascript из тега to.Вам необходимо заменить URL-адрес вашего Geoserver, а также рабочее пространство и имя слоя.Границы и maxResolution установлены для Англии и Уэльса, а проекция - для Британской национальной сетки, поэтому вам, возможно, придется изменить их на интересующую вас область.

Если вы не знакомы с javascript, тогдаХорошее место для начала: http://www.w3schools.com/js/default.asp,, а также документация OpenLayers.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="Description" content="Central-Geo">
<title>Map Test Page</title>


<style type="text/css" media="screen">
    html, body, div, header, footer, aside, nav, article, section   { margin: 0; padding: 0; }
    header, footer, aside, nav, article, section    { display: block; }
    body            { color: #333; font: 12px Helvetica, Arial, sans-serif; line-height: 18px; }
    h2              { color: #333; }
    a               { color: #337810; }
    p               { margin: 0 0 18px; }
    #container      { width: 760px; margin: 0 auto;}

    /* Header */
    header          { background: #006666; border-bottom: 2px solid #aaa; }
    header h1   { color: #fff; margin: 0 0 3px; padding: 24px 18px 0; }
    header p        { color: #ccc; font-size: 11px; font-weight: bold; padding: 0 18px; }

    /* Content Style */
    nav     { border-bottom: 1px solid #ccc; margin-right: 18px; }
    nav ul  { padding: 0 18px 9px; }
    #extra          { margin-left: 18px; }
    #extra small    { font-size: 11px; line-height: 18px; }
    #content        { border-bottom: 1px solid #ccc; margin-left: 18px; }
    #content p, #extra p { padding-right: 18px; }

    /* Content Positioning and Size */
    nav     { float: right; width: 175px; }
    #content        { float: left; width: 540px; }
    #extra          { float: left; width: 540px; }      /* Footer */
    footer          { background: #666; border-bottom: 2px solid #aaa; clear: left; width: 100%; }
    footer a        { color: #fff; }
    footer  p       { color: #ccc; margin: 0; padding: 0 18px 10px; }
    footer ul       { border-bottom: 1px solid #999; list-style: none; margin: 0 18px 6px; padding: 10px 0 6px; }
    footer li       { display: inline; font-size: 11px; font-weight: bold; padding-right: 5px; }

    .map            { height: 400px; width: 100%: margin: 0; padding: 0}

</style>
<!--[if IE]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

</head>
<body>
<div id="container">
    <header>
        <h1>Test Map Page heading</h1>
        <p class="description">A test page for a map</p>
    </header>
    <div id="wrapper">
        <section id="content">
            <h2>Map Heading Goes Here</h2>
    <div id="map" class="map">  
    <script src="http://openlayers.org/api/OpenLayers.js"></script>
    <script type="text/javascript">
    var bounds = new OpenLayers.Bounds(
                92599.19919326127, 1484.4293913718284,
                695626.1392662271, 670208.9526868482
            );
            var options = {
                maxExtent: bounds,
                maxResolution: 1700,
                projection: "EPSG:27700",
            };

            var map = new OpenLayers.Map('map', options);
            var wms = new OpenLayers.Layer.WMS(
                "Geoserver layers ", "http://urltoyourgeoserver/geoserver/yourworkspace/wms",
                {'layers': 'yourlayer',
                    styles: '',
                    format:'image/png'});

            map.addLayer(wms);
            map.zoomToMaxExtent();  
    </script>
    </div>
</div>
    <nav>
        <h2>Navigation Here</h2>
        <ul>
            <li><a href="">Navigation 1</a></li>
            <li><a href="">Navigation 2</a></li>
            <li><a href="">Navigation 3</a></li>
            <li><a href="">Navigation 4</a></li>
            <li><a href="">Navigation 5</a></li>
            <li><a href="">Navigation 6</a></li>
        </ul>
    </nav>
    <section id="extra">
        <h2>Extra Stuff Goes Here</h2>
        <p>Sometimes this would be called a <em>sidebar</em>, but it doesn't always have to be on the side to be called a <em>sidebar</em>. Sidebars can be on tops of things, below things, but they are usually beside things &ndash; hence it being a called a sidebar.</p>
        <p><small>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</small></p>

    </section>
    <footer>
        <ul>
            <li><a href="">Navigation 1</a></li>
            <li><a href="">Navigation 2</a></li>
            <li><a href="">Navigation 3</a></li>
            <li><a href="">Navigation 4</a></li>
            <li><a href="">Navigation 5</a></li>
            <li><a href="">Navigation 6</a></li>
        </ul>
        <p>Footer stuff goes here. Copyright, disclaimers &ndash; stuff like that.</p>
    </footer>
</div>

0 голосов
/ 10 января 2014

Итак, когда вы конфигурируете слой в Geoserver, его данные (большинство изображений для карты) передаются вам с помощью так называемой конечной точки URL.Это ссылка, где приложение запрашивает изображения (плитки) и создает карту для вас.Так будет, независимо от того, используете ли вы KML, Shapefiles базы данных Postgis.Сервер позаботится об этом и сделает визуальную информацию доступной через эту конечную точку.

Для Интернета наиболее популярным является OpenLayers, ведь это библиотека Javascript, которая может управлять сложным процессом за вас, используя простой HTMLкак среда.

Хороший пример того, как они работают вместе: здесь .

Обратите внимание на строки, которые я выделил ниже:

 var ccounties = new OpenLayers.Layer.WMS(
                             "Counties of Colorado - Untiled", 
 "http://thisawsomesite.com:8080/geoserver/wms",
                             {
                                     width: '426',
                                     srs: 'EPSG:4269',
                                     layers: 'geosolutions:Counties',
                                     height: '512',
                                     styles: '',
                                     format:'image/png'**
                             },
                             {singleTile: true, ratio: 1}
             );

             map.addLayer(ccounties);

http://thisawsomesite.com:8080/geoserver/wms -> это URL сервера геосервера, который выдаст вам плитки.WMS - это служба, которая преобразует данные в эти изображения.

layer: 'geosolutions: Counties', -> сообщает геосерверу посредством запроса, что вам нужен слой "Counties"из рабочего пространства "геосолюшнс".Довольно просто, не правда ли?

** styles: '' -> здесь вы сообщаете название стиля, который я создал.

формат: 'image / png' -> Это формат изображения (чаще всего используются image / png или image / jpeg, но их больше).Просто помните, что jpeg обычно меньше, но png - это вариант, когда вам нужны настройки прозрачности / непрозрачности.

srs - проекция.Я не помню, что это нужно здесь.Проекция карты по умолчанию должна выполняться, если ее оставить.

Если вы не знаете, как создать приложение OpenLayers, Geoserver предоставит вам пример слоев, которые у вас есть.Перейдите в Layer Preview, в левом меню и нажмите «OpenLayers», чтобы увидеть простой пример.Вы заметите, что есть несколько вариантов получения информации в меню рядом с этой ссылкой.

Другие ссылки, которые вы можете найти полезными:

dev.openlayers.org / Releases / OpenLayers-2.13.1 / examples / getfeatureinfo-control.html dev.openlayers.org/releases/OpenLayers-2.13.1/examples/ dev.openlayers.org/apidocs/files/OpenLayers-js.html

Я надеюсь, что этобыло полезно.See'ya

0 голосов
/ 10 декабря 2013

при добавлении файла формы в геосервер вам предложили выбрать рабочее место для его хранения

После этого перейдите на Слой и нажмите добавить новый слой выберите место, куда вы добавили данные и укажите SRS, например, EPSG : 100

Compute the Bounding Box

and click Publish.

THen go to Layer Preview Find the layer you just published 101 clicke OPenlayer

0 голосов
/ 25 октября 2013

Я создал тестовую веб-страницу и затем назвал слои, которые я использую на этой тестовой странице.

Base = new OpenLayers.Layer.WMS ("CMA Info - Streets", "http://test.com/geoserver/test/gwc/service/wms", {layer: "Base_test", прозрачный: true, формат: "image / gif", буфер: 0}, tiled: true}

        );
        Base.isBaseLayer = true;
        Base.setOpacity(1);
        Base.setVisibility(true);
        Base.displayOutsideMaxExtent = 0;
        map.addLayers([Base]);
        //map.setOptions(zoomLevel = 19);
...