Нужна помощь: подружить OL (или leaflet) c tinyows

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
lenny314156
Интересующийся
Сообщения: 35
Зарегистрирован: 27 июл 2013, 21:47
Репутация: 6

Нужна помощь: подружить OL (или leaflet) c tinyows

Сообщение lenny314156 » 01 июл 2015, 16:36

Здравствуйте.

Возникла необходимость редактировать данные через браузер (wfs-t), решил попробовать tinyows. Установил, настроил, когда обращаюсь к серверу по адресу типа http://myserver/tinyows?service=WFSбла-бла-бла - все ок, вижу данные своего слоя.

Когда пытаюсь подключить в leaflet/OL - на сервер улетает пустой запрос вида "http://myserver/tinyows?&", соответственно, tinyows ругается на отсутствующие параметры.

tinyows.xml:

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

<tinyows online_resource="http://localhost/tinyows"
         schema_dir="/tinyows/schema/">

  <pg host="127.0.0.1" user="postgres" password="postgres" dbname="gis" port="5432"/>

  <metadata name="TinyOWS Test Server"
            title="TinyOWS Test Server" />

  <layer retrievable="1"
         writable="1"
         ns_prefix="test"
         ns_uri="http://myserver/tinyows/"
         name="test_data"
         title="test points" />

</tinyows>
./tinyows --check:

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

TinyOWS version:   1.1.0
FCGI support:      No
Config File Path:  /etc/tinyows.xml (TinyOWS XML)
PostGIS Version:   1.5.3
PostGIS dsn:       host=127.0.0.1 user=postgres password=postgres dbname=gis port=5432 
Output Encoding:   UTF-8
Database Encoding: UTF8
Schema dir:        /tinyows/schema/
Display bbox:      Yes
Estimated extent:  No
Check schema:      Yes
Check valid geoms: Yes
Available layers:
 - public.test_data (4326) -> test:test_data [RW]
OL описано так:

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

 function init(){
   var lat = lat,
    lon = lon,
    zoom = 13,
    map = new OpenLayers.Map('map'),
    osmMap = new OpenLayers.Layer.OSM('OpenStreetMap'),
    lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")),
    layerSwitcher = new OpenLayers.Control.LayerSwitcher(),
    layerTest = new OpenLayers.Layer.Vector('test_layer', {  
     strategies: [new OpenLayers.Strategy.Fixed()],
     protocol: new OpenLayers.Protocol.WFS({
      version: '1.1.0',
      url: 'http://myserver/tinyows',
      featurePrefix: 'test',
      featureType: 'test_data', 
      featureNS: 'http://myserver/tinyows', 
      geometryName: 'geom' // тут хранится геометрия
     }),
    });
    console.log(layerTest);
    console.log(layerTest.features);
    map.addLayers([osmMap, layerTest]);
    map.setCenter (lonLat, zoom);
    map.addControl(layerSwitcher);
   }
Помогите, плиз, как правильно подключить?

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

Re: Нужна помощь: подружить OL (или leaflet) c tinyows

Сообщение Denis Rykov » 02 июл 2015, 07:02

Spatial is now, more than ever, just another column- The Geometry Column.

kuzkok
Интересующийся
Сообщения: 34
Зарегистрирован: 21 янв 2011, 08:31
Репутация: 7
Откуда: Пермь

Re: Нужна помощь: подружить OL (или leaflet) c tinyows

Сообщение kuzkok » 02 июл 2015, 09:20

Попробуйте плагин к Leaflet Leaflet-WFST. Правда я его с tinyOWS не тестировал, только на geoserver.

Ответить

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

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

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