RUS  ENG 

Сергей Попов (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Как программно подключиться к zuluserver
 
Спасибо! Теперь всё работает как надо.
P.S. Предложение, может добавить описание пути с пользователем ZuluServer и учётными данными Windows в раздел справки [URL=https://politerm.com/zuludoc/index.html#zuluax/MapDoc_Open.html]ZuluGIS 2021 - Open method (MapDoc) (politerm.com)[/URL], мне кажется это полезная информация.
Как программно подключиться к zuluserver
 
Это я знаю, но хотелось бы использовать учётные данные Windows, чтобы путь для всех пользователей был один (без конкретного пользователя), а при подключении брались учётные данные из сеанса пользователя (AD). Это невозможно?
Как программно подключиться к zuluserver
 
Добрый день! Версия клиента 10.0.0.8571u.x64. При подключении к ZuluServer из стороннего приложения используется путь формата: zulu://1.1.1.1:6473/map.zmp, подразумевается, что для авторизации будут использованы учётные сведения windows. Если на ПК, на котором запускается приложения, в настройках ZuluGIS добавлено соединение с сервером (1.1.1.1) и в качестве способа авторизации выбран "Учётные сведения Windows", то всё работает, если же такие настройки не сделаны, то возникает ошибка авторизации (клиент подключается к серверу как anonimus). Есть ли возможность прописать в пути к серверу какой-то параметр, чтобы авторизация происходила без настроек соединения в ZuluGIS?
Поиск объекта слоя по координатам
 
Спасибо, этот метод отрабатывает как мне надо.
Вопрос для общего развития, почему метод, даже когда находит элемент, возвращает retPoint = null?
Поиск объекта слоя по координатам
 
Задача: на слое А есть символьный объект ОБЪЕКТ, необходимо на слое Б создавать символьные объекты МЕТКИ в непосредственной близости от него в идеале было бы в точке с координатами центра объекта ОБЪЕКТ, но Zulu не даёт создать несколько МЕТОК с одинаковыми координатами на одном слое. Для решения этой задачи был придуман простой алгоритм, перед рисованием МЕТКИ в точке с координатами X,Y проверяется наличие другой МЕТКИ в этой точке методом Layer.ElemIDByXY, если МЕТКА есть, то точка смещается на заданную величину и снова осуществляется проверка наличия метки, если в новой точке метка не обнаружена, то создаём новую метку.
Но данный алгоритм не работает, тк при смене координат метод Layer.ElemIDByXY продолжает возвращать ID МЕТКИ находящейся в центре и только по достижению достаточно большой дельты (30 метров от центральной точки) возвращает -1.
Подскажите, в чём может быть проблема?

Лог смещения точки:

X:-56100 Y:9210 radius:10 angle:0 element ID:13
X:-56105.4402111089 Y:9191.60928470924 radius:10 angle:10 element ID:13
X:-56090.8705474927 Y:9204.08082061813 radius:10 angle:20 element ID:13
X:-56109.8803162409 Y:9201.54251449888 radius:10 angle:30 element ID:13
...
X:-53619.4630982338 Y:10887.2867803002 radius:3000 angle:290 element ID:-1
Использование MS SQL Server в качестве источника данных (аутентификация пользователя)
 
Дмитрий,
"Заполнить логин и пароль не в строке соединения, а в свойствах источника данных ZuluGIS. Опцию "Использовать учетные сведения ZuluServer" там же отключить." - сейчас именно так и настроено, пароль прописан, но похоже что ZuluServer не использует его при обращении к СУБД.
Использование MS SQL Server в качестве источника данных (аутентификация пользователя)
 
Дмитрий, спасибо за ответ.
Дело было действительно в опции сервера "Передавать учётные сведения на сервер СУБД".
Закомментировал dbms-auth-pass: all в DataSrc.cfg.
Теперь новая проблема, имя пользователя берется из формы настройки источника данных, а пароль нет.
Результат: Login failed for user 'zulu'. Reason: Password did not match that for the login provided. State 8.

Подскажите, куда ещё можно посмотреть?
Использование MS SQL Server в качестве источника данных (аутентификация пользователя)
 
При использовании MS SQL Server в качестве источника данных возникла проблема с подключением. В конфигурации ZuluServer настроена строка подключения с использованием SQL Server Native client 11, для аутентификации на SQL server используется учетная запись SQL Server,
логин и пароль прописаны в строке соединения и поставлена галка "Разрешить сохранение пароля". В поля пользователь и пароль формы настройки соединения введены эти же данные. Галочка "Использовать учетные сведения ZuluServer" снята. Однако при обращении к данным из Zulu используются имя пользователя и пароль, под которыми открыта карта (учетные сведения ZuluServer).
Подскажите, что я делаю не так?

ZuluServer 8.0.0.7290
Удаление элемента не используя визуальные компоненты
 
Алексей, приношу свои извинения, дело было в логике нашей программы, теперь все работает. Спасибо за ответ!
Удаление элемента не используя визуальные компоненты
 
Задача: удалить с заданного слоя элемент с определенным Id не используя визуальные компоненты.

Использую следующую функцию:

var map = new MapDoc();
map.Open(MapSettings.MapPath);
var layer = map.Layers[layerId];
var result = layer.DeleteElement(elementId);

result = 0, но элемент не удаляется.

Подскажите, пожалуйста, что я делаю не так?

Карта опубликована на сервере, версия 8.0.0.7221u
ExecCommand
 
Добрый день! В программе написанной на VB.NET пытаюсь выполнить команду ExecCommand("MapBookmarks", 0) результат: "Microsoft.VisualBasic - Адресат вызова создал исключение", версия Zulu последняя, пробывал и другие команды результат тот же. Подскажите пожалуйста в чем может быть проблема.Спасибо!
Временный слой
 
Будем ждать!
Временный слой
 
Снова возникла необходимость временного слоя с вышеописаным функционалом, в прошлый раз был придуман выход, но сейчас хотелось бы написать красивое решение. :) Отсюда вопрос, был ли добавлен такой объект в модель Zulu?
ElemIDByXY
 
Версия Zulu 6.0.0.3384
Код (VB.NET)
Private Function FindPairObjectBuildingV3(ByVal ZLayer As Layer) As ObjectBuildingsList
   '//ZLayer - слой содержащий объекты "Потребитель"
   Dim iD As Integer = 2
   Dim zpSys As ZPoint = Nothing
   Dim ekSys As ElementKeys
   Dim ekBuilding As ElementKeys
   Dim c As New ZuluLib.Contour
   Dim x(3) As Double
   Dim y(3) As Double
   Dim obl As New ObjectBuildingsList ' //Структура содержащая пару Потребитель - Дом
   Try
     ekSys = ZLayer.SelectByType(3, 0)
     For i = 1 To ekSys.Count
       zpSys = ZLayer.Elements(ekSys(i)).GetCenter
       '//Строим контур
       x(0) = zpSys.X - iD : y(0) = zpSys.Y - iD
       x(1) = zpSys.X + iD : y(1) = zpSys.Y - iD
       x(2) = zpSys.X + iD : y(2) = zpSys.Y + iD
       x(3) = zpSys.X - iD : y(3) = zpSys.Y + iD
       c.Fill(4, x(0), y(0))
       '//Находим дом пересекающийся с этим контуром
       '//ZuluMap.BuildingLayer - слой с домами
       ekBuilding = ZuluMap.BuildingLayer.IntersectByContour(c,  eCrossCriteria.eFullyOrPartialInside, 0)
       If ekBuilding IsNot Nothing AndAlso ekBuilding.Count > 0 Then _
         obl.Add(ekSys(i), ekBuilding(1))
     Next
   Catch ex As Exception
     MSGErr(ex)
   End Try
   Return obl
End Function
Кусочек слоя подготовлю, подскажите, на какой e-mail его удобнее послать?
ElemIDByXY
 
Доброго времени суток!
Есть два слоя, на одном расположены типовые объекты "Потребители", а на другом примитивы "Дома".
Задача: в базе данных потребителей проставить ID дома поверх которого он нарисован.
Решение: найти объект дом в контур которого попадают координаты объекта потребитель
Вариант1. Метод слоя IntersectByLayer. Работает быстро, но есть момент, координаты потребителя, могут немного не поподать в контур дома (дрогнула рука художника :)), таким образом некоторое количество потребителей осталось без домов;
Вариант2. Метод слоя GetClosestElementByXY. Отработал на 5, но долго, отсюда и возникла идея попробовать вариант3;
Вариант3. Метод слоя IntersectByContour. Идея: беру координаты потребителя (x,y), строю квадратный контур(x-2,y-2; x+2,y-2; x+2,y+2; x-2,y+2), при помощи метода нахожу ключи всех объектов удовлетворяющих критерию пересечения eFullyOrPartialInside.
Отработал быстро, но
1.Находит далеко не все дома (значительно меньше чем вариант1);
2.При многократном запуске количество найденых домов различное.
Подскажите, что я делаю не так, очень хочется разобраться с данным методом?
Временный слой
 
Большое спасибо!
Временный слой
 
А есть надежда на появление временного слоя? Создать для каждого клиента папку, ето значит что у каждого клиента будет свой слой с которым он будет работать, я правильно Вас понял?
Временный слой
 
Проблема в том что программа многопользовательская... Каждый пользователь должен видеть только те объекты слоя которые он построил в данном сеансе работы, другие пользователи видеть их не должны, по выходу пользователя все нарисованные объекты удаляются, грубо говоря слой на карте нужен только для того чтобы хранить описания типов объектов и режимы... К сетям этот слой также не имеет никакого отношения - сети отображаются на другом слое, в этой задаче слой с сетями необходим только для вычисления координат объектов которые рисуются на временном слое... Если смотреть глобально то требуется объект типа слой, на котором программно рисуются объекты для конкретного сеанса пользователя и по закрытию сеанса удаляются, другие пользователи работающие в данный момент с программой эти объекты видеть не должны... P.S. Извиняюсь за кривое объяснение задачи :)
Временный слой
 
Доброго времени суток! Подскажите пожалуйста как лучше реализовать следующий функционал: карта находится на Zulu Server, она содержит слой в котором заданы типы объектов и режимы, самих объектов на слое нет... В процессе работы с программой, на основании данных, которые хранятся в базе MSSQL, динамически строятся объекты (отображение текущей ситуации по теплотрассам)... По закрытию программы все постороенные объекты должны удаляться. Программа многопользовательская. Пока не придумал ничего умнее чем выгружать слой и присваивать свойству InMemory = true, но не знаю как это будет работать при большом количестве объектов... Может есть какое то другое решение? Спасибо!
Путь к БД без компонента ZuluMap
 
Большое спасибо!
Путь к БД без компонента ZuluMap
 
Добрый день! Не подскажите, возможно ли поднять путь к базе данных Zulu если известен путь к карте, тип элемента и название слоя на котором он находиться, без использования ZuluMap? Ситуация следующая - есть редактор свойств объектов, часть свойств которых описана в БД Zulu, а часть в MSSQL. Контрола с картой в редакторе нет... С базой Zulu хотелось бы работать через библиотеку ZB... Спасибо!
Программное создание элемента с нуля
 
Спасибо!
Программное создание элемента с нуля
 
Добрый день! Не подскажите а возможно ли добавить на слой элемент с заданным ИД, таким образом чтобы если объект с таким ИД уже сужествовал на слое, то новый объект бы не добавлялся...

Есть кусочек кода который реализует етот функционал, но мне не нравиться что работает он через исключения
try
 'определяется наличие на слое объекта с ИД, если его нет то генериться исключение и объект добавляется
 if MemLayer.Elements(.IdZuluPipeDefect).Key > 0 then 'определяется наличие на слое объекта с ИД
 end if
catch
 iIdZuluPipeDefect = MemLayer.AddSymbol(.MapPoint.X, .MapPoint.Y, cnstIdTypeDefect, .IdZuluMode)
 MemLayer.ChangeElemID(iIdZuluPipeDefect, .IdZuluPipeDefect, True)
end try
Может в объекте Zulu ето реализовано каким нить стандартным методом?
Подключение к ZuluServer через VB.NET
 
Большое спасибо, все получилось...
Подключение к ZuluServer через VB.NET
 
Добрый день, подскажите плизз как в программе подключить карту "прозрачно" для пользователя, программа написана на VB.NET, карта находиться на ZuluServer, по "прозрачностью" я понимаю - без ввода логина и пароля... Логин, пароль, сервер и карта - зашиты в код программы...
Спасибо!
Страницы: 1 2 3 4 След.