Alguma idéia de como extrair a linha central do polígono a seguir (Fig1) usando funções PostGIS ou módulos Python? Eu estava tentando a função Voronoi, mas isso não é útil para esse tipo de forma. Eu quero algo como Fig2 blackline.
Alguma idéia de como extrair a linha central do polígono a seguir (Fig1) usando funções PostGIS ou módulos Python? Eu estava tentando a função Voronoi, mas isso não é útil para esse tipo de forma. Eu quero algo como Fig2 blackline.
libSFCGAL.so
arquivo no/usr/local/lib
diretório, mas não sei como trazerST_StriaghtSkeleton()
o db? Qualquer ideia?Respostas:
Pode ser uma ferramenta errada para você, mas você pode fazê-lo simplesmente com o plugin OpenJUMP e Skeletonizer. O plug-in pode ser baixado em http://sourceforge.net/projects/jump-pilot/files/OpenJUMP_plugins/More%20Plugins/JUMP%20Skeletonizer%20Plugin/
O arquivo zip contém um bom manual. O plug-in é destinado a riachos e massas de água, mas seu polígono imita um riacho para mim.
Este é o seu polígono enquanto eu o digitalizava. Observe os vértices nas linhas centrais das entradas / saídas.
Pontos de entrada digitalizados em uma camada separada. Os pontos devem se ajustar aos vértices no limite do polígono.
Use as ferramentas Skeletonizer e preencha os campos
Obter o resultado
fonte
java.lang.Exception: Could not determine shapefile type - data is either all GeometryCollections or empty (Illegal State Exception)
durante a execução deste plugin SkeletonizerSe o seu polígono for raster, digitalize-o.
Uma vez que seu polígono é realmente um polígono :), uma primeira solução está, como o @WhiteboxDev disse, é o esqueleto reto, mas há o problema de que, além da linha central desejada, ele também retorna muitos segmentos irradiando dessa linha para a borda do seu polígono. Mas se você possui o PostGIS 2.2+, pode usar
ST_ApproximateMedialAxis()
o que deseja.fonte