RUS  ENG 

bgvk (Все сообщения пользователя)

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

Страницы: 1 2 След.
Типы данных, Как можно получить значение поля (в частности геодезии дна трубы), чтобы с ним можно было бы выполнять арифметические операции
 
Отправил
Типы данных, Как можно получить значение поля (в частности геодезии дна трубы), чтобы с ним можно было бы выполнять арифметические операции
 
И это посмотрел и заменил... всё равно несоответствие типа...
Типы данных, Как можно получить значение поля (в частности геодезии дна трубы), чтобы с ним можно было бы выполнять арифметические операции
 
Пишет несоответствие типа, я это пробовал. Значит в чем то еще проблема.
Типы данных, Как можно получить значение поля (в частности геодезии дна трубы), чтобы с ним можно было бы выполнять арифметические операции
 
Макрос, значение я получаю, но оно имеет тип строка... как её можно в числовой формат перевести?
Типы данных, Как можно получить значение поля (в частности геодезии дна трубы), чтобы с ним можно было бы выполнять арифметические операции
 
Доброго времени суток, помогите пожалуйста разобраться, как можно получить значение поля (Отметка дна колодца, м), чтобы оно воспринималось как число и с ним можно было бы выполнять арифметические операции...
Перебор элементов сети
 
[QUOTE]Алексей Аширов написал:
[QUOTE][URL=/forums/?PAGE_NAME=profile_view&UID=1164&tags=%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD]bgvk[/URL] написал:
Здравствуйте, подскажите пожалуйста, как написать макрос, чтобы шел перебор связанных участками к/сети колодцев (не по id, а именно по топологии сети от кос до абонентов) и запись в базу данных значений.[/QUOTE]
Связанные элементы можно получать Layer.GetIncidentElements   [URL=https://www.politerm.com/zuludoc/zuluax/index.html#Layer_GetIncidentElements.html]https://www.politerm.com/zuludoc/zuluax/index.html#Layer_GetIncidentElements.html[/URL]
Либо для быстрого доступа по всем объектам  [URL=https://www.politerm.com/zuludoc/zuluax/index.html#NetworkObjects_GetIncidentKeys.html]https://www.politerm.com/zuludoc/zuluax/index.html#NetworkObjects_GetIncidentKeys.html[/URL]
Можно дерево от заданного узла построить чтобы получить сразу все пути до всех абонентов
[URL=https://youtu.be/qerFkGQTIyM]https://youtu.be/qerFkGQTIyM[/URL]

Примеры записи в таблицу на сайте есть:  [URL=https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/]https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/[/URL] [/QUOTE]
Спасибо, вроде получилось.
Перебор элементов сети
 
Здравствуйте, подскажите пожалуйста, как написать макрос, чтобы шел перебор связанных участками к/сети колодцев (не по id, а именно по топологии сети от кос до абонентов) и запись в базу данных значений.
Изменение координат примитива
 
[QUOTE]Алексей Аширов написал:
[QUOTE][URL=/forums/?PAGE_NAME=profile_view&UID=1164]bgvk[/URL] написал:
   Подскажите пожалуйста, как взять из БД значение поля чтобы подставить в MoveToXY. Спасибо.[/QUOTE]
 [URL=https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/]https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/[/URL] [/QUOTE]
Большое спасибо, получилось, но как сделать, чтобы новые значения координат подставлялись именно, как широта и долгота?
Изменение координат примитива
 
[QUOTE]Алексей Аширов написал:
[QUOTE][URL=/forums/?PAGE_NAME=profile_view&UID=1164]bgvk[/URL] написал:
 [QUOTE] [URL=/forums/?PAGE_NAME=profile_view&UID=6]Алексей Аширов[/URL] написал:
Только программно, читаете значения из таблицы потом двигаете:    [URL=https://www.politerm.com/zuludoc/zuluax/index.html#Element_Move.html]https://www.politerm.com/zuludoc/zuluax/index.html#Element_Move.html[/URL] [/QUOTE]


           El.MoveToXY "Xn","Yn",True,False

[/QUOTE]
Читайте описание объектной модели, читайте описание VBScript

Sub MoveToXY(X As Double, Y As Double, RedrawView As Boolean, ChangeAngle As Boolean)

Написано X и Y числа, а Вы строки подставляете. Выше нигде Xn и Yn не заданы.

Сценарий такой:
Открываете базу данный,
получаете для заданного ID объекта запись,
в записи находите значения полей X и Y,
и уже получив значения, подставляете их в метод MoveToXY[/QUOTE]
Подскажите пожалуйста, как взять из БД значение поля чтобы подставить в MoveToXY. Спасибо.
Изменение координат примитива
 
[QUOTE]Алексей Аширов написал:
Только программно, читаете значения из таблицы потом двигаете:  [URL=https://www.politerm.com/zuludoc/zuluax/index.html#Element_Move.html]https://www.politerm.com/zuludoc/zuluax/index.html#Element_Move.html[/URL] [/QUOTE]
Sub move ()

   Set L = Zulu.ActiveMapDoc.Layers.Active

   Set Db = CreateObject("Zb.Database")

   Set CRS1 = L.GetCrs()

   Set CRS_WGS84 = CreateObject("zululib.CRS")
 
   CRS_WGS84.InitByCode("EPSG:4326")

   Db.Open L.ObjectTypes.Item(2).BaseName

   Set Keys = L.ElementKeys

   For i = 1 To Keys.Count
   
   Set El = L.Elements.getElement(Keys.Item(i))        
             
      If El.TypeID = 2 Then

           Set Pt = El.GetCenter()

           El.MoveToXY "Xn","Yn",True,False

           'Set Pt = CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84)

           'Db.UpdateBaseRecord Keys.Item(i), "X" + CHR(10) + "Y", CStr(Pt.X) + CHR(10) + CStr(Pt.Y),0
                       
       End If                    
   Next
End Sub

Если в строке El.MoveToXY "Xn","Yn",True,False вместо Xn и Yn задавать число примитив переносится, как правильно задать поле бд (с именем поля Xn и Yn) и какой тип поля должен быть? А то у меня при выполнении ошибку выдает "Несоответствие типа 'El.MoveToXY' " помогите как правильно указать поле?
Изменено: bgvk - 10.04.2020 09:32:49
Изменение координат примитива
 
Спасибо, я этот метод нашел, но не могу пока сообразить как этот макрос под эту задачу переделать...
Sub GetLatLon()
'На момент запуска макроса необходимо открыть карту, активировать слой
   Set L = Zulu.ActiveMapDoc.Layers.Active
   
   ' Создали объект объект базы данных Zulu
   Set Db = CreateObject("Zb.Database")
   

   'Проекция слоя    Set CRS1 = L.GetCrs()
   
   'Создание проекция WGS84
   Set CRS_WGS84 = CreateObject("zululib.CRS")
   CRS_WGS84.InitByCode("EPSG:4326")

   'Открыли базу данных для типа -1 (примитивы)
   Db.Open L.ObjectTypes.Item(2).BaseName
   
   'Список ключей объектов слоя
   Set Keys = L.ElementKeys
           
   'По всем объектам слоя
   For i = 1 To Keys.Count
   
   Set El = L.Elements.getElement(Keys.Item(i))        
               
       'Если объект примитив
       If El.TypeID = 2 Then
       
           'Получаем точку центра объекта в координатах проекции слоя
           Set Pt = El.GetCenter()    

           'Получаем широту и долготу точки в WGS84
           Set Pt = CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84)

            'Записываем широту и долготу в соответствующие поля ("X" и "Y")
            Db.UpdateBaseRecord Keys.Item(i), "X" + CHR(10) + "Y", CStr(Pt.X) + CHR(10) + CStr(Pt.Y), 0
                       
       End If                    
   Next
End Sub


Не подскажите?
Изменено: bgvk - 09.04.2020 19:26:24
Изменение координат примитива
 
Здравствуйте, подскажите пожалуйста можно ли запросом или еще как-то присвоить примитивам слоя новые координаты указанные в определенных полях бд данного слоя(Xnew, Ynew к примеру).
определить координаты объекта, Как записать информацию по координатам в семантическую информацию
 
Цитата
Алексей Аширов написал:
Цитата
bgvk написал:
Цитата
Цитата

MsgBox L.BaseName выдает пустое окно.
А база по объектам слоя есть? Пример на запись в базу примитивов слоя у которых база есть и поля есть
База есть и поля X И Y для записи тоже есть (строка 50 симв). Но пишет, что "Не удалось открыть базу данных".
Ну если имя базы - пустое окно, как она может открыться? База к примитивам или к типу какому-то подключена?
Если к типу, то имя базы по-другому нужно получать.
Я даже пробую выполнить этот макрос на схеме из примеров входящих в поставку к ГИС Zulu и мне выдает тоже самое сообщение.
"Ошибка ZB db(D:\Электронные Модели\):Не удалось открыть базу данных.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос.
Ошибка ZB db(D:\Электронные Модели\):Для операции требуется установленный активный запрос."
Подскажите пожалуйста, что я не так делаю или с чем это может быть связано?
определить координаты объекта, Как записать информацию по координатам в семантическую информацию
 
Цитата
Алексей Аширов написал:
Цитата
bgvk написал:
Цитата


MsgBox L.BaseName

MsgBox L.BaseName выдает пустое окно.
А база по объектам слоя есть? Пример на запись в базу примитивов слоя у которых база есть и поля есть
База есть и поля X И Y для записи тоже есть (строка 50 симв). Но пишет, что "Не удалось открыть базу данных".
определить координаты объекта, Как записать информацию по координатам в семантическую информацию
 
Цитата
Алексей Аширов написал:
Цитата
bgvk написал:
Цитата
https://www.politerm.com/samples/zulugis/macros/WriteLatLonVbs/
Здравствуйте, при выполнении этого макроса выдает сообщение (Ошибка ZB db(C:\Windows\system32\):Не удалось открыть базу данных.). Подскажите пожалуйста с чем это может быть связано. Спасибо.
Версия 8.0.0.7382u
А какое имя базы перед открытием?

MsgBox L.BaseName

MsgBox L.BaseName выдает пустое окно.
определить координаты объекта, Как записать информацию по координатам в семантическую информацию
 
MsgBox L.BaseName выдает пустое окно.
определить координаты объекта, Как записать информацию по координатам в семантическую информацию
 
Цитата
Алексей Аширов написал:
Цитата
Mikele написал:
Как записать информацию по координатам в семантическую информацию точечного объекта ???
https://www.politerm.com/samples/zulugis/macros/WriteLatLonVbs/
Здравствуйте, при выполнении этого макроса выдает сообщение (Ошибка ZB db(C:\Windows\system32\):Не удалось открыть базу данных.). Подскажите пожалуйста с чем это может быть связано. Спасибо.
Версия 8.0.0.7382u
Отметки лотков
 
Просто вы сказали, что подумаете надо функционалом, чтобы хотя бы участками возможно было проставлять... Ладно, спасибо, будем ручками проставлять.
Отметки лотков
 
Здравствуйте, нет ли каких-то новостей по нашему вопросу?
Отметки лотков
 
Отправил.
Отметки лотков
 
Если бы мог написал бы, вы с этим не можете помочь?
Отметки лотков
 
Отметки которых у меня нет все равно я не найду и что высчитывать их самому может все таки можно это автоматизировать?
Отметки лотков
 
Я все это прекрасно понимаю, но все же возможен ли такой скрипт или запрос? Очень надо...
Отметки лотков
 
Здравствуйте, помогите пожалуйста разодраться с таким вопросом. При создании модели водоотведения имеются далеко не все отметки лотков. Подскажите возможно ли из проставить автоматически т.е. по известным отметкам, чтобы высчитывались пропорционально отметки между ними, может sql запрос или скрипт подскажите. Иначе высчитывать мне их придется очень долго, а сроки поджимают... заранее спасибо!
Ограничение доступа к слою
 
<B>Lyosha</B>, ясненько, спасибо.
Страницы: 1 2 След.