Em Oracle Spatial (SDO), há uma maneira de obter o ponto de centróide de um polígono que está contido pela superfície do polígono?

StackOverflow https://stackoverflow.com/questions/587863

Pergunta

Eu preciso encontrar o centróide de um polígono no Oracle Spatial que existe dentro do próprio polígono. Eu não pode usar o método sdo_geom.sdo_centroid porque isso retorna um fora ponto da forma se a forma se assemelha a uma ferradura.

Eu encontrei método sdo_geom.sdo_pointonsurface, mas ele retorna um ponto que é apenas na borda do polígono. Enquanto isto matematicamente funciona, não é seguro em nosso ambiente, porque todos os polígonos compartilham uma fronteira com outros polígonos e às vezes há uma ligeira sobreposição nos dados. Esta sobreposição não pode incluir o ponto calculado.

Existe uma outra abordagem para encontrar este ponto sem escrever código personalizado? Eu não me oponho a escrever código personalizado para isso, mas eu gostaria de usar algo pré-construídos, se ele já existe.

Obrigado!

Foi útil?

Solução

Simon Greener tem um pacote para um "para-centróide":. codesys.geom.sdo_centroid

Você pode baixá-lo, mas eu não sei se há qualquer tipo de licenciamento que está ligado à fonte.

Aqui estão os links:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top