Teoricamente, é possível obter polígonos de quarteirões ( quarteirões urbanos) das ruas, quando as ruas são representadas pelo eixo das ruas ( LineStrings ).
Os quarteirões urbanos são delimitados por ruas, de modo que os segmentos de ruas podem ser usados para formar um polígono que contém apenas um quarteirão dentro ... Veja ilustrações.
Existe um script (SQL) PostGIS 2.X para fazer isso? Um software de plug-in?
PS: geometrias aproximadas de quarteirões da cidade são suficientes.
Ilustrando
Iniciando o processo a partir de uma "malha de segmentos de linha conectados", pode ser: 1) obter polígonos associados; 2) isolar polígonos por tampão negativo e subtração de tampão das linhas.
Exemplo: o polígono 262 (representando um bloco da cidade) foi originado pelos segmentos 2496, 2494, 2369, 1513, ... E o polígono vizinho 263 pode usar alguns segmentos comuns, mas o próximo (por st_buffer negativo ou outra operação) será polígonos realmente isolados, portanto, baixa precisão é suficiente.
(EDITAR)
Acho que podemos traduzir esse problema específico em um problema mais genérico: o conjunto de segmentos de ruas pode ser visto como uma espécie de mosaico , ou seja, os segmentos separam o avião em regiões contíguas - os blocos urbanos estão no interior desses regiões. Cada segmento é um lado de duas regiões.
O principal problema é transformar o "conjunto de segmentos do mosaico" em polígonos independentes .