RUS  ENG 

Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)

Страницы: 1
RSS
Перенести данные из слоя в слой по признаку касания геометрии STTouches (SQL)
 
Здравствуйте.
Пытаюсь перенести данные из слоя QGIS Flanders_v2 all wo BLDGUSE в слой Flanders OSM polygons по признаку касания геометрии STTouches (SQL)
Код
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
Даже когда добавил последнюю строчку и выделил два объекта в слое Flanders OSM polygons все равно ошибка: Query has been timed out. Что я делаю не так?

Версия 10.0.0.8425u.x64
Изменено: stas - 13.03.2023 16:01:32
 
Цитата
написал:
Здравствуйте.
Пытаюсь перенести данные из слоя QGIS Flanders_v2 all wo BLDGUSE в слой Flanders OSM polygons по признаку касания геометрии STTouches (SQL)
Даже когда добавил последнюю строчку и выделил два объекта в слое Flanders OSM polygons все равно ошибка: Query has been timed out. Что я делаю не так?

Версия 10.0.0.8425u.x64
Добрый день.
Возможно, выполнение запроса долго происходит.
Попробуйте использовать инструкцию SET TIMEOUT

https://politerm.com/zuludoc/index.html#sql_timeout.html
Изменено: Алексей Аширов - 14.03.2023 14:47:58
 
Алексей, здравствуйте.
Спасибо.
Запрос стал завершаться, но не копирует значения из одного слоя в другой:
https://ibb.co/BLm1hfJ
В чем причина?
Кроме того, для двух выделенных зданий выполнение занимает 285 с.
Что-то можете посоветовать, чтобы работать с большим количеством объектом за приемлемое время?
Код
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
Изменено: stas - 14.03.2023 15:41:29
 
Цитата
написал:
Алексей, здравствуйте.
Спасибо.
Запрос стал завершаться, но не копирует значения из одного слоя в другой:
https://ibb.co/BLm1hfJ
В чем причина?
Кроме того, для двух выделенных зданий выполнение занимает 285 с.
Что-то можете посоветовать, чтобы работать с большим количеством объектом за приемлемое время?
Код
 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 
А если вместо UPDATE просто SELECT [Flanders OSM polygons].Sys, [QGIS Flanders_v2 all wo BLDGUSE].Sys выполнить, будет ответ?
 
Выдает пустые поля:
https://ibb.co/GcLcqsj
Может не STTouches надо использовать? Объекты здания (полигоны?): в двух разных слоя, где-то совпадают, где-то просто касаются
 
Цитата
написал:
Выдает пустые поля:
https://ibb.co/GcLcqsj
Может не STTouches надо использовать? Объекты здания (полигоны?): в двух разных слоя, где-то совпадают, где-то просто касаются
Если любое взаимодействие между объектами, используйте Geometry.Intersects
А быстродействие - это отдельный вопрос
 
Алексей, посмотрите, пожалуйста.
Select работает:
https://ibb.co/W5gKLNS

А Upd ate нет:
https://ibb.co/71FkB9v
Код
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
В чем причина? Неправильно формулирую запрос?
 
Цитата
написал:
Алексей, посмотрите, пожалуйста.
Select работает:
https://ibb.co/W5gKLNS

А Upd ate нет:
https://ibb.co/71FkB9v
Код
 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 
В чем причина? Неправильно формулирую запрос?
Пришлите, пожалуйста, телефон для связи на [email protected] Нужны подробности
Страницы: 1