Атрибут проектування від одного полігонного шару до іншого в QGIS?


16

У мене є два полігонні шари, які можна знайти тут . Два шари перекриваються. Перша містить карту повітів Німеччини в 1928 році, а друга - про те, як вони у 2014 році.

Шар 2014 року містить інформацію про сукупність (у наборі даних називається Bev). Чи можна спроектувати атрибут популяції з одного шару багатокутника на інший?

Щоб бути трохи більш конкретним:

Розглянемо ситуацію, коли у мене є 2 графства в шарі з атрибутом населення, але в тій же області на іншому шарі є лише 1 графство. Чи може QGIS об'єднати населення двох повітів і записати цю інформацію в інший шар?

Якщо це працює, чи є також спосіб це зробити, коли у шару з інформацією в певній області є лише 1 графство, але в іншому шарі є 2 графства? У цьому випадку я хотів би розділити чисельність населення пропорційно розміру округу.


Ця відповідь повинна розпочати роботу з загального робочого процесу: gis.stackexchange.com/a/136820/10919
Том

Я думаю, що вищезгадане посилання є гарним моментом для початку - але (!) з цього випливає, що популяція однаково розподілена в межах уражених полігонів. що не факт
Роберт Тюв

2
... вибачте, що пропустив 5-хвилинну межу продовжуємо: і якщо порівнювати обидва файли цих форм, є суттєва різниця в рівні деталізації - це призводить до появи безлічі багатокутників ... перегляньте [посилання] ( dropbox.com/sh/7w97kjey33k7jdi/ AAARDwyyMryOBwjtY6IrFsh9a? Dl = 0 ). якби у вас була якась інформація про населений пункт на той час, результати можна було б значно покращити
robert tuw

... наприклад, дані вільних корінкових наземних покривів можуть допомогти визначити заселену територію і таким чином покращити результати розподілу населення на основі місцевості.
Роберт Тюв

Відповіді:


8

Відмова:

  1. Я вважаю, що в цьому конкретному випадку було б набагато точніше використовувати дані про населення з 2014 року як точковий шар з якомога більше деталями (центроїд передмістя, міст, сіл ...)

  2. Якщо BEV_ - це дійсно чисельність населення, то є деякі дійсно дивні значення, такі як GEN = Uelzen , BEV_ = 92553, де цей полігон порівнюється із площею грязьових зображень Google із супутниковим зображенням максимум кількох футбольних полів.

Якщо ви дійсно хочете отримати значення чисел на основі співвідношення площі полігону, що перекривається між шарами (L1 = графства_2014, L2 = німецька імперія 1928):

  1. Перед будь-якими розрахунками пропоную використати проектовані системи координат у метрових одиницях, відповідно одиницях квадратних метрів для площі. У цьому випадку я використовував EPSG: 3857
  2. У L1 використовуйте Field Calculator , створіть стовпець " Площа " та заповніть $ area
  3. Пересічні шари - Вектор / Інструменти для геообробки / Перетинання ... - Введення = L1, Перетин = L2
  4. У шарі « Пересічений» використовуйте « Калькулятор поля» , створіть стовпчик для сукупності, скоригований новою областю « PopArea » та заповніть «Населення» * $ область / «Площа»
  5. Розведіть перерізаний шар за допомогою Processing Toolbox - знайдіть Dissolve Polygons
    • виберіть у L2 стовпчик унікальних значень багатокутника на зразок "Ім'я"
    • встановіть прапорець Compute min / max / sum ... та обчисліть її на " PopArea "
    • на останньому шарі буде стовпчик sum_diss, який є тим, що ви шукаєте (у цьому конкретному випадку скориговане населення на 1928 округ з 2014 року)

Якщо ви все зробили добре, вам слід отримати близько 77 мільйонів людей, розподілених на основі районів L2 з 81 мільйона в L1.

введіть тут опис зображення


Дякую за вашу відповідь. Щодо двох форстів: я також намагався досягти того, що хочу з центроїдами. Це працювало цілком нормально, але особливо для менших багатокутників відповідність не працювала дуже добре. Я думаю, що дані про населення чимось змішалися. Але це лише незначна проблема, яку я можу вирішити сам.
Алекс

@ Алекс Я вважаю, що використання точок або центроїдів у цьому випадку, з моєї точки зору, занадто далеко від рішення, яке я б назвав достатнім через дуже випадкове перекриття. Таким чином ви втратите занадто багато даних.
Миро

9

Якщо я правильно розумію ваше запитання, це може вирішити ваше перше питання. Я зробив швидкий тест, і наступний метод, здається, працює, але варто уважніше подивитися, щоб перевірити, чи він правильний.

  1. створити випадкові точки в шарі 1928 р. (центроїди можуть працювати краще. Вам доведеться перевірити);
  2. перетинати шар точок із шаром 2014 року (шар точок повинен бути вхідним шаром);
  3. Приєднуйтесь до атрибутів за місцеположенням. Цільовим шаром є шар 2014 року, а шар точок - шар з'єднання. Використовуйте містити як геометричний предикат. Залиште підсумок атрибутів за замовчуванням (функція, що знаходиться в першому місці). Зберігайте всі записи у спадному вікні таблиці приєднання.

Перевірте, чи правильний вихідний шар.

Якщо можливо, запустіть його через панель інструментів для обробки в qgis (не потрібно зберігати кожен шар, а натомість зберегти його як тимчасовий шар).

Не зовсім впевнений, що тягне за собою ваше друге запитання. Ви могли б детальніше розробити?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.