Страница 1 из 1
Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 24 дек 2021, 20:06
Logvinov_Ilya
Добрый день, в рамках дипломного проекта изучаю редевеломпент в ядре Санкт-Петербургской агломерации
Для этого использую векторные данные проекта
https://how-old-is-this.house/saint-p. Форма зданий с данного сайта не совпадает со зданиями из osm и у этих векторных слоёв нет одинакового id. Однако нужно перенести данные о возрасте зданий в слой зданий из osm, но не знаю как это сделать.
Есть ли какой-то способ сделать это без id и без совпадения векторов? Переносить в ручную нет желания и есть подозрение что данная проблема решаема, но о ней не говорят.
Во вложениях приложил скриншоты из qgis.
Буду крайне признателен, если кто-то поможет.
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 24 дек 2021, 20:21
gamm
Если здания более менее совпадают, то центроиды одного слоя наложить на здания второго и снести id обоих слоев в общую таблице. Сделать на всякий случай в обе стороны, и сравнить результат. Потом обычный sql.
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 24 дек 2021, 21:00
Logvinov_Ilya
С центроидами проблема. Для центра города характерны дворы колодцы, поэтому они не всегда накладываются
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 24 дек 2021, 21:01
Эдуард Казаков
Вам нужен инструмен панели анализа "Объединение атрибутов по расположению", с типом объединения "атрибуты объекта с наибольшим наложением"
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 24 дек 2021, 22:08
Logvinov_Ilya
Спасибо, объединение атрибутов по расположению сработало
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 25 дек 2021, 08:44
gamm
странно ... когда я был молодым, центроид сажали в точку строго внутри полигона, ближайшую к центру тяжести, а за такое били по рукам для их спрямления
но в данном случае действительно может возникнуть проблема даже при таком подходе.
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 25 дек 2021, 10:29
freeExec
Тогда надо бить по языку, и не использовать слово центроид, там кто подразумевают что-то другое.
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 25 дек 2021, 16:37
gamm
freeExec писал(а): ↑25 дек 2021, 10:29Тогда надо бить по языку, и не использовать слово центроид, там кто подразумевают что-то другое.
расскажите это глупым разработчикам MapInfo, которые так делают (у них как раз центроид где надо, внутри полигона, потому что они не путают центроид и центр тяжести)
P.S. Просто я старый, и помню, для чего этот самый центроид был придуман, и почему он должен быть внутри.
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 25 дек 2021, 16:49
Ivor
gamm писал(а): ↑25 дек 2021, 16:37Просто я старый, и помню, для чего этот самый центроид был придуман, и почему он должен быть внутри
Вспоминаются всякие разные деревья пространственного поиска, но там точка не обязательно должна быть внутри полигона. Да и в геометрии, в общем, тоже (а в геометрии центроид появился сильно раньше гисов). Или есть какой-то скрытый давно забытый смысл?
Re: Перенос поля атрибутов из одного векторного слоя в другой не по одинаковому id
Добавлено: 25 дек 2021, 17:21
gamm
речь именно о ГИС, там все просто - чтобы определить, находится ли точка внутри полигона, к ней из центроида рисовали отрезок, и считали число пересечени границ (четное - внутри, нечетное - снаружи). Ну, и метку туда сажали, тоже хотелось, чтобы внутри полигона была.