3

I am trying to generate a shapefile which contains the unincorporated areas of St. Louis County, Missouri.

I'm using two shapefiles: St. Louis County from the 2012 census, followed by St. Louis County places from the 2012 census. I have removed all CDP from the places file, so that it consists only of incorporated municipalities.

Here is St. Louis County from the US Counties shapefile:

St. Louis County

Here are the incorporated municipalities from the Places shapefile:

St. Louis County municipalities

In QGIS, I dissolve the municipalities together to make one "incorporated" polygon:

Incorporated

Finally, in QGIS I take the difference of incorporated polygon from the St. Louis County polygon. In theory, this should yield my unincorporated St. Louis County polygon.

unincorporated

As you can see, it's almost there.

Apparently the outer borders of the Places shapefile and the St. Louis County shapefile were slightly off, so that when I took the difference, some tiny slivers of the outer edge remains.

And so my unincorprated shapefile ends up with a sort of leftover outline around empty space, where there should be no border at all.

How can I eliminate this extra border/boundary/leftover thing in QGIS? Can anyone help?

6
  • 3
    This is because the accuracy of the two datasets differ. In ArcGis I would integrate (geoprocessing tool) but I can't see anything in QGIS that would do that straight away. Be happy with what you have for free and do some manual editing to remove slivers... have a look at gis.stackexchange.com/questions/52713/… for some more info Jun 19, 2015 at 2:37
  • 1
    Indeed, I'm quite happy with free data and free tools! Just looking for a solution to my problem.
    – Kirkman14
    Jun 19, 2015 at 22:16
  • 1
    Me too, I like QGIS, but there is a limit to what you get for free - otherwise there would be no market for GIS software. There are a lot of plugins for QGIS, I havent evaluated even 10% of them and the list is growing! For now though have a look at Josephs' answer, browse available plugins and if nothing suits roll your sleeves up and do it manually - or write something that does. The gap between open source GIS and paid software is getting smaller all the time! Jun 19, 2015 at 23:18
  • Can you suggest a way to manually edit part of a polygon in QGIS? I honestly can't figure out how to do it. In a program like Photoshop or Illustrator, I'd just lasso the offending bits and hit delete.
    – Kirkman14
    Jun 20, 2015 at 21:18
  • NM. Finally figured it out: have to use the Node Tool to lasso nodes, then delete them.
    – Kirkman14
    Jun 20, 2015 at 21:41

2 Answers 2

3

You can speed up the manual clean up process a bit by creating a virtual field on your final layer and populating it with the area of each feature ($area in field calculator). Then sort the attribute table by this field. You will probable find lots of records at the top with zero or close to zero areas, and these can be deleted quickly from within the attribute table. Do a visual scan to determine at around what area the'real features' begin, and delete all the smaller ones.

1
  • Smart answer! +1
    – Joseph
    Jan 18, 2016 at 11:39
3

You could try using Symetrical Difference as this, for me atleast, sometimes removes unwanted slivers if I receive them from the Difference tool. If not then you could try from QGIS:

  • Eliminate Sliver Polygons (Vector > Geoprocessing Tools > Eliminate Sliver Polygons)

Or from GRASS:

  • v.clean (This is used to repair topology errors. Select the rmdangle tool which might help in removing slivers)

Hope this helps!

1
  • Thanks for answering! Symmetrical Difference results in less of the leftover border, but there's still a significant amount. I tried both Eliminate Sliver Polygons and v.clean, but neither seemed to do anything. I wonder if, in the case of ESP, it's because the entire thing is just one feature. QGIS says "could not eliminate features with these IDs: 0"
    – Kirkman14
    Jun 20, 2015 at 21:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.