2009-02-25 8 views
0

J'ai besoin de trouver le centroïde d'un polygone dans Oracle Spatial qui existe à l'intérieur du polygone lui-même. Je ne peux pas utiliser la méthode sdo_geom.sdo_centroid car elle renvoie un point en dehors de la forme si la forme ressemble à un fer à cheval. J'ai trouvé la méthode sdo_geom.sdo_pointonsurface, mais elle renvoie un point juste sur le bord du polygone. Bien que cela fonctionne mathématiquement, il n'est pas sûr dans notre environnement parce que tous les polygones partagent une limite avec d'autres polygones et parfois il y a un léger chevauchement dans les données. Ce chevauchement ne peut pas inclure le point calculé.Dans Oracle Spatial (SDO), existe-t-il un moyen d'obtenir le point centroïde d'un polygone contenu dans la surface du polygone?

Existe-t-il une autre approche pour trouver ce point sans écrire de code personnalisé? Je ne suis pas opposé à l'écriture de code personnalisé pour cela, mais je voudrais utiliser quelque chose de préconstruit s'il existe déjà.

Merci! Simon Greener a un paquet pour un "para-centroïde": codesys.geom.sdo_centroid

Répondre

Questions connexes