[GIS] Creating voronoi polygons from polygons

polygonpolygon-creationvoronoi-thiessen

I have a database with buildings and for some further analysis I need to:

  1. aggregate adjacent buildings (preferably without losing the height attribute, but I can work my way around that)
  2. once I have them aggregated, I need to create 'allotment' polygons so basically the Thiessen Polygons based on them – so that they do not intersect an any point aggregated buildings.

I tried to create centroid out of those aggregated buildings and then creating Thiessen Polygons but I failed – they intersect the buildings.
Any idea how to handle it?

what I accomplished

Update after fisrt comment
enter image description here

Best Answer

ArcGIS has a tool in the Spatial Analyst toolbar called Euclidean Allocation that will accomplish this task. Here is a link to the tool description.

http://desktop.arcgis.com/en/arcmap/10.3/tools/spatial-analyst-toolbox/euclidean-allocation.htm

Here is a QGIS post/solution if you do not have the Spatial Analyst license.

Open Source counterpart to Euclidean Allocation

Another solution might be to export all the polygons vertices to points including the attributes with the export. Then generate the Voronoi polygons, then dissolve the polygons based on the original polygon object IDs.