TinyOWS: идентификатор объекта в GML-ответе

Решенные задачи, первая запись - описание решения.
Ответить
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3335
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 498
Ваше звание: Author
Контактная информация:

TinyOWS: идентификатор объекта в GML-ответе

Сообщение Denis Rykov » 21 янв 2011, 13:51

TinyOWS - лёгкий, но в то же время довольно функциональный WFS-сервер, использующий в качестве источника данных PostGIS. При запросе данных в формате GML, в описании каждого объекта присутствует строка вида (пример из реального приложения):

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

<rk:buildings fid="buildings.2">
fid="buildings.2" - идентификатор объекта (Feature ID, FID). В случае использования TinyOWS FID формируется следующим образом: первая часть (до точки) - имя таблицы, вторая - первичный ключ (PK, Primary Key) этой таблицы. Предположим, что первичный ключ нашей таблицы - поле ogc_fid. В GML-ответе значение данного поля непосредственно не представлено, только как составная часть FID-a. Если, например, используется OL для визуализации WFS-слоя, принятого от TinyOWS, то чтобы запросить информацию, связанную с объектом и хранящуюся в другой таблице по его идентификатору, для получения этого самого идентификатора можно поступить следующим образом (feature - объект класса OpenLayers.Feature.Vector):

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

id = feature.fid.split(".")[0]
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Рецепты»