RUS  ENG 

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

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

Страницы: 1
запрос перестал рабоатть для копирования данных
 
Дмитрий, простите, все равно не могу разобраться.
Вы на этот запрос:[CODE]SEL ECT [Atlas Zaventem].Sys, [Flanders OSM polygons].Sys, [Flanders OSM polygons].[AREA_INT]
FR OM [Atlas Zaventem], [Flanders OSM polygons]
WHERE [Atlas Zaventem].typeid=3
AND [Atlas Zaventem].Geometry.STWithin([Flanders OSM polygons].Geometry)
[/CODE]получаете заполненное множество, а я пустое. Поэтому в поля пишутся пустые значения. Но когда проверяю эти же sys вручную, там данные есть:
[URL=https://ibb.co/CttC0Vp]https://ibb.co/CttC0Vp[/URL]
Что я делаю не так?
Может какие-то ограничения по количеству объектов, потому что для sys = 244 запрос отработал.
Мы не могли что-то изменить в настройках, когда разбирались с касанием геометрии? Потому что несколько месяцев назад этот запрос исправно переносил данные из слоя в слой. Я помню, мы снимали ограничение на время выполнения запроса, не могло повлиять это или что-то еще?
Изменено: stas - 23.05.2023 11:54:03
запрос перестал рабоатть для копирования данных
 
Спасибо большое!Завтра утром ещё раз попробую
запрос перестал рабоатть для копирования данных
 
Простите, видимо, сделал что-то не то, когда копировал или упаковывал слой.
Пересохранил еще раз, посмотрите, пожалуйста:
[URL=https://drive.google.com/file/d/1VFCwaZ4amto8_Pi6lNzy0NF1uYkKPapp/view?usp=share_link]https://drive.google.com/file/d/1VFCwaZ4amto8_Pi6lNzy0NF1uYkKPapp/view?usp=share_link[/URL]
Данные точно есть, на скриншоте ([URL=https://ibb.co/yY3qZmj]https://ibb.co/yY3qZmj[/URL]) видно.

На[CODE]SEL ECT [Atlas Zaventem].Sys, [Flanders OSM polygons].Sys, [Flanders OSM polygons].[AREA_INT]
FR OM [Atlas Zaventem], [Flanders OSM polygons]
WHERE [Atlas Zaventem].typeid=3
AND [Atlas Zaventem].Geometry.STWithin([Flanders OSM polygons].Geometry)[/CODE]
ответ, что пересечений нет (пустое множество)
Изменено: stas - 22.05.2023 16:24:03
запрос перестал рабоатть для копирования данных
 
Дмитрий, добрый день. Простите, area написал уже от безысходности. Не работает ни с Adres, ни с Nizt, ни с одним другим полем. Точнее работает, пишет Ок (время), но данные не появляются[CODE]UPD ATE [Atlas Zaventem]
SE T [Atlas Zaventem].[Adres] =
[Flanders OSM polygons].[AREA_INT]
WHERE [Atlas Zaventem].typeid=3
AND [Atlas Zaventem].Geometry.STWithin([Flanders OSM polygons].Geometry)[/CODE]
Изменено: stas - 22.05.2023 15:45:52
запрос перестал рабоатть для копирования данных
 
Здравсввуйте.
Посмотрите, пожалуйста, почему запрос перестал рабоатть для копирования данных:[CODE]UPD ATE [Atlas Zaventem]
SE T [Atlas Zaventem].[area] =
[Flanders OSM polygons].[AREA_INT]
WHERE [Atlas Zaventem].typeid=3
AND [Atlas Zaventem].Geometry.STWithin([Flanders OSM polygons].Geometry)[/CODE]
Слои приложил:
[URL=https://drive.google.com/file/d/1Xbu3qDodrXdUFz-V1L7btCGGHmi4u8Sm/view?usp=share_link]https://drive.google.com/file/d/1Xbu3qDodrXdUFz-V1L7btCGGHmi4u8Sm/view?usp=share_link[/URL]
[URL=https://drive.google.com/file/d/1_EHnKU17YJJEriMPRIPKdx5ShHWuwZYI/view?usp=share_link]https://drive.google.com/file/d/1_EHnKU17YJJEriMPRIPKdx5ShHWuwZYI/view?usp=share_link[/URL]

Screen:
[URL=https://ibb.co/yY3qZmj]https://ibb.co/yY3qZmj[/URL]

Версия 10.0.0.8539u.x64
Изменено: stas - 22.05.2023 15:38:42
Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)
 
Алексей, посмотрите, пожалуйста.
Select работает:
[URL=https://ibb.co/W5gKLNS]https://ibb.co/W5gKLNS[/URL]

А Upd ate нет:
[URL=https://ibb.co/71FkB9v]https://ibb.co/71FkB9v[/URL]
[CODE]SET TIMEOUT INFINITE;
UPDATE [Flanders OSM polygons]
SE T [Flanders OSM polygons].[SEC] =[QGIS Flanders_v2 all wo BLDGUSE].[SEC]
WHERE [Flanders OSM polygons].Geometry.Intersects([QGIS Flanders_v2 all wo BLDGUSE].Geometry)
AND [Flanders OSM polygons].Geometry.Selected()=1[/CODE]В чем причина? Неправильно формулирую запрос?
Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)
 
Выдает пустые поля:
[URL=https://ibb.co/GcLcqsj]https://ibb.co/GcLcqsj[/URL]
Может не STTouches надо использовать? Объекты здания (полигоны?): в двух разных слоя, где-то совпадают, где-то просто касаются
Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)
 
Алексей, здравствуйте.
Спасибо.
Запрос стал завершаться, но не копирует значения из одного слоя в другой:
[URL=https://ibb.co/BLm1hfJ]https://ibb.co/BLm1hfJ[/URL]
В чем причина?
Кроме того, для двух выделенных зданий выполнение занимает 285 с.
Что-то можете посоветовать, чтобы работать с большим количеством объектом за приемлемое время?
[CODE]SET TIMEOUT INFINITE;
UPD ATE [Flanders OSM polygons]
SE T [Flanders OSM polygons].[PROD_CONS] =
[QGIS Flanders_v2 all wo BLDGUSE].[PROD_CONS]
WHERE [Flanders OSM polygons].Geometry.STTouches([QGIS Flanders_v2 all wo BLDGUSE].Geometry)
AND [Flanders OSM polygons].Geometry.Selected()=1[/CODE]
Изменено: stas - 14.03.2023 15:41:29
Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)
 
Здравствуйте.
Пытаюсь перенести данные из слоя QGIS Flanders_v2 all wo BLDGUSE в слой Flanders OSM polygons по признаку касания геометрии STTouches (SQL)[CODE]UPD ATE [Flanders OSM polygons]
SE T [Flanders OSM polygons].[SEC] =
[QGIS Flanders_v2 all wo BLDGUSE].[SEC]
WHERE [Flanders OSM polygons].Geometry.STTouches([QGIS Flanders_v2 all wo BLDGUSE].Geometry)
AND [Flanders OSM polygons].Geometry.Selected()=1[/CODE]Даже когда добавил последнюю строчку и выделил два объекта в слое Flanders OSM polygons все равно ошибка: Query has been timed out. Что я делаю не так?

Версия 10.0.0.8425u.x64
Изменено: stas - 13.03.2023 16:01:32
Подключение tile слоя и импорт GeoTIFF
 
Отлично, спасибо!

Bing подключил обращением к тайловому серверу Политерм и пересохранением файла на жесткий диск. Временное решение есть, теперь смущает актуальность снимков. Завтра буду сравнивать с ArcGIS, спасибо.
Цитата
Обновите, проверьте на текущей версии.
Также вылетает.
Подключение tile слоя и импорт GeoTIFF
 
Алексей, здравствуйте.
Спасибо.
1. Где то можно найти новые варианты ссылки или любую другую информацию про подключение тайловых слоев? Принципиальная задача - подключить любой спутниковый слой, источник пока не важен. Или идти в SasPlanet? Больше ни одного онлайн сервера достпуного нет?
2. Версия 10.0.0.8286u.x64
После нажатия Ок - вылет:
https://ibb.co/3TJZcym

Простите за дурацкий вопрос, ни разу сам не обновлял Zulu.
Вот это файл обновления: https://www.politerm.com/download/?dl=zulu2021msi_x64 ?
Что означает: "ВАЖНО! Данный пакет установки не является обновлением для ZuluGIS 8.0."?
Изменено: stas - 24.01.2023 13:34:19
Подключение tile слоя и импорт GeoTIFF
 
На базе https://politerm.com/zuludoc/tile_format_xyz.html и https://www.politerm.com/forums/?PAGE_NAME=message&FID=1&TID=4141&TITLE_SEO=... попробовал задать путь. Слои добавляются, что-то просчитывается в левом нижнем углу, но самих спутниковых картинок я не вижу. Что я делаю не так? Или онлайн обращение к серверам по приведенным ссылкам недоступно, надо вначале сделать офлайн кэш с помощью SasPlanet?

Также попробовал импорт GeoTIFF примеров с https://data.nextgis.com/ru/about/#formats-sat - Zulu просто вылетает без ошибки. Что я делаю не так?
Запись координат центра объекта в таблицу (VBScript)
 
Спасибо большое! Попробую ближайшее время
Запись координат центра объекта в таблицу (VBScript)
 
Вы имеете в виду[CODE]Set Ptlocal = El.CalcDistance(Element(ID линии координатной оси), 0)[/CODE]?
Как это написать[CODE]Ptlocalattributes = Element(ID линии координатной оси), 0
'По всем объектам слоя
   For i = 1 To Keys.Count
   Set El = L.Elements.getElement(Keys.Item(i))        
       'Если объект примитив
     If El.TypeID = 3 Then
           'Получаем расстояние до линии координатной оси
           Set Ptlocal = El.CalcDistance(Keys.Item(i), ???Ptlocalattributes???)[/CODE]?
Изменено: stas - 25.12.2022 17:38:12
Запись координат центра объекта в таблицу (VBScript)
 
Алексей, спасибо.
[CODE]Sub gure
'Пример записи географических координат центра объекта в таблицу
      'Текущая активная карта
   Set Doc = Zulu.ActiveMapDoc
   'Активный слой текущей карты
   Set L = Doc.Layers.Active
   Set Db = CreateObject("zb.database")
   'Проекция слоя
   Set CRS1 = L.GetCrs()
   'Создание проекция WGS84
   Set CRS_WGS84 = CreateObject("zululib.CRS")
   CRS_WGS84.InitByCode("EPSG:4326")
   'Открыли базу данных для типа 3
   Db.Open L.ObjectTypes.Item(3).BaseName
   'Список ключей объектов слоя
   Set Keys = L.ElementKeys
   'По всем объектам слоя
   For i = 1 To Keys.Count
   Set El = L.Elements.getElement(Keys.Item(i))
   'MsgBox "L.Elements.getElement(Keys.Item(i)) = " & L.Elements.getElement(Keys.Item(i))          
       'Если объект примитив
If El.TypeID = 3 Then
           'Получаем точку центра объекта в координатах проекции слоя
           Set Pt = El.GetCenter()    
           'Получаем широту и долготу точки в WGS84
           Set Pt = CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84)
           'MsgBox "CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84) = " & CStr(Pt.X)
If pt.IsValid = False Then
MsgBox "Ошибка преобразования"
End If
            'Записываем широту и долготу в соответствующие поля ("X" и "Y")
            Db.UpdateBaseRecord Keys.Item(i), "x" + CHR(10) + "y", CStr(Pt.X) + CHR(10) + CStr(Pt.Y), 0              
       End If                    
   Next
MsgBox "Обновлено записей"  
End Sub[/CODE]Код работает.
Имел в виду чтение координат с локальной системы в метрах, отрисованной самостоятельно или с помощью стандартных инструментов:
[URL=https://ibb.co/wpRjGjK]https://ibb.co/wpRjGjK[/URL]
[URL=https://ibb.co/HxKvCHb]https://ibb.co/HxKvCHb[/URL]
Изменено: stas - 25.12.2022 13:26:51
Запись координат центра объекта в таблицу (VBScript)
 
Здравствуйте.
1. Пытаюсь адапртировать пример с сайта. Не работает, проблема в записи в БД. Сами координаты читает, проверил через MsgBox. Пытаюсь писать в таблицу Потребитель, которая выглядит вот так (см. картинку). x, y - тип Вещественное
2. Где найти список типов ZuluThermo? То, что 3 - это потребитель - пришлось искать в примерах.
3. Возможно ли чтение координат в метрах с локальной сетки?
[URL=https://ibb.co/nkJB73P]https://ibb.co/nkJB73P[/URL]
[URL=https://ibb.co/yXd6XYR]https://ibb.co/yXd6XYR[/URL]
[CODE]Sub gure
'Пример записи географических координат центра объекта в таблицу
      'Текущая активная карта
   Set Doc = Zulu.ActiveMapDoc
   'Активный слой текущей карты
   Set L = Doc.Layers.Active
   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.BaseName
   'Список ключей объектов слоя
   Set Keys = L.ElementKeys
   'По всем объектам слоя
   For i = 1 To Keys.Count
   Set El = L.Elements.getElement(Keys.Item(i))
   'MsgBox "L.Elements.getElement(Keys.Item(i)) = " & L.Elements.getElement(Keys.Item(i))          
       'Если объект примитив
If El.TypeID = 3 Then
           'Получаем точку центра объекта в координатах проекции слоя
           Set Pt = El.GetCenter()
           'MsgBox "El.GetCenter(5) = " & El.GetCenter(5)      
           'Получаем широту и долготу точки в WGS84
           Set Pt = CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84)
           MsgBox "CRS1.GetConvertPoint(Pt.X, Pt.Y, CRS_WGS84) = " & CStr(Pt.X)
If pt.IsValid = False Then
MsgBox "Ошибка преобразования"
End If
            'Записываем широту и долготу в соответствующие поля ("X" и "Y")
            Db.UpdateBaseRecord Keys.Item(i), "x" + CHR(10) + "y", CStr(Pt.X) + CHR(10) + CStr(Pt.Y), 0
            Db.UpdateBaseRecord Keys.Item(i), "x", CStr(Pt.X), 0
            Db.UpdateBaseRecord Keys.Item(i), "y", CStr(Pt.Y), 0
'MsgBox "Обновлено " & PT & "записей"                
       End If                    
   Next
MsgBox "Обновлено записей"  
End Sub[/CODE]
Изменено: stas - 23.12.2022 16:06:49
Страницы: 1