Skip to main content
deleted 22 characters in body
Source Link
PolyGeo
  • 65.4k
  • 29
  • 114
  • 345

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

 

Edit: Thanks to Kazuhito for providingprovided a really easy solution. Here's how I ended up using it: I created the concatenated field using the expression given by Kazuhito, then deleted overlapping polygons and the other excess fields from the attribute table (no longer useful). I then saved the layer to .csv so that I could manipulate the concatenated column in excel. I extracted the comma separated into separate fields using the Data ribbon->text to columns tool. I then sorted the fields from smallest to highest value using a neat formula I found here https://www.pcmag.com/article2/0,2817,1215343,00.asp I calculated a couple of extra columns that were useful to me and then imported the table back into QGIS as a .txt file and used a join (original layer properties ->joins) to add these attributes back into the layer. I'm sure there would be a way to do the excel manipulations in the QGIS field calculator. But for me this was easy enough.

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

Edit: Thanks to Kazuhito for providing a really easy solution. Here's how I ended up using it: I created the concatenated field using the expression given by Kazuhito, then deleted overlapping polygons and the other excess fields from the attribute table (no longer useful). I then saved the layer to .csv so that I could manipulate the concatenated column in excel. I extracted the comma separated into separate fields using the Data ribbon->text to columns tool. I then sorted the fields from smallest to highest value using a neat formula I found here https://www.pcmag.com/article2/0,2817,1215343,00.asp I calculated a couple of extra columns that were useful to me and then imported the table back into QGIS as a .txt file and used a join (original layer properties ->joins) to add these attributes back into the layer. I'm sure there would be a way to do the excel manipulations in the QGIS field calculator. But for me this was easy enough.

I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

 

Kazuhito provided a really easy solution. Here's how I ended up using it: I created the concatenated field using the expression given by Kazuhito, then deleted overlapping polygons and the other excess fields from the attribute table (no longer useful). I then saved the layer to .csv so that I could manipulate the concatenated column in excel. I extracted the comma separated into separate fields using the Data ribbon->text to columns tool. I then sorted the fields from smallest to highest value using a neat formula I found here https://www.pcmag.com/article2/0,2817,1215343,00.asp I calculated a couple of extra columns that were useful to me and then imported the table back into QGIS as a .txt file and used a join (original layer properties ->joins) to add these attributes back into the layer. I'm sure there would be a way to do the excel manipulations in the QGIS field calculator. But for me this was easy enough.

Tweeted twitter.com/StackGIS/status/913268365497643008
added 953 characters in body
Source Link
GISQ
  • 125
  • 1
  • 6

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

Edit: Thanks to Kazuhito for providing a really easy solution. Here's how I ended up using it: I created the concatenated field using the expression given by Kazuhito, then deleted overlapping polygons and the other excess fields from the attribute table (no longer useful). I then saved the layer to .csv so that I could manipulate the concatenated column in excel. I extracted the comma separated into separate fields using the Data ribbon->text to columns tool. I then sorted the fields from smallest to highest value using a neat formula I found here https://www.pcmag.com/article2/0,2817,1215343,00.asp I calculated a couple of extra columns that were useful to me and then imported the table back into QGIS as a .txt file and used a join (original layer properties ->joins) to add these attributes back into the layer. I'm sure there would be a way to do the excel manipulations in the QGIS field calculator. But for me this was easy enough.

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

Edit: Thanks to Kazuhito for providing a really easy solution. Here's how I ended up using it: I created the concatenated field using the expression given by Kazuhito, then deleted overlapping polygons and the other excess fields from the attribute table (no longer useful). I then saved the layer to .csv so that I could manipulate the concatenated column in excel. I extracted the comma separated into separate fields using the Data ribbon->text to columns tool. I then sorted the fields from smallest to highest value using a neat formula I found here https://www.pcmag.com/article2/0,2817,1215343,00.asp I calculated a couple of extra columns that were useful to me and then imported the table back into QGIS as a .txt file and used a join (original layer properties ->joins) to add these attributes back into the layer. I'm sure there would be a way to do the excel manipulations in the QGIS field calculator. But for me this was easy enough.

deleted 230 characters in body
Source Link
PolyGeo
  • 65.4k
  • 29
  • 114
  • 345

So myMy problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Thanks in advance for any assistance or ideas that you may have! Thanks also to everyone that posts on here you have helped me so many times solve questions just by being able to search through the issues other people have.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

So my problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Thanks in advance for any assistance or ideas that you may have! Thanks also to everyone that posts on here you have helped me so many times solve questions just by being able to search through the issues other people have.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

My problem is that I have one layer that has overlapping polygons with exact geometries. The most polygons that overlap are 5. For each polygon stack I would like to extract the values of a single field from EACH of the overlapping polygons. I don't want a summary value (mean, max, min etc), I want the actual values for every overlapping polygon. I could store these values in a shell polygon layer that had identical geometries if that helps. The dataset isn't massive (1484 features) but still too great for a manual approach.

I have searched and searched for various ways to do this. I can find ways to extract attributes from points to polygons and ways to summarise attribute values for overlapping polygons. But not to include the ACTUAL value of every overlapping polygon in an attribute table or something similar.

I have tried to union the layer with itself in QGIS. But this still results in overlapping polygons. I think it doesn't like that it has more than two overlapping polygons.

I have tried Join Attributes by Location, but this will only give me a summary value.

I have tried converting the polygons to rasters in case that path lead me down a solution. So I also have a folder with one raster for each polygon in case that might help solve things. I created these using the v.to.rast.attr and selecting the input feature class to iterate through each polygon (little green arrow next to the input feature class field). But I couldn't get my head around a raster solution either.

Here is a screen shot of the layer with transparency turned on so that you can see the overlapping polygons. The overlaps have identical geometries

Source Link
GISQ
  • 125
  • 1
  • 6
Loading