По-моему, задача-то как раз гисовская. :)
Инструмент не работает как раз в том случае, который нужен. Если линии будут правильными, параллельными, то, возможно, все случится. Но у меня как раз все извилистое и т.д. Правда, я не вижу ничего сложного в этом. Инструмент мог бы искать середину между берегами, потом генерализовывать с задаваемой точностью...