На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Создание объекта на карте

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebService
Страницы: Пред. 1 2 3 След.
RSS
Создание объекта на карте, Создание точки или объекта на карте и графическое отображение
 
1) Нет. Правильно запрос выглядит так SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=guestmap&BBOX=%bbox&HEIGHT=%h&WIDT­H=%w&CRS=%crs&dt=%dt
4) Не ограничено. После 999999 будет 1 000 000
5) Возможно в семантике. И увидеть и передать.
 
Цитата
Владимир Железняков написал:
1) Нет. Правильно запрос выглядит так SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=guestmap&BBOX=%bbox&HEIGHT=%h&WIDT ­H=%w&CRS=%crs&dt=%dt
Достаточно просто в админке поменять параметр на этот? Или что-то еще? Почему-то с такой строкой по-прежнему выводит картинку из кеша, а не напрямую с сервера.
 
Проверьте какие запросы у вас посылаются к слою через ф12 GetMap или GetTile.
 
Цитата
Владимир Железняков написал:
Проверьте какие запросы у вас посылаются к слою через ф12 GetMap или GetTile.

Почему-то и то, и то присутствует в запросах:
Код
   
        // разбор адресной строки и формирование списка параметров
       function parseGetParams() { 
           var $_GET = {}; 
           var __GET = window.location.search.substring(1).split("&"); 
           for(var i=0; i<__GET.length; i++) { 
               var getVar = __GET[i].split("="); 
               $_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1]; 
           } 
           return $_GET; 
       }

       var settings = {
                   "appTitle":"Ногинский район",
                   "appDescription":"Справочная информация по Ногинскому району"
               };
var maptree = [{"id":"fon","text":"Фоновые карты","img":"","expanded":true,"nodes":[{"id":"worldmap","text":"Карта мира","clickable":true,"img":"ico_panorama"},{"id":"googleMap","text":"Google","clickable":true,"img":"ico_google"},{"id":"osmMap","text":"OpenStreetMap","clickable":true,"img":"ico_osm"}]},{"id":"map","text":"Карты","img":"","expanded":true,"nodes":[{"id":"dealers","text":"Дилеры КБ Панорама","clickable":true,"img":"icon-page"},{"id":"guestmap","text":"Инфраструктура","clickable":true,"img":"icon-page"},{"id":"Noginsk","text":"Noginsk","clickable":true,"img":"icon-page"}]}
]
var hm_options = [{"LayerName":"guestmap","alias":"Растительность","radius":256,"elemsize":50,"excodes":"71132100,22520000,62131000","palettecount":0,"palette":1796}];
var options = {
                 "url":"http://gis.devteam.npoavs.ru:10088/GISWebServiceSE/service.php",
                 "id":"dvMap",
                 "center":[55.843436,38.436089],
                 "tilematrix":13,
                 "crs":3857,
                 "tilematrixset":"GoogleMapsCompatible",
                 "mergewmslayers":false,
                 "showsettings":true,
                 "locale":"ru-ru",
                 "shortlegend":0,
                 "layers":[
                            {
                               "id":"googleMap",
                               "alias":"Google",
                               "selectObject":0,
                               "url":"http://mt1.google.com/vt/lyrs=m@250000000&hl=ru&src=app&x=%x&y=%y&z=%z&s=Galileo",
                               "hidden":1,
                               "opacityValue":0
                            },
                            {
                               "id":"osmMap",
                               "alias":"OpenStreetMap",
                               "selectObject":0,
                               "url":"http://b.tile.openstreetmap.org/%z/%x/%y.png",
                               "hidden":1,
                               "opacityValue":0
                            },
                            {
                               "id":"worldmap",
                               "alias":"Карта мира",
                               "selectObject":0,
                               "url":"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Worldmap&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
                               "opacityValue":0
                            },
                            {
                               "id":"dealers",
                               "alias":"Дилеры КБ Панорама",
                               "selectObject":1,
                               "url":"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=dealers&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png8",
                               "keyssearchbyname":["TOWN","COUNTRY"],
                               "opacityValue":0
                            },
                            {
                               "id":"guestmap",
                               "alias":"Инфраструктура",
                               "selectObject":1,
                               "url":"SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=guestmap&BBOX=%bbox&HEIGHT=%h&WIDTH=%w&CRS=%crs&dt=%dt",
                               "keyssearchbyname":["NAME"],
                               "legend":"*",
                               "opacityValue":0
                            },
                            {
                               "id":"Noginsk",
                               "alias":"Ногинский район",
                               "selectObject":1,
                               "url":"SERVICE=WMTS&REQUEST=GetMap&VERSION=1.3.0&LAYER=0001&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
                               "keyssearchbyname":["ObjName"],
                               "legend":"*",
                               "opacityValue":0
                            }
                          ],
                 "matrix":[
                            {
                              "id":"coverage1",
                              "alias":"Матрица высот на мир",
                              "url":"http://gis.devteam.npoavs.ru:10088/GISWebServiceSE/service.php?LAYER=world&METHOD=GETCOVERAGETILE&tilematrixset=%tilematrixset&tilerow=%tilerow&tilecol=%tilecol&tilematrix=%scale&service=WCS&format=wcs"
                            }
                 ],
                 "controls":["*"],
                 "url_addresssearch":["http://localhost/service/address.php?filter=","адреса в адресной базе"],
                 "url_addressatcoord":["http://geocode-maps.yandex.ru/1.x/?"],
                 "contenttree":maptree,
                 "sectionsURL":"http://localhost/geojson/GeoJSON.php",
                 "sectionsFname":"Sections.json",
                 "clusterifyURL":"http://localhost/geojson/GeoJSON.php",
                 "clusterifyFname":"RUS-MobileSpeedcams_Garmin.json",
                 "hm_options":hm_options,
                 "navigatorcontrol":{
                    "zoomStep":0,
                    "width":0,
                    "height":0,
                    "url":""
                 }
              };
var settings_mapEditor = {
                            "maplayersid":["guestmap","Noginsk"],
                            "functions":["*"]
                         };                    $(function () {
                        // локализация шапки
                        w2utils.locale('locale/gwsse/' + options.locale + '.json');
                        $("#gws_name").text(settings.appTitle);
                        $("#gws_description").text(settings.appDescription);
                        $('#developlink').html(w2utils.lang('KB Panorama'));
                        $('#enterlink').text(w2utils.lang('Enter'));
                        $('#exitlink').text(w2utils.lang('Exit'));
                        if (options.layers.length == 0) {
                            w2alert(w2utils.lang('No layers are defined!'));
                        }
                        else {
                            // инициализация приложения
                            initApp();
                        }
                    });
                      // разбираем параметры запроса и вносим изменения в options
               var get_params = parseGetParams();
               if ('b' in get_params && 'l' in get_params) {
                  // широта, долгота
                   options.center[0] = get_params['b'];
                   options.center[1] = get_params['l'];
               }
               if ('z' in get_params) {
                   // zoom
                   options.tilematrix = get_params['z'];
               }
               if ('layers' in get_params) {
                  // отображение слоев
                  var layers = get_params['layers'].split(',');
                  for (var i = 0; i < options.layers.length; i++) {
                      if (layers.indexOf(options.layers[i]['id']) == -1) {
                          options.layers[i]['hidden'] = 1;
                      }
                      else {
                          options.layers[i]['hidden'] = 0;
                      }
                  }
               }        
    
 
Если речь про слой "Ногинский район" (LAYER=0001), то вы не изменили запрос к нему. Он продолжает запрашиваться по WMTS:

Код
                            {
                               "id":"Noginsk",
                               "alias":"Ногинский район",
                               "selectObject":1,
                               "url":"SERVICE=WMTS&REQUEST=GetMap&VERSION=1.3.0&LAYER=0001&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
                               "keyssearchbyname":["ObjName"],
                               "legend":"*",
                               "opacityValue":0
                            }


Измените для этого слоя параметр URL на:

Код
SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=0001&BBOX=%bbox&HEIGHT=%h&WIDT­H=%w&CRS=%crs&dt=%dt 
 
Цитата
admin написал:
Если речь про слой "Ногинский район" ( LAYER=0001 ), то вы не изменили запрос к нему. Он продолжает запрашиваться по WMTS:
Код
                             {
                               "id":"Noginsk",
                               "alias":"Ногинский район",
                               "selectObject":1,
                               "url":"SERVICE=WMTS&REQUEST=GetMap&VERSION=1.3.0&LAYER=0001&STYLE=default&TILEMATRIXSET=%tilematrixset&TILEMATRIX=%z&TILEROW=%y&TILECOL=%x&FORMAT=image/png",
                               "keyssearchbyname":["ObjName"],
                               "legend":"*",
                               "opacityValue":0
                            } 


Измените для этого слоя параметр URL на:
Код
 SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&FORMAT=image/png&LAYERS=0001&BBOX=%bbox&HEIGHT=%h&WIDT­H=%w&CRS=%crs&dt=%dt  С
Спасибо! Это работает, теперь обновляется сразу.
 
Скажите, а возможно ли передать о добавляемом объекте некоторую дополнительную информацию (несколько текстовых строк)?
И самое главное, увидеть отображение этой дополнительной информации на карте при выделении объекта?
Может, имеется возможность отображения всплывающих окошек при наведении курсора?
 
Цитата
researcher написал:
Скажите, а возможно ли передать о добавляемом объекте некоторую дополнительную информацию (несколько текстовых строк)?
И самое главное, увидеть отображение этой дополнительной информации на карте при выделении объекта?
Может, имеется возможность отображения всплывающих окошек при наведении курсора?
При добавлении объекта я пишу данные в поля gml:name и gml:description:
Код
...
<gml:name>Новый GML объект</gml:name>
<gml:description>Новый GML объект описание</gml:description>
... 
но на карте отображения этой информации найти не могу.
Также по запросу localhost/GISWebServiceSE/service.php?REQUEST=GetFeature&version=2.0.0&service=wfs&TypeNames=bsd:Vegetation&count=0 также этой информации не выводится, где ее можно увидеть на карте у созданного объекта?

Создаю объект таким запросом:
Код
<wfs:Transaction
version="2.0.0"
service="WFS"
handle="Transaction 1"
xmlns:bsd="http://www.gisinfo.net/bsd"
xmlns:wfs="http://www.opengis.net/wfs/2.0"
xmlns:fes="http://www.opengis.net/fes/2.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.gisinfo.net/bsd
http://www.gisinfo.net/bsd/topomap.xsd
http://www.opengis.net/wfs/2.0
http://schemas.opengis.net/wfs/2.0.0/wfs.xsd
http://www.opengis.net/gml/3.2
http://www.opengis.net/gml/3.2.1/gml.xsd">

<wfs:Insert handle=”Signature 1”>
<bsd:Vegetation gml:id="Ногинский район">
<bsd:VegetationCode>71211100</bsd:VegetationCode>
<gml:name>Новый GML объект</gml:name>
<gml:description>Новый GML объект описание</gml:description>
<gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
<gml:pos srsDimension="2">55.825519
38.442400</gml:pos>
</gml:Point>
</bsd:Vegetation>
</wfs:Insert>
</wfs:Transaction>
 
Цитата
researcher написал:
Скажите, а возможно ли передать о добавляемом объекте некоторую дополнительную информацию (несколько текстовых строк)?
И самое главное, увидеть отображение этой дополнительной информации на карте при выделении объекта?
Может, имеется возможность отображения всплывающих окошек при наведении курсора?

Вот пример транзакции для добавления семантик:

<?xml version="1.0" encoding="utf-8" ?>
<wfs:Transaction version="2.0.0" service="WFS" handle="Transaction replace" xmlns:bsd="http://www.gisinfo.net/bsd" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gisinfo.net/bsd http://www.gisinfo.net/bsd/topomap.xsd http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0.0/wfs.xsd http://www.opengis.net/gml/3.2 http://www.opengis.net/gml/3.2.1/gml.xsd" >
<wfs:Replace handle="replace_0002_247811">
<fes:Filter><fes:ResourceId rid="Ногинский район:247811"/>
</fes:Filter>
<bsd:Hydrography gml:id="id247811">
<bsd:HydrographyCode>31131000</bsd:HydrographyCode>
<gml:name>Новое имя</gml:name>
<bsd:ObjState>ДЕЙСТВУЮЩИЙ</bsd:ObjState>
<bsd:АbsoluteHeight>600</bsd:АbsoluteHeight>
<gml:Polygon srsName="urn:ogc:def:crs:EPSG:4326"><gml:exterior><gml:LineString>
<gml:posList srsDimension="2" count="7">55.8493973279 38.3440020484 55.8584546355 38.3438303871 55.857780201 38.3623697816 55.8552749987 38.3585930219 55.8537333785 38.3567047815 55.849686213129615 38.35275650023734 55.8493973279 38.3440020484</gml:posList>
</gml:LineString>
</gml:exterior>
</gml:Polygon>
</bsd:Hydrography>
</wfs:Replace>
</wfs:Transaction>

Для данного объекта добавится новое состояние - ДЕЙСТВУЮЩИЙ
И Абсолютная высота - 600

Все семантики, которые необходимо добавить/обновить должны передаваться с соответствующим кодом (описанным в схеме xsd) (в данном примере ObjState и АbsoluteHeight) и соответствующим схеме пространстве имен (в данном примере bsd).
Возможности показа всплывающих окон при наведении нет, только при клике мышкой появляется соответствующая панель с информацией по объекту. Список возможных семантик слоя также представлен в схеме слоя.
Изменено: Владимир Железняков - 18.07.2017 15:30:43
 
Цитата
researcher написал:
Цитата
 researcher  написал:
Скажите, а возможно ли передать о добавляемом объекте некоторую дополнительную информацию (несколько текстовых строк)?
И самое главное, увидеть отображение этой дополнительной информации на карте при выделении объекта?
Может, имеется возможность отображения всплывающих окошек при наведении курсора?
При добавлении объекта я пишу данные в поля gml:name и gml:description:
Код
 ...
<gml:name>Новый GML объект</gml:name>
<gml:description>Новый GML объект описание</gml:description>
... 
 
но на карте отображения этой информации найти не могу.
Также по запросу localhost/GISWebServiceSE/service.php?REQUEST=GetFeature&version=2.0.0&service=wfs&TypeNames=bsd:Vegetation&count=0 также этой информации не выводится, где ее можно увидеть на карте у созданного объекта?

Создаю объект таким запросом:
Код
 <wfs:Transaction
version="2.0.0"
service="WFS"
handle="Transaction 1"
xmlns:bsd="http://www.gisinfo.net/bsd"
xmlns:wfs="http://www.opengis.net/wfs/2.0"
xmlns:fes="http://www.opengis.net/fes/2.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.gisinfo.net/bsd
http://www.gisinfo.net/bsd/topomap.xsd
http://www.opengis.net/wfs/2.0
http://schemas.opengis.net/wfs/2.0.0/wfs.xsd
http://www.opengis.net/gml/3.2
http://www.opengis.net/gml/3.2.1/gml.xsd">

<wfs:Insert handle=”Signature 1”>
<bsd:Vegetation gml:id="Ногинский район">
<bsd:VegetationCode>71211100</bsd:VegetationCode>
<gml:name>Новый GML объект</gml:name>
<gml:description>Новый GML объект описание</gml:description>
<gml:Point srsName="urn:ogc:def:crs:EPSG:4326">
<gml:pos srsDimension="2">55.825519
38.442400</gml:pos>
</gml:Point>
</bsd:Vegetation>
</wfs:Insert>
</wfs:Transaction>
 

Все семантики и описания должны передаваться согласно схеме. Смотрите мой ответ выше.
Для доступа к объекту вы должны указать параметр количества запрашиваемых объектов выставленным хотя бы в 1 localhost/GISWebServiceSE/service.php?REQUEST=GetFeature&version=2.0.0&service=wfs&TypeNames=bsd:Vegetation&count=1
Страницы: Пред. 1 2 3 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности