PostGIS + TinyOWS

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
sdikiy
Участник
Сообщения: 54
Зарегистрирован: 15 янв 2011, 23:03
Репутация: 1
Откуда: Ukraine

PostGIS + TinyOWS

Сообщение sdikiy »

Есть таблица с несколькими колонками геометрий. Приблизительно так:

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

CREATE TABLE foo
(
  id integer NOT NULL DEFAULT nextval('foo_id_seq'::regclass),
  the_geom_point geometry,
  the_geom_line geometry,
  CONSTRAINT foo_pkey PRIMARY KEY (id),
  CONSTRAINT enforce_dims_the_geom_point CHECK (st_ndims(the_geom_point) = 2),
  CONSTRAINT enforce_dims_the_geom_line CHECK (st_ndims(the_geom_line) = 2),
  CONSTRAINT enforce_geotype_the_geom_point CHECK (geometrytype(the_geom_point) = 'POINT'::text OR the_geom_point IS NULL),
  CONSTRAINT enforce_geotype_the_geom_line CHECK (geometrytype(the_geom_line) = 'LINESTRING'::text OR the_geom_line IS NULL),
  CONSTRAINT enforce_srid_the_geom_point CHECK (st_srid(the_geom_point) = 900913),
  CONSTRAINT enforce_srid_the_geom_line CHECK (st_srid(the_geom_line) = 900913)
)
TinyOWS - должен справиться с такой таблицей?
Или я что-то делаю не так?

Спасибо
sdikiy
Участник
Сообщения: 54
Зарегистрирован: 15 янв 2011, 23:03
Репутация: 1
Откуда: Ukraine

Re: PostGIS + TinyOWS

Сообщение sdikiy »

Похоже, дело не в нескольких геометриях, с этим все нормально.
Проблемы возникают если в названии таблицы есть под_черкивание.

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

[ERROR] Element '{http://www.opengis.net/wfs}Query', attribute 'typeName': [facet 'pattern'] The value 'tows:foo_foo' is not accepted by the pattern '((\w:)?\w(=\w)?){1,}'.
это особенности WFS или TinyOWS?
sdikiy
Участник
Сообщения: 54
Зарегистрирован: 15 янв 2011, 23:03
Репутация: 1
Откуда: Ukraine

Re: PostGIS + TinyOWS

Сообщение sdikiy »

в общем, пришлось покорежить файл wfs.xsd
Сделал как написано тут:
https://portal.opengeospatial.org/files ... t_id=33885

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

-      <xsd:restriction base="wfs:Base_TypeNameListType">
-         <xsd:pattern value="((\w:)?\w(=\w)?){1,}">
+      <xsd:restriction base="xsd:string">
+         <xsd:pattern value="([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(=\w+)?(,\s*([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*(=\w+)?)*">
все заработало...
Но не уверен, что это оптимальный вариант. Кто что думает?
sdikiy
Участник
Сообщения: 54
Зарегистрирован: 15 янв 2011, 23:03
Репутация: 1
Откуда: Ukraine

Re: PostGIS + TinyOWS

Сообщение sdikiy »

из рассылки tinyows-dev@lists.maptools.org никто не отвечает, поэтому забросил все поделки на bitbucket
http://hg.gisfiber.com/tinyows/
возможно кому то пригодится...
Ответить

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

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

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