Recentemente, trabalhei em um projeto que envolvia derivar o eixo medial (distinto da linha central, mas semelhante) dos recursos de fluxo usando recursos de polilinha de banco de fluxo extraídos de imagens de alta resolução. Era importante para nós fazer a distinção para nossos propósitos, pois o eixo medial deveria ser usado para geração ortogonal e, portanto, precisava ser um centro generalizado de nossas características de fluxo e não o meio exato do fluxo.
O método que acabamos usando foi um script python que captou nossos dois recursos de polilinha, adicionou verteces em um determinado intervalo (~ 5m) e, em seguida, percorreu cada vértice em uma polilinha e procurou o vértice mais próximo na outra polilinha. Houve algumas situações específicas que foram tratadas de maneira diferente (curvas extremas no fluxo que encontrariam um vértice mais próximo do que o verdadeiro correspondente na margem oposta), mas eu não escrevi o código para ter que buscá-lo para entender o que realmente estava acontecendo.
Antes de decidirmos sobre o nosso método, o cara que trabalhava com scripts brincou com algumas alternativas e usou a Alocação Euclidiana usando as polilinhas do banco como entrada e, em seguida, criou um contorno a partir da varredura resultante. Foi uma maneira brilhante de obter a linha central, mas não o que estávamos procurando. Isso pode funcionar para você, no entanto.
Você deve dedicar algum tempo a refletir sobre o uso da linha central e se deve procurar uma linha central ou um eixo medial generalizado.