¿Proyectando atributo de una capa de polígono a otra en QGIS?

16

Tengo 2 capas de polígonos que se pueden encontrar aquí . Las dos capas se superponen. El primero contiene un mapa de los condados alemanes en 1928 y el segundo los condados en 2014.

La capa 2014 contiene información sobre la población (llamada Bev en el conjunto de datos). ¿Es posible proyectar el atributo de población de una capa de polígono a la otra?

Para ser un poco más específico:

Considere la situación en la que tengo 2 condados en la capa con el atributo de población pero en la misma área en la otra capa solo hay 1 condado. ¿Puede QGIS agregar la población de los dos condados y escribir esta información en la otra capa?

Si esto funciona, ¿hay alguna manera de hacerlo cuando la capa con la información tiene en un área específica solo 1 condado pero hay 2 condados en la otra capa? En este caso, me gustaría dividir la población proporcionalmente al tamaño del condado.

Alex
fuente
Esta respuesta debería ayudarlo a
Tom
Creo que el enlace mencionado anteriormente es un buen punto para comenzar, pero (!) implica que la población se distribuye por igual dentro de los polígonos afectados. que no es el hecho
robert tuw
2
... perdón, perdí el límite de 5 minutos. continuará: y si compara ambos archivos de forma, hay una diferencia significativa en el nivel de detalle, lo que resulta en una miríada de polígonos de astilla ... eche un vistazo a [link] ( dropbox.com/sh/7w97kjey33k7jdi/ AAARDwyyMryOBwjtY6IrFsh9a? Dl = 0 ). si tuviera alguna información sobre el área asentada en ese momento, los resultados podrían mejorarse significativamente
Robert Tuw 05 de
... por ejemplo, los datos de cobertura terrestre gratuitos podrían ayudar a identificar el área actualmente establecida y, por lo tanto, mejorar los resultados de la asignación de población basada en el área.
Robert Tuw

Respuestas:

8

Descargo de responsabilidad:

  1. Creo que en este caso particular sería mucho más preciso utilizar los datos de población de 2014 como una capa de puntos con el mayor detalle posible (centroide de suburbios, ciudades, pueblos ...)

  2. Si BEV_ es realmente población, entonces hay algunos valores realmente extraños como GEN = Uelzen, BEV_ = 92553 donde este polígono se compara con el área de imagen de satélite de Google del tamaño de lodo de un máximo de pocos campos de fútbol.

Si realmente desea obtener valores numéricos basados ​​en la relación de superposición de área de polígono entre capas (L1 = counties_2014, L2 = imperio alemán 1928):

  1. Antes de cualquier cálculo, sugiero utilizar sistemas de coordenadas proyectadas en unidades de metro, respectivamente unidades de metro cuadrado para el área. En este caso usé EPSG: 3857
  2. En L1 use la Calculadora de campo , cree la columna " Área " y complete con $ area
  3. Intersecar capas - Vector / Herramientas de geoprocesamiento / Intersecar ... - Entrada = L1, Intersecar = L2
  4. En la capa Interseccionada, use la Calculadora de campo , cree una columna para la población ajustada por el área nueva " PopArea " y complete con "Población" * $ área / "Área"
  5. Disuelva la capa intersectada con Processing Toolbox : busque Disolver polígonos
    • elija una columna de valores de polígono única como "Nombre" de L2
    • marque Compute min / max / sum ... y calcule en " PopArea "
    • la capa final tendrá la columna sum_diss, que es lo que busca (en este caso particular, población ajustada para 1928 condados desde 2014)

Si lo hiciste todo bien, deberías distribuir alrededor de 77 millones de personas según el área de los condados L2 de los 81 millones en L1.

ingrese la descripción de la imagen aquí

Miró
fuente
Gracias por tu respuesta. Con respecto a los dos primeros puntos: también traté de lograr lo que quiero con los centroides. Funcionó bastante bien, pero especialmente para los polígonos más pequeños, la coincidencia no funcionó muy bien. Creo que los datos de población se confundieron de alguna manera. Pero ese es solo un problema menor que puedo resolver yo mismo.
Alex
@Alex, creo que usar puntos o centroides en este caso está, desde mi punto de vista, demasiado lejos de la solución que llamaría suficiente debido a una superposición muy aleatoria. Perderá demasiados datos de esa manera.
Miro
9

Si entiendo su pregunta correctamente, esto podría resolver su primera pregunta. Hice una prueba rápida y el siguiente método parece funcionar, pero vale la pena echarle un vistazo más de cerca para verificar si es correcto.

  1. crear puntos aleatorios en la capa de 1928 (los centroides podrían funcionar mejor. Tendrá que verificar);
  2. intersecar la capa de puntos con la capa de 2014 (la capa de puntos debe ser la capa de entrada);
  3. Unir atributos por ubicación. La capa de destino es la capa de 2014 y la capa de puntos es la capa de unión. Utilice contener como predicado geométrico. Deje el resumen de atributos como predeterminado (primera característica localizada). Mantenga todos los registros en el cuadro desplegable Unir tabla.

Verifique si la capa de salida es correcta.

Si es posible, ejecútelo a través de la caja de herramientas de procesamiento en qgis (no tiene que guardar cada capa sino guardarla como una capa temporal).

No estoy seguro de lo que implica su segunda pregunta. podrías elaborar?

PyMapr
fuente