Я немного озадачен вашим вопросом, так что это может быть не тот тип ответа, который вы ищете.
Ищите код буферизации строк в исходных файлах любой ГИС с открытым исходным кодом. их несколько.
Что касается алгоритмов, я прогуглил для ГИС буферизацию и получил несколько полезных попаданий на первой странице.