RUS  ENG 

Дмитрий Озеров (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.
Как создать объект ZGeometry Delphi?, Подскажите, пожалуйста, как создать объект ZGeometry
 
reparepa reparepa,
[CODE]G := CoZGeometry.Create;[/CODE]
должно помочь.
SQL запрос из макроса по двум слоям
 
Сергей Мечев,
Да, возможно. Только правильно начало запроса начинать так:
UPDATE L1 ….
Т.к. в разделе FROM Вы используете псевдонимы источников (слоёв)
Перенос данных из другого слоя
 
Виталий,
Чтобы дальше двигаться, надо уточнить, что нужно сделать в слое "карта":
1. В слое "карта" уже есть объекты, но нет значений в нужных полях таблицы. Эти значения нужно взять от объектов другого слоя.
2. В слое "карта" нет объектов, он пуст и нужно скопировать объекты из другого слоя попутно разместив данные из исходной(ых) таблиц(ы) в нужных полях таблицы, подключенной к слою ?

По поводу запроса:
Запрос синтаксически правильный, но не верный по сути. Такие атрибуты как тип объекта (typename или typetid) не могут меняться с помощью запроса - это графические данные слоя, а менять можно только табличные данные (о чём выдается сообщение). А делать UPDATE таким параметрам как length, perimeter и area вообще бессмысленно. Как вы себе представляете назначить фигуре площадь ?
Перенос данных из другого слоя
 
[QUOTE]Сергей Мечев написал:
У слоя нет полей, они есть у типов, при условии, что у них есть база данных.
[/QUOTE]
Давайте всё-таки внесём ясность. Полей нет ни у слоя, ни у типа, ни у базы данных.
"Поле" - это колонка таблицы или "ответа", набора данных, полученных в результате запроса.
"Запись" - это строка таблицы или "ответа". В этом случае когда мы говорим "поле", мы подразумеваем конкретную ячейку этой записи.

Теперь:
[QUOTE]Виталий Токаренко написал:
В том и проблема. В слое "Карта" нет ещё таких полей. Нужно взять некоторые поля из слоя Трасса по признаку typeid=3 и создать новую запись в слое Карта.[/QUOTE]
Независимо от того, есть ли записи и нет в таблице для объектов слоя "Карта", как правильно писали Алексей и Сергей, для добавления или обновления данных нужно определить соответствие между данными таблиц. Поле связи с картой (обычно Sys) у них не совпадает. Либо делать пересечение по какому-то другому полю, определяющему это соответствие, либо через пространственное отношение между объектами двух слоёв.

Далее, оператор UPDATE, выполняемый для слоя, реализован так, что добавляет недостающие записи в нужные таблицы, подключенные к данному слою.
Источник и структура БД, Соответствие БД в Источник и SQL
 
[QUOTE]Виталий Токаренко написал:
В "Источник" наблюдаю разделение слоя "Карта" на "Геометрия" и "Цифровой паспорт".
В тоже время при вызове таблицы SEL ECT * FR OM [карта] наблюдаю единую таблицу с полями и обоих разделов. Подскажите, данное разделение с SQL никак не связано?[/QUOTE]
Там в дереве для удобства разделены геометрические и табличные данные. SELECT как Вы правильно заметили рассматривает слой как одну сущность, выполняя суперпозицию всех геометрических свойств и табличных полей.
Добавление записи в БД
 
Виталий, добрый день! В том SQL, который Вы упомянули не реализован оператора INSERT, т.к. запросы производятся к слоям, а значит INSERT должен вставлять не запись, а геометрический объект (ну и табличные атрибуты, если только в добавок). Выполнение оператора UPDATE вызовет добавления в нужные таблицы записей, если таковых, соответствующих конкретным графическим объектам не окажется.
SQL-запросы
 
Don_Quixote,
Функция STLength (из стандарта OGC) также поддерживается, она является методом типа geometry. У слоя есть поле geometry одноимённого типа. Тогда запрос будет выглядеть так:
Код
SELECT SUM(geometry.STLength()) FROM [Улицы]

Далее:
  1. Уточните, как именно не работает. (Только что проверил: выполнил запрос на примере слоя и сохранил в Excel).
  2. Свойство lengtn_sph - длина на сфероиде с учётом проекции.
SQL-запросы
 
Don_Quixote, добрый день!
Если там только линии и не надо фильтровать по типу/графическому типу, то:
Код
SELECT SUM(length) FROM [Улицы]
Миграция БД слоя с локальной базы на серверную СУБД.
 
Цитата
Пользователь написал:
Если я Вас правильно понимаю, имя и логин пользователя Zulu должно совпадать с именем и логином пользователя MySQL?
Нет, не обязательно. В настройках источника данных можно:
1. Явно указать логин/пароль, с которыми ZuluServer должен соединяться с MySQL (все пользователи обращаются к СУБД с одними учётными сведениями);
2. Использовать опцию "Использовать учётные сведения ZuluServer". В этом случае обращение к СУБД идёт с теми логином/паролем, который пользователь указал при входе на ZuluServer.
Миграция БД слоя с локальной базы на серверную СУБД.
 
Цитата
Пользователь написал:
Не хочет мигрировать, ошибку выдает. СУБД MySQL v.5.7; ODBC 8.0 Unicode Driver x32.
В сообщении указана причина: "Access denied for user 'Иванов'...".
Неправильный логин/пароль.
Изменено: Дмитрий Озеров - 09.06.2022 09:08:11
Создание закладок с древовидной структурой, Расширение возможностей закладок
 
Dave_Murey, добрый день!
В ZuluGIS 2021 это уже вошло как "группировка" закладок. Можно делать произвольную иерархию. (см. [URL=https://www.politerm.com/zuludoc/index.html#map_bookmark_group.html]https://www.politerm.com/zuludoc/index.html#map_bookmark_group.html[/URL]
Можно группировать в окне Закладки (там появились пункты контекстного меню), либо в диалоге Закладки (там кнопка Группа со своим меню).
Ошибка при упаковке слоя, При попытке упаковки одного из слоёв выдётся Failed to pack tabl. Ошибка доступа к данным. Statmet(s) could not be prepared. 0x80040314
 
Виталий, добрый день!
Проверьте, возможно указанная таблица просто отсутствует в базе данных.
Создание таблицы в БД слоя
 
Алексей, добрый день!
В методе CreateTableEx есть ещё один параметр, который в первом примере (VB.Net) вы передаёте (см. "out tblinf"), а в случае VB Script его (а это объект по ссылке) и не передать, из-за чего и ошибка. Для VB Script введён похожий метод CreateTable2 без этого параметра. Воспользуйтесь им.
Макрос для добавления полей
 
Алексей, добрый день!
Объект [URL=https://www.politerm.com/zuludoc/zuluax/IZbSourceInfo_cls.html]IZbSourceInfo[/URL] представляет источник таблицы - соединение или источник данных ZuluGIS. Он нужен, чтобы обратиться (напр. SQL запрос) к конкретной СУБД.
Получить его можно через свойство [URL=https://www.politerm.com/zuludoc/zuluax/IZbTableInfo_Source.html]Source[/URL] таблицы, либо через коллекцию [URL=https://www.politerm.com/zuludoc/zuluax/ZbDatabase_Sources.html]Sources[/URL] у базы данных.
Ошибки при работе AppendBaseRecord (блокировка/не удалось соединиться)
 
[QUOTE]Артем Молчан написал:
Благодарю, но в 8й версии данный метод увы не обнаружил((...поэкспериментирую с UpdateFromAscii.[/QUOTE]
Посмотрите [URL=https://www.politerm.com/zuludoc/zuluax/index.html#IZbQueryInfo_AppendFromAscii.html]https://www.politerm.com/zuludoc/zuluax/index.html#IZbQueryInfo_AppendFromAscii.html[/URL], должен быть.
Только это метод не объекта ZbDatabase, а запроса IZbQueryInfo (как его получить см. [URL=https://www.politerm.com/zuludoc/zuluax/index.html#ZbDatabase_ActiveQuery.html]https://www.politerm.com/zuludoc/zuluax/index.html#ZbDatabase_ActiveQuery.html[/URL])
Ошибки при работе AppendBaseRecord (блокировка/не удалось соединиться)
 
Артем, добрый день!
[LIST=1]
[*]Судя по сообщению, используется Microsoft Access? Если данные добавляются через ZuluServer в многопользовательском режиме, то возможны блокировки. Мы в общем случае не рекомендуем использовать базы Microsoft Access на сервере.
[*]В дебаггере при достаточной паузе может разрываться соединение, отсюда и невозможность дальше соединиться с источником данных.
[*]Для подобного добавления данных рекомендую метод AppendFromAscii (по аналогии с UpdateFromAscii, но чисто для добавления записей). В текстовом файле задаются значения полей в количестве и в том порядке, который задан параметром Fields). Описание метода отсутствует, но мы в ближайшее время подправим.
[/LIST]
Событие evBrowserRecordChanged, Отловить в каком поле произошло изменение при возникновении evBrowserRecordChanged
 
Владимир, добрый день!
Событие evBrowserRecordChanged возникает, когда изменяется запись. Однако при этом может быть изменены значения нескольких полей. Информация какие конкретно поля изменились в событии не передаётся. (описание события: [URL=https://www.politerm.com/zuludoc/zuluax/index.html#Zulu_evBrowserRecordChanged.html]https://www.politerm.com/zuludoc/zuluax/index.html#Zulu_evBrowserRecordChanged.html[/URL])
Использование ZuluLib объектов (ver 8.0) во внешнем x64 c# приложении
 
Артем, добрый день!
В 64-битный процесс не могут быть загружены 32-битные модули, а ядро ZuluGIS 8.0 только 32-битное.
В 64-битном проекте можно использовать ядро новой версии ZuluGIS 2021 (10.0), сейчас сделаны и 32-битная и 64-битная версии.
Рекомендуем переходить на новую версию.
Поиск по представлениям и широкие строки
 
Цитата
Сергей Мечев написал:
Поле снова узкое, визуально тип blob конечно смотрелся более симпатично)
Мы сделаем, чтобы многострочный редактор для конкретного поля можно было настраивать.
Поиск по представлениям и широкие строки
 
Сергей, добрый день!
1. Поле "Список улиц" рассматривается как текстовый BLOB и из-за этого имеет многострочный редактор. Мы подумаем как сделать возможность назначать такой тип редактора для других строчных полей.
2. Поиск скорее всего не работает не потому, что поле из представления, а потому, что рассматривается не как строка, а как BLOB.
Чтобы точнее сказать нужна информация о структуре данных, особенно о физическом типе поля "Список улиц".
Код ошибки 0x800A0E7A, Ошибка доступа к базе данных
 
Татьяна, добрый день!
Сообщение говорит о том, что 64-битное ядро Microsoft Access не установлено на данной машине. Т. к. Вы установили 64-битную версию ZuluGIS, ей требуется такая же 64-битная версия Microsoft Access. Для работы с локальными данными, размещёнными в базе данных Microsoft Access мы рекомендуем использовать 32-битную версию ZuluGIS (см. https://www.politerm.com/download/?dl=zulu2021exe_x86).
Протяженность сети в трубном исчислении, SQL-запрос
 
Take-oFF, добрый день!
Спасибо за предоставленный пример запроса.
В этом запросе выражение:
Код
Round((modeid/4-Floor(modeid/4))*4,0)
, которое используется для получения остатка от деления на 4 (насколько я могу судить) можно упростить до:
Код
modeid % 4
BLOB, Добавление элементов в галерею, удаление элементов, пересохранение ссылок
 
Добрый день! У нас обнаружились расхождения объектной модели с текущими возможностями галереи. Мы сейчас работаем над тем, чтобы сделать адекватной программную работу с ссылками в blob. Как только закончим, дадим знать.
вопросы и пожелания для разработчиков
 
Jounts, добрый день!
[LIST=1]
[*]Под Windows 11 запускали - работает.
[*]Не понятен термин "on-proc". Возможно, Вы имели в виду "inproc" ? Запускать плагины "outproc" (?) не планируется.
[/LIST]
Имя пользователя в заголовке окна ZuluGIS
 
Alexander, добрый день!
В заголовке окна ZuluGIS указывается имя пользователя, которое используется в соединении, откуда получен текущий активный слой в активной карте. Если пишется sa, то значит действительно использовалось такое имя пользователя для соединения. Проверьте, возможно у Вас задано несколько соединений к одному и тому же серверу и в одном из них явно задан логин sa.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.