I'm looking for a tool which compares two vector files (eg shapefiles). Eg 2 versions of a river network. Quite a lot of the records are equal, but some are different. A possible output would be eg a shapefile with every geometry and 2 columns which refer to the id of the 2 original files, which can be missing if that geometry is not present in one of the files.
I'm thinking about a strategy to program this myself (basically creating a hashed version of the geometry of each part and compare those), but before rushing into programming (I even have a fancy name 'shapediff') I was wondering if such a tool already exists.