Соединяет точку данных групповых алармов с формой в средстве просмотра карт GIS. |
Краткое описание
void PVSSLinkSumAlertToShape(string strDefinition); |
Параметры
Параметры | Описание |
strDefinition | Форма, с которой будет связана точка данных «_SumAlertPanel», и имя этой точки данных. См. пример ниже. |
Описание
Средство GIS Viewer может принимать состояния предупредительных сигналов от точек данных _SumAlertPanel и использовать их для изменения цвета соответствующих форм. Вызовите метод PVSSSetSumAlertPanels для загрузки списка точек данных _SumAlertPanel в средство GIS Viewer. Это должен быть список точек данных _SumAlertPanels, которые необходимо связать с формами в средстве просмотра карт GIS Viewer. Выполните команду запроса dpQuery() или, например, dpQueryConnectSingle для получения цветов предупредительных сигналов точек данных и передачи результата запроса в средство GIS Viewer путем вызова функции ‘PVSS_ReceiveSumAlertStatus’. Затем используйте функцию «PVSSLinkSumAlertToShape» для связи точки данных с формой. |
ПРИМЕР |
Нижеследующий код используется для передачи имен всех точек данныхSumAlertPanel в средство GIS Viewer, запроса цветов предупредительных сигналов этих точек и и отправки этих данныхв средство GIS Viewer при помощи функции PVSSReceiveSumAlertStatus. Код так же устанавливает связь формы «Austria» на слое «COUNTRY» с точкой данных PVSS_SumAlertPanel.При возникновении предупредительного сигнала, форма «Austria» начнет мигать. |
main()
{
dyn_string strDefinition;
dyn_string color;
// Пользователь может задать точки данных SumAlertPanel, которые должны «обрабатываться» в средстве GIS Viewer
// ‘process’
// На данном примере имена всех точек данных просто передаются
// в средство просмотра карт GIS
dyn_string strTest = dpNames(«*», «_SumAlertPanel»);
GisViewer_ewo1.PVSSSetSumAlertPanels((string)strTest);
// Теперь можно создать «карту» связи формы
// с определенной точкой данных _SumAlertPanel
strDefinition = makeDynString(«COUNTRY@NAME@Austria@System1:Panel1_1»);
// ^^ Слой
// ^^ Поле
// ^^ Значение поля
// ^^ Имя точки данных _SumAlertPanel
GisViewer_ewo1.PVSSLinkSumAlertToShape(strDefinition);
// Теперь создадим запрос, который отправит цвета предупредительных сигналов
// точек данных _SumAlertPanel в средство GisViewer
string strQuery = «SELECT ‘.Warning:_alert_hdl.._act_state_color’, ‘.Alert:_alert_hdl.._act_state_color’, ‘.Danger:_alert_hdl.._act_state_color’ FROM ‘*’ WHERE(_DPT = \»_SumAlertPanel\»)»;
dpQueryConnectSingle(«CallBackSumAlertPanel», «MyId», strQuery);
}
void CallBackSumAlertPanel(string strID, dyn_dyn_anytype a)
{
string strLine;
string strOneLine;
// Преобразуем полученный формат dyn_dyn_anytype в более удобный тип
// чтобы средство GIS Viewer могло его использовать
for(int t = 2; t <= dynlen(a); t++)
{
if(t > 2)
strLine += «|»;
// Средство GIS Viewer получает список, где каждая строка выглядит так:
// <dp>,<warning color>,<alert color>,<danger color>
strOneLine = a[t][1] + «,» + a[t][2] + «,» + a[t][3] + «,» + a[t][4];
strLine += strOneLine;
}
// Передача (форматированных) точек данных и цветов в средство GIS Viewer
GisViewer_ewo1.PVSSReceiveSumAlertStatus(strLine);
DebugN(«status of the sum alert panel data points:»,strLine);
}
Используется для объекта:
Средство просмотра карты геоинформационной системы (GIS) |
См. также