Дополнительно права доступа к данным сервера можно ограничить пространственным фильтром, состоящим из одного или нескольких полигональных объектов, хранящихся в одном из слоев на сервере. В этом случае при наличии прочих прав пользователь имеет доступ только к тем графическим объектам, которые удовлетворяют условию пространственного фильтра.
![]() | Предупреждение |
|---|---|
|
Для ZuluGIS Online и ZuluGIS Mobile (а также всех zws слоев) необходимо дополнительно включить использование пространственного фильтра в настройках ZuluServer. |

Рисунок 22. Пример пространственного фильтра
Информация о пространственных ограничениях доступа к данным той или иной папки, содержится в секциях restricted-area файла .zsaccess, расположенного в этой же папке. При этом ограничения распространяются на все данные этой папки.
В секции restricted-area параметрами user и group указывается, на кого распространяется пространственное ограничение. Параметры user и group могут встречаться в каждой секции restricted-area многократно.
Если секция restricted-area не содержит параметров user или group, то указанное пространственное ограничение относится к любому пользователю, обратившемуся к данным.
Параметр criterium задает условие пересечения с полигональным объектом и может принимать следующие значения:
Таблица 5. Значения criterium
|
Значение |
Описание |
|---|---|
|
full-inside |
объект полностью расположен внутри полигона |
|
full-or-part-inside |
объект полностью или частично расположен внутри полигона |
|
full-outside |
объект полностью расположен вне полигона |
|
full-or-part-outside |
объект полностью или частично расположен вне полигона |
Если критерий не указан, по умолчанию принимается full-inside.
Секция region, входящая в секцию restricted-area, описывает местонахождение полигонов для фильтра.
Параметр layer секции region содержит полный или относительный (относительно данной папки) путь к слою, в котором находятся полигональные объекты.
Параметр id секции region содержит список ключей ID (разделенных пробелами) полигональных объектов из указанного слоя. Параметр id может встречаться в каждой секции region многократно.
Каждая секция restricted-area может содержать несколько секций region.
Пользователь или группа могут входить в несколько секций restricted-area. В этом случае полигоны, составляющие область ограничения для данного пользователя, объединяются, а критерием пересечения с объединенной областью будет критерий из последней секции restricted-area, относящейся к данному пользователю.
![]() | Предупреждение |
|---|---|
|
Оставить область видимой для пользователя, но при этом просто ограничить редактирование, можно с помощью параметра allow draw, добавленного в секцию restricted-area. |
# Фрагмент файла .zsaccess
<restricted-area>
user ivanov
<region>
layer ..\regions\district1.zl
id 3 7
</region>
<region>
layer ..\regions\district2.zl
id 1
</region>
criterium full-inside
allow draw
</restricted-area>
<restricted-area>
user ivanov sidorov
user petrov
<region>
layer ..\regions\district1.zl
id 10
</region>
criterium full-inside
</restricted-area>
<restricted-area>
group restricted
<region>
layer ..\regions\district2.zl
id 5 7
id 6
</region>
criterium full-outside
</restricted-area>