I'm trying to subtract a very large set of features (water areas) from another, relatively small set of features (land area).
In principle, I should be able to do this in QGIS using Vector > Geoprocessing Tools > Difference
, but as the very large set of water features is very large (a 1.7GB shapefile), this is taking... a while. (Given that the progress bar on running a small subset of it has not budged in 14 hours, I am reasonably convinced it has crashed.)
What's the best way of doing this? Can I do it with gdal or ogr or a python library? Will it be more likely to work if I merge all the separate water features into a single feature? (Currently there are about 2.2 million, and I don't actually care about the water features, only the land.)