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?
-
06-09-2019 - |
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!
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: