RUS  ENG 

Топология сети по ZWS

Страницы: 1
RSS
Топология сети по ZWS, Как получить топологию сети по протоколу ZWS
 
Добрый день.
Подскажите каким образом можно собрать связи объектов используя протокол ZWS?
На карте присутствует теплосеть целого города.
Всего порядка 54К объектов.

Пробовал собрать данные используя ZWS-запрос LayerFindConnected.
Запрашивая данные для объектов "Источники" получаю порядка 25К связанных объектов.
Видимо возвращается вся сеть.
Подскажите можно ли как-то отфильтровать объекты на уровне запроса?

Например, вот в этой теме есть то что нам нужно, но это решение только для макросов/плагинов:
https://www.politerm.com/forums/?PAGE_NAME=read&FID=7&TID=4497&TITLE_SEO=449...


Правильно ли я понимаю что по ZWS можно получать только всю сеть для каждого запрашиваемого ID?
В этом случае мне придется для каждого объекта делать отдельный запрос, так как при запросе для списка ID получаю смешанный список связей.
без группировки по запрашиваемому ID.
 
Запрос LayerGetIncidentElements также принимает на вход только один ElemID.
Я правильно понимаю что нельзя запросить данные для нескольких объектов, дабы уменьшить кол-во запросов к серверу Zulu?
 
Цитата
Денис Кузнецов написал:
Запрос LayerGetIncidentElements также принимает на вход только один ElemID.
Я правильно понимаю что нельзя запросить данные для нескольких объектов, дабы уменьшить кол-во запросов к серверу Zulu?
Добрый день. В объектной модели COM есть метод, который всю топологию присылает. Как раз именно (https://www.politerm.com/zuludoc/zuluax/index.html#NetworkObjects_cls.html).
В ZWS таких методов сейчас нет. Не было необходимости.
LayerFindConnected - это не то. Это все кто находится в одной подсети с указанным объектом, а не те с кем он непосредственно связан.
Опишите, как по Вашему должен выглядеть запрос и что он должен присылать.
 
Запрос LayerGetIncidentElements всем устраивает, кроме того момента что приходится опрашивать объекты по одному.
Возможность передать список ID и в ответе получить данные для всех была бы очень полезна. Позволило бы сильно сократить кол-во запросов.

Также заметил что связи объектов можно установить если сравнивать координаты объектов, начало и конец участков.
Можете ли вы подтвердить что это будет корректно? Или же в где-то хранятся связи по ID объектов?
Проверил содержимое БД и файлов в которые распаковывается карта со слоями, нигде не нашел возможности связать объекты по ID.
 
Цитата
Денис Кузнецов написал:
Запрос LayerGetIncidentElements всем устраивает, кроме того момента что приходится опрашивать объекты по одному.
Возможность передать список ID и в ответе получить данные для всех была бы очень полезна. Позволило бы сильно сократить кол-во запросов.

Также заметил что связи объектов можно установить если сравнивать координаты объектов, начало и конец участков.
Можете ли вы подтвердить что это будет корректно? Или же в где-то хранятся связи по ID объектов?
Проверил содержимое БД и файлов в которые распаковывается карта со слоями, нигде не нашел возможности связать объекты по ID.{jhjij?
Групповой запрос по соседям сделаем.

Графическая база в бинарных файлах хранится. Не в таблицах. В общем случае координаты не обязаны совпадать. Реализация периодически меняется, так что лучше все через программный интерфейс.
 
Цитата
Денис Кузнецов написал:
Запрос LayerGetIncidentElements всем устраивает, кроме того момента что приходится опрашивать объекты по одному.
Возможность передать список ID и в ответе получить данные для всех была бы очень полезна. Позволило бы сильно сократить кол-во запросов.
Добавили в тот же метод задание списка ID. Соответственно в <Elements> будет несколько <Element>

<?xml version="1.0" encoding="UTF-8"?>
<zulu-server service="zws" version="1.0.0">
<Command>
<LayerGetIncidentElements>
<Layer>test:test</Layer>
<ElemID>13828 13820 5678 12345</ElemID>
</LayerGetIncidentElements>
</Command>
</zulu-server>
Страницы: 1