мой город определил некоторые Городские периметры возрождения , используя PostGIS Я разделил город Блоки в периметре и Здания в периметре . Теперь я хочу обновить таблицу зданий двумя новыми столбцами, связав их с блоками, на которых они находятся.
Ниже приведен пример таблицы блоков, два столбца qd_setor и qd_fiscal: информация, которую мне нужно передать в таблицу зданий
qd_setor | qd_fiscal | wkb_geometry
----------+-----------+---------------
041 | 038 | 010600...
086 | 302 | 010600...
041 | 076 | 010600...
075 | 054 | 010600...
019 | 055 | 010600...
Это пример таблицы зданий:
ed_id | ed_area | ed_altura | ed_distrito | wkb_geometry
---------+---------+-----------+---------------+--------------
2739627 | 187.211 | 6.922 | SANTA_CECILIA | 010600...
2739628 | 240.39 | 43.382 | SANTA_CECILIA | 010600...
2739781 | 51.758 | 4.668 | SANTA_CECILIA | 010600...
2739629 | 388.264 | 52.907 | SANTA_CECILIA | 010600...
Это запрос, который я использовал для создания таблиц блоков и зданий :
CREATE TABLE quadras_opurb AS
SELECT q.qd_setor, q.qd_fiscal, q.wkb_geometry
FROM quadra_fiscal q
WHERE EXISTS (
SELECT ou_nome
FROM op_urbana_valid o
WHERE
ST_Intersects(q.wkb_geometry, o.wkb_geometry)
);
И это ожидаемый результат, поэтому, как только это будет сделано, мне не нужно проверять пересечение между нужным блоком и зданиями, я могу просто фильтровать по qd_setor и qd_fiscal:
ed_id | ed_area | ed_altura | ed_distrito | wkb_geometry | qd_setor | qd_fiscal
---------+---------+-----------+---------------+--------------+----------+------------
2739627 | 187.211 | 6.922 | SANTA_CECILIA | 010600... | 041 | 038
2739628 | 240.39 | 43.382 | SANTA_CECILIA | 010600... | 041 | 038
2739781 | 51.758 | 4.668 | SANTA_CECILIA | 010600... | 041 | 038
2739629 | 388.264 | 52.907 | SANTA_CECILIA | 010600... | 086 | 302
2739631 | 187.244 | 22.865 | SANTA_CECILIA | 010600... | 086 | 302
Обратите внимание, что qd_setor и qd_fiscal будут повторяться несколько раз, поскольку в блоке есть несколько зданий.
Спасибо за помощь!