Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Logvinov_Ilya
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 дек 2021, 19:46
Репутация: 0
Откуда: Санкт-Петербург

Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение Logvinov_Ilya » 24 дек 2021, 20:06

Добрый день, в рамках дипломного проекта изучаю редевеломпент в ядре Санкт-Петербургской агломерации
Для этого использую векторные данные проекта https://how-old-is-this.house/saint-p. Форма зданий с данного сайта не совпадает со зданиями из osm и у этих векторных слоёв нет одинакового id. Однако нужно перенести данные о возрасте зданий в слой зданий из osm, но не знаю как это сделать.
Есть ли какой-то способ сделать это без id и без совпадения векторов? Переносить в ручную нет желания и есть подозрение что данная проблема решаема, но о ней не говорят.
Во вложениях приложил скриншоты из qgis.
Буду крайне признателен, если кто-то поможет.
Вложения
Снимок экрана 2021-12-24 195353.png
Снимок экрана 2021-12-24 195353.png (793.51 КБ) 4674 просмотра
Снимок экрана 2021-12-24 195321.png
Снимок экрана 2021-12-24 195321.png (809.26 КБ) 4674 просмотра

gamm
Гуру
Сообщения: 4049
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение gamm » 24 дек 2021, 20:21

Если здания более менее совпадают, то центроиды одного слоя наложить на здания второго и снести id обоих слоев в общую таблице. Сделать на всякий случай в обе стороны, и сравнить результат. Потом обычный sql.

Logvinov_Ilya
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 дек 2021, 19:46
Репутация: 0
Откуда: Санкт-Петербург

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение Logvinov_Ilya » 24 дек 2021, 21:00

С центроидами проблема. Для центра города характерны дворы колодцы, поэтому они не всегда накладываются

Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 546
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 532
Откуда: Planet Earth
Контактная информация:

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение Эдуард Казаков » 24 дек 2021, 21:01

Вам нужен инструмен панели анализа "Объединение атрибутов по расположению", с типом объединения "атрибуты объекта с наибольшим наложением"

Logvinov_Ilya
Новоприбывший
Сообщения: 3
Зарегистрирован: 24 дек 2021, 19:46
Репутация: 0
Откуда: Санкт-Петербург

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение Logvinov_Ilya » 24 дек 2021, 22:08

Спасибо, объединение атрибутов по расположению сработало

gamm
Гуру
Сообщения: 4049
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение gamm » 25 дек 2021, 08:44

Logvinov_Ilya писал(а):
24 дек 2021, 21:00
С центроидами проблема.
странно ... когда я был молодым, центроид сажали в точку строго внутри полигона, ближайшую к центру тяжести, а за такое били по рукам для их спрямления :mrgreen:

но в данном случае действительно может возникнуть проблема даже при таком подходе.

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение freeExec » 25 дек 2021, 10:29

Тогда надо бить по языку, и не использовать слово центроид, там кто подразумевают что-то другое.

gamm
Гуру
Сообщения: 4049
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение gamm » 25 дек 2021, 16:37

freeExec писал(а):
25 дек 2021, 10:29
Тогда надо бить по языку, и не использовать слово центроид, там кто подразумевают что-то другое.
расскажите это глупым разработчикам MapInfo, которые так делают (у них как раз центроид где надо, внутри полигона, потому что они не путают центроид и центр тяжести) :mrgreen:

P.S. Просто я старый, и помню, для чего этот самый центроид был придуман, и почему он должен быть внутри.

Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение Ivor » 25 дек 2021, 16:49

gamm писал(а):
25 дек 2021, 16:37
Просто я старый, и помню, для чего этот самый центроид был придуман, и почему он должен быть внутри
Вспоминаются всякие разные деревья пространственного поиска, но там точка не обязательно должна быть внутри полигона. Да и в геометрии, в общем, тоже (а в геометрии центроид появился сильно раньше гисов). Или есть какой-то скрытый давно забытый смысл?

gamm
Гуру
Сообщения: 4049
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id

Сообщение gamm » 25 дек 2021, 17:21

речь именно о ГИС, там все просто - чтобы определить, находится ли точка внутри полигона, к ней из центроида рисовали отрезок, и считали число пересечени границ (четное - внутри, нечетное - снаружи). Ну, и метку туда сажали, тоже хотелось, чтобы внутри полигона была.

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей