I'm on QGIS (v. 3.6) trying to create a map of Florida's hydrography using the NHD "Water Areas" shapefile. Methodology is to fix any invalid geometries in the NHD data, dissolve the layer, and then execute the difference between water areas and the whole state of Florida. There quite a lot of these areas and it's obviously taking a significantly long time for the dissolve function to complete (I left it running for ~5 hours and the algorithm was still processing). This is running on a Thinkpad X1 Yoga. Is there a faster way to complete this project or is QGIS the wrong software for what I'm doing?

  • 1
    I would consider if going through the raster route could work for your needs gis.stackexchange.com/questions/222976/….
    – user30184
    Jun 24, 2019 at 17:53
  • 1
    Processing time will depend on both layer's complexity (where complexity is defined by the number of polygons in each layer as well as how crenellated the polygon boundaries are). With that in mind, how many NHD polys remained after the dissolve? If you've got just a few dozen polys, then I'd be concerned after 5 hours. But if you've got tens of thousands, then I'd let it run overnight. Congratulations, BTW, for cleaning up all invalid geometries, because it only takes one to stall out certain processes!
    – Stu Smith
    Jun 25, 2019 at 2:33
  • 1
    Make sure the "water areas" file is cropped to Florida. There's no sense processing data for the entire US. In my experience this dataset has a lot of extremely small "water areas", including ones smaller than an acre. Do you need the smallest water areas for your project? If not, it would save some time if you only processed the polygons larger than some minimum threshold size.
    – csk
    Jun 25, 2019 at 19:33

1 Answer 1


Ultimately, I ended up clipping the NHD layer (input) from a few Florida counties (overlay) that I needed, and then using the difference tool for what I wanted. I initially assumed using the whole NHD state layer would more efficient for what I wanted, but the time it took to fix geometries, dissolve the layer, and find the difference between the two layers would have taken way too long or crashed the program.

I tried the vector to raster method, but the level of detail I wanted still took a significant amount of time. I also selected and extracted polygons with areas over 1 sqkm.

Your Answer

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

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